@lenne.tech/nest-server 11.42.4 → 11.42.5
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/.claude/rules/package-management.md +69 -3
- package/.claude/rules/testing.md +3 -3
- package/FRAMEWORK-API.md +1 -1
- package/dist/test/test.helper.d.ts +60 -0
- package/dist/test/test.helper.js +104 -0
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/migration-guides/11.42.3-to-11.42.4.md +17 -3
- package/migration-guides/11.42.4-to-11.42.5.md +104 -0
- package/package.json +1 -1
- package/src/test/README.md +79 -1
- package/src/test/test.helper.ts +303 -0
|
@@ -325,9 +325,75 @@ API is reported as `UNVERIFIED` and tolerated locally — but **fails under `CI`
|
|
|
325
325
|
nobody reads is indistinguishable from a check that ran.
|
|
326
326
|
|
|
327
327
|
One consequence worth knowing before you reach for this mechanism: the guard fires when the advisory
|
|
328
|
-
has a patched version for **any** affected range.
|
|
329
|
-
|
|
330
|
-
|
|
328
|
+
has a patched version for **any** affected range. For most findings that is the honest outcome — a
|
|
329
|
+
fix exists, take it, and the case is an override problem rather than a suppression problem.
|
|
330
|
+
|
|
331
|
+
#### When the fix exists and the consumer cannot use it (`unusableFixConsumers`, since 11.42.5)
|
|
332
|
+
|
|
333
|
+
The exception is the case where "a fix exists" and "the fix is usable" come apart: a patched major
|
|
334
|
+
removed an export its consumer imports, or the consumer pins the vulnerable range itself. Then
|
|
335
|
+
`FIX AVAILABLE` is not advice but a dead end, and the only ways out used to be a permanently red
|
|
336
|
+
build or a guard switched off for that entry.
|
|
337
|
+
|
|
338
|
+
Measured case (lt-crm, 2026-10-06): three `simple-git` advisories, one CRITICAL requiring `>=4.0.1`,
|
|
339
|
+
reachable only via `nuxt > @nuxt/devtools > simple-git`. simple-git 4 dropped the default export
|
|
340
|
+
devtools imports, so the override made `nuxt prepare` fail outright. The newest devtools in the 3.x
|
|
341
|
+
line still imports it that way, and devtools is a hard `dependencies` entry of `nuxt` — so it can be
|
|
342
|
+
neither raised nor dropped. No published 3.x carries the fix.
|
|
343
|
+
|
|
344
|
+
**Exhaust the ladder first** (raise the vulnerable package, raise the consumer, raise the framework,
|
|
345
|
+
patch the consumer — see the `running-check-script` skill for the full rungs and the conditions on
|
|
346
|
+
patching). Only then declare it, next to the `ignoreGhsas` entry:
|
|
347
|
+
|
|
348
|
+
```yaml
|
|
349
|
+
auditConfig:
|
|
350
|
+
ignoreGhsas:
|
|
351
|
+
- GHSA-x6jw-m9v5-85vh
|
|
352
|
+
unusableFixConsumers:
|
|
353
|
+
GHSA-x6jw-m9v5-85vh: '@nuxt/devtools@3.4.1 cannot use 4.0.1'
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
The value is the declaration's whole point: it records the consumer, the version it was assessed
|
|
357
|
+
against, **and** the patched versions that were rejected. Each of those can change without anybody
|
|
358
|
+
revisiting the entry, so `check:overrides` re-checks them on every run and fails with `RE-TEST` when
|
|
359
|
+
any has moved:
|
|
360
|
+
|
|
361
|
+
1. the declared consumer left the tree, or the assessed version is no longer in it;
|
|
362
|
+
2. the advisory now offers a patched version that was never assessed — the **backport** case, where
|
|
363
|
+
a fix appears in a line the consumer *can* use while the rejected one stays unusable;
|
|
364
|
+
3. anything other than `consumer@assessedVersion` pulls an affected package, so "only this one
|
|
365
|
+
consumer" no longer holds. The comparison is deliberately strict and includes the **version**: a
|
|
366
|
+
second version of the same consumer is a path nobody assessed, and comparing by name alone let
|
|
367
|
+
one ride along on the other's declaration, with the winner decided by lockfile order.
|
|
368
|
+
|
|
369
|
+
The third check reads **both halves** of the lockfile. `importers:` holds what the repository itself
|
|
370
|
+
declares (`.`, `projects/api`, `projects/app`), `snapshots:` the edges between third-party packages
|
|
371
|
+
— and the first is the likelier production path, because a direct dependency can simply be raised.
|
|
372
|
+
Reading only `snapshots:` hid exactly that case: in this repository `importers:` starts at line 28
|
|
373
|
+
and `snapshots:` at 5264, so everything the project says about itself sat 5000 lines above the scan
|
|
374
|
+
window, with `ignoreGhsas` keeping `pnpm audit` quiet about it too.
|
|
375
|
+
|
|
376
|
+
What counts as an edge, stated precisely: `dependencies`, `devDependencies` and
|
|
377
|
+
`optionalDependencies` do, the `peerDependencies` and `transitivePeerDependencies` *blocks* do not.
|
|
378
|
+
That is **not** the same as "peer edges are ignored" — in a pnpm v9 snapshot a RESOLVED peer is
|
|
379
|
+
written into `dependencies:` like any other edge (verified on `@nestjs/core`, whose peers
|
|
380
|
+
`@nestjs/common`, `reflect-metadata` and `rxjs` all appear there), so it is counted. The check
|
|
381
|
+
therefore over-counts rather than under-counts, which is the safe direction: an extra `RE-TEST` asks
|
|
382
|
+
for a second look at a suppression, where a missed edge would hide a consumer nobody assessed.
|
|
383
|
+
|
|
384
|
+
When a section cannot be found at all, or the advisory names no affected package, the run fails
|
|
385
|
+
rather than passes. "I could not check whether a second consumer exists" must not read like "there
|
|
386
|
+
is none".
|
|
387
|
+
|
|
388
|
+
An accepted residual is also printed on every **green** run, because it is the one kind that can
|
|
389
|
+
stop being true without anything in this repository changing. A suppression with **no** declaration
|
|
390
|
+
still fails on sight — this is a narrow, self-expiring exception, not a wider gate.
|
|
391
|
+
|
|
392
|
+
Pinned by `tests/unit/check-overrides.guard.spec.ts` and six registered mutations
|
|
393
|
+
(`unusable-fix-*` in `tests/regression-mutations.json`), one per way the justification can expire —
|
|
394
|
+
plus one for the opposite failure, a guard that rejects a declaration which is still true. That one
|
|
395
|
+
matters just as much: a check that cries wolf on correct entries is a check that gets switched off,
|
|
396
|
+
which is how the hole this feature closes came about in the first place.
|
|
331
397
|
|
|
332
398
|
**Current entries (since 2026-10-03):** `GHSA-ch52-4w7c-c8xp` (http-cache-semantics, via the
|
|
333
399
|
`@swc/cli` binary downloader) and `GHSA-vfj7-8cjw-p6xm` (braces, via nodemon / npm-watch). Both are
|
package/.claude/rules/testing.md
CHANGED
|
@@ -266,7 +266,7 @@ pnpm run check:mutations -- --id=<id> # one mutation
|
|
|
266
266
|
pnpm run check:mutations -- --list # the registry, without running anything
|
|
267
267
|
pnpm run check:mutations -- --allow-dirty # when the fix and its evidence share a working tree
|
|
268
268
|
pnpm run check:mutations -- --jobs=4 # N mutations at a time (default: 2, or 4 on >=12 cores)
|
|
269
|
-
pnpm run check:mutations -- --no-infra # only the
|
|
269
|
+
pnpm run check:mutations -- --no-infra # only the 103 that need no MongoDB
|
|
270
270
|
pnpm run check:mutations -- --since=<ref> # only mutations touching files changed since <ref>
|
|
271
271
|
```
|
|
272
272
|
|
|
@@ -285,7 +285,7 @@ when the registry, a vitest config or a setup file changed, since those can move
|
|
|
285
285
|
commit, and in CI alongside the publish without blocking it. The price of caching is a cache that
|
|
286
286
|
has to model each spec's full dependency closure correctly, and getting that wrong produces a stale
|
|
287
287
|
PASS for a test that has since gone vacuous — exactly what the gate is there to prevent. Bad trade
|
|
288
|
-
at
|
|
288
|
+
at 166 mutations.
|
|
289
289
|
|
|
290
290
|
**Decided 2026-10-03 (repo owner): keep the full run.** Measured at 128 mutations, the CI job for
|
|
291
291
|
11.41.6 took **14 minutes**. The trigger to revisit is that wall time, not the mutation count —
|
|
@@ -332,7 +332,7 @@ exactly the environment where the answer matters.
|
|
|
332
332
|
|
|
333
333
|
Worth knowing before optimising the wrong thing: the specs behind all 63 e2e mutations add up to
|
|
334
334
|
**~40 seconds**. The step takes ~740s. The remaining ~700s is paying vitest's startup — process
|
|
335
|
-
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation,
|
|
335
|
+
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation, 166 times.
|
|
336
336
|
That work is largely single-threaded I/O and barely scales with cores: the full registry measures
|
|
337
337
|
**744s on a 12-core laptop and 777s on a 4-vCPU CI runner**.
|
|
338
338
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code as of 2026-10-06 (v11.42.
|
|
3
|
+
> Auto-generated from source code as of 2026-10-06 (v11.42.5)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -58,6 +58,59 @@ export interface TestDownloadOptions {
|
|
|
58
58
|
cookies?: string;
|
|
59
59
|
token?: string;
|
|
60
60
|
}
|
|
61
|
+
export interface TestMcpOptions {
|
|
62
|
+
cookies?: Record<string, string> | string;
|
|
63
|
+
headers?: Record<string, string>;
|
|
64
|
+
log?: boolean;
|
|
65
|
+
logError?: boolean;
|
|
66
|
+
path?: string;
|
|
67
|
+
sessionId?: string;
|
|
68
|
+
statusCode?: number;
|
|
69
|
+
token?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface TestMcpSessionOptions extends Omit<TestMcpOptions, 'sessionId' | 'statusCode'> {
|
|
72
|
+
clientInfo?: {
|
|
73
|
+
name: string;
|
|
74
|
+
version: string;
|
|
75
|
+
};
|
|
76
|
+
protocolVersion?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface TestMcpMessage {
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
error?: any;
|
|
81
|
+
id?: null | number | string;
|
|
82
|
+
jsonrpc?: '2.0';
|
|
83
|
+
result?: any;
|
|
84
|
+
}
|
|
85
|
+
export interface TestMcpResponse {
|
|
86
|
+
message: null | TestMcpMessage;
|
|
87
|
+
response: any;
|
|
88
|
+
sessionId?: string;
|
|
89
|
+
}
|
|
90
|
+
export interface TestMcpToolResult {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
content: {
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
text?: string;
|
|
95
|
+
type: string;
|
|
96
|
+
}[];
|
|
97
|
+
isError?: boolean;
|
|
98
|
+
json?: any;
|
|
99
|
+
}
|
|
100
|
+
export interface TestMcpTool {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
description?: string;
|
|
103
|
+
inputSchema?: any;
|
|
104
|
+
name: string;
|
|
105
|
+
}
|
|
106
|
+
export interface TestMcpSession {
|
|
107
|
+
callTool(name: string, args?: Record<string, unknown>): Promise<TestMcpToolResult>;
|
|
108
|
+
close(): Promise<void>;
|
|
109
|
+
initializeResult: any;
|
|
110
|
+
listTools(): Promise<TestMcpTool[]>;
|
|
111
|
+
request(method: string, params?: Record<string, unknown>, options?: Pick<TestMcpOptions, 'log' | 'logError' | 'statusCode'>): Promise<null | TestMcpMessage>;
|
|
112
|
+
sessionId: string;
|
|
113
|
+
}
|
|
61
114
|
export declare class TestHelper {
|
|
62
115
|
app: INestApplication;
|
|
63
116
|
subscriptionUrl: string;
|
|
@@ -65,6 +118,8 @@ export declare class TestHelper {
|
|
|
65
118
|
download(url: string, tokenOrOptions?: string | TestDownloadOptions): Promise<any>;
|
|
66
119
|
downloadBuffer(url: string, tokenOrOptions?: string | TestDownloadOptions): Promise<Buffer>;
|
|
67
120
|
graphQl(graphql: string | TestGraphQLConfig, options?: TestGraphQLOptions): Promise<any>;
|
|
121
|
+
mcp(message: Record<string, unknown>, options?: TestMcpOptions): Promise<TestMcpResponse>;
|
|
122
|
+
mcpSession(options?: TestMcpSessionOptions): Promise<TestMcpSession>;
|
|
68
123
|
rest(url: string, options?: TestRestOptions): Promise<any>;
|
|
69
124
|
prepareArguments(args: any, objects?: WeakMap<any, any>): any;
|
|
70
125
|
prepareFields(fields: any): any;
|
|
@@ -75,5 +130,10 @@ export declare class TestHelper {
|
|
|
75
130
|
static buildBetterAuthCookies(sessionToken: string, basePath?: string): Record<string, string>;
|
|
76
131
|
static extractCookies(response: any): Record<string, string>;
|
|
77
132
|
static extractSessionToken(response: any, cookieName?: string): null | string;
|
|
133
|
+
static parseMcpMessage(response: {
|
|
134
|
+
headers?: Record<string, any>;
|
|
135
|
+
text?: string;
|
|
136
|
+
}): null | TestMcpMessage;
|
|
137
|
+
static parseJsonOrUndefined(text: string | undefined): any;
|
|
78
138
|
parseJwt(token: any): any;
|
|
79
139
|
}
|
package/dist/test/test.helper.js
CHANGED
|
@@ -200,6 +200,79 @@ class TestHelper {
|
|
|
200
200
|
}
|
|
201
201
|
return undefined;
|
|
202
202
|
}
|
|
203
|
+
async mcp(message, options = {}) {
|
|
204
|
+
const isNotification = message.id === undefined;
|
|
205
|
+
const response = await this.rest(options.path ?? '/ai/mcp', {
|
|
206
|
+
cookies: options.cookies,
|
|
207
|
+
headers: {
|
|
208
|
+
Accept: 'application/json, text/event-stream',
|
|
209
|
+
'Content-Type': 'application/json',
|
|
210
|
+
...(options.sessionId ? { 'mcp-session-id': options.sessionId } : {}),
|
|
211
|
+
...options.headers,
|
|
212
|
+
},
|
|
213
|
+
log: options.log,
|
|
214
|
+
logError: options.logError,
|
|
215
|
+
method: 'POST',
|
|
216
|
+
payload: { jsonrpc: '2.0', ...message },
|
|
217
|
+
returnResponse: true,
|
|
218
|
+
statusCode: options.statusCode ?? (isNotification ? 202 : 200),
|
|
219
|
+
token: options.token,
|
|
220
|
+
});
|
|
221
|
+
return {
|
|
222
|
+
message: TestHelper.parseMcpMessage(response),
|
|
223
|
+
response,
|
|
224
|
+
sessionId: response?.headers?.['mcp-session-id'],
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
async mcpSession(options = {}) {
|
|
228
|
+
const { clientInfo, protocolVersion, ...base } = options;
|
|
229
|
+
const path = base.path ?? '/ai/mcp';
|
|
230
|
+
const init = await this.mcp({
|
|
231
|
+
id: 1,
|
|
232
|
+
method: 'initialize',
|
|
233
|
+
params: {
|
|
234
|
+
capabilities: {},
|
|
235
|
+
clientInfo: clientInfo ?? { name: 'nest-server-test-helper', version: '1.0.0' },
|
|
236
|
+
protocolVersion: protocolVersion ?? '2025-03-26',
|
|
237
|
+
},
|
|
238
|
+
}, base);
|
|
239
|
+
expect(init.message?.error).toBeUndefined();
|
|
240
|
+
expect(init.sessionId).toBeTruthy();
|
|
241
|
+
const sessionId = init.sessionId;
|
|
242
|
+
await this.mcp({ method: 'notifications/initialized' }, { ...base, sessionId });
|
|
243
|
+
let nextId = 2;
|
|
244
|
+
const request = async (method, params, requestOptions = {}) => {
|
|
245
|
+
const reply = await this.mcp({ id: nextId++, method, ...(params ? { params } : {}) }, { ...base, ...requestOptions, sessionId });
|
|
246
|
+
return reply.message;
|
|
247
|
+
};
|
|
248
|
+
return {
|
|
249
|
+
callTool: async (name, args = {}) => {
|
|
250
|
+
const reply = await request('tools/call', { arguments: args, name });
|
|
251
|
+
expect(reply?.error).toBeUndefined();
|
|
252
|
+
const result = reply?.result ?? { content: [] };
|
|
253
|
+
return { ...result, json: TestHelper.parseJsonOrUndefined(result.content?.[0]?.text) };
|
|
254
|
+
},
|
|
255
|
+
close: async () => {
|
|
256
|
+
await this.rest(path, {
|
|
257
|
+
cookies: base.cookies,
|
|
258
|
+
headers: { ...base.headers, 'mcp-session-id': sessionId },
|
|
259
|
+
log: base.log,
|
|
260
|
+
logError: base.logError,
|
|
261
|
+
method: 'DELETE',
|
|
262
|
+
returnResponse: true,
|
|
263
|
+
token: base.token,
|
|
264
|
+
});
|
|
265
|
+
},
|
|
266
|
+
initializeResult: init.message?.result,
|
|
267
|
+
listTools: async () => {
|
|
268
|
+
const reply = await request('tools/list');
|
|
269
|
+
expect(reply?.error).toBeUndefined();
|
|
270
|
+
return reply?.result?.tools ?? [];
|
|
271
|
+
},
|
|
272
|
+
request,
|
|
273
|
+
sessionId,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
203
276
|
async rest(url, options = {}) {
|
|
204
277
|
const config = {
|
|
205
278
|
log: false,
|
|
@@ -499,6 +572,37 @@ class TestHelper {
|
|
|
499
572
|
}
|
|
500
573
|
return value;
|
|
501
574
|
}
|
|
575
|
+
static parseMcpMessage(response) {
|
|
576
|
+
const text = response?.text ?? '';
|
|
577
|
+
if (!text.trim()) {
|
|
578
|
+
return null;
|
|
579
|
+
}
|
|
580
|
+
const contentType = String(response?.headers?.['content-type'] ?? '');
|
|
581
|
+
if (contentType.includes('text/event-stream') || /^(event|data|id):/m.test(text)) {
|
|
582
|
+
for (const line of text.split(/\r?\n/)) {
|
|
583
|
+
if (!line.startsWith('data:')) {
|
|
584
|
+
continue;
|
|
585
|
+
}
|
|
586
|
+
const parsed = TestHelper.parseJsonOrUndefined(line.slice(5).trim());
|
|
587
|
+
if (parsed && (parsed.result !== undefined || parsed.error !== undefined)) {
|
|
588
|
+
return parsed;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
return null;
|
|
592
|
+
}
|
|
593
|
+
return TestHelper.parseJsonOrUndefined(text) ?? null;
|
|
594
|
+
}
|
|
595
|
+
static parseJsonOrUndefined(text) {
|
|
596
|
+
if (typeof text !== 'string') {
|
|
597
|
+
return undefined;
|
|
598
|
+
}
|
|
599
|
+
try {
|
|
600
|
+
return JSON.parse(text);
|
|
601
|
+
}
|
|
602
|
+
catch {
|
|
603
|
+
return undefined;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
502
606
|
parseJwt(token) {
|
|
503
607
|
return JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
|
|
504
608
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}
|