@carlonicora/nestjs-neo4jsonapi 1.112.2 → 1.113.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.
Files changed (42) hide show
  1. package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
  2. package/dist/agents/operator/services/operator.service.js.map +1 -1
  3. package/dist/config/base.config.d.ts.map +1 -1
  4. package/dist/config/base.config.js +1 -0
  5. package/dist/config/base.config.js.map +1 -1
  6. package/dist/config/interfaces/config.ai.interface.d.ts +6 -0
  7. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  8. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.d.ts.map +1 -1
  9. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js +6 -0
  10. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js.map +1 -1
  11. package/dist/core/llm/common/llm-raw-response.d.ts +4 -0
  12. package/dist/core/llm/common/llm-raw-response.d.ts.map +1 -1
  13. package/dist/core/llm/common/llm-raw-response.js.map +1 -1
  14. package/dist/core/llm/enums/reasoning.effort.d.ts +14 -0
  15. package/dist/core/llm/enums/reasoning.effort.d.ts.map +1 -0
  16. package/dist/core/llm/enums/reasoning.effort.js +3 -0
  17. package/dist/core/llm/enums/reasoning.effort.js.map +1 -0
  18. package/dist/core/llm/index.d.ts +1 -0
  19. package/dist/core/llm/index.d.ts.map +1 -1
  20. package/dist/core/llm/index.js +1 -0
  21. package/dist/core/llm/index.js.map +1 -1
  22. package/dist/core/llm/services/llm.service.d.ts +13 -0
  23. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  24. package/dist/core/llm/services/llm.service.js +192 -21
  25. package/dist/core/llm/services/llm.service.js.map +1 -1
  26. package/dist/core/llm/services/model.service.d.ts +37 -0
  27. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  28. package/dist/core/llm/services/model.service.js +94 -5
  29. package/dist/core/llm/services/model.service.js.map +1 -1
  30. package/dist/core/llm/services/unsupported-param-fetch.d.ts +47 -0
  31. package/dist/core/llm/services/unsupported-param-fetch.d.ts.map +1 -0
  32. package/dist/core/llm/services/unsupported-param-fetch.js +195 -0
  33. package/dist/core/llm/services/unsupported-param-fetch.js.map +1 -0
  34. package/dist/core/llm/utils/schema.utils.d.ts +89 -0
  35. package/dist/core/llm/utils/schema.utils.d.ts.map +1 -1
  36. package/dist/core/llm/utils/schema.utils.js +210 -3
  37. package/dist/core/llm/utils/schema.utils.js.map +1 -1
  38. package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.d.ts.map +1 -1
  39. package/dist/foundations/rbac/dsl/types.d.ts.map +1 -1
  40. package/dist/foundations/rbac/dsl/types.js.map +1 -1
  41. package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts.map +1 -1
  42. package/package.json +67 -67
@@ -24,6 +24,20 @@ export interface SchemaMetadata {
24
24
  * @returns JSON Schema object
25
25
  */
26
26
  export declare function convertZodToJsonSchema(zodSchema: any): any;
27
+ /**
28
+ * Converts a Zod schema to a draft 2020-12 JSON Schema — the dialect OpenAI's
29
+ * structured outputs expect.
30
+ *
31
+ * Distinct from {@link convertZodToJsonSchema}, which targets OpenAPI 3.0 for
32
+ * Gemini. The difference matters for strict mode: OpenAPI 3.0 expresses "may be
33
+ * null" as `nullable: true`, which OpenAI ignores, whereas draft 2020-12 uses a
34
+ * real `{ type: "null" }` branch — the form {@link makeSchemaStrictCompatible}
35
+ * produces.
36
+ *
37
+ * @param zodSchema - The Zod schema to convert
38
+ * @returns JSON Schema in draft 2020-12
39
+ */
40
+ export declare function convertZodToDraftJsonSchema(zodSchema: any): any;
27
41
  /**
28
42
  * Extracts structured metadata from a Zod schema
29
43
  *
@@ -107,5 +121,80 @@ export declare function formatFieldWithDescription(fieldName: string, fieldValue
107
121
  * ```
108
122
  */
109
123
  export declare function sanitizeSchemaForGemini(schema: any): any;
124
+ /**
125
+ * Reports whether a schema can be sent through OpenAI's STRICT structured-output
126
+ * mode (`response_format: { type: "json_schema", strict: true }`).
127
+ *
128
+ * Strict mode has two rules that ordinary Zod schemas routinely break:
129
+ * 1. every key in `properties` must also appear in `required` — strict mode
130
+ * cannot express an absent field, only a null one, so `.optional()` and
131
+ * `.default()` both violate it;
132
+ * 2. `additionalProperties` must be `false` — so open records cannot qualify.
133
+ *
134
+ * This matters because LangChain hands any Zod schema to `interopZodResponseFormat`,
135
+ * which hardcodes `strict: true`; passing `strict: false` does nothing. A schema
136
+ * that fails these rules must therefore go through tool/function calling instead,
137
+ * which imposes neither rule AND keeps LangChain's Zod validation of the result.
138
+ *
139
+ * Deciding from the schema — rather than from a model or provider name — means no
140
+ * model taxonomy lives in this codebase, and any schema authored strict-clean later
141
+ * automatically earns the stronger guaranteed-conformance path.
142
+ *
143
+ * @param schema - JSON Schema object (typically from {@link convertZodToJsonSchema})
144
+ * @returns true when strict mode would accept the schema
145
+ */
146
+ export declare function isStrictStructuredOutputCompatible(schema: any): boolean;
147
+ /**
148
+ * Rewrites a JSON Schema so OpenAI's STRICT structured-output mode accepts it.
149
+ *
150
+ * Strict mode cannot express "this key may be absent" — only "this key may be
151
+ * null". So every property becomes required, and any property that was NOT
152
+ * originally required is widened to `anyOf: [<original>, { type: "null" }]`.
153
+ * `additionalProperties` is closed on every object.
154
+ *
155
+ * This is the request half of a pair: {@link stripSyntheticNulls} undoes it on the
156
+ * response, so the caller's original Zod schema still validates the result.
157
+ *
158
+ * Why bother, rather than routing non-strict schemas to tool calling: strict mode
159
+ * is the only path that GUARANTEES the payload matches the schema. Measured against
160
+ * a live gpt-5-nano deployment, tool calling returned a string where the schema
161
+ * declared `assumptions: string[]` in roughly half of all runs; strict mode cannot
162
+ * do that by construction.
163
+ *
164
+ * @param schema - JSON Schema object (draft 2020-12 shape)
165
+ * @returns A structurally equivalent schema that satisfies strict mode
166
+ */
167
+ export declare function makeSchemaStrictCompatible(schema: any): any;
168
+ /**
169
+ * Removes the nulls that {@link makeSchemaStrictCompatible} forced the model to emit,
170
+ * so a value produced under strict mode validates against the ORIGINAL schema again.
171
+ *
172
+ * Only keys the transform actually widened are stripped: a key the author declared
173
+ * `.nullable()` was already required, so its null is meaningful and is preserved.
174
+ * Stripping restores absence, which is what `.optional()` expects and what `.default()`
175
+ * needs in order to apply its default.
176
+ *
177
+ * NOT HANDLED — four node kinds this walk never reaches, where an author-intended
178
+ * null could be dropped (or a synthetic one kept). None occur in this repo today, and
179
+ * each would need BOTH this function and {@link isStrictStructuredOutputCompatible}'s
180
+ * traversal extended before it could be trusted:
181
+ *
182
+ * 1. `.nullable().optional()` — the key is absent from `required`, so its null is
183
+ * read as synthetic and stripped, even though the author declared null to be a
184
+ * legitimate value. (`.nullable()` alone is safe: it stays required.)
185
+ * 2. Nulls inside `anyOf` / `oneOf` branches — the walk descends only through
186
+ * `properties` and `items`, so a null-bearing union branch is never visited and
187
+ * its object properties are compared against no schema at all.
188
+ * 3. Nulls behind `$ref` / `$defs` — there is no ref resolution here, so a
189
+ * referenced subschema contributes no `required` set and every null under it
190
+ * survives, synthetic or not.
191
+ * 4. Tuples / `prefixItems` — only the single `items` schema is followed, so a
192
+ * positional tuple's element schemas are never applied.
193
+ *
194
+ * @param value - The parsed model output
195
+ * @param originalSchema - The schema BEFORE strictification (the source of truth for
196
+ * which keys were genuinely required)
197
+ */
198
+ export declare function stripSyntheticNulls(value: any, originalSchema: any): any;
110
199
  export {};
111
200
  //# sourceMappingURL=schema.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAO1D;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,cAAc,CAOpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB3G;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CA0ExD"}
1
+ {"version":3,"file":"schema.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAa1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAoB/D;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,cAAc,CAOpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB3G;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CA0ExD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CA8CvE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAmC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,GAAG,CAqBxE"}
@@ -34,9 +34,13 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.convertZodToJsonSchema = convertZodToJsonSchema;
37
+ exports.convertZodToDraftJsonSchema = convertZodToDraftJsonSchema;
37
38
  exports.extractSchemaMetadata = extractSchemaMetadata;
38
39
  exports.formatFieldWithDescription = formatFieldWithDescription;
39
40
  exports.sanitizeSchemaForGemini = sanitizeSchemaForGemini;
41
+ exports.isStrictStructuredOutputCompatible = isStrictStructuredOutputCompatible;
42
+ exports.makeSchemaStrictCompatible = makeSchemaStrictCompatible;
43
+ exports.stripSyntheticNulls = stripSyntheticNulls;
40
44
  const z = __importStar(require("zod"));
41
45
  /**
42
46
  * Converts a Zod schema to JSON Schema format
@@ -47,12 +51,44 @@ const z = __importStar(require("zod"));
47
51
  * @returns JSON Schema object
48
52
  */
49
53
  function convertZodToJsonSchema(zodSchema) {
50
- // Use Zod 4's native JSON Schema conversion
51
- return z.toJSONSchema(zodSchema, {
54
+ // JSON round-trip: strips the hidden `~standard` property Zod attaches to its
55
+ // output, which otherwise makes LangChain re-derive the schema instead of
56
+ // forwarding it — see convertZodToDraftJsonSchema below for the full account.
57
+ return JSON.parse(JSON.stringify(z.toJSONSchema(zodSchema, {
52
58
  target: "openapi-3.0", // Use OpenAPI 3.0 format (compatible with OpenAI/Gemini)
53
59
  cycles: "ref", // Handle cycles with $defs
54
60
  unrepresentable: "any", // Unrepresentable types become {} instead of throwing
55
- });
61
+ })));
62
+ }
63
+ /**
64
+ * Converts a Zod schema to a draft 2020-12 JSON Schema — the dialect OpenAI's
65
+ * structured outputs expect.
66
+ *
67
+ * Distinct from {@link convertZodToJsonSchema}, which targets OpenAPI 3.0 for
68
+ * Gemini. The difference matters for strict mode: OpenAPI 3.0 expresses "may be
69
+ * null" as `nullable: true`, which OpenAI ignores, whereas draft 2020-12 uses a
70
+ * real `{ type: "null" }` branch — the form {@link makeSchemaStrictCompatible}
71
+ * produces.
72
+ *
73
+ * @param zodSchema - The Zod schema to convert
74
+ * @returns JSON Schema in draft 2020-12
75
+ */
76
+ function convertZodToDraftJsonSchema(zodSchema) {
77
+ // The JSON round-trip is NOT cosmetic. Zod's `toJSONSchema` output carries a hidden
78
+ // non-enumerable `~standard` property (the Standard Schema V1 interface). When such
79
+ // an object reaches LangChain's `withStructuredOutput`, its `toJsonSchema` helper
80
+ // detects `~standard` and RE-DERIVES the schema via
81
+ // `schema["~standard"].jsonSchema.input({ target: "draft-07" })` — which demotes
82
+ // defaulted fields out of `required` and drops `additionalProperties: false`, so
83
+ // OpenAI strict mode rejects the request ("'additionalProperties' is required to be
84
+ // supplied and to be false", observed live against Azure gpt-5-nano). Serialising
85
+ // strips every non-JSON property, guaranteeing the schema LangChain forwards is
86
+ // byte-for-byte the schema this function returns.
87
+ return JSON.parse(JSON.stringify(z.toJSONSchema(zodSchema, {
88
+ target: "draft-2020-12",
89
+ cycles: "ref",
90
+ unrepresentable: "any",
91
+ })));
56
92
  }
57
93
  /**
58
94
  * Extracts field metadata from JSON Schema
@@ -274,4 +310,175 @@ function sanitizeSchemaForGemini(schema) {
274
310
  }
275
311
  return sanitized;
276
312
  }
313
+ /**
314
+ * Reports whether a schema can be sent through OpenAI's STRICT structured-output
315
+ * mode (`response_format: { type: "json_schema", strict: true }`).
316
+ *
317
+ * Strict mode has two rules that ordinary Zod schemas routinely break:
318
+ * 1. every key in `properties` must also appear in `required` — strict mode
319
+ * cannot express an absent field, only a null one, so `.optional()` and
320
+ * `.default()` both violate it;
321
+ * 2. `additionalProperties` must be `false` — so open records cannot qualify.
322
+ *
323
+ * This matters because LangChain hands any Zod schema to `interopZodResponseFormat`,
324
+ * which hardcodes `strict: true`; passing `strict: false` does nothing. A schema
325
+ * that fails these rules must therefore go through tool/function calling instead,
326
+ * which imposes neither rule AND keeps LangChain's Zod validation of the result.
327
+ *
328
+ * Deciding from the schema — rather than from a model or provider name — means no
329
+ * model taxonomy lives in this codebase, and any schema authored strict-clean later
330
+ * automatically earns the stronger guaranteed-conformance path.
331
+ *
332
+ * @param schema - JSON Schema object (typically from {@link convertZodToJsonSchema})
333
+ * @returns true when strict mode would accept the schema
334
+ */
335
+ function isStrictStructuredOutputCompatible(schema) {
336
+ if (!schema || typeof schema !== "object")
337
+ return true;
338
+ if (Array.isArray(schema))
339
+ return schema.every((entry) => isStrictStructuredOutputCompatible(entry));
340
+ // A `$ref` cannot be verified from here (nothing in this walk resolves it), and the
341
+ // rewrite in {@link makeSchemaStrictCompatible} does not follow refs either — so a
342
+ // ref-bearing schema must take the tool-calling path, not strict mode. This also
343
+ // matters because OpenAI strict mode rejects a `$ref` carrying ANY sibling keyword
344
+ // ("$ref cannot have keywords {...}", observed live against Azure gpt-5-nano), the
345
+ // exact shape `convertZodToDraftJsonSchema` emits for recursive schemas
346
+ // (`cycles: "ref"`).
347
+ if (typeof schema.$ref === "string")
348
+ return false;
349
+ if (schema.type === "object") {
350
+ // Checked before `properties`, because an open record (`z.record`) produces an
351
+ // object node with NO `properties` at all — only `additionalProperties` — and
352
+ // strict mode still rejects it.
353
+ if (schema.additionalProperties !== false)
354
+ return false;
355
+ const required = new Set(Array.isArray(schema.required) ? schema.required : []);
356
+ for (const key of Object.keys(schema.properties ?? {})) {
357
+ if (!required.has(key))
358
+ return false;
359
+ }
360
+ }
361
+ for (const key of ["properties", "$defs", "definitions"]) {
362
+ const node = schema[key];
363
+ if (node && typeof node === "object") {
364
+ if (!Object.values(node).every((value) => isStrictStructuredOutputCompatible(value)))
365
+ return false;
366
+ }
367
+ }
368
+ for (const key of ["items", "additionalProperties", "not"]) {
369
+ if (schema[key] && typeof schema[key] === "object") {
370
+ if (!isStrictStructuredOutputCompatible(schema[key]))
371
+ return false;
372
+ }
373
+ }
374
+ for (const key of ["anyOf", "oneOf", "allOf"]) {
375
+ if (Array.isArray(schema[key])) {
376
+ if (!schema[key].every((entry) => isStrictStructuredOutputCompatible(entry)))
377
+ return false;
378
+ }
379
+ }
380
+ return true;
381
+ }
382
+ /**
383
+ * Rewrites a JSON Schema so OpenAI's STRICT structured-output mode accepts it.
384
+ *
385
+ * Strict mode cannot express "this key may be absent" — only "this key may be
386
+ * null". So every property becomes required, and any property that was NOT
387
+ * originally required is widened to `anyOf: [<original>, { type: "null" }]`.
388
+ * `additionalProperties` is closed on every object.
389
+ *
390
+ * This is the request half of a pair: {@link stripSyntheticNulls} undoes it on the
391
+ * response, so the caller's original Zod schema still validates the result.
392
+ *
393
+ * Why bother, rather than routing non-strict schemas to tool calling: strict mode
394
+ * is the only path that GUARANTEES the payload matches the schema. Measured against
395
+ * a live gpt-5-nano deployment, tool calling returned a string where the schema
396
+ * declared `assumptions: string[]` in roughly half of all runs; strict mode cannot
397
+ * do that by construction.
398
+ *
399
+ * @param schema - JSON Schema object (draft 2020-12 shape)
400
+ * @returns A structurally equivalent schema that satisfies strict mode
401
+ */
402
+ function makeSchemaStrictCompatible(schema) {
403
+ if (!schema || typeof schema !== "object")
404
+ return schema;
405
+ if (Array.isArray(schema))
406
+ return schema.map((entry) => makeSchemaStrictCompatible(entry));
407
+ const strict = { ...schema };
408
+ for (const key of ["$defs", "definitions"]) {
409
+ if (strict[key] && typeof strict[key] === "object") {
410
+ strict[key] = Object.fromEntries(Object.entries(strict[key]).map(([name, value]) => [name, makeSchemaStrictCompatible(value)]));
411
+ }
412
+ }
413
+ if (strict.items && typeof strict.items === "object")
414
+ strict.items = makeSchemaStrictCompatible(strict.items);
415
+ for (const key of ["anyOf", "oneOf", "allOf"]) {
416
+ if (Array.isArray(strict[key]))
417
+ strict[key] = strict[key].map((entry) => makeSchemaStrictCompatible(entry));
418
+ }
419
+ if (strict.properties && typeof strict.properties === "object") {
420
+ const wasRequired = new Set(Array.isArray(strict.required) ? strict.required : []);
421
+ strict.properties = Object.fromEntries(Object.entries(strict.properties).map(([name, value]) => {
422
+ const child = makeSchemaStrictCompatible(value);
423
+ // Only widen what was optional — a field the author already declared
424
+ // nullable keeps its own shape.
425
+ return [name, wasRequired.has(name) ? child : { anyOf: [child, { type: "null" }] }];
426
+ }));
427
+ strict.required = Object.keys(strict.properties);
428
+ strict.additionalProperties = false;
429
+ }
430
+ return strict;
431
+ }
432
+ /**
433
+ * Removes the nulls that {@link makeSchemaStrictCompatible} forced the model to emit,
434
+ * so a value produced under strict mode validates against the ORIGINAL schema again.
435
+ *
436
+ * Only keys the transform actually widened are stripped: a key the author declared
437
+ * `.nullable()` was already required, so its null is meaningful and is preserved.
438
+ * Stripping restores absence, which is what `.optional()` expects and what `.default()`
439
+ * needs in order to apply its default.
440
+ *
441
+ * NOT HANDLED — four node kinds this walk never reaches, where an author-intended
442
+ * null could be dropped (or a synthetic one kept). None occur in this repo today, and
443
+ * each would need BOTH this function and {@link isStrictStructuredOutputCompatible}'s
444
+ * traversal extended before it could be trusted:
445
+ *
446
+ * 1. `.nullable().optional()` — the key is absent from `required`, so its null is
447
+ * read as synthetic and stripped, even though the author declared null to be a
448
+ * legitimate value. (`.nullable()` alone is safe: it stays required.)
449
+ * 2. Nulls inside `anyOf` / `oneOf` branches — the walk descends only through
450
+ * `properties` and `items`, so a null-bearing union branch is never visited and
451
+ * its object properties are compared against no schema at all.
452
+ * 3. Nulls behind `$ref` / `$defs` — there is no ref resolution here, so a
453
+ * referenced subschema contributes no `required` set and every null under it
454
+ * survives, synthetic or not.
455
+ * 4. Tuples / `prefixItems` — only the single `items` schema is followed, so a
456
+ * positional tuple's element schemas are never applied.
457
+ *
458
+ * @param value - The parsed model output
459
+ * @param originalSchema - The schema BEFORE strictification (the source of truth for
460
+ * which keys were genuinely required)
461
+ */
462
+ function stripSyntheticNulls(value, originalSchema) {
463
+ if (!originalSchema || typeof originalSchema !== "object" || value === null || value === undefined)
464
+ return value;
465
+ if (Array.isArray(value)) {
466
+ const items = originalSchema.items;
467
+ return items ? value.map((entry) => stripSyntheticNulls(entry, items)) : value;
468
+ }
469
+ if (typeof value !== "object")
470
+ return value;
471
+ const properties = originalSchema.properties;
472
+ if (!properties || typeof properties !== "object")
473
+ return value;
474
+ const wasRequired = new Set(Array.isArray(originalSchema.required) ? originalSchema.required : []);
475
+ const cleaned = {};
476
+ for (const [key, entry] of Object.entries(value)) {
477
+ // Synthetically nullable AND null → the model is saying "absent".
478
+ if (entry === null && !wasRequired.has(key) && key in properties)
479
+ continue;
480
+ cleaned[key] = key in properties ? stripSyntheticNulls(entry, properties[key]) : entry;
481
+ }
482
+ return cleaned;
483
+ }
277
484
  //# sourceMappingURL=schema.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-element.interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3D,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,GAAG,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"pdf-element.interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/dsl/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IACjD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAC/B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI;IACzD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CAAC,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,IAClH;KACG,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;CACnD,CAAC;AAEJ;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAoD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/dsl/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI;IACzD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CAAC,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,IAClH;KACG,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;CACnD,CAAC;AAEJ;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAoD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/dsl/types.ts"],"names":[],"mappings":";AAAA,gEAAgE;;;AAyDnD,QAAA,YAAY,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/dsl/types.ts"],"names":[],"mappings":";AAAA,gEAAgE;;;AAwDnD,QAAA,YAAY,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAChC,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"stripe-subscription.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAClC,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9G,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "1.112.2",
3
+ "version": "1.113.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",
@@ -67,128 +67,128 @@
67
67
  "prepublishOnly": "pnpm build"
68
68
  },
69
69
  "dependencies": {
70
- "@ai-sdk/openai-compatible": "^2.0.0",
71
- "@aws-sdk/client-s3": "^3.1053.0",
72
- "@aws-sdk/lib-storage": "^3.1075.0",
73
- "@aws-sdk/s3-request-presigner": "^3.1053.0",
74
- "@azure/storage-blob": "^12.31.0",
75
- "@getbrevo/brevo": "^5.0.4",
70
+ "@ai-sdk/openai-compatible": "^3.0.18",
71
+ "@aws-sdk/client-s3": "^3.1100.0",
72
+ "@aws-sdk/lib-storage": "^3.1100.0",
73
+ "@aws-sdk/s3-request-presigner": "^3.1100.0",
74
+ "@azure/storage-blob": "^12.33.0",
75
+ "@getbrevo/brevo": "^6.0.2",
76
76
  "@kenjiuno/msgreader": "^1.28.0",
77
- "@langchain/community": "^1.1.28",
78
- "@langchain/core": "^1.1.48",
79
- "@langchain/google-vertexai": "^2.1.31",
80
- "@langchain/langgraph": "^1.3.2",
81
- "@langchain/langgraph-checkpoint-redis": "^1.0.7",
82
- "@langchain/openai": "^1.4.7",
77
+ "@langchain/community": "^1.1.29",
78
+ "@langchain/core": "^1.2.4",
79
+ "@langchain/google-vertexai": "^2.2.0",
80
+ "@langchain/langgraph": "^1.4.8",
81
+ "@langchain/langgraph-checkpoint-redis": "^1.0.10",
82
+ "@langchain/openai": "^1.5.5",
83
83
  "@langchain/textsplitters": "^1.0.1",
84
- "@modelcontextprotocol/sdk": "^1.29.0",
84
+ "@modelcontextprotocol/sdk": "^1.30.0",
85
85
  "@opentelemetry/api": "^1.9.1",
86
- "@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
87
- "@opentelemetry/instrumentation-http": "^0.218.0",
88
- "@opentelemetry/instrumentation-nestjs-core": "^0.64.0",
89
- "@opentelemetry/resources": "^2.7.1",
90
- "@opentelemetry/sdk-node": "^0.218.0",
91
- "@opentelemetry/semantic-conventions": "^1.41.1",
86
+ "@opentelemetry/exporter-trace-otlp-http": "^0.221.0",
87
+ "@opentelemetry/instrumentation-http": "^0.221.0",
88
+ "@opentelemetry/instrumentation-nestjs-core": "^0.67.0",
89
+ "@opentelemetry/resources": "^2.10.0",
90
+ "@opentelemetry/sdk-node": "^0.221.0",
91
+ "@opentelemetry/semantic-conventions": "^1.43.0",
92
92
  "@sendgrid/mail": "^8.1.6",
93
- "@simplewebauthn/server": "^13.3.0",
94
- "adm-zip": "^0.5.17",
95
- "ai": "^6.0.5",
96
- "axios": "^1.16.1",
93
+ "@simplewebauthn/server": "^13.3.2",
94
+ "adm-zip": "^0.6.0",
95
+ "ai": "^7.0.44",
96
+ "axios": "^1.19.0",
97
97
  "bcrypt": "^6.0.0",
98
98
  "bcryptjs": "^3.0.3",
99
- "bullmq": "^5.77.0",
99
+ "bullmq": "6.0.2",
100
100
  "class-transformer": "^0.5.1",
101
- "class-validator": "^0.14.3",
102
- "discord.js": "^14.26.4",
103
- "docx": "9.6.1",
101
+ "class-validator": "^0.15.1",
102
+ "discord.js": "^14.27.0",
103
+ "docx": "9.7.1",
104
104
  "docx-templates": "^4.15.0",
105
- "fast-xml-parser": "^5.8.0",
106
- "fastify": "^5.8.5",
105
+ "fast-xml-parser": "^5.10.1",
106
+ "fastify": "^5.11.0",
107
107
  "gray-matter": "^4.0.3",
108
108
  "handlebars": "^4.7.9",
109
- "ioredis": "^5.10.1",
110
- "js-yaml": "^4.1.1",
109
+ "ioredis": "^5.11.1",
110
+ "js-yaml": "^5.2.2",
111
111
  "jszip": "^3.10.1",
112
- "langsmith": "^0.7.5",
113
- "libreoffice-convert": "^1.8.1",
112
+ "langsmith": "^0.8.8",
113
+ "libreoffice-convert": "^1.8.2",
114
114
  "lodash": "^4.18.1",
115
- "mailparser": "^3.9.11",
116
- "marked": "^18.0.4",
115
+ "mailparser": "^3.9.14",
116
+ "marked": "^18.0.7",
117
117
  "mathjs": "^15.2.0",
118
118
  "mdast-util-mdx": "^3.0.0",
119
119
  "mdast-util-to-markdown": "^2.1.2",
120
120
  "natural": "^8.1.1",
121
121
  "necord": "^6.14.0",
122
- "neo4j-driver": "^6.0.1",
122
+ "neo4j-driver": "^6.2.0",
123
123
  "nestjs-pino": "^4.6.1",
124
124
  "nestjs-redoc": "^2.2.2",
125
125
  "node-tesseract-ocr": "^2.2.1",
126
- "nodemailer": "^8.0.7",
127
- "officeparser": "^7.0.3",
128
- "openai": "^6.39.0",
126
+ "nodemailer": "^9.0.3",
127
+ "officeparser": "^7.5.1",
128
+ "openai": "^6.49.0",
129
129
  "otpauth": "^9.5.1",
130
130
  "passport": "^0.7.0",
131
131
  "passport-jwt": "^4.0.1",
132
132
  "pdf-parse": "^2.4.5",
133
133
  "pdf2pic": "^3.2.0",
134
- "pdfjs-dist": "^5.7.284",
134
+ "pdfjs-dist": "^6.2.108",
135
135
  "pino": "^10.3.1",
136
136
  "pino-pretty": "^13.1.3",
137
137
  "qrcode": "^1.5.4",
138
- "qs": "^6.15.2",
138
+ "qs": "^6.15.3",
139
139
  "reflect-metadata": "^0.2.2",
140
140
  "remark-mdx": "^3.1.1",
141
141
  "remark-parse": "^11.0.0",
142
142
  "rxjs": "^7.8.2",
143
- "sharp": "^0.34.5",
143
+ "sharp": "^0.35.3",
144
144
  "socket.io": "^4.8.3",
145
- "stripe": "^20.3.1",
145
+ "stripe": "^20.4.1",
146
146
  "tslib": "^2.8.1",
147
147
  "turndown": "^7.2.4",
148
148
  "unified": "^11.0.5",
149
- "uuid": "^14.0.0",
149
+ "uuid": "^14.0.1",
150
150
  "web-push": "^3.6.7",
151
151
  "xlsx-republish": "^0.20.3",
152
152
  "zod": "^4.4.3"
153
153
  },
154
154
  "devDependencies": {
155
- "@eslint/eslintrc": "^3.3.5",
156
- "@eslint/js": "^9.39.2",
155
+ "@eslint/eslintrc": "^3.3.6",
156
+ "@eslint/js": "^9.39.5",
157
157
  "@nestjs/bullmq": "^11.0.4",
158
- "@nestjs/swagger": "^11.4.4",
159
- "@nestjs/testing": "^11.1.23",
160
- "@semantic-release/changelog": "^6.0.3",
161
- "@semantic-release/git": "^10.0.1",
162
- "@swc/core": "^1.15.33",
158
+ "@nestjs/swagger": "^11.4.6",
159
+ "@nestjs/testing": "^11.1.28",
160
+ "@semantic-release/changelog": "^7.0.0",
161
+ "@semantic-release/git": "^11.0.1",
162
+ "@swc/core": "^1.15.47",
163
163
  "@types/bcrypt": "^6.0.0",
164
164
  "@types/bcryptjs": "^3.0.0",
165
165
  "@types/js-yaml": "^4.0.9",
166
166
  "@types/mailparser": "^3.4.6",
167
167
  "@types/mdast": "^4.0.4",
168
- "@types/node": "^25.9.1",
169
- "@types/nodemailer": "^8.0.0",
168
+ "@types/node": "^26.1.2",
169
+ "@types/nodemailer": "^8.0.1",
170
170
  "@types/passport-jwt": "^4.0.1",
171
171
  "@types/qrcode": "^1.5.6",
172
172
  "@types/qs": "^6.15.1",
173
173
  "@types/turndown": "^5.0.6",
174
- "@types/uuid": "^10.0.0",
175
- "@typescript-eslint/eslint-plugin": "^8.59.4",
176
- "@typescript-eslint/parser": "^8.59.4",
177
- "@vitest/coverage-v8": "^4.1.7",
178
- "commander": "^14.0.3",
179
- "conventional-changelog-conventionalcommits": "^9.3.1",
180
- "eslint": "^9.39.2",
174
+ "@types/uuid": "^11.0.0",
175
+ "@typescript-eslint/eslint-plugin": "^8.65.0",
176
+ "@typescript-eslint/parser": "^8.65.0",
177
+ "@vitest/coverage-v8": "^4.1.10",
178
+ "commander": "^15.0.0",
179
+ "conventional-changelog-conventionalcommits": "^10.2.1",
180
+ "eslint": "^9.39.5",
181
181
  "eslint-config-prettier": "^10.1.8",
182
- "eslint-plugin-prettier": "^5.5.5",
182
+ "eslint-plugin-prettier": "^5.5.6",
183
183
  "glob": "^13.0.6",
184
- "globals": "^17.6.0",
185
- "prettier": "^3.8.3",
186
- "semantic-release": "^25.0.3",
184
+ "globals": "^17.8.0",
185
+ "prettier": "^3.9.6",
186
+ "semantic-release": "^25.0.8",
187
187
  "ts-node": "^10.9.2",
188
188
  "tsup": "^8.5.1",
189
189
  "typescript": "^5.9.3",
190
190
  "unplugin-swc": "^1.5.9",
191
- "vitest": "^4.1.7"
191
+ "vitest": "^4.1.10"
192
192
  },
193
193
  "files": [
194
194
  "dist",
@@ -233,6 +233,6 @@
233
233
  }
234
234
  },
235
235
  "optionalDependencies": {
236
- "onnxruntime-node": "1.26.0"
236
+ "onnxruntime-node": "1.27.0"
237
237
  }
238
238
  }