@carlonicora/nestjs-neo4jsonapi 2.7.2 → 2.8.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 (96) hide show
  1. package/dist/config/base.config.d.ts.map +1 -1
  2. package/dist/config/base.config.js +4 -0
  3. package/dist/config/base.config.js.map +1 -1
  4. package/dist/config/interfaces/config.ai.interface.d.ts +5 -0
  5. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  6. package/dist/core/llm/index.d.ts +2 -0
  7. package/dist/core/llm/index.d.ts.map +1 -1
  8. package/dist/core/llm/index.js +2 -0
  9. package/dist/core/llm/index.js.map +1 -1
  10. package/dist/core/llm/interfaces/ai-candidate.interface.d.ts +32 -0
  11. package/dist/core/llm/interfaces/ai-candidate.interface.d.ts.map +1 -0
  12. package/dist/core/llm/interfaces/ai-candidate.interface.js +15 -0
  13. package/dist/core/llm/interfaces/ai-candidate.interface.js.map +1 -0
  14. package/dist/core/llm/llm.module.d.ts.map +1 -1
  15. package/dist/core/llm/llm.module.js +6 -1
  16. package/dist/core/llm/llm.module.js.map +1 -1
  17. package/dist/core/llm/services/ai-connection-resolver.service.d.ts +107 -0
  18. package/dist/core/llm/services/ai-connection-resolver.service.d.ts.map +1 -0
  19. package/dist/core/llm/services/ai-connection-resolver.service.js +329 -0
  20. package/dist/core/llm/services/ai-connection-resolver.service.js.map +1 -0
  21. package/dist/core/llm/services/embedder.service.d.ts +21 -0
  22. package/dist/core/llm/services/embedder.service.d.ts.map +1 -1
  23. package/dist/core/llm/services/embedder.service.js +52 -3
  24. package/dist/core/llm/services/embedder.service.js.map +1 -1
  25. package/dist/core/llm/services/llm.service.d.ts +65 -18
  26. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  27. package/dist/core/llm/services/llm.service.js +214 -70
  28. package/dist/core/llm/services/llm.service.js.map +1 -1
  29. package/dist/core/llm/services/model.service.d.ts +79 -2
  30. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  31. package/dist/core/llm/services/model.service.js +289 -31
  32. package/dist/core/llm/services/model.service.js.map +1 -1
  33. package/dist/core/llm/services/vision.llm.service.d.ts +25 -1
  34. package/dist/core/llm/services/vision.llm.service.d.ts.map +1 -1
  35. package/dist/core/llm/services/vision.llm.service.js +74 -33
  36. package/dist/core/llm/services/vision.llm.service.js.map +1 -1
  37. package/dist/foundations/ai-connection/ai-connection.module.d.ts +5 -0
  38. package/dist/foundations/ai-connection/ai-connection.module.d.ts.map +1 -0
  39. package/dist/foundations/ai-connection/ai-connection.module.js +37 -0
  40. package/dist/foundations/ai-connection/ai-connection.module.js.map +1 -0
  41. package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts +32 -0
  42. package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts.map +1 -0
  43. package/dist/foundations/ai-connection/controllers/ai-connection.controller.js +162 -0
  44. package/dist/foundations/ai-connection/controllers/ai-connection.controller.js.map +1 -0
  45. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts +41 -0
  46. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts.map +1 -0
  47. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js +189 -0
  48. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js.map +1 -0
  49. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts +42 -0
  50. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts.map +1 -0
  51. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js +179 -0
  52. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js.map +1 -0
  53. package/dist/foundations/ai-connection/dtos/ai-connection.reorder.dto.d.ts +8 -0
  54. package/dist/foundations/ai-connection/dtos/ai-connection.reorder.dto.d.ts.map +1 -0
  55. package/dist/foundations/ai-connection/dtos/ai-connection.reorder.dto.js +38 -0
  56. package/dist/foundations/ai-connection/dtos/ai-connection.reorder.dto.js.map +1 -0
  57. package/dist/foundations/ai-connection/entities/ai-connection.d.ts +57 -0
  58. package/dist/foundations/ai-connection/entities/ai-connection.d.ts.map +1 -0
  59. package/dist/foundations/ai-connection/entities/ai-connection.js +73 -0
  60. package/dist/foundations/ai-connection/entities/ai-connection.js.map +1 -0
  61. package/dist/foundations/ai-connection/entities/ai-connection.meta.d.ts +3 -0
  62. package/dist/foundations/ai-connection/entities/ai-connection.meta.d.ts.map +1 -0
  63. package/dist/foundations/ai-connection/entities/ai-connection.meta.js +10 -0
  64. package/dist/foundations/ai-connection/entities/ai-connection.meta.js.map +1 -0
  65. package/dist/foundations/ai-connection/index.d.ts +12 -0
  66. package/dist/foundations/ai-connection/index.d.ts.map +1 -0
  67. package/dist/foundations/ai-connection/index.js +35 -0
  68. package/dist/foundations/ai-connection/index.js.map +1 -0
  69. package/dist/foundations/ai-connection/registry/ai-provider.registry.d.ts +54 -0
  70. package/dist/foundations/ai-connection/registry/ai-provider.registry.d.ts.map +1 -0
  71. package/dist/foundations/ai-connection/registry/ai-provider.registry.js +255 -0
  72. package/dist/foundations/ai-connection/registry/ai-provider.registry.js.map +1 -0
  73. package/dist/foundations/ai-connection/repositories/ai-connection.repository.d.ts +52 -0
  74. package/dist/foundations/ai-connection/repositories/ai-connection.repository.d.ts.map +1 -0
  75. package/dist/foundations/ai-connection/repositories/ai-connection.repository.js +85 -0
  76. package/dist/foundations/ai-connection/repositories/ai-connection.repository.js.map +1 -0
  77. package/dist/foundations/ai-connection/services/ai-connection-encryption.service.d.ts +52 -0
  78. package/dist/foundations/ai-connection/services/ai-connection-encryption.service.d.ts.map +1 -0
  79. package/dist/foundations/ai-connection/services/ai-connection-encryption.service.js +148 -0
  80. package/dist/foundations/ai-connection/services/ai-connection-encryption.service.js.map +1 -0
  81. package/dist/foundations/ai-connection/services/ai-connection.service.d.ts +79 -0
  82. package/dist/foundations/ai-connection/services/ai-connection.service.d.ts.map +1 -0
  83. package/dist/foundations/ai-connection/services/ai-connection.service.js +184 -0
  84. package/dist/foundations/ai-connection/services/ai-connection.service.js.map +1 -0
  85. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  86. package/dist/foundations/foundations.modules.js +2 -0
  87. package/dist/foundations/foundations.modules.js.map +1 -1
  88. package/dist/foundations/index.d.ts +1 -0
  89. package/dist/foundations/index.d.ts.map +1 -1
  90. package/dist/foundations/index.js +1 -0
  91. package/dist/foundations/index.js.map +1 -1
  92. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +29 -0
  93. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
  94. package/dist/foundations/tokenusage/services/tokenusage.service.js +15 -3
  95. package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
  96. package/package.json +1 -1
@@ -64,16 +64,48 @@ let VisionLLMService = class VisionLLMService {
64
64
  ]);
65
65
  }
66
66
  /**
67
- * Execute a function with exponential backoff retry on rate limit errors
67
+ * Puts the vision candidate that just rate-limited into its cooldown window,
68
+ * so the next resolution reaches for the next link of the chain instead.
69
+ *
70
+ * Best-effort in every direction — no candidate-aware `ModelService`, an empty
71
+ * chain, or a throwing registry all leave the retry exactly as it was.
72
+ * Failover bookkeeping must never turn a retryable 429 into a hard failure.
73
+ */
74
+ markCandidateFailure(attempt) {
75
+ const resolver = this.modelService;
76
+ if (typeof resolver.getCandidatesForType !== "function" || typeof resolver.notifyCandidateFailure !== "function")
77
+ return;
78
+ try {
79
+ const candidates = resolver.getCandidatesForType("vision") ?? [];
80
+ if (candidates.length === 0)
81
+ return;
82
+ resolver.notifyCandidateFailure(candidates[Math.min(attempt, candidates.length - 1)]);
83
+ }
84
+ catch {
85
+ /* the chain is an optimisation; a failure to record health never fails the call */
86
+ }
87
+ }
88
+ /**
89
+ * Execute a function with exponential backoff retry on rate limit errors.
90
+ *
91
+ * `fn` receives the ATTEMPT INDEX so it can rebuild its model against the
92
+ * n-th connection of the vision chain — that is what makes a 429 move to a
93
+ * different provider rather than knocking on the same closed door. With no
94
+ * DB-backed connections every index resolves the same `.env` connection, i.e.
95
+ * today's behaviour.
68
96
  */
69
97
  async withRetry(fn) {
70
98
  let lastError;
71
99
  for (let attempt = 0; attempt < this.MAX_RETRIES; attempt++) {
72
100
  try {
73
- return await fn();
101
+ return await fn(attempt);
74
102
  }
75
103
  catch (error) {
76
104
  lastError = error instanceof Error ? error : new Error(String(error));
105
+ // Marked even on the final attempt: the cooldown outlives this call, so
106
+ // the caller's next job retry starts on a healthier connection.
107
+ if (this.isRateLimitError(error))
108
+ this.markCandidateFailure(attempt);
77
109
  if (!this.isRateLimitError(error) || attempt === this.MAX_RETRIES - 1) {
78
110
  throw lastError;
79
111
  }
@@ -136,11 +168,14 @@ let VisionLLMService = class VisionLLMService {
136
168
  * @param message - The HumanMessage to send
137
169
  * @returns Promise with parsed response and raw content
138
170
  */
139
- async callWithoutStructuredOutput(params, message) {
171
+ async callWithoutStructuredOutput(params, message,
172
+ /** Which link of the vision chain to build from; 0 (the default) is the first healthy one. */
173
+ candidateIndex = 0) {
140
174
  const isGPT5 = this.isGPT5VisionModel();
141
175
  const effectiveTemperature = isGPT5 ? 1 : (params.temperature ?? 0.1);
142
176
  const baseModel = this.modelService.getVisionLLM({
143
177
  temperature: effectiveTemperature,
178
+ candidateIndex,
144
179
  });
145
180
  try {
146
181
  // Call without structured output - the model will return raw text
@@ -169,6 +204,36 @@ let VisionLLMService = class VisionLLMService {
169
204
  throw error;
170
205
  }
171
206
  }
207
+ /**
208
+ * Builds the structured-output vision model for ONE attempt, from the
209
+ * `candidateIndex`-th link of the vision fallback chain.
210
+ *
211
+ * Extracted from {@link call} so each retry can rebuild against a different
212
+ * connection; the provider-shaped schema handling (Gemini sanitization,
213
+ * pre-converted JSON Schema for Azure/GPT-5, raw Zod elsewhere) is unchanged.
214
+ */
215
+ buildStructuredVisionModel(params, candidateIndex) {
216
+ const isGPT5 = this.isGPT5VisionModel();
217
+ const effectiveTemperature = isGPT5 ? 1 : (params.temperature ?? 0.1);
218
+ const baseModel = this.modelService.getVisionLLM({
219
+ temperature: effectiveTemperature,
220
+ candidateIndex,
221
+ });
222
+ // Check if provider needs schema conversion/sanitization
223
+ const needsGeminiSanitization = this.isGeminiVisionModel();
224
+ const isAzure = this.isAzureVisionModel();
225
+ if (needsGeminiSanitization) {
226
+ const jsonSchema = (0, schema_utils_1.convertZodToJsonSchema)(params.outputSchema);
227
+ const sanitizedSchema = (0, schema_utils_1.sanitizeSchemaForGemini)(jsonSchema);
228
+ return baseModel.withStructuredOutput(sanitizedSchema, { includeRaw: true });
229
+ }
230
+ if (isAzure || isGPT5) {
231
+ // Azure/GPT-5: use pre-converted JSON Schema to avoid Zod-to-OpenAI conversion issues
232
+ const jsonSchema = (0, schema_utils_1.convertZodToJsonSchema)(params.outputSchema);
233
+ return baseModel.withStructuredOutput(jsonSchema, { includeRaw: true });
234
+ }
235
+ return baseModel.withStructuredOutput(params.outputSchema, { includeRaw: true });
236
+ }
172
237
  /**
173
238
  * Calls the LLM with an image for vision analysis using structured output.
174
239
  *
@@ -207,35 +272,11 @@ let VisionLLMService = class VisionLLMService {
207
272
  ],
208
273
  });
209
274
  try {
210
- const isGPT5 = this.isGPT5VisionModel();
211
- const effectiveTemperature = isGPT5 ? 1 : (params.temperature ?? 0.1);
212
- const baseModel = this.modelService.getVisionLLM({
213
- temperature: effectiveTemperature,
214
- });
215
- // Check if provider needs schema conversion/sanitization
216
- const needsGeminiSanitization = this.isGeminiVisionModel();
217
- const isAzure = this.isAzureVisionModel();
218
- let structuredLlm;
219
- if (needsGeminiSanitization) {
220
- const jsonSchema = (0, schema_utils_1.convertZodToJsonSchema)(params.outputSchema);
221
- const sanitizedSchema = (0, schema_utils_1.sanitizeSchemaForGemini)(jsonSchema);
222
- structuredLlm = baseModel.withStructuredOutput(sanitizedSchema, {
223
- includeRaw: true,
224
- });
225
- }
226
- else if (isAzure || isGPT5) {
227
- // Azure/GPT-5: use pre-converted JSON Schema to avoid Zod-to-OpenAI conversion issues
228
- const jsonSchema = (0, schema_utils_1.convertZodToJsonSchema)(params.outputSchema);
229
- structuredLlm = baseModel.withStructuredOutput(jsonSchema, {
230
- includeRaw: true,
231
- });
232
- }
233
- else {
234
- structuredLlm = baseModel.withStructuredOutput(params.outputSchema, {
235
- includeRaw: true,
236
- });
237
- }
238
- const response = await this.withRetry(async () => {
275
+ // Built INSIDE the retry so a rate-limited attempt can be re-issued
276
+ // against the next connection in the chain: the model bakes in the
277
+ // provider, so reusing one instance would retry the same dead endpoint.
278
+ const response = await this.withRetry(async (attempt) => {
279
+ const structuredLlm = this.buildStructuredVisionModel(params, attempt);
239
280
  return (await this.withTimeout(structuredLlm.invoke([message]), this.CALL_TIMEOUT_MS, "Vision LLM call"));
240
281
  });
241
282
  // Handle null parsed response with fallback JSON parsing
@@ -276,7 +317,7 @@ let VisionLLMService = class VisionLLMService {
276
317
  const isParsingError = errorMessage.includes("Cannot read properties of undefined") || errorMessage.includes("map");
277
318
  if (isParsingError) {
278
319
  try {
279
- const { parsed } = await this.withRetry(() => this.callWithoutStructuredOutput(params, message));
320
+ const { parsed } = await this.withRetry((attempt) => this.callWithoutStructuredOutput(params, message, attempt));
280
321
  return {
281
322
  ...parsed,
282
323
  tokenUsage: { input: 0, output: 0 }, // Token usage not available in fallback
@@ -1 +1 @@
1
- {"version":3,"file":"vision.llm.service.js","sourceRoot":"","sources":["../../../../src/core/llm/services/vision.llm.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vision.llm.service.js","sourceRoot":"","sources":["../../../../src/core/llm/services/vision.llm.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ export declare class AiConnectionModule implements OnModuleInit {
3
+ onModuleInit(): void;
4
+ }
5
+ //# sourceMappingURL=ai-connection.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-connection.module.d.ts","sourceRoot":"","sources":["../../../src/foundations/ai-connection/ai-connection.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAStD,qBAWa,kBAAmB,YAAW,YAAY;IACrD,YAAY;CAGb"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AiConnectionModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const registry_1 = require("../../common/registries/registry");
12
+ const audit_module_1 = require("../audit/audit.module");
13
+ const ai_connection_controller_1 = require("./controllers/ai-connection.controller");
14
+ const ai_connection_1 = require("./entities/ai-connection");
15
+ const ai_connection_repository_1 = require("./repositories/ai-connection.repository");
16
+ const ai_connection_encryption_service_1 = require("./services/ai-connection-encryption.service");
17
+ const ai_connection_service_1 = require("./services/ai-connection.service");
18
+ let AiConnectionModule = class AiConnectionModule {
19
+ onModuleInit() {
20
+ registry_1.modelRegistry.register(ai_connection_1.AiConnectionDescriptor.model);
21
+ }
22
+ };
23
+ exports.AiConnectionModule = AiConnectionModule;
24
+ exports.AiConnectionModule = AiConnectionModule = __decorate([
25
+ (0, common_1.Module)({
26
+ controllers: [ai_connection_controller_1.AiConnectionController],
27
+ providers: [
28
+ ai_connection_1.AiConnectionDescriptor.model.serialiser,
29
+ ai_connection_repository_1.AiConnectionRepository,
30
+ ai_connection_service_1.AiConnectionService,
31
+ ai_connection_encryption_service_1.AiConnectionEncryptionService,
32
+ ],
33
+ exports: [ai_connection_repository_1.AiConnectionRepository, ai_connection_service_1.AiConnectionService, ai_connection_encryption_service_1.AiConnectionEncryptionService],
34
+ imports: [audit_module_1.AuditModule],
35
+ })
36
+ ], AiConnectionModule);
37
+ //# sourceMappingURL=ai-connection.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-connection.module.js","sourceRoot":"","sources":["../../../src/foundations/ai-connection/ai-connection.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AACtD,+DAAiE;AACjE,wDAAoD;AACpD,qFAAgF;AAChF,4DAAkE;AAClE,sFAAiF;AACjF,kGAA4F;AAC5F,4EAAuE;AAahE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAY;QACV,wBAAa,CAAC,QAAQ,CAAC,sCAAsB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AAJY,gDAAkB;6BAAlB,kBAAkB;IAX9B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE;YACT,sCAAsB,CAAC,KAAK,CAAC,UAAU;YACvC,iDAAsB;YACtB,2CAAmB;YACnB,gEAA6B;SAC9B;QACD,OAAO,EAAE,CAAC,iDAAsB,EAAE,2CAAmB,EAAE,gEAA6B,CAAC;QACrF,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,kBAAkB,CAI9B"}
@@ -0,0 +1,32 @@
1
+ import { FastifyReply } from "fastify";
2
+ import { CacheService } from "../../../core/cache/services/cache.service";
3
+ import { AuditService } from "../../audit/services/audit.service";
4
+ import { AiConnectionPostDTO } from "../dtos/ai-connection.post.dto";
5
+ import { AiConnectionPutDTO } from "../dtos/ai-connection.put.dto";
6
+ import { AiConnectionReorderDTO } from "../dtos/ai-connection.reorder.dto";
7
+ import { AiConnectionService } from "../services/ai-connection.service";
8
+ /**
9
+ * AiConnectionController
10
+ *
11
+ * Administrative REST API for the AI connection fallback chains. Mirrors the
12
+ * in-package admin-controller canonical (`stripe-product.controller.ts`):
13
+ * reads are `JwtAuthGuard` + `@Roles`, mutations are `AdminJwtAuthGuard` +
14
+ * `@Roles(RoleId.Administrator)`.
15
+ *
16
+ * Create/update deliberately call the service rather than
17
+ * `createCrudHandlers()`: both need service-level registry validation and
18
+ * secret encryption before the generic DTO path runs.
19
+ */
20
+ export declare class AiConnectionController {
21
+ private readonly aiConnectionService;
22
+ private readonly cacheService;
23
+ private readonly auditService;
24
+ constructor(aiConnectionService: AiConnectionService, cacheService: CacheService, auditService: AuditService);
25
+ findAll(reply: FastifyReply, query: any): Promise<void>;
26
+ findById(reply: FastifyReply, id: string): Promise<void>;
27
+ reorder(reply: FastifyReply, body: AiConnectionReorderDTO): Promise<void>;
28
+ create(reply: FastifyReply, body: AiConnectionPostDTO): Promise<void>;
29
+ update(reply: FastifyReply, id: string, body: AiConnectionPutDTO): Promise<void>;
30
+ delete(reply: FastifyReply, id: string): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=ai-connection.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-connection.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/controllers/ai-connection.controller.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAGpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAJZ,mBAAmB,EAAE,mBAAmB,EAGxC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAMvC,OAAO,CAAQ,KAAK,EAAE,YAAY,EAAW,KAAK,EAAE,GAAG;IASvD,QAAQ,CAAQ,KAAK,EAAE,YAAY,EAAe,EAAE,EAAE,MAAM;IAe5D,OAAO,CAAQ,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,sBAAsB;IAUxE,MAAM,CAAQ,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,mBAAmB;IASpE,MAAM,CAAQ,KAAK,EAAE,YAAY,EAAe,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,kBAAkB;IAgB5F,MAAM,CAAQ,KAAK,EAAE,YAAY,EAAe,EAAE,EAAE,MAAM;CAKjE"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AiConnectionController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const system_roles_1 = require("../../../common/constants/system.roles");
18
+ const decorators_1 = require("../../../common/decorators");
19
+ const audit_decorator_1 = require("../../../common/decorators/audit.decorator");
20
+ const cache_invalidate_decorator_1 = require("../../../common/decorators/cache-invalidate.decorator");
21
+ const guards_1 = require("../../../common/guards");
22
+ const cache_service_1 = require("../../../core/cache/services/cache.service");
23
+ const audit_service_1 = require("../../audit/services/audit.service");
24
+ const ai_connection_post_dto_1 = require("../dtos/ai-connection.post.dto");
25
+ const ai_connection_put_dto_1 = require("../dtos/ai-connection.put.dto");
26
+ const ai_connection_reorder_dto_1 = require("../dtos/ai-connection.reorder.dto");
27
+ const ai_connection_meta_1 = require("../entities/ai-connection.meta");
28
+ const ai_connection_service_1 = require("../services/ai-connection.service");
29
+ /**
30
+ * AiConnectionController
31
+ *
32
+ * Administrative REST API for the AI connection fallback chains. Mirrors the
33
+ * in-package admin-controller canonical (`stripe-product.controller.ts`):
34
+ * reads are `JwtAuthGuard` + `@Roles`, mutations are `AdminJwtAuthGuard` +
35
+ * `@Roles(RoleId.Administrator)`.
36
+ *
37
+ * Create/update deliberately call the service rather than
38
+ * `createCrudHandlers()`: both need service-level registry validation and
39
+ * secret encryption before the generic DTO path runs.
40
+ */
41
+ let AiConnectionController = class AiConnectionController {
42
+ constructor(aiConnectionService,
43
+ // Read by the @CacheInvalidate / @Audit decorators via `this` — without
44
+ // these injections both decorators silently no-op.
45
+ cacheService, auditService) {
46
+ this.aiConnectionService = aiConnectionService;
47
+ this.cacheService = cacheService;
48
+ this.auditService = auditService;
49
+ }
50
+ async findAll(reply, query) {
51
+ const response = await this.aiConnectionService.findAllWithMeta({ query });
52
+ reply.send(response);
53
+ }
54
+ async findById(reply, id) {
55
+ const response = await this.aiConnectionService.findById({ id });
56
+ reply.send(response);
57
+ }
58
+ // Type-wide @CacheInvalidate on every mutation (not the per-id form): the
59
+ // per-id variant extracts req.params from the method's arguments, and these
60
+ // signatures — (reply, id, body) — carry no object with a `params` property,
61
+ // so it would silently invalidate nothing. invalidateByType clears every
62
+ // cache key registered to any element of the type, list responses included.
63
+ async reorder(reply, body) {
64
+ await this.aiConnectionService.reorder({ ids: body.data.ids });
65
+ // @HttpCode is inert with an injected @Res — set the status explicitly.
66
+ reply.status(common_1.HttpStatus.NO_CONTENT).send();
67
+ }
68
+ async create(reply, body) {
69
+ const response = await this.aiConnectionService.create(body);
70
+ reply.status(common_1.HttpStatus.CREATED).send(response);
71
+ }
72
+ async update(reply, id, body) {
73
+ // JSONAPI validation: URL ID must match body ID
74
+ if (id !== body.data.id) {
75
+ reply.status(common_1.HttpStatus.PRECONDITION_FAILED).send({ error: "AiConnection id does not match the {json:api} id" });
76
+ return;
77
+ }
78
+ const response = await this.aiConnectionService.update(body);
79
+ reply.send(response);
80
+ }
81
+ async delete(reply, id) {
82
+ await this.aiConnectionService.deleteConnection({ id });
83
+ // @HttpCode is inert with an injected @Res — set the status explicitly.
84
+ reply.status(common_1.HttpStatus.NO_CONTENT).send();
85
+ }
86
+ };
87
+ exports.AiConnectionController = AiConnectionController;
88
+ __decorate([
89
+ (0, common_1.Get)(ai_connection_meta_1.aiConnectionMeta.endpoint),
90
+ (0, common_1.UseGuards)(guards_1.JwtAuthGuard),
91
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
92
+ __param(0, (0, common_1.Res)()),
93
+ __param(1, (0, common_1.Query)()),
94
+ __metadata("design:type", Function),
95
+ __metadata("design:paramtypes", [Object, Object]),
96
+ __metadata("design:returntype", Promise)
97
+ ], AiConnectionController.prototype, "findAll", null);
98
+ __decorate([
99
+ (0, common_1.Get)(`${ai_connection_meta_1.aiConnectionMeta.endpoint}/:id`),
100
+ (0, common_1.UseGuards)(guards_1.JwtAuthGuard),
101
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
102
+ (0, audit_decorator_1.Audit)(ai_connection_meta_1.aiConnectionMeta, "id"),
103
+ __param(0, (0, common_1.Res)()),
104
+ __param(1, (0, common_1.Param)("id")),
105
+ __metadata("design:type", Function),
106
+ __metadata("design:paramtypes", [Object, String]),
107
+ __metadata("design:returntype", Promise)
108
+ ], AiConnectionController.prototype, "findById", null);
109
+ __decorate([
110
+ (0, common_1.Post)(`${ai_connection_meta_1.aiConnectionMeta.endpoint}/reorder`),
111
+ (0, common_1.UseGuards)(guards_1.AdminJwtAuthGuard),
112
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
113
+ (0, cache_invalidate_decorator_1.CacheInvalidate)(ai_connection_meta_1.aiConnectionMeta),
114
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
115
+ __param(0, (0, common_1.Res)()),
116
+ __param(1, (0, common_1.Body)()),
117
+ __metadata("design:type", Function),
118
+ __metadata("design:paramtypes", [Object, ai_connection_reorder_dto_1.AiConnectionReorderDTO]),
119
+ __metadata("design:returntype", Promise)
120
+ ], AiConnectionController.prototype, "reorder", null);
121
+ __decorate([
122
+ (0, common_1.Post)(ai_connection_meta_1.aiConnectionMeta.endpoint),
123
+ (0, common_1.UseGuards)(guards_1.AdminJwtAuthGuard),
124
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
125
+ (0, cache_invalidate_decorator_1.CacheInvalidate)(ai_connection_meta_1.aiConnectionMeta),
126
+ __param(0, (0, common_1.Res)()),
127
+ __param(1, (0, common_1.Body)()),
128
+ __metadata("design:type", Function),
129
+ __metadata("design:paramtypes", [Object, ai_connection_post_dto_1.AiConnectionPostDTO]),
130
+ __metadata("design:returntype", Promise)
131
+ ], AiConnectionController.prototype, "create", null);
132
+ __decorate([
133
+ (0, common_1.Put)(`${ai_connection_meta_1.aiConnectionMeta.endpoint}/:id`),
134
+ (0, common_1.UseGuards)(guards_1.AdminJwtAuthGuard),
135
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
136
+ (0, cache_invalidate_decorator_1.CacheInvalidate)(ai_connection_meta_1.aiConnectionMeta),
137
+ __param(0, (0, common_1.Res)()),
138
+ __param(1, (0, common_1.Param)("id")),
139
+ __param(2, (0, common_1.Body)()),
140
+ __metadata("design:type", Function),
141
+ __metadata("design:paramtypes", [Object, String, ai_connection_put_dto_1.AiConnectionPutDTO]),
142
+ __metadata("design:returntype", Promise)
143
+ ], AiConnectionController.prototype, "update", null);
144
+ __decorate([
145
+ (0, common_1.Delete)(`${ai_connection_meta_1.aiConnectionMeta.endpoint}/:id`),
146
+ (0, common_1.UseGuards)(guards_1.AdminJwtAuthGuard),
147
+ (0, decorators_1.Roles)(system_roles_1.RoleId.Administrator),
148
+ (0, cache_invalidate_decorator_1.CacheInvalidate)(ai_connection_meta_1.aiConnectionMeta),
149
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
150
+ __param(0, (0, common_1.Res)()),
151
+ __param(1, (0, common_1.Param)("id")),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [Object, String]),
154
+ __metadata("design:returntype", Promise)
155
+ ], AiConnectionController.prototype, "delete", null);
156
+ exports.AiConnectionController = AiConnectionController = __decorate([
157
+ (0, common_1.Controller)(),
158
+ __metadata("design:paramtypes", [ai_connection_service_1.AiConnectionService,
159
+ cache_service_1.CacheService,
160
+ audit_service_1.AuditService])
161
+ ], AiConnectionController);
162
+ //# sourceMappingURL=ai-connection.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-connection.controller.js","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/controllers/ai-connection.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { CompanyDataDTO } from "../../company/dtos/company.dto";
2
+ export declare class AiConnectionPostAttributesDTO {
3
+ name: string;
4
+ connectionType: string;
5
+ provider: string;
6
+ position: number;
7
+ enabled: boolean;
8
+ model?: string;
9
+ url?: string;
10
+ apiKey?: string;
11
+ region?: string;
12
+ instance?: string;
13
+ apiVersion?: string;
14
+ googleCredentialsBase64?: string;
15
+ allowFallbacks?: boolean;
16
+ reasoningEffort?: string;
17
+ maxOutputTokens?: number;
18
+ dimensions?: number;
19
+ inputCostPer1MTokens?: number;
20
+ outputCostPer1MTokens?: number;
21
+ cachedInputCostPer1MTokens?: number;
22
+ costPerMinute?: number;
23
+ costPerPage?: number;
24
+ directUrl?: string;
25
+ language?: string;
26
+ directFormat?: string;
27
+ directProvider?: string;
28
+ }
29
+ export declare class AiConnectionPostRelationshipsDTO {
30
+ company?: CompanyDataDTO;
31
+ }
32
+ export declare class AiConnectionPostDataDTO {
33
+ type: string;
34
+ id: string;
35
+ attributes: AiConnectionPostAttributesDTO;
36
+ relationships?: AiConnectionPostRelationshipsDTO;
37
+ }
38
+ export declare class AiConnectionPostDTO {
39
+ data: AiConnectionPostDataDTO;
40
+ }
41
+ //# sourceMappingURL=ai-connection.post.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-connection.post.dto.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/dtos/ai-connection.post.dto.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,qBAAa,6BAA6B;IAIxC,IAAI,EAAE,MAAM,CAAC;IAIb,cAAc,EAAE,MAAM,CAAC;IAKvB,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,OAAO,EAAE,OAAO,CAAC;IAES,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACnD;AAED,qBAAa,gCAAgC;IAI3C,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,qBAAa,uBAAuB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,EAAE,EAAE,MAAM,CAAC;IAKX,UAAU,EAAE,6BAA6B,CAAC;IAK1C,aAAa,CAAC,EAAE,gCAAgC,CAAC;CAClD;AAED,qBAAa,mBAAmB;IAI9B,IAAI,EAAE,uBAAuB,CAAC;CAC/B"}