@carlonicora/nestjs-neo4jsonapi 1.104.0 → 1.106.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 (128) hide show
  1. package/dist/agents/graph.creator/services/graph.creator.service.d.ts +1 -1
  2. package/dist/agents/graph.creator/services/graph.creator.service.d.ts.map +1 -1
  3. package/dist/agents/graph.creator/services/graph.creator.service.js +14 -0
  4. package/dist/agents/graph.creator/services/graph.creator.service.js.map +1 -1
  5. package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
  6. package/dist/bootstrap/app.module.factory.js +1 -0
  7. package/dist/bootstrap/app.module.factory.js.map +1 -1
  8. package/dist/bootstrap/bootstrap.options.d.ts +3 -0
  9. package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
  10. package/dist/common/interfaces/agents/graph.creator.interface.d.ts +4 -0
  11. package/dist/common/interfaces/agents/graph.creator.interface.d.ts.map +1 -1
  12. package/dist/common/repositories/ai-source-query.provider.d.ts +19 -0
  13. package/dist/common/repositories/ai-source-query.provider.d.ts.map +1 -0
  14. package/dist/common/repositories/ai-source-query.provider.js +5 -0
  15. package/dist/common/repositories/ai-source-query.provider.js.map +1 -0
  16. package/dist/common/repositories/default.ai-source-query.provider.d.ts +19 -0
  17. package/dist/common/repositories/default.ai-source-query.provider.d.ts.map +1 -0
  18. package/dist/common/repositories/default.ai-source-query.provider.js +36 -0
  19. package/dist/common/repositories/default.ai-source-query.provider.js.map +1 -0
  20. package/dist/common/repositories/index.d.ts +2 -0
  21. package/dist/common/repositories/index.d.ts.map +1 -1
  22. package/dist/common/repositories/index.js +2 -0
  23. package/dist/common/repositories/index.js.map +1 -1
  24. package/dist/common/types/data.limits.d.ts +2 -2
  25. package/dist/common/types/data.limits.d.ts.map +1 -1
  26. package/dist/config/base.config.d.ts.map +1 -1
  27. package/dist/config/base.config.js +5 -0
  28. package/dist/config/base.config.js.map +1 -1
  29. package/dist/config/interfaces/base.config.interface.d.ts +4 -0
  30. package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
  31. package/dist/config/interfaces/config.chunker.interface.d.ts +10 -0
  32. package/dist/config/interfaces/config.chunker.interface.d.ts.map +1 -0
  33. package/dist/config/interfaces/config.chunker.interface.js +3 -0
  34. package/dist/config/interfaces/config.chunker.interface.js.map +1 -0
  35. package/dist/config/interfaces/config.embedding.context.interface.d.ts +18 -0
  36. package/dist/config/interfaces/config.embedding.context.interface.d.ts.map +1 -0
  37. package/dist/config/interfaces/config.embedding.context.interface.js +3 -0
  38. package/dist/config/interfaces/config.embedding.context.interface.js.map +1 -0
  39. package/dist/config/interfaces/index.d.ts +2 -0
  40. package/dist/config/interfaces/index.d.ts.map +1 -1
  41. package/dist/config/interfaces/index.js +2 -0
  42. package/dist/config/interfaces/index.js.map +1 -1
  43. package/dist/core/core.module.d.ts +4 -0
  44. package/dist/core/core.module.d.ts.map +1 -1
  45. package/dist/core/core.module.js +7 -2
  46. package/dist/core/core.module.js.map +1 -1
  47. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  48. package/dist/core/llm/services/model.service.js +18 -34
  49. package/dist/core/llm/services/model.service.js.map +1 -1
  50. package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts +3 -8
  51. package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts.map +1 -1
  52. package/dist/foundations/atomicfact/repositories/atomicfact.repository.js +19 -46
  53. package/dist/foundations/atomicfact/repositories/atomicfact.repository.js.map +1 -1
  54. package/dist/foundations/chunk/chunk.module.d.ts +6 -3
  55. package/dist/foundations/chunk/chunk.module.d.ts.map +1 -1
  56. package/dist/foundations/chunk/chunk.module.js +25 -5
  57. package/dist/foundations/chunk/chunk.module.js.map +1 -1
  58. package/dist/foundations/chunk/controllers/chunk.controller.d.ts +19 -1
  59. package/dist/foundations/chunk/controllers/chunk.controller.d.ts.map +1 -1
  60. package/dist/foundations/chunk/controllers/chunk.controller.js +59 -2
  61. package/dist/foundations/chunk/controllers/chunk.controller.js.map +1 -1
  62. package/dist/foundations/chunk/entities/chunk.entity.d.ts +8 -0
  63. package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
  64. package/dist/foundations/chunk/entities/chunk.entity.js +20 -0
  65. package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
  66. package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts +21 -0
  67. package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts.map +1 -0
  68. package/dist/foundations/chunk/processors/chunk.embedding.processor.js +98 -0
  69. package/dist/foundations/chunk/processors/chunk.embedding.processor.js.map +1 -0
  70. package/dist/foundations/chunk/repositories/chunk.repository.d.ts +36 -8
  71. package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
  72. package/dist/foundations/chunk/repositories/chunk.repository.js +184 -50
  73. package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
  74. package/dist/foundations/chunk/services/chunk.service.d.ts +9 -0
  75. package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
  76. package/dist/foundations/chunk/services/chunk.service.js +87 -0
  77. package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
  78. package/dist/foundations/chunk/services/embedding-context.d.ts +19 -0
  79. package/dist/foundations/chunk/services/embedding-context.d.ts.map +1 -0
  80. package/dist/foundations/chunk/services/embedding-context.js +27 -0
  81. package/dist/foundations/chunk/services/embedding-context.js.map +1 -0
  82. package/dist/foundations/chunk/services/reciprocal-rank-fusion.d.ts +2 -0
  83. package/dist/foundations/chunk/services/reciprocal-rank-fusion.d.ts.map +1 -0
  84. package/dist/foundations/chunk/services/reciprocal-rank-fusion.js +13 -0
  85. package/dist/foundations/chunk/services/reciprocal-rank-fusion.js.map +1 -0
  86. package/dist/foundations/chunker/chunker.module.d.ts.map +1 -1
  87. package/dist/foundations/chunker/chunker.module.js +2 -0
  88. package/dist/foundations/chunker/chunker.module.js.map +1 -1
  89. package/dist/foundations/chunker/services/chunker.service.d.ts +20 -12
  90. package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -1
  91. package/dist/foundations/chunker/services/chunker.service.js +160 -157
  92. package/dist/foundations/chunker/services/chunker.service.js.map +1 -1
  93. package/dist/foundations/chunker/services/types/markdownchunking.service.d.ts +17 -0
  94. package/dist/foundations/chunker/services/types/markdownchunking.service.d.ts.map +1 -0
  95. package/dist/foundations/chunker/services/types/markdownchunking.service.js +124 -0
  96. package/dist/foundations/chunker/services/types/markdownchunking.service.js.map +1 -0
  97. package/dist/foundations/chunker/services/types/pdf.service.d.ts +4 -0
  98. package/dist/foundations/chunker/services/types/pdf.service.d.ts.map +1 -1
  99. package/dist/foundations/chunker/services/types/pdf.service.js +14 -4
  100. package/dist/foundations/chunker/services/types/pdf.service.js.map +1 -1
  101. package/dist/foundations/keyconcept/controllers/keyconcept.controller.d.ts +15 -0
  102. package/dist/foundations/keyconcept/controllers/keyconcept.controller.d.ts.map +1 -0
  103. package/dist/foundations/keyconcept/controllers/keyconcept.controller.js +56 -0
  104. package/dist/foundations/keyconcept/controllers/keyconcept.controller.js.map +1 -0
  105. package/dist/foundations/keyconcept/index.d.ts +2 -0
  106. package/dist/foundations/keyconcept/index.d.ts.map +1 -1
  107. package/dist/foundations/keyconcept/index.js +5 -1
  108. package/dist/foundations/keyconcept/index.js.map +1 -1
  109. package/dist/foundations/keyconcept/keyconcept.module.d.ts.map +1 -1
  110. package/dist/foundations/keyconcept/keyconcept.module.js +7 -2
  111. package/dist/foundations/keyconcept/keyconcept.module.js.map +1 -1
  112. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts +22 -0
  113. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts.map +1 -0
  114. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js +98 -0
  115. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js.map +1 -0
  116. package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts +9 -15
  117. package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts.map +1 -1
  118. package/dist/foundations/keyconcept/repositories/keyconcept.repository.js +65 -99
  119. package/dist/foundations/keyconcept/repositories/keyconcept.repository.js.map +1 -1
  120. package/dist/foundations/s3/index.d.ts +8 -2
  121. package/dist/foundations/s3/index.d.ts.map +1 -1
  122. package/dist/foundations/s3/index.js +22 -5
  123. package/dist/foundations/s3/index.js.map +1 -1
  124. package/dist/foundations/s3/services/s3.service.d.ts +11 -1
  125. package/dist/foundations/s3/services/s3.service.d.ts.map +1 -1
  126. package/dist/foundations/s3/services/s3.service.js +70 -21
  127. package/dist/foundations/s3/services/s3.service.js.map +1 -1
  128. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import { WorkerHost } from "@nestjs/bullmq";
2
+ import { ConfigService } from "@nestjs/config";
3
+ import { Job } from "bullmq";
4
+ import { ClsService } from "nestjs-cls";
5
+ import { BaseConfigInterface } from "../../../config/interfaces/base.config.interface";
6
+ import { EmbedderService } from "../../../core";
7
+ import { KeyConceptRepository } from "../repositories/keyconcept.repository";
8
+ export declare const KEYCONCEPT_EMBEDDING_QUEUE = "embedding-keyconcepts";
9
+ export declare class KeyConceptEmbeddingProcessor extends WorkerHost {
10
+ private readonly clsService;
11
+ private readonly keyConceptRepository;
12
+ private readonly embedderService;
13
+ private readonly rebuildKeyConceptsJobName;
14
+ constructor(clsService: ClsService, keyConceptRepository: KeyConceptRepository, embedderService: EmbedderService, configService: ConfigService<BaseConfigInterface>);
15
+ onActive(job: Job): void;
16
+ onError(job: Job): void;
17
+ onCompleted(job: Job): void;
18
+ process(job: Job): Promise<{
19
+ processed: number;
20
+ }>;
21
+ }
22
+ //# sourceMappingURL=keyconcept.embedding.processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyconcept.embedding.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBACa,4BAA6B,SAAQ,UAAU;IAIxD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAGhC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EACjD,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAQnD,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,OAAO,CAAC,GAAG,EAAE,GAAG;IAKhB,WAAW,CAAC,GAAG,EAAE,GAAG;IAId,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CA0CxD"}
@@ -0,0 +1,98 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.KeyConceptEmbeddingProcessor = exports.KEYCONCEPT_EMBEDDING_QUEUE = void 0;
13
+ const bullmq_1 = require("@nestjs/bullmq");
14
+ const config_1 = require("@nestjs/config");
15
+ const bullmq_2 = require("bullmq");
16
+ const nestjs_cls_1 = require("nestjs-cls");
17
+ const core_1 = require("../../../core");
18
+ const keyconcept_repository_1 = require("../repositories/keyconcept.repository");
19
+ exports.KEYCONCEPT_EMBEDDING_QUEUE = "embedding-keyconcepts";
20
+ let KeyConceptEmbeddingProcessor = class KeyConceptEmbeddingProcessor extends bullmq_1.WorkerHost {
21
+ constructor(clsService, keyConceptRepository, embedderService, configService) {
22
+ super();
23
+ this.clsService = clsService;
24
+ this.keyConceptRepository = keyConceptRepository;
25
+ this.embedderService = embedderService;
26
+ this.rebuildKeyConceptsJobName =
27
+ configService.get("jobNames", { infer: true })?.process?.rebuild_keyconcepts ?? "embedding:rebuild_keyconcepts";
28
+ }
29
+ onActive(job) {
30
+ console.log(`Processing ${job.name} job`);
31
+ }
32
+ onError(job) {
33
+ console.error(`Error processing ${job.name} job (ID: ${job.id}). Reason: ${job.failedReason}`);
34
+ }
35
+ onCompleted(job) {
36
+ console.log(`Completed ${job.name} job (ID: ${job.id})`);
37
+ }
38
+ async process(job) {
39
+ if (job.name !== this.rebuildKeyConceptsJobName) {
40
+ throw new Error(`Job ${job.name} not handled by KeyConceptEmbeddingProcessor`);
41
+ }
42
+ return await this.clsService.run(async () => {
43
+ this.clsService.set("companyId", job.data.companyId);
44
+ this.clsService.set("userId", job.data.userId);
45
+ this.clsService.set("isAutomatedJob", true);
46
+ // 1. Recreate vector index with new dimensions
47
+ await this.keyConceptRepository.recreateVectorIndex();
48
+ // 2. Get all keyconcepts
49
+ const allKeyConcepts = await this.keyConceptRepository.findAllKeyConcepts();
50
+ const keyConceptsWithValues = allKeyConcepts.filter((k) => k.value);
51
+ // 3. Process in batches
52
+ const batchSize = 100;
53
+ let processed = 0;
54
+ for (let i = 0; i < keyConceptsWithValues.length; i += batchSize) {
55
+ const batch = keyConceptsWithValues.slice(i, i + batchSize);
56
+ const texts = batch.map((k) => k.value);
57
+ const embeddings = await this.embedderService.vectoriseTextBatch(texts);
58
+ for (let j = 0; j < batch.length; j++) {
59
+ await this.keyConceptRepository.updateEmbedding({
60
+ keyConceptId: batch[j].id,
61
+ embedding: embeddings[j],
62
+ });
63
+ processed++;
64
+ }
65
+ const progress = Math.round((processed / keyConceptsWithValues.length) * 100);
66
+ await job.updateProgress(progress);
67
+ }
68
+ return { processed };
69
+ });
70
+ }
71
+ };
72
+ exports.KeyConceptEmbeddingProcessor = KeyConceptEmbeddingProcessor;
73
+ __decorate([
74
+ (0, bullmq_1.OnWorkerEvent)("active"),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", [bullmq_2.Job]),
77
+ __metadata("design:returntype", void 0)
78
+ ], KeyConceptEmbeddingProcessor.prototype, "onActive", null);
79
+ __decorate([
80
+ (0, bullmq_1.OnWorkerEvent)("failed"),
81
+ __metadata("design:type", Function),
82
+ __metadata("design:paramtypes", [bullmq_2.Job]),
83
+ __metadata("design:returntype", void 0)
84
+ ], KeyConceptEmbeddingProcessor.prototype, "onError", null);
85
+ __decorate([
86
+ (0, bullmq_1.OnWorkerEvent)("completed"),
87
+ __metadata("design:type", Function),
88
+ __metadata("design:paramtypes", [bullmq_2.Job]),
89
+ __metadata("design:returntype", void 0)
90
+ ], KeyConceptEmbeddingProcessor.prototype, "onCompleted", null);
91
+ exports.KeyConceptEmbeddingProcessor = KeyConceptEmbeddingProcessor = __decorate([
92
+ (0, bullmq_1.Processor)(exports.KEYCONCEPT_EMBEDDING_QUEUE, { concurrency: 1, lockDuration: 1000 * 60 * 30 }),
93
+ __metadata("design:paramtypes", [nestjs_cls_1.ClsService,
94
+ keyconcept_repository_1.KeyConceptRepository,
95
+ core_1.EmbedderService,
96
+ config_1.ConfigService])
97
+ ], KeyConceptEmbeddingProcessor);
98
+ //# sourceMappingURL=keyconcept.embedding.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyconcept.embedding.processor.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { OnModuleInit } from "@nestjs/common";
2
2
  import { ClsService } from "nestjs-cls";
3
+ import { AiSourceQueryProvider } from "../../../common/repositories/ai-source-query.provider";
3
4
  import { DataLimits } from "../../../common/types/data.limits";
4
5
  import { EmbedderService, ModelService } from "../../../core";
5
6
  import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
@@ -11,30 +12,23 @@ export declare class KeyConceptRepository implements OnModuleInit {
11
12
  private readonly modelService;
12
13
  private readonly securityService;
13
14
  private readonly clsService;
14
- constructor(neo4j: Neo4jService, embedderService: EmbedderService, modelService: ModelService, securityService: SecurityService, clsService: ClsService);
15
+ private readonly aiSourceQuery;
16
+ constructor(neo4j: Neo4jService, embedderService: EmbedderService, modelService: ModelService, securityService: SecurityService, clsService: ClsService, aiSourceQuery: AiSourceQueryProvider);
15
17
  onModuleInit(): Promise<void>;
18
+ recreateVectorIndex(): Promise<void>;
19
+ findAllKeyConcepts(): Promise<KeyConcept[]>;
20
+ updateEmbedding(params: {
21
+ keyConceptId: string;
22
+ embedding: number[];
23
+ }): Promise<void>;
16
24
  findNeighboursByKeyConcepts(params: {
17
25
  keyConcepts: string[];
18
26
  dataLimits: DataLimits;
19
27
  }): Promise<KeyConcept[]>;
20
- /**
21
- * Help-content retrieval. Intentionally bypasses company filtering — `(data:HowTo)`
22
- * nodes are global and have no `BELONGS_TO Company` edge. Only callable from inside
23
- * this repository; `findNeighboursByKeyConcepts` dispatches here based on
24
- * `dataLimits.howToMode` / `dataLimits.limitToHowToId`.
25
- */
26
- private findNeighboursByKeyConceptsFromHowTos;
27
28
  findPotentialKeyConcepts(params: {
28
29
  question: string;
29
30
  dataLimits: DataLimits;
30
31
  }): Promise<KeyConcept[]>;
31
- /**
32
- * Help-content retrieval. Intentionally bypasses company filtering — `(data:HowTo)`
33
- * nodes are global and have no `BELONGS_TO Company` edge. Only callable from inside
34
- * this repository; `findPotentialKeyConcepts` dispatches here based on
35
- * `dataLimits.howToMode` / `dataLimits.limitToHowToId`.
36
- */
37
- private findPotentialKeyConceptsFromHowTos;
38
32
  deleteDisconnectedKeyConcepts(): Promise<void>;
39
33
  findKeyConceptByValue(params: {
40
34
  keyConceptValue: string;
@@ -1 +1 @@
1
- {"version":3,"file":"keyconcept.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/repositories/keyconcept.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAI1E,qBACa,oBAAqB,YAAW,YAAY;IAErD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU;IAGnC,YAAY;IAuBZ,2BAA2B,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA0CnH;;;;;OAKG;YACW,qCAAqC;IAuC7C,wBAAwB,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuC3G;;;;;OAKG;YACW,kCAAkC;IAoC1C,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB9C,qBAAqB,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB/E,uBAAuB,CAAC,MAAM,EAAE;QAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBtF,uBAAuB,CAAC,MAAM,EAAE;QAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpF;;;OAGG;IACG,4BAA4B,CAAC,MAAM,EAAE;QACzC,YAAY,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7D,GAAG,OAAO,CAAC,IAAI,CAAC;IAeX,gBAAgB,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC1F,wBAAwB,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlG,qCAAqC,CAAC,MAAM,EAAE;QAClD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGX,kDAAkD,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBrG"}
1
+ {"version":3,"file":"keyconcept.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/repositories/keyconcept.repository.ts"],"names":[],"mappings":"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"}
@@ -8,24 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.KeyConceptRepository = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
17
  const crypto_1 = require("crypto");
15
18
  const nestjs_cls_1 = require("nestjs-cls");
16
- const ai_source_query_1 = require("../../../common/repositories/ai.source.query");
19
+ const ai_source_query_provider_1 = require("../../../common/repositories/ai-source-query.provider");
17
20
  const core_1 = require("../../../core");
18
21
  const neo4j_service_1 = require("../../../core/neo4j/services/neo4j.service");
19
22
  const security_service_1 = require("../../../core/security/services/security.service");
20
23
  const key_concept_meta_1 = require("../../keyconcept/entities/key.concept.meta");
21
24
  const key_concept_model_1 = require("../../keyconcept/entities/key.concept.model");
22
25
  let KeyConceptRepository = class KeyConceptRepository {
23
- constructor(neo4j, embedderService, modelService, securityService, clsService) {
26
+ constructor(neo4j, embedderService, modelService, securityService, clsService, aiSourceQuery) {
24
27
  this.neo4j = neo4j;
25
28
  this.embedderService = embedderService;
26
29
  this.modelService = modelService;
27
30
  this.securityService = securityService;
28
31
  this.clsService = clsService;
32
+ this.aiSourceQuery = aiSourceQuery;
29
33
  }
30
34
  async onModuleInit() {
31
35
  await this.neo4j.writeOne({
@@ -47,132 +51,93 @@ let KeyConceptRepository = class KeyConceptRepository {
47
51
  `,
48
52
  });
49
53
  }
50
- async findNeighboursByKeyConcepts(params) {
51
- // SECURITY: HowTo retrieval intentionally bypasses company filtering.
52
- // Dispatch to the private method so the bypass is visible and quarantined here.
53
- if (params.dataLimits.howToMode || params.dataLimits.limitToHowToId) {
54
- return this.findNeighboursByKeyConceptsFromHowTos(params);
55
- }
56
- const query = this.neo4j.initQuery({ serialiser: key_concept_model_1.KeyConceptModel });
57
- query.queryParams = {
58
- ...query.queryParams,
59
- keyConcepts: params.keyConcepts,
60
- };
61
- query.query += `
62
- MATCH (startingKeyConcept:KeyConcept)<-[:RELATES_TO]-(keyConceptRelationship:KeyConceptRelationship)-[:RELATES_TO]->(keyconcept:KeyConcept)
63
- WHERE startingKeyConcept.value IN $keyConcepts
64
- AND NOT keyconcept.value IN $keyConcepts
65
- AND NOT EXISTS {
66
- MATCH (startingKeyConcept)<-[:HAS_KEY_CONCEPT]-()<-[:HAS_ATOMIC_FACT]-()-[:HAS_ATOMIC_FACT]->()-[:HAS_KEY_CONCEPT]->(keyconcept)
67
- }
68
- MATCH (data)-[:BELONGS_TO]->(company)
69
- ${(0, ai_source_query_1.aiSourceQuery)({
70
- currentUserId: this.clsService.get("userId"),
71
- securityService: this.securityService,
72
- dataLimits: params.dataLimits,
73
- returnsKeyConcepts: true,
74
- })}
75
- WITH COLLECT(DISTINCT keyconcept.id) AS topicKeyConceptIds
76
-
77
- CALL db.index.vector.queryNodes('keyconcepts', 1000, $queryEmbedding)
78
- YIELD node AS candidateKeyConcept, score
79
- WHERE candidateKeyConcept.id IN topicKeyConceptIds
80
-
81
- RETURN candidateKeyConcept, score
82
- ORDER BY score DESC
83
- LIMIT 100
54
+ async recreateVectorIndex() {
55
+ await this.neo4j.writeOne({
56
+ query: `DROP INDEX keyconcepts IF EXISTS`,
57
+ });
58
+ const dimensions = this.modelService.getEmbedderDimensions();
59
+ await this.neo4j.writeOne({
60
+ query: `
61
+ CREATE VECTOR INDEX keyconcepts IF NOT EXISTS
62
+ FOR (keyconcept:KeyConcept)
63
+ ON keyconcept.embedding
64
+ OPTIONS { indexConfig: {
65
+ \`vector.dimensions\`: ${dimensions},
66
+ \`vector.similarity_function\`: 'cosine'
67
+ }};
68
+ `,
69
+ });
70
+ }
71
+ async findAllKeyConcepts() {
72
+ const query = this.neo4j.initQuery({ serialiser: key_concept_model_1.KeyConceptModel, fetchAll: true });
73
+ query.query = `
74
+ MATCH (${key_concept_meta_1.keyConceptMeta.nodeName}:${key_concept_meta_1.keyConceptMeta.labelName})
75
+ RETURN ${key_concept_meta_1.keyConceptMeta.nodeName}
84
76
  `;
85
77
  return this.neo4j.readMany(query);
86
78
  }
87
- /**
88
- * Help-content retrieval. Intentionally bypasses company filtering — `(data:HowTo)`
89
- * nodes are global and have no `BELONGS_TO Company` edge. Only callable from inside
90
- * this repository; `findNeighboursByKeyConcepts` dispatches here based on
91
- * `dataLimits.howToMode` / `dataLimits.limitToHowToId`.
92
- */
93
- async findNeighboursByKeyConceptsFromHowTos(params) {
79
+ async updateEmbedding(params) {
80
+ await this.neo4j.writeOne({
81
+ query: `
82
+ MATCH (keyconcept:KeyConcept {id: $keyConceptId})
83
+ SET keyconcept.embedding = $embedding
84
+ `,
85
+ queryParams: {
86
+ keyConceptId: params.keyConceptId,
87
+ embedding: params.embedding,
88
+ },
89
+ });
90
+ }
91
+ async findNeighboursByKeyConcepts(params) {
94
92
  const query = this.neo4j.initQuery({ serialiser: key_concept_model_1.KeyConceptModel });
93
+ // SECURITY: HowTo retrieval (global content) intentionally bypasses company
94
+ // filtering. The package surfaces that bypass through `howToMode`/`limitToHowToId`
95
+ // (the app's `howToId` maps to these via declaration-merge semantics).
96
+ const isCompanyIndependent = !!params.dataLimits.howToMode || !!params.dataLimits.limitToHowToId;
95
97
  query.queryParams = {
96
98
  ...query.queryParams,
97
99
  keyConcepts: params.keyConcepts,
98
- ...(params.dataLimits.limitToHowToId ? { limitToHowToId: params.dataLimits.limitToHowToId } : {}),
100
+ isCompanyIndependent,
99
101
  };
100
- const limitClause = params.dataLimits.limitToHowToId ? `WHERE data.id = $limitToHowToId` : "";
101
102
  query.query += `
102
- MATCH (data:HowTo)
103
- ${limitClause}
104
- WITH data
105
103
  MATCH (startingKeyConcept:KeyConcept)<-[:RELATES_TO]-(keyConceptRelationship:KeyConceptRelationship)-[:RELATES_TO]->(keyconcept:KeyConcept)
106
104
  WHERE startingKeyConcept.value IN $keyConcepts
107
105
  AND NOT keyconcept.value IN $keyConcepts
108
106
  AND NOT EXISTS {
109
107
  MATCH (startingKeyConcept)<-[:HAS_KEY_CONCEPT]-()<-[:HAS_ATOMIC_FACT]-()-[:HAS_ATOMIC_FACT]->()-[:HAS_KEY_CONCEPT]->(keyconcept)
110
108
  }
111
- WITH keyconcept
112
- WITH COLLECT(DISTINCT keyconcept.id) AS topicKeyConceptIds
113
-
114
- CALL db.index.vector.queryNodes('keyconcepts', 1000, $queryEmbedding)
115
- YIELD node AS candidateKeyConcept, score
116
- WHERE candidateKeyConcept.id IN topicKeyConceptIds
117
-
118
- RETURN candidateKeyConcept, score
119
- ORDER BY score DESC
109
+ // Company scoping: the neighbour is reachable only if the relationship that
110
+ // bridges to it belongs to the caller's company or is global (no company).
111
+ // The previous gate accepted a relationship owned by ANY company and relied on
112
+ // an unlinked aiSourceQuery data match, which leaked cross-company concepts.
113
+ AND (
114
+ $isCompanyIndependent = true
115
+ OR (keyConceptRelationship)-[:BELONGS_TO]->(:Company {id: $companyId})
116
+ OR NOT EXISTS { (keyConceptRelationship)-[:BELONGS_TO]->(:Company) }
117
+ )
118
+ WITH COLLECT(DISTINCT keyconcept) AS neighbors
119
+ UNWIND neighbors AS candidateKeyConcept
120
+ RETURN candidateKeyConcept
120
121
  LIMIT 100
121
122
  `;
122
123
  return this.neo4j.readMany(query);
123
124
  }
124
125
  async findPotentialKeyConcepts(params) {
125
- // SECURITY: HowTo retrieval intentionally bypasses company filtering.
126
- // Dispatch to the private method so the bypass is visible and quarantined here.
127
- if (params.dataLimits.howToMode || params.dataLimits.limitToHowToId) {
128
- return this.findPotentialKeyConceptsFromHowTos(params);
129
- }
130
126
  const query = this.neo4j.initQuery({ serialiser: key_concept_model_1.KeyConceptModel });
131
127
  const queryEmbedding = await this.embedderService.vectoriseText({ text: params.question });
132
- query.queryParams = {
133
- ...query.queryParams,
134
- queryEmbedding,
135
- };
136
- query.query += `
137
- MATCH (data)-[:BELONGS_TO]->(company)
138
- ${(0, ai_source_query_1.aiSourceQuery)({
128
+ const scope = this.aiSourceQuery.build({
129
+ dataLimits: params.dataLimits,
139
130
  currentUserId: this.clsService.get("userId"),
140
131
  securityService: this.securityService,
141
- dataLimits: params.dataLimits,
142
132
  returnsData: true,
143
- })}
144
- MATCH (data)-[:HAS_CHUNK]->()-[:HAS_ATOMIC_FACT]->()-[:HAS_KEY_CONCEPT]->(keyconcept:KeyConcept)
145
- WITH COLLECT(DISTINCT keyconcept.id) AS topicKeyConceptIds
146
-
147
- CALL db.index.vector.queryNodes('keyconcepts', 1000, $queryEmbedding)
148
- YIELD node AS candidateKeyConcept, score
149
- WHERE candidateKeyConcept.id IN topicKeyConceptIds
150
-
151
- RETURN candidateKeyConcept as ${key_concept_meta_1.keyConceptMeta.nodeName}, score
152
- ORDER BY score DESC
153
- LIMIT 100
154
- `;
155
- return this.neo4j.readMany(query);
156
- }
157
- /**
158
- * Help-content retrieval. Intentionally bypasses company filtering — `(data:HowTo)`
159
- * nodes are global and have no `BELONGS_TO Company` edge. Only callable from inside
160
- * this repository; `findPotentialKeyConcepts` dispatches here based on
161
- * `dataLimits.howToMode` / `dataLimits.limitToHowToId`.
162
- */
163
- async findPotentialKeyConceptsFromHowTos(params) {
164
- const query = this.neo4j.initQuery({ serialiser: key_concept_model_1.KeyConceptModel });
165
- const queryEmbedding = await this.embedderService.vectoriseText({ text: params.question });
133
+ });
166
134
  query.queryParams = {
167
135
  ...query.queryParams,
168
136
  queryEmbedding,
169
- ...(params.dataLimits.limitToHowToId ? { limitToHowToId: params.dataLimits.limitToHowToId } : {}),
137
+ ...scope.params,
170
138
  };
171
- const limitClause = params.dataLimits.limitToHowToId ? `WHERE data.id = $limitToHowToId` : "";
172
139
  query.query += `
173
- MATCH (data:HowTo)
174
- ${limitClause}
175
- WITH data
140
+ ${scope.cypher}
176
141
  MATCH (data)-[:HAS_CHUNK]->()-[:HAS_ATOMIC_FACT]->()-[:HAS_KEY_CONCEPT]->(keyconcept:KeyConcept)
177
142
  WITH COLLECT(DISTINCT keyconcept.id) AS topicKeyConceptIds
178
143
 
@@ -399,10 +364,11 @@ let KeyConceptRepository = class KeyConceptRepository {
399
364
  exports.KeyConceptRepository = KeyConceptRepository;
400
365
  exports.KeyConceptRepository = KeyConceptRepository = __decorate([
401
366
  (0, common_1.Injectable)(),
367
+ __param(5, (0, common_1.Inject)(ai_source_query_provider_1.AI_SOURCE_QUERY)),
402
368
  __metadata("design:paramtypes", [neo4j_service_1.Neo4jService,
403
369
  core_1.EmbedderService,
404
370
  core_1.ModelService,
405
371
  security_service_1.SecurityService,
406
- nestjs_cls_1.ClsService])
372
+ nestjs_cls_1.ClsService, Object])
407
373
  ], KeyConceptRepository);
408
374
  //# sourceMappingURL=keyconcept.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyconcept.repository.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/repositories/keyconcept.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyconcept.repository.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/repositories/keyconcept.repository.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
- export { S3Module } from "./s3.module";
2
- export { S3Service } from "./services/s3.service";
1
+ export * from "./s3.module";
2
+ export * from "./services/s3.service";
3
+ export * from "./serialisers/s3.serialiser";
4
+ export * from "./controllers/s3.controller";
5
+ export * from "./entities/s3.entity";
6
+ export * from "./entities/s3.meta";
7
+ export * from "./entities/s3.model";
8
+ export * from "./entities/s3.map";
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/s3/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -1,8 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.S3Service = exports.S3Module = void 0;
4
- var s3_module_1 = require("./s3.module");
5
- Object.defineProperty(exports, "S3Module", { enumerable: true, get: function () { return s3_module_1.S3Module; } });
6
- var s3_service_1 = require("./services/s3.service");
7
- Object.defineProperty(exports, "S3Service", { enumerable: true, get: function () { return s3_service_1.S3Service; } });
17
+ __exportStar(require("./s3.module"), exports);
18
+ __exportStar(require("./services/s3.service"), exports);
19
+ __exportStar(require("./serialisers/s3.serialiser"), exports);
20
+ __exportStar(require("./controllers/s3.controller"), exports);
21
+ __exportStar(require("./entities/s3.entity"), exports);
22
+ __exportStar(require("./entities/s3.meta"), exports);
23
+ __exportStar(require("./entities/s3.model"), exports);
24
+ __exportStar(require("./entities/s3.map"), exports);
8
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/s3/index.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,oDAAkD;AAAzC,uGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/s3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC"}
@@ -4,17 +4,19 @@ import { ClsService } from "nestjs-cls";
4
4
  import { BaseConfigInterface } from "../../../config/interfaces";
5
5
  import { JsonApiDataInterface } from "../../../core/jsonapi/interfaces/jsonapi.data.interface";
6
6
  import { JsonApiService } from "../../../core/jsonapi/services/jsonapi.service";
7
+ import { AppLoggingService } from "../../../core/logging/services/logging.service";
7
8
  export declare class S3Service {
8
9
  private readonly builder;
9
10
  private readonly clsService;
10
11
  private readonly configService;
12
+ private readonly logger;
11
13
  private s3Client;
12
14
  private blobServiceClient;
13
15
  private containerClient;
14
16
  private _bucket;
15
17
  private _endpoint;
16
18
  private _storageType;
17
- constructor(builder: JsonApiService, clsService: ClsService, configService: ConfigService<BaseConfigInterface>);
19
+ constructor(builder: JsonApiService, clsService: ClsService, configService: ConfigService<BaseConfigInterface>, logger: AppLoggingService);
18
20
  private get s3Config();
19
21
  private _loadConfiguration;
20
22
  private _prepareUrl;
@@ -151,6 +153,14 @@ export declare class S3Service {
151
153
  key: string;
152
154
  }): Promise<Buffer | null>;
153
155
  private _downloadAzureFileAsBuffer;
156
+ /**
157
+ * Download a file from S3/Azure and return a readable stream.
158
+ * Memory-efficient for large files like ZIP archives.
159
+ */
160
+ downloadFileAsStream(params: {
161
+ key: string;
162
+ }): Promise<Readable | null>;
163
+ private _downloadAzureFileAsStream;
154
164
  /**
155
165
  * Upload a buffer with an exact key — NO extension appending.
156
166
  * Unlike uploadFile (which adds .pdf, .zip, etc.), this method
@@ -1 +1 @@
1
- {"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}