@cyanheads/mcp-ts-core 0.11.1 → 0.11.2
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/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +1 -1
- package/biome.json +1 -1
- package/changelog/0.11.x/0.11.2.md +98 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +27 -13
- package/dist/config/index.js.map +1 -1
- package/dist/core/app.d.ts +37 -14
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +56 -23
- package/dist/core/app.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +35 -18
- package/dist/core/worker.js.map +1 -1
- package/dist/mcp-server/elicitation.d.ts +64 -0
- package/dist/mcp-server/elicitation.d.ts.map +1 -0
- package/dist/mcp-server/elicitation.js +81 -0
- package/dist/mcp-server/elicitation.js.map +1 -0
- package/dist/mcp-server/protocolSession.d.ts +34 -0
- package/dist/mcp-server/protocolSession.d.ts.map +1 -0
- package/dist/mcp-server/protocolSession.js +13 -0
- package/dist/mcp-server/protocolSession.js.map +1 -0
- package/dist/mcp-server/resources/resource-registration.d.ts +2 -1
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
- package/dist/mcp-server/resources/resource-registration.js +6 -2
- package/dist/mcp-server/resources/resource-registration.js.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +7 -12
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +24 -31
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
- package/dist/mcp-server/server.d.ts +3 -0
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +12 -2
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/tools/tool-registration.d.ts +2 -1
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
- package/dist/mcp-server/tools/tool-registration.js +6 -2
- package/dist/mcp-server/tools/tool-registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +7 -13
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +11 -44
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.d.ts +2 -2
- package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +2 -2
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +113 -55
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/http/sessionStore.d.ts +17 -0
- package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/sessionStore.js +71 -0
- package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
- package/dist/mcp-server/transports/manager.d.ts +2 -6
- package/dist/mcp-server/transports/manager.d.ts.map +1 -1
- package/dist/mcp-server/transports/manager.js +4 -0
- package/dist/mcp-server/transports/manager.js.map +1 -1
- package/dist/services/canvas/core/CanvasRegistry.d.ts +2 -2
- package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
- package/dist/services/canvas/core/CanvasRegistry.js +14 -3
- package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
- package/dist/services/canvas/core/DataCanvas.d.ts +1 -1
- package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
- package/dist/services/canvas/core/DataCanvas.js +2 -2
- package/dist/services/canvas/core/DataCanvas.js.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +11 -3
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
- package/dist/services/canvas/providers/duckdb/exportWriter.d.ts.map +1 -1
- package/dist/services/canvas/providers/duckdb/exportWriter.js +23 -2
- package/dist/services/canvas/providers/duckdb/exportWriter.js.map +1 -1
- package/dist/services/mirror/core/defineMirror.d.ts.map +1 -1
- package/dist/services/mirror/core/defineMirror.js +18 -7
- package/dist/services/mirror/core/defineMirror.js.map +1 -1
- package/dist/services/mirror/core/runner.d.ts.map +1 -1
- package/dist/services/mirror/core/runner.js +3 -0
- package/dist/services/mirror/core/runner.js.map +1 -1
- package/dist/services/mirror/index.d.ts +1 -1
- package/dist/services/mirror/index.d.ts.map +1 -1
- package/dist/services/mirror/index.js.map +1 -1
- package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts +20 -0
- package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts.map +1 -1
- package/dist/services/mirror/sqlite/sqliteMirrorStore.js +87 -8
- package/dist/services/mirror/sqlite/sqliteMirrorStore.js.map +1 -1
- package/dist/storage/core/StorageService.d.ts.map +1 -1
- package/dist/storage/core/StorageService.js +4 -1
- package/dist/storage/core/StorageService.js.map +1 -1
- package/dist/storage/core/storageValidation.d.ts +8 -0
- package/dist/storage/core/storageValidation.d.ts.map +1 -1
- package/dist/storage/core/storageValidation.js +38 -0
- package/dist/storage/core/storageValidation.js.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.js +67 -25
- package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
- package/dist/testing/fuzz.d.ts.map +1 -1
- package/dist/testing/fuzz.js +33 -14
- package/dist/testing/fuzz.js.map +1 -1
- package/dist/testing/vitest.d.ts +11 -2
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/testing/vitest.js +3 -0
- package/dist/testing/vitest.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/network/fetchWithTimeout.d.ts +7 -6
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
- package/dist/utils/network/fetchWithTimeout.js +141 -51
- package/dist/utils/network/fetchWithTimeout.js.map +1 -1
- package/dist/utils/network/httpError.d.ts.map +1 -1
- package/dist/utils/network/httpError.js +3 -2
- package/dist/utils/network/httpError.js.map +1 -1
- package/dist/utils/network/responseBody.d.ts +15 -0
- package/dist/utils/network/responseBody.d.ts.map +1 -0
- package/dist/utils/network/responseBody.js +63 -0
- package/dist/utils/network/responseBody.js.map +1 -0
- package/dist/utils/parsing/frontmatterParser.d.ts +3 -1
- package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -1
- package/dist/utils/parsing/frontmatterParser.js +6 -7
- package/dist/utils/parsing/frontmatterParser.js.map +1 -1
- package/dist/utils/parsing/htmlExtractor.d.ts +4 -0
- package/dist/utils/parsing/htmlExtractor.d.ts.map +1 -1
- package/dist/utils/parsing/htmlExtractor.js +4 -5
- package/dist/utils/parsing/htmlExtractor.js.map +1 -1
- package/dist/utils/parsing/index.d.ts +1 -0
- package/dist/utils/parsing/index.d.ts.map +1 -1
- package/dist/utils/parsing/index.js +1 -0
- package/dist/utils/parsing/index.js.map +1 -1
- package/dist/utils/parsing/inputBudget.d.ts +28 -0
- package/dist/utils/parsing/inputBudget.d.ts.map +1 -0
- package/dist/utils/parsing/inputBudget.js +76 -0
- package/dist/utils/parsing/inputBudget.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +3 -1
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
- package/dist/utils/parsing/jsonParser.js +5 -6
- package/dist/utils/parsing/jsonParser.js.map +1 -1
- package/dist/utils/parsing/pdfParser.d.ts +11 -3
- package/dist/utils/parsing/pdfParser.d.ts.map +1 -1
- package/dist/utils/parsing/pdfParser.js +65 -50
- package/dist/utils/parsing/pdfParser.js.map +1 -1
- package/dist/utils/parsing/xmlParser.d.ts +3 -1
- package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
- package/dist/utils/parsing/xmlParser.js +8 -6
- package/dist/utils/parsing/xmlParser.js.map +1 -1
- package/dist/utils/parsing/yamlParser.d.ts +3 -1
- package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
- package/dist/utils/parsing/yamlParser.js +5 -6
- package/dist/utils/parsing/yamlParser.js.map +1 -1
- package/package.json +17 -15
- package/skills/git-wrapup/SKILL.md +22 -1
- package/dist/logs/combined.log +0 -8
- package/dist/logs/error.log +0 -4
- package/dist/logs/interactions.log +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteMirrorStore.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,SAAS,EAET,WAAW,EAMZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAkB,KAAK,UAAU,EAAsB,MAAM,aAAa,CAAC;AAElF,mDAAmD;AACnD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"sqliteMirrorStore.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,SAAS,EAET,WAAW,EAMZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAkB,KAAK,UAAU,EAAsB,MAAM,aAAa,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,WAAW,CAoO1E"}
|
|
@@ -17,6 +17,13 @@ const SQL_OP = {
|
|
|
17
17
|
lt: '<',
|
|
18
18
|
lte: '<=',
|
|
19
19
|
};
|
|
20
|
+
const DEFAULT_LIMITS = {
|
|
21
|
+
filterValues: 500,
|
|
22
|
+
filters: 32,
|
|
23
|
+
getByIds: 500,
|
|
24
|
+
limit: 1_000,
|
|
25
|
+
offset: 1_000_000,
|
|
26
|
+
};
|
|
20
27
|
/**
|
|
21
28
|
* Create a SQLite-backed {@link MirrorStore} from a declarative spec. The store
|
|
22
29
|
* is not opened until the first method call.
|
|
@@ -26,12 +33,18 @@ export function sqliteMirrorStore(spec) {
|
|
|
26
33
|
const { ftsColumns } = validateSchemaSpec(spec);
|
|
27
34
|
const allColumns = Object.keys(spec.columns);
|
|
28
35
|
const ftsTable = `${spec.table}_fts`;
|
|
36
|
+
const limits = { ...DEFAULT_LIMITS, ...spec.limits };
|
|
29
37
|
let opened;
|
|
30
38
|
let opening;
|
|
39
|
+
let closing;
|
|
31
40
|
function open() {
|
|
41
|
+
if (closing)
|
|
42
|
+
return closing.then(open);
|
|
32
43
|
if (opened)
|
|
33
44
|
return Promise.resolve(opened);
|
|
34
|
-
|
|
45
|
+
if (opening)
|
|
46
|
+
return opening;
|
|
47
|
+
const attempt = (async () => {
|
|
35
48
|
const handleOptions = {
|
|
36
49
|
...(spec.busyTimeoutMs !== undefined && { busyTimeoutMs: spec.busyTimeoutMs }),
|
|
37
50
|
};
|
|
@@ -47,7 +60,12 @@ export function sqliteMirrorStore(spec) {
|
|
|
47
60
|
opened = { handle, allColumns, hasFts: ftsColumns.length > 0 };
|
|
48
61
|
return opened;
|
|
49
62
|
})();
|
|
50
|
-
|
|
63
|
+
opening = attempt;
|
|
64
|
+
void attempt.catch(() => {
|
|
65
|
+
if (opening === attempt)
|
|
66
|
+
opening = undefined;
|
|
67
|
+
});
|
|
68
|
+
return attempt;
|
|
51
69
|
}
|
|
52
70
|
function assertColumn(column, role) {
|
|
53
71
|
if (!allColumns.includes(column)) {
|
|
@@ -83,6 +101,7 @@ export function sqliteMirrorStore(spec) {
|
|
|
83
101
|
});
|
|
84
102
|
},
|
|
85
103
|
async query(options) {
|
|
104
|
+
validateQueryOptions(options, limits);
|
|
86
105
|
const store = await open();
|
|
87
106
|
if (options.match && !store.hasFts) {
|
|
88
107
|
throw validationError('This mirror has no FTS index; `match` is not supported.', {
|
|
@@ -137,6 +156,12 @@ export function sqliteMirrorStore(spec) {
|
|
|
137
156
|
return { rows, total };
|
|
138
157
|
},
|
|
139
158
|
async getByIds(ids) {
|
|
159
|
+
if (ids.length > limits.getByIds) {
|
|
160
|
+
throw validationError(`Mirror ID list cannot exceed ${limits.getByIds} values.`, {
|
|
161
|
+
count: ids.length,
|
|
162
|
+
max: limits.getByIds,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
140
165
|
if (ids.length === 0)
|
|
141
166
|
return [];
|
|
142
167
|
const { handle } = await open();
|
|
@@ -174,12 +199,35 @@ export function sqliteMirrorStore(spec) {
|
|
|
174
199
|
return { ok: results.every((r) => r.endsWith('ok')), results };
|
|
175
200
|
},
|
|
176
201
|
close() {
|
|
177
|
-
if (
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
202
|
+
if (closing)
|
|
203
|
+
return closing;
|
|
204
|
+
const pendingOpen = opening;
|
|
205
|
+
const active = opened;
|
|
206
|
+
const closeAttempt = (async () => {
|
|
207
|
+
let target = active;
|
|
208
|
+
if (!target && pendingOpen) {
|
|
209
|
+
try {
|
|
210
|
+
target = await pendingOpen;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// Initialization already closes its handle before rejecting.
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (opening === pendingOpen)
|
|
218
|
+
opening = undefined;
|
|
219
|
+
if (!target)
|
|
220
|
+
return;
|
|
221
|
+
if (opened === target)
|
|
222
|
+
opened = undefined;
|
|
223
|
+
target.handle.close();
|
|
224
|
+
})();
|
|
225
|
+
const trackedClose = closeAttempt.finally(() => {
|
|
226
|
+
if (closing === trackedClose)
|
|
227
|
+
closing = undefined;
|
|
228
|
+
});
|
|
229
|
+
closing = trackedClose;
|
|
230
|
+
return trackedClose;
|
|
183
231
|
},
|
|
184
232
|
/** Alias for {@link close}. Enables `await using store = sqliteMirrorStore(spec)`. */
|
|
185
233
|
async [Symbol.asyncDispose]() {
|
|
@@ -191,6 +239,37 @@ export function sqliteMirrorStore(spec) {
|
|
|
191
239
|
// ---------------------------------------------------------------------------
|
|
192
240
|
// Query building
|
|
193
241
|
// ---------------------------------------------------------------------------
|
|
242
|
+
function validateQueryOptions(options, limits) {
|
|
243
|
+
if (!Number.isSafeInteger(options.limit) || options.limit < 1 || options.limit > limits.limit) {
|
|
244
|
+
throw validationError(`Mirror query limit must be an integer from 1 to ${limits.limit}.`, {
|
|
245
|
+
limit: options.limit,
|
|
246
|
+
max: limits.limit,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
if (!Number.isSafeInteger(options.offset) ||
|
|
250
|
+
options.offset < 0 ||
|
|
251
|
+
options.offset > limits.offset) {
|
|
252
|
+
throw validationError(`Mirror query offset must be an integer from 0 to ${limits.offset}.`, {
|
|
253
|
+
offset: options.offset,
|
|
254
|
+
max: limits.offset,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
const filters = options.filters ?? [];
|
|
258
|
+
if (filters.length > limits.filters) {
|
|
259
|
+
throw validationError(`Mirror query cannot exceed ${limits.filters} filters.`, {
|
|
260
|
+
count: filters.length,
|
|
261
|
+
max: limits.filters,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
const filterValueCount = filters.reduce((count, filter) => {
|
|
265
|
+
if (filter.op !== 'in')
|
|
266
|
+
return count + 1;
|
|
267
|
+
return count + (Array.isArray(filter.value) ? filter.value.length : 1);
|
|
268
|
+
}, 0);
|
|
269
|
+
if (filterValueCount > limits.filterValues) {
|
|
270
|
+
throw validationError(`Mirror query filters cannot exceed ${limits.filterValues} bound values.`, { count: filterValueCount, max: limits.filterValues });
|
|
271
|
+
}
|
|
272
|
+
}
|
|
194
273
|
function buildFilterClauses(filters) {
|
|
195
274
|
const clauses = [];
|
|
196
275
|
const params = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteMirrorStore.js","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqliteMirrorStore.js","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../../src/storage/core/StorageService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../../src/storage/core/StorageService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;AAa5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA+DzE,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ;IAA5B,YAAoB,QAAQ,EAAE,gBAAgB,EAG7C;IAED;;;OAGG;YACW,aAAa;IAmCrB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAYpE;IAEK,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAiBf;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnE;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB9F;IAEK,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAmBjF;IAEK,OAAO,CACX,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAwBf;IAEK,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBzE;IAEK,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpD;CACF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* provider via dependency injection.
|
|
6
6
|
* @module src/storage/core/StorageService
|
|
7
7
|
*/
|
|
8
|
-
import { validateKey, validateListOptions, validatePrefix, validateStorageOptions, validateTenantId, } from '../../storage/core/storageValidation.js';
|
|
8
|
+
import { validateBatchEntries, validateBatchKeys, validateKey, validateListOptions, validatePrefix, validateStorageOptions, validateTenantId, } from '../../storage/core/storageValidation.js';
|
|
9
9
|
import { JsonRpcErrorCode, McpError } from '../../types-global/errors.js';
|
|
10
10
|
import { logger } from '../../utils/internal/logger.js';
|
|
11
11
|
import { nowMs } from '../../utils/internal/performance.js';
|
|
@@ -141,6 +141,7 @@ export class StorageService {
|
|
|
141
141
|
}
|
|
142
142
|
async getMany(keys, context) {
|
|
143
143
|
const tenantId = requireTenantId(context);
|
|
144
|
+
validateBatchKeys(keys, 'getMany', context);
|
|
144
145
|
for (const key of keys) {
|
|
145
146
|
validateKey(key, context);
|
|
146
147
|
}
|
|
@@ -154,6 +155,7 @@ export class StorageService {
|
|
|
154
155
|
}
|
|
155
156
|
async setMany(entries, context, options) {
|
|
156
157
|
const tenantId = requireTenantId(context);
|
|
158
|
+
validateBatchEntries(entries, context);
|
|
157
159
|
validateStorageOptions(options, context);
|
|
158
160
|
for (const key of entries.keys()) {
|
|
159
161
|
validateKey(key, context);
|
|
@@ -172,6 +174,7 @@ export class StorageService {
|
|
|
172
174
|
}
|
|
173
175
|
async deleteMany(keys, context) {
|
|
174
176
|
const tenantId = requireTenantId(context);
|
|
177
|
+
validateBatchKeys(keys, 'deleteMany', context);
|
|
175
178
|
for (const key of keys) {
|
|
176
179
|
validateKey(key, context);
|
|
177
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../../src/storage/core/StorageService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../../src/storage/core/StorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,14 @@ export declare function validatePrefix(prefix: string, context: RequestContext):
|
|
|
43
43
|
* @throws {McpError} JsonRpcErrorCode.ValidationError - If TTL is not a number, negative, or not finite.
|
|
44
44
|
*/
|
|
45
45
|
export declare function validateStorageOptions(options: StorageOptions | undefined, context: RequestContext): void;
|
|
46
|
+
/**
|
|
47
|
+
* Validates a getMany/deleteMany key array before iteration or provider dispatch.
|
|
48
|
+
* The finite cap prevents a single request from creating an unbounded Promise.all,
|
|
49
|
+
* SQL placeholder list, or backend batch.
|
|
50
|
+
*/
|
|
51
|
+
export declare function validateBatchKeys(keys: unknown, operation: 'deleteMany' | 'getMany', context: RequestContext): asserts keys is string[];
|
|
52
|
+
/** Validates a setMany Map and applies the common finite batch cap. */
|
|
53
|
+
export declare function validateBatchEntries(entries: unknown, context: RequestContext): asserts entries is Map<string, unknown>;
|
|
46
54
|
/**
|
|
47
55
|
* Validates list operation options.
|
|
48
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageValidation.d.ts","sourceRoot":"","sources":["../../../src/storage/core/storageValidation.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"storageValidation.d.ts","sourceRoot":"","sources":["../../../src/storage/core/storageValidation.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA6CzE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAqChF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA4BtE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAyC5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,OAAO,EAAE,cAAc,GACtB,IAAI,CA2BN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,YAAY,GAAG,SAAS,EACnC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,CAiB1B;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAczC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,OAAO,EAAE,cAAc,GACtB,IAAI,CA+DN;AAyCD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAwD9F"}
|
|
@@ -44,6 +44,8 @@ const MAX_PREFIX_LENGTH = 512;
|
|
|
44
44
|
* Maximum page size to prevent memory exhaustion attacks.
|
|
45
45
|
*/
|
|
46
46
|
const MAX_LIST_LIMIT = 10000;
|
|
47
|
+
/** Maximum keys or entries accepted by a single batch operation. */
|
|
48
|
+
const MAX_BATCH_SIZE = 10000;
|
|
47
49
|
/**
|
|
48
50
|
* Pattern for valid tenant IDs (alphanumeric, hyphens, underscores, dots).
|
|
49
51
|
* More restrictive than key pattern - no slashes allowed to prevent path traversal.
|
|
@@ -209,6 +211,42 @@ export function validateStorageOptions(options, context) {
|
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Validates a getMany/deleteMany key array before iteration or provider dispatch.
|
|
216
|
+
* The finite cap prevents a single request from creating an unbounded Promise.all,
|
|
217
|
+
* SQL placeholder list, or backend batch.
|
|
218
|
+
*/
|
|
219
|
+
export function validateBatchKeys(keys, operation, context) {
|
|
220
|
+
if (!Array.isArray(keys)) {
|
|
221
|
+
throw validationError(`${operation} keys must be an array.`, {
|
|
222
|
+
...context,
|
|
223
|
+
operation: `validateBatchKeys.${operation}`,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
if (keys.length > MAX_BATCH_SIZE) {
|
|
227
|
+
throw validationError(`${operation} exceeds the maximum batch size of ${MAX_BATCH_SIZE} keys.`, {
|
|
228
|
+
...context,
|
|
229
|
+
operation: `validateBatchKeys.${operation}`,
|
|
230
|
+
keyCount: keys.length,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/** Validates a setMany Map and applies the common finite batch cap. */
|
|
235
|
+
export function validateBatchEntries(entries, context) {
|
|
236
|
+
if (!(entries instanceof Map)) {
|
|
237
|
+
throw validationError('setMany entries must be a Map.', {
|
|
238
|
+
...context,
|
|
239
|
+
operation: 'validateBatchEntries.setMany',
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
if (entries.size > MAX_BATCH_SIZE) {
|
|
243
|
+
throw validationError(`setMany exceeds the maximum batch size of ${MAX_BATCH_SIZE} entries.`, {
|
|
244
|
+
...context,
|
|
245
|
+
operation: 'validateBatchEntries.setMany',
|
|
246
|
+
entryCount: entries.size,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
212
250
|
/**
|
|
213
251
|
* Validates list operation options.
|
|
214
252
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageValidation.js","sourceRoot":"","sources":["../../../src/storage/core/storageValidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storageValidation.js","sourceRoot":"","sources":["../../../src/storage/core/storageValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare class InMemoryProvider implements IStorageProvider {
|
|
|
26
26
|
constructor(options?: InMemoryProviderOptions);
|
|
27
27
|
/** Returns the total number of entries across all tenants. */
|
|
28
28
|
get size(): number;
|
|
29
|
-
private
|
|
29
|
+
private getOrCreateTenantStore;
|
|
30
30
|
/** Sweeps all tenant stores and removes expired entries, returning the count reclaimed. */
|
|
31
31
|
private sweepExpired;
|
|
32
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/providers/inMemory/inMemoryProvider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,UAAU,CAAK;IAEvB,YAAY,OAAO,CAAC,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"inMemoryProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/providers/inMemory/inMemoryProvider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,UAAU,CAAK;IAEvB,YAAY,OAAO,CAAC,EAAE,uBAAuB,EAM5C;IAED,8DAA8D;IAC9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,sBAAsB;IAQ9B,2FAA2F;IAC3F,OAAO,CAAC,YAAY;IAkBpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiBtB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAwBhF;IAED,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAkBf;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/E;IAED,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAyDrB;IAEK,OAAO,CAAC,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAwBzB;IAGK,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAoCf;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB3F;IAED,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAShE;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { decodeCursor, encodeCursor } from '../../../storage/core/storageValidation.js';
|
|
2
|
-
import { JsonRpcErrorCode, McpError } from '../../../types-global/errors.js';
|
|
2
|
+
import { configurationError, JsonRpcErrorCode, McpError } from '../../../types-global/errors.js';
|
|
3
3
|
import { logger } from '../../../utils/internal/logger.js';
|
|
4
4
|
const DEFAULT_LIST_LIMIT = 1000;
|
|
5
5
|
const DEFAULT_MAX_ENTRIES = 10_000;
|
|
@@ -8,19 +8,23 @@ export class InMemoryProvider {
|
|
|
8
8
|
maxEntries;
|
|
9
9
|
entryCount = 0;
|
|
10
10
|
constructor(options) {
|
|
11
|
-
|
|
11
|
+
const maxEntries = options?.maxEntries ?? DEFAULT_MAX_ENTRIES;
|
|
12
|
+
if (!Number.isSafeInteger(maxEntries) || maxEntries < 0) {
|
|
13
|
+
throw configurationError('InMemoryProvider maxEntries must be a non-negative safe integer.');
|
|
14
|
+
}
|
|
15
|
+
this.maxEntries = maxEntries;
|
|
12
16
|
}
|
|
13
17
|
/** Returns the total number of entries across all tenants. */
|
|
14
18
|
get size() {
|
|
15
19
|
return this.entryCount;
|
|
16
20
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
21
|
+
getOrCreateTenantStore(tenantId) {
|
|
22
|
+
const existing = this.store.get(tenantId);
|
|
23
|
+
if (existing)
|
|
24
|
+
return existing;
|
|
25
|
+
const created = new Map();
|
|
26
|
+
this.store.set(tenantId, created);
|
|
27
|
+
return created;
|
|
24
28
|
}
|
|
25
29
|
/** Sweeps all tenant stores and removes expired entries, returning the count reclaimed. */
|
|
26
30
|
sweepExpired() {
|
|
@@ -44,21 +48,24 @@ export class InMemoryProvider {
|
|
|
44
48
|
* Ensures capacity for a new entry. If at limit, runs a TTL sweep first.
|
|
45
49
|
* If still at capacity after sweep, throws.
|
|
46
50
|
*/
|
|
47
|
-
ensureCapacity() {
|
|
48
|
-
if (this.entryCount
|
|
51
|
+
ensureCapacity(additionalEntries = 1) {
|
|
52
|
+
if (this.entryCount + additionalEntries <= this.maxEntries)
|
|
49
53
|
return;
|
|
50
54
|
const reclaimed = this.sweepExpired();
|
|
51
55
|
if (reclaimed > 0) {
|
|
52
56
|
logger.debug(`[InMemoryProvider] TTL sweep reclaimed ${reclaimed} expired entries`);
|
|
53
57
|
}
|
|
54
|
-
if (this.entryCount
|
|
58
|
+
if (this.entryCount + additionalEntries > this.maxEntries) {
|
|
55
59
|
throw new McpError(JsonRpcErrorCode.InternalError, `In-memory storage capacity exceeded (max: ${this.maxEntries}). ` +
|
|
56
60
|
'Consider increasing maxEntries, adding TTLs to entries, or switching to a persistent provider.');
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
get(tenantId, key, context) {
|
|
60
64
|
logger.debug(`[InMemoryProvider] Getting key: ${key} for tenant: ${tenantId}`, context);
|
|
61
|
-
const tenantStore = this.
|
|
65
|
+
const tenantStore = this.store.get(tenantId);
|
|
66
|
+
if (!tenantStore) {
|
|
67
|
+
return Promise.resolve(null);
|
|
68
|
+
}
|
|
62
69
|
const entry = tenantStore.get(key);
|
|
63
70
|
if (!entry) {
|
|
64
71
|
return Promise.resolve(null);
|
|
@@ -66,6 +73,8 @@ export class InMemoryProvider {
|
|
|
66
73
|
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
67
74
|
tenantStore.delete(key);
|
|
68
75
|
this.entryCount--;
|
|
76
|
+
if (tenantStore.size === 0)
|
|
77
|
+
this.store.delete(tenantId);
|
|
69
78
|
logger.debug(`[InMemoryProvider] Key expired and removed: ${key} for tenant: ${tenantId}`, context);
|
|
70
79
|
return Promise.resolve(null);
|
|
71
80
|
}
|
|
@@ -73,11 +82,12 @@ export class InMemoryProvider {
|
|
|
73
82
|
}
|
|
74
83
|
set(tenantId, key, value, context, options) {
|
|
75
84
|
logger.debug(`[InMemoryProvider] Setting key: ${key} for tenant: ${tenantId}`, context);
|
|
76
|
-
|
|
77
|
-
const isNew = !tenantStore
|
|
85
|
+
let tenantStore = this.store.get(tenantId);
|
|
86
|
+
const isNew = !tenantStore?.has(key);
|
|
78
87
|
if (isNew) {
|
|
79
88
|
this.ensureCapacity();
|
|
80
89
|
}
|
|
90
|
+
tenantStore ??= this.getOrCreateTenantStore(tenantId);
|
|
81
91
|
// Fix: Check for undefined instead of truthy to handle ttl=0 correctly
|
|
82
92
|
const expiresAt = options?.ttl !== undefined ? Date.now() + options.ttl * 1000 : undefined;
|
|
83
93
|
tenantStore.set(key, {
|
|
@@ -91,10 +101,14 @@ export class InMemoryProvider {
|
|
|
91
101
|
}
|
|
92
102
|
delete(tenantId, key, context) {
|
|
93
103
|
logger.debug(`[InMemoryProvider] Deleting key: ${key} for tenant: ${tenantId}`, context);
|
|
94
|
-
const tenantStore = this.
|
|
104
|
+
const tenantStore = this.store.get(tenantId);
|
|
105
|
+
if (!tenantStore)
|
|
106
|
+
return Promise.resolve(false);
|
|
95
107
|
const deleted = tenantStore.delete(key);
|
|
96
108
|
if (deleted) {
|
|
97
109
|
this.entryCount--;
|
|
110
|
+
if (tenantStore.size === 0)
|
|
111
|
+
this.store.delete(tenantId);
|
|
98
112
|
}
|
|
99
113
|
return Promise.resolve(deleted);
|
|
100
114
|
}
|
|
@@ -103,7 +117,14 @@ export class InMemoryProvider {
|
|
|
103
117
|
...context,
|
|
104
118
|
options,
|
|
105
119
|
});
|
|
106
|
-
|
|
120
|
+
// Authenticate tenant-bound cursors before an empty-namespace fast path.
|
|
121
|
+
// Otherwise a cursor issued to another tenant is silently accepted whenever
|
|
122
|
+
// the requested tenant has no entries.
|
|
123
|
+
const lastKey = options?.cursor ? decodeCursor(options.cursor, tenantId, context) : undefined;
|
|
124
|
+
const tenantStore = this.store.get(tenantId);
|
|
125
|
+
if (!tenantStore) {
|
|
126
|
+
return Promise.resolve({ keys: [], nextCursor: undefined });
|
|
127
|
+
}
|
|
107
128
|
const now = Date.now();
|
|
108
129
|
const allKeys = [];
|
|
109
130
|
// Collect all matching non-expired keys
|
|
@@ -118,14 +139,14 @@ export class InMemoryProvider {
|
|
|
118
139
|
}
|
|
119
140
|
}
|
|
120
141
|
}
|
|
142
|
+
if (tenantStore.size === 0)
|
|
143
|
+
this.store.delete(tenantId);
|
|
121
144
|
// Sort for consistent pagination
|
|
122
145
|
allKeys.sort();
|
|
123
146
|
// Apply pagination with opaque cursors
|
|
124
147
|
const limit = options?.limit ?? DEFAULT_LIST_LIMIT;
|
|
125
148
|
let startIndex = 0;
|
|
126
|
-
if (
|
|
127
|
-
// Decode and validate cursor
|
|
128
|
-
const lastKey = decodeCursor(options.cursor, tenantId, context);
|
|
149
|
+
if (lastKey) {
|
|
129
150
|
const cursorIndex = allKeys.indexOf(lastKey);
|
|
130
151
|
if (cursorIndex !== -1) {
|
|
131
152
|
startIndex = cursorIndex + 1;
|
|
@@ -163,14 +184,33 @@ export class InMemoryProvider {
|
|
|
163
184
|
logger.debug(`[InMemoryProvider] Retrieved ${results.size}/${keys.length} keys for tenant: ${tenantId}`, context);
|
|
164
185
|
return results;
|
|
165
186
|
}
|
|
187
|
+
// biome-ignore lint/suspicious/useAwait: async is required by IStorageProvider; the in-memory batch write is synchronous.
|
|
166
188
|
async setMany(tenantId, entries, context, options) {
|
|
167
189
|
if (entries.size === 0) {
|
|
168
190
|
return;
|
|
169
191
|
}
|
|
170
192
|
logger.debug(`[InMemoryProvider] Setting ${entries.size} keys for tenant: ${tenantId}`, context);
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
193
|
+
// Expired entries must be removed before computing the batch delta. If an
|
|
194
|
+
// expired key is present in this batch, counting it as an overwrite and
|
|
195
|
+
// sweeping it later can undercount additions and exceed maxEntries.
|
|
196
|
+
this.sweepExpired();
|
|
197
|
+
let tenantStore = this.store.get(tenantId);
|
|
198
|
+
let newEntryCount = 0;
|
|
199
|
+
for (const key of entries.keys()) {
|
|
200
|
+
if (!tenantStore?.has(key))
|
|
201
|
+
newEntryCount++;
|
|
202
|
+
}
|
|
203
|
+
// Preflight the complete batch so capacity failures cannot partially commit.
|
|
204
|
+
this.ensureCapacity(newEntryCount);
|
|
205
|
+
tenantStore ??= this.getOrCreateTenantStore(tenantId);
|
|
206
|
+
const expiresAt = options?.ttl !== undefined ? Date.now() + options.ttl * 1000 : undefined;
|
|
207
|
+
for (const [key, value] of entries) {
|
|
208
|
+
tenantStore.set(key, {
|
|
209
|
+
value,
|
|
210
|
+
...(expiresAt !== undefined && { expiresAt }),
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
this.entryCount += newEntryCount;
|
|
174
214
|
logger.debug(`[InMemoryProvider] Successfully set ${entries.size} keys for tenant: ${tenantId}`, context);
|
|
175
215
|
}
|
|
176
216
|
async deleteMany(tenantId, keys, context) {
|
|
@@ -187,9 +227,11 @@ export class InMemoryProvider {
|
|
|
187
227
|
}
|
|
188
228
|
clear(tenantId, context) {
|
|
189
229
|
logger.debug(`[InMemoryProvider] Clearing all keys for tenant: ${tenantId}`, context);
|
|
190
|
-
const tenantStore = this.
|
|
230
|
+
const tenantStore = this.store.get(tenantId);
|
|
231
|
+
if (!tenantStore)
|
|
232
|
+
return Promise.resolve(0);
|
|
191
233
|
const count = tenantStore.size;
|
|
192
|
-
|
|
234
|
+
this.store.delete(tenantId);
|
|
193
235
|
this.entryCount -= count;
|
|
194
236
|
logger.info(`[InMemoryProvider] Cleared ${count} keys for tenant: ${tenantId}`, context);
|
|
195
237
|
return Promise.resolve(count);
|