@carlonicora/nestjs-neo4jsonapi 3.3.1 → 4.1.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/dist/common/decorators/module.decorator.d.ts +1 -1
- package/dist/common/decorators/module.decorator.d.ts.map +1 -1
- package/dist/common/decorators/oauth.scopes.decorator.d.ts +1 -1
- package/dist/common/decorators/oauth.scopes.decorator.d.ts.map +1 -1
- package/dist/common/decorators/roles.decorator.d.ts +1 -1
- package/dist/common/decorators/roles.decorator.d.ts.map +1 -1
- package/dist/common/guards/jwt.auth.admin.guard.d.ts +1 -1
- package/dist/common/guards/jwt.auth.any-scope.guard.d.ts +1 -1
- package/dist/common/guards/jwt.auth.guard.d.ts +1 -1
- package/dist/common/guards/jwt.auth.optional.guard.d.ts +1 -1
- package/dist/core/cache/interceptors/cache.interceptor.d.ts +2 -2
- package/dist/core/cache/interceptors/cache.interceptor.d.ts.map +1 -1
- package/dist/core/llm/services/reasoning-content-fetch.d.ts +18 -0
- package/dist/core/llm/services/reasoning-content-fetch.d.ts.map +1 -1
- package/dist/core/llm/services/reasoning-content-fetch.js +43 -9
- package/dist/core/llm/services/reasoning-content-fetch.js.map +1 -1
- package/package.json +26 -27
|
@@ -2,5 +2,5 @@ export type ModuleDefinition = {
|
|
|
2
2
|
module: string;
|
|
3
3
|
allowVisitors?: boolean;
|
|
4
4
|
};
|
|
5
|
-
export declare const ModuleACL: (params: ModuleDefinition) => import("@nestjs/common").CustomDecorator<string>;
|
|
5
|
+
export declare const ModuleACL: (params: ModuleDefinition) => import("@nestjs/common", { with: { "resolution-mode": "import" } }).CustomDecorator<string>;
|
|
6
6
|
//# sourceMappingURL=module.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/module.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,QAAQ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"module.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/module.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,QAAQ,gBAAgB,gGAA4C,CAAC"}
|
|
@@ -14,5 +14,5 @@ export declare const OAUTH_SCOPES_KEY = "oauth_scopes";
|
|
|
14
14
|
*
|
|
15
15
|
* @param scopes - Required OAuth scopes
|
|
16
16
|
*/
|
|
17
|
-
export declare const OAuthScopes: (...scopes: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
|
17
|
+
export declare const OAuthScopes: (...scopes: string[]) => import("@nestjs/common", { with: { "resolution-mode": "import" } }).CustomDecorator<string>;
|
|
18
18
|
//# sourceMappingURL=oauth.scopes.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.scopes.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/oauth.scopes.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"oauth.scopes.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/oauth.scopes.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,MAAM,EAAE,gGAA0C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const Roles: (...roles: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
|
1
|
+
export declare const Roles: (...roles: string[]) => import("@nestjs/common", { with: { "resolution-mode": "import" } }).CustomDecorator<string>;
|
|
2
2
|
//# sourceMappingURL=roles.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/roles.decorator.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"roles.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/roles.decorator.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,MAAM,EAAE,gGAAgC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Reflector } from "@nestjs/core";
|
|
|
3
3
|
import { ClsService } from "nestjs-cls";
|
|
4
4
|
import { Neo4jService } from "../../core/neo4j/services/neo4j.service";
|
|
5
5
|
import { AuthContextHookInterface, SystemRolesInterface } from "../tokens";
|
|
6
|
-
declare const AdminJwtAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
6
|
+
declare const AdminJwtAuthGuard_base: import("@nestjs/passport", { with: { "resolution-mode": "import" } }).Type<import("@nestjs/passport", { with: { "resolution-mode": "import" } }).IAuthGuard>;
|
|
7
7
|
export declare class AdminJwtAuthGuard extends AdminJwtAuthGuard_base implements CanActivate {
|
|
8
8
|
private readonly cls;
|
|
9
9
|
private reflector;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExecutionContext } from "@nestjs/common";
|
|
2
2
|
import { ClsService } from "nestjs-cls";
|
|
3
|
-
declare const AnyScopeAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
3
|
+
declare const AnyScopeAuthGuard_base: import("@nestjs/passport", { with: { "resolution-mode": "import" } }).Type<import("@nestjs/passport", { with: { "resolution-mode": "import" } }).IAuthGuard>;
|
|
4
4
|
/**
|
|
5
5
|
* Admits BOTH a full session JWT and a scoped selection JWT (e.g. the
|
|
6
6
|
* short-lived "company-selection" token issued at login).
|
|
@@ -3,7 +3,7 @@ import { Reflector } from "@nestjs/core";
|
|
|
3
3
|
import { ClsService } from "nestjs-cls";
|
|
4
4
|
import { Neo4jService } from "../../core/neo4j/services/neo4j.service";
|
|
5
5
|
import { AuthContextHookInterface, SystemRolesInterface } from "../tokens";
|
|
6
|
-
declare const JwtAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
6
|
+
declare const JwtAuthGuard_base: import("@nestjs/passport", { with: { "resolution-mode": "import" } }).Type<import("@nestjs/passport", { with: { "resolution-mode": "import" } }).IAuthGuard>;
|
|
7
7
|
export declare class JwtAuthGuard extends JwtAuthGuard_base {
|
|
8
8
|
private readonly cls;
|
|
9
9
|
private reflector;
|
|
@@ -2,7 +2,7 @@ import { ExecutionContext } from "@nestjs/common";
|
|
|
2
2
|
import { Reflector } from "@nestjs/core";
|
|
3
3
|
import { ClsService } from "nestjs-cls";
|
|
4
4
|
import { SystemRolesInterface } from "../tokens";
|
|
5
|
-
declare const OptionalJwtAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
5
|
+
declare const OptionalJwtAuthGuard_base: import("@nestjs/passport", { with: { "resolution-mode": "import" } }).Type<import("@nestjs/passport", { with: { "resolution-mode": "import" } }).IAuthGuard>;
|
|
6
6
|
export declare class OptionalJwtAuthGuard extends OptionalJwtAuthGuard_base {
|
|
7
7
|
private readonly cls;
|
|
8
8
|
private reflector;
|
|
@@ -3,8 +3,8 @@ import { Reflector } from "@nestjs/core";
|
|
|
3
3
|
import { Observable } from "rxjs";
|
|
4
4
|
import { AppLoggingService } from "../../logging/services/logging.service";
|
|
5
5
|
import { CacheService } from "../services/cache.service";
|
|
6
|
-
export declare const NoCache: () => import("@nestjs/common").CustomDecorator<string>;
|
|
7
|
-
export declare const CacheTTL: (ttl: number) => import("@nestjs/common").CustomDecorator<string>;
|
|
6
|
+
export declare const NoCache: () => import("@nestjs/common", { with: { "resolution-mode": "import" } }).CustomDecorator<string>;
|
|
7
|
+
export declare const CacheTTL: (ttl: number) => import("@nestjs/common", { with: { "resolution-mode": "import" } }).CustomDecorator<string>;
|
|
8
8
|
export declare class CacheInterceptor implements NestInterceptor {
|
|
9
9
|
private readonly cacheService;
|
|
10
10
|
private readonly reflector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.interceptor.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/interceptors/cache.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAc,eAAe,EAAe,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"cache.interceptor.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/interceptors/cache.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAc,eAAe,EAAe,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,eAAO,MAAM,OAAO,mGAAsC,CAAC;AAG3D,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,gGAAkC,CAAC;AAEvE,qBACa,gBAAiB,YAAW,eAAe;IAEpD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB;IAGtC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IA2DvF,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -36,6 +36,24 @@
|
|
|
36
36
|
* fetch (the OpenRouter pin, the unsupported-parameter repair) rather than
|
|
37
37
|
* replacing it, and forwards `input`/`init` untouched — it only ever inspects
|
|
38
38
|
* the response.
|
|
39
|
+
*
|
|
40
|
+
* THE BODY IS READ EXACTLY ONCE, AND NEVER THROUGH `clone()`.
|
|
41
|
+
*
|
|
42
|
+
* `clone()` tees the body stream: the read that follows pulls through BOTH
|
|
43
|
+
* branches, so the original is no longer pristine the moment the clone is read.
|
|
44
|
+
* That is fine until the read FAILS. The OpenAI SDK bounds the whole fetch call
|
|
45
|
+
* — this middleware included — with `AI_REQUEST_TIMEOUT_MS`, and a generation
|
|
46
|
+
* that outruns the budget aborts the stream while we are mid-read. Returning
|
|
47
|
+
* "the original, untouched" then handed the caller a DISTURBED response, whose
|
|
48
|
+
* `.text()` threw undici's `Body is unusable: Body has already been read` and
|
|
49
|
+
* buried the real AbortError. Observed live 2026-08-31 on game creation, where
|
|
50
|
+
* an 88s turn crossed the 120s default (the payload was in `content` all along
|
|
51
|
+
* — this middleware had nothing to repair and still broke the call).
|
|
52
|
+
*
|
|
53
|
+
* So: one read, and a read failure PROPAGATES. The caller owns the timeout and
|
|
54
|
+
* must see its own error. Everything downstream of the read is handed on as a
|
|
55
|
+
* rebuilt Response — a repair is no longer the only path that constructs one,
|
|
56
|
+
* because the single read has consumed the original either way.
|
|
39
57
|
*/
|
|
40
58
|
export declare function reasoningContentFetch(innerFetch?: typeof fetch): typeof fetch;
|
|
41
59
|
//# sourceMappingURL=reasoning-content-fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-content-fetch.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/reasoning-content-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"reasoning-content-fetch.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/reasoning-content-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAoGH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,GAAE,OAAO,KAAa,GAAG,OAAO,KAAK,CA0BpF"}
|
|
@@ -110,34 +110,68 @@ const promoteReasoningToContent = (body) => {
|
|
|
110
110
|
}
|
|
111
111
|
return changed;
|
|
112
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* Re-wraps `text` as the response the caller will read, carrying `source`'s
|
|
115
|
+
* status and headers MINUS the ones that described the wire body.
|
|
116
|
+
*
|
|
117
|
+
* `content-encoding` and `content-length` describe the compressed, chunked
|
|
118
|
+
* bytes undici already decoded on our behalf; the body attached here is decoded
|
|
119
|
+
* text of a different length. Forwarding them would hand the caller a response
|
|
120
|
+
* whose headers contradict its body — and the OpenAI SDK reads `content-length`
|
|
121
|
+
* to decide whether a body is worth parsing at all (`content-length: "0"` short
|
|
122
|
+
* circuits it), so a stale value is not inert.
|
|
123
|
+
*/
|
|
124
|
+
const rebuild = (source, text) => {
|
|
125
|
+
const headers = new Headers(source.headers);
|
|
126
|
+
headers.delete("content-encoding");
|
|
127
|
+
headers.delete("content-length");
|
|
128
|
+
return new Response(text, { status: source.status, statusText: source.statusText, headers });
|
|
129
|
+
};
|
|
113
130
|
/**
|
|
114
131
|
* A `fetch` middleware that repairs reasoning-only responses. Wraps an inner
|
|
115
132
|
* fetch (the OpenRouter pin, the unsupported-parameter repair) rather than
|
|
116
133
|
* replacing it, and forwards `input`/`init` untouched — it only ever inspects
|
|
117
134
|
* the response.
|
|
135
|
+
*
|
|
136
|
+
* THE BODY IS READ EXACTLY ONCE, AND NEVER THROUGH `clone()`.
|
|
137
|
+
*
|
|
138
|
+
* `clone()` tees the body stream: the read that follows pulls through BOTH
|
|
139
|
+
* branches, so the original is no longer pristine the moment the clone is read.
|
|
140
|
+
* That is fine until the read FAILS. The OpenAI SDK bounds the whole fetch call
|
|
141
|
+
* — this middleware included — with `AI_REQUEST_TIMEOUT_MS`, and a generation
|
|
142
|
+
* that outruns the budget aborts the stream while we are mid-read. Returning
|
|
143
|
+
* "the original, untouched" then handed the caller a DISTURBED response, whose
|
|
144
|
+
* `.text()` threw undici's `Body is unusable: Body has already been read` and
|
|
145
|
+
* buried the real AbortError. Observed live 2026-08-31 on game creation, where
|
|
146
|
+
* an 88s turn crossed the 120s default (the payload was in `content` all along
|
|
147
|
+
* — this middleware had nothing to repair and still broke the call).
|
|
148
|
+
*
|
|
149
|
+
* So: one read, and a read failure PROPAGATES. The caller owns the timeout and
|
|
150
|
+
* must see its own error. Everything downstream of the read is handed on as a
|
|
151
|
+
* rebuilt Response — a repair is no longer the only path that constructs one,
|
|
152
|
+
* because the single read has consumed the original either way.
|
|
118
153
|
*/
|
|
119
154
|
function reasoningContentFetch(innerFetch = fetch) {
|
|
120
155
|
return (async (input, init) => {
|
|
121
156
|
const response = await innerFetch(input, init);
|
|
122
157
|
if (!response.ok || !isJsonResponse(response))
|
|
123
158
|
return response;
|
|
159
|
+
// Deliberately unguarded: an abort or a truncated stream is the caller's
|
|
160
|
+
// error to classify, not ours to convert into a body it cannot read.
|
|
161
|
+
const raw = await response.text();
|
|
124
162
|
let body;
|
|
125
163
|
try {
|
|
126
|
-
body = JSON.parse(
|
|
164
|
+
body = JSON.parse(raw);
|
|
127
165
|
}
|
|
128
166
|
catch {
|
|
129
167
|
// Not a JSON document after all (a gateway's HTML error page mislabelled,
|
|
130
|
-
// a truncated body) — hand
|
|
131
|
-
return response;
|
|
168
|
+
// a truncated body) — hand the bytes on exactly as they arrived.
|
|
169
|
+
return rebuild(response, raw);
|
|
132
170
|
}
|
|
133
171
|
if (!promoteReasoningToContent(body))
|
|
134
|
-
return response;
|
|
172
|
+
return rebuild(response, raw);
|
|
135
173
|
console.warn("[reasoningContentFetch] provider returned the payload in `reasoning` with empty `content` — promoted it");
|
|
136
|
-
return
|
|
137
|
-
status: response.status,
|
|
138
|
-
statusText: response.statusText,
|
|
139
|
-
headers: response.headers,
|
|
140
|
-
});
|
|
174
|
+
return rebuild(response, JSON.stringify(body));
|
|
141
175
|
});
|
|
142
176
|
}
|
|
143
177
|
//# sourceMappingURL=reasoning-content-fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-content-fetch.js","sourceRoot":"","sources":["../../../../src/core/llm/services/reasoning-content-fetch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;
|
|
1
|
+
{"version":3,"file":"reasoning-content-fetch.js","sourceRoot":"","sources":["../../../../src/core/llm/services/reasoning-content-fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carlonicora/nestjs-neo4jsonapi",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
|
|
5
5
|
"author": "Carlo Nicora",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -158,21 +158,21 @@
|
|
|
158
158
|
"@eslint/eslintrc": "^3.3.6",
|
|
159
159
|
"@eslint/js": "^9.39.5",
|
|
160
160
|
"@fastify/multipart": "^10.1.1",
|
|
161
|
-
"@nestjs/bullmq": "^
|
|
162
|
-
"@nestjs/common": "^
|
|
163
|
-
"@nestjs/config": "^
|
|
164
|
-
"@nestjs/core": "^
|
|
165
|
-
"@nestjs/event-emitter": "^
|
|
166
|
-
"@nestjs/jwt": "^
|
|
167
|
-
"@nestjs/passport": "^
|
|
168
|
-
"@nestjs/platform-fastify": "^
|
|
169
|
-
"@nestjs/platform-socket.io": "^
|
|
170
|
-
"@nestjs/schedule": "^
|
|
171
|
-
"@nestjs/swagger": "^
|
|
161
|
+
"@nestjs/bullmq": "^12.0.0",
|
|
162
|
+
"@nestjs/common": "^12.0.1",
|
|
163
|
+
"@nestjs/config": "^12.0.0",
|
|
164
|
+
"@nestjs/core": "^12.0.1",
|
|
165
|
+
"@nestjs/event-emitter": "^12.0.0",
|
|
166
|
+
"@nestjs/jwt": "^12.0.1",
|
|
167
|
+
"@nestjs/passport": "^12.0.0",
|
|
168
|
+
"@nestjs/platform-fastify": "^12.0.1",
|
|
169
|
+
"@nestjs/platform-socket.io": "^12.0.1",
|
|
170
|
+
"@nestjs/schedule": "^12.0.1",
|
|
171
|
+
"@nestjs/swagger": "^12.0.1",
|
|
172
172
|
"@nestjs/terminus": "^11.1.1",
|
|
173
|
-
"@nestjs/testing": "^
|
|
173
|
+
"@nestjs/testing": "^12.0.1",
|
|
174
174
|
"@nestjs/throttler": "^6.5.0",
|
|
175
|
-
"@nestjs/websockets": "^
|
|
175
|
+
"@nestjs/websockets": "^12.0.1",
|
|
176
176
|
"@semantic-release/changelog": "^7.0.0",
|
|
177
177
|
"@semantic-release/git": "^11.0.1",
|
|
178
178
|
"@swc/core": "^1.16.1",
|
|
@@ -202,9 +202,8 @@
|
|
|
202
202
|
"nestjs-i18n": "^10.8.5",
|
|
203
203
|
"prettier": "^3.9.6",
|
|
204
204
|
"semantic-release": "25.0.8",
|
|
205
|
-
"ts-node": "^10.9.2",
|
|
206
205
|
"tsup": "^8.5.1",
|
|
207
|
-
"typescript": "^
|
|
206
|
+
"typescript": "^6.0.3",
|
|
208
207
|
"unplugin-swc": "^1.5.11",
|
|
209
208
|
"vitest": "^4.1.11",
|
|
210
209
|
"zod": "^4.4.3"
|
|
@@ -229,19 +228,19 @@
|
|
|
229
228
|
},
|
|
230
229
|
"peerDependencies": {
|
|
231
230
|
"@fastify/multipart": "^10.1.0",
|
|
232
|
-
"@nestjs/common": "^
|
|
233
|
-
"@nestjs/config": "^
|
|
234
|
-
"@nestjs/core": "^
|
|
235
|
-
"@nestjs/event-emitter": "^
|
|
236
|
-
"@nestjs/jwt": "^
|
|
237
|
-
"@nestjs/passport": "^
|
|
238
|
-
"@nestjs/platform-fastify": "^
|
|
239
|
-
"@nestjs/platform-socket.io": "^
|
|
240
|
-
"@nestjs/schedule": "^
|
|
241
|
-
"@nestjs/swagger": "^
|
|
231
|
+
"@nestjs/common": "^12.0.1",
|
|
232
|
+
"@nestjs/config": "^12.0.0",
|
|
233
|
+
"@nestjs/core": "^12.0.1",
|
|
234
|
+
"@nestjs/event-emitter": "^12.0.0",
|
|
235
|
+
"@nestjs/jwt": "^12.0.1",
|
|
236
|
+
"@nestjs/passport": "^12.0.0",
|
|
237
|
+
"@nestjs/platform-fastify": "^12.0.1",
|
|
238
|
+
"@nestjs/platform-socket.io": "^12.0.1",
|
|
239
|
+
"@nestjs/schedule": "^12.0.1",
|
|
240
|
+
"@nestjs/swagger": "^12.0.1",
|
|
242
241
|
"@nestjs/terminus": "^11.0.0",
|
|
243
242
|
"@nestjs/throttler": "^6.5.0",
|
|
244
|
-
"@nestjs/websockets": "^
|
|
243
|
+
"@nestjs/websockets": "^12.0.1",
|
|
245
244
|
"nestjs-cls": "^6.2.1",
|
|
246
245
|
"nestjs-i18n": "^10.8.5",
|
|
247
246
|
"zod": "^4.4.3"
|