@carlonicora/nestjs-neo4jsonapi 1.105.0 → 1.107.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts +1 -1
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts.map +1 -1
- package/dist/agents/graph.creator/services/graph.creator.service.js +14 -0
- package/dist/agents/graph.creator/services/graph.creator.service.js.map +1 -1
- package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
- package/dist/bootstrap/app.module.factory.js +1 -0
- package/dist/bootstrap/app.module.factory.js.map +1 -1
- package/dist/bootstrap/bootstrap.options.d.ts +3 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
- package/dist/common/guards/custom-throttler.guard.d.ts +13 -0
- package/dist/common/guards/custom-throttler.guard.d.ts.map +1 -1
- package/dist/common/guards/custom-throttler.guard.js +14 -0
- package/dist/common/guards/custom-throttler.guard.js.map +1 -1
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts +4 -0
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts.map +1 -1
- package/dist/common/repositories/ai-source-query.provider.d.ts +19 -0
- package/dist/common/repositories/ai-source-query.provider.d.ts.map +1 -0
- package/dist/common/repositories/ai-source-query.provider.js +5 -0
- package/dist/common/repositories/ai-source-query.provider.js.map +1 -0
- package/dist/common/repositories/default.ai-source-query.provider.d.ts +19 -0
- package/dist/common/repositories/default.ai-source-query.provider.d.ts.map +1 -0
- package/dist/common/repositories/default.ai-source-query.provider.js +36 -0
- package/dist/common/repositories/default.ai-source-query.provider.js.map +1 -0
- package/dist/common/repositories/index.d.ts +2 -0
- package/dist/common/repositories/index.d.ts.map +1 -1
- package/dist/common/repositories/index.js +2 -0
- package/dist/common/repositories/index.js.map +1 -1
- package/dist/common/types/data.limits.d.ts +2 -2
- package/dist/common/types/data.limits.d.ts.map +1 -1
- package/dist/config/interfaces/base.config.interface.d.ts +2 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.embedding.context.interface.d.ts +18 -0
- package/dist/config/interfaces/config.embedding.context.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.embedding.context.interface.js +3 -0
- package/dist/config/interfaces/config.embedding.context.interface.js.map +1 -0
- package/dist/config/interfaces/index.d.ts +1 -0
- package/dist/config/interfaces/index.d.ts.map +1 -1
- package/dist/config/interfaces/index.js +1 -0
- package/dist/config/interfaces/index.js.map +1 -1
- package/dist/core/core.module.d.ts +4 -0
- package/dist/core/core.module.d.ts.map +1 -1
- package/dist/core/core.module.js +7 -2
- package/dist/core/core.module.js.map +1 -1
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts +3 -8
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts.map +1 -1
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.js +19 -46
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.js.map +1 -1
- package/dist/foundations/chunk/chunk.module.d.ts +6 -3
- package/dist/foundations/chunk/chunk.module.d.ts.map +1 -1
- package/dist/foundations/chunk/chunk.module.js +25 -5
- package/dist/foundations/chunk/chunk.module.js.map +1 -1
- package/dist/foundations/chunk/controllers/chunk.controller.d.ts +19 -1
- package/dist/foundations/chunk/controllers/chunk.controller.d.ts.map +1 -1
- package/dist/foundations/chunk/controllers/chunk.controller.js +59 -2
- package/dist/foundations/chunk/controllers/chunk.controller.js.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.d.ts +8 -0
- package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.js +20 -0
- package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
- package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts +21 -0
- package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts.map +1 -0
- package/dist/foundations/chunk/processors/chunk.embedding.processor.js +98 -0
- package/dist/foundations/chunk/processors/chunk.embedding.processor.js.map +1 -0
- package/dist/foundations/chunk/repositories/chunk.repository.d.ts +36 -8
- package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
- package/dist/foundations/chunk/repositories/chunk.repository.js +184 -50
- package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.d.ts +9 -0
- package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.js +87 -0
- package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
- package/dist/foundations/chunk/services/embedding-context.d.ts +19 -0
- package/dist/foundations/chunk/services/embedding-context.d.ts.map +1 -0
- package/dist/foundations/chunk/services/embedding-context.js +27 -0
- package/dist/foundations/chunk/services/embedding-context.js.map +1 -0
- package/dist/foundations/chunk/services/reciprocal-rank-fusion.d.ts +2 -0
- package/dist/foundations/chunk/services/reciprocal-rank-fusion.d.ts.map +1 -0
- package/dist/foundations/chunk/services/reciprocal-rank-fusion.js +13 -0
- package/dist/foundations/chunk/services/reciprocal-rank-fusion.js.map +1 -0
- package/dist/foundations/keyconcept/controllers/keyconcept.controller.d.ts +15 -0
- package/dist/foundations/keyconcept/controllers/keyconcept.controller.d.ts.map +1 -0
- package/dist/foundations/keyconcept/controllers/keyconcept.controller.js +56 -0
- package/dist/foundations/keyconcept/controllers/keyconcept.controller.js.map +1 -0
- package/dist/foundations/keyconcept/index.d.ts +2 -0
- package/dist/foundations/keyconcept/index.d.ts.map +1 -1
- package/dist/foundations/keyconcept/index.js +5 -1
- package/dist/foundations/keyconcept/index.js.map +1 -1
- package/dist/foundations/keyconcept/keyconcept.module.d.ts.map +1 -1
- package/dist/foundations/keyconcept/keyconcept.module.js +7 -2
- package/dist/foundations/keyconcept/keyconcept.module.js.map +1 -1
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts +22 -0
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts.map +1 -0
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js +98 -0
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js.map +1 -0
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts +9 -15
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts.map +1 -1
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.js +65 -99
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
-
|
|
133
|
-
|
|
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
|
-
...
|
|
137
|
+
...scope.params,
|
|
170
138
|
};
|
|
171
|
-
const limitClause = params.dataLimits.limitToHowToId ? `WHERE data.id = $limitToHowToId` : "";
|
|
172
139
|
query.query += `
|
|
173
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"keyconcept.repository.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/repositories/keyconcept.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,mCAAoC;AACpC,2CAAwC;AACxC,oGAA+G;AAE/G,wCAA8D;AAC9D,8EAA0E;AAC1E,uFAAmF;AAEnF,iFAA4E;AAC5E,mFAA8E;AAGvE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,KAAmB,EACnB,eAAgC,EAChC,YAA0B,EAC1B,eAAgC,EAChC,UAAsB,EACG,aAAoC;QAL7D,UAAK,GAAL,KAAK,CAAc;QACnB,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACG,kBAAa,GAAb,aAAa,CAAuB;IAC7E,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,2GAA2G;SACnH,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,iHAAiH;SACzH,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE;;;;;iCAKoB,UAAU;;;SAGlC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,kCAAkC;SAC1C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE;;;;;iCAKoB,UAAU;;;SAGlC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,KAAK,GAAG;eACH,iCAAc,CAAC,QAAQ,IAAI,iCAAc,CAAC,SAAS;eACnD,iCAAc,CAAC,QAAQ;KACjC,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAqD;QACzE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE;;;OAGN;YACD,WAAW,EAAE;gBACX,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,MAAyD;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,CAAC,CAAC;QAEpE,4EAA4E;QAC5E,mFAAmF;QACnF,uEAAuE;QACvE,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;QAEjG,KAAK,CAAC,WAAW,GAAG;YAClB,GAAG,KAAK,CAAC,WAAW;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,oBAAoB;SACrB,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;KAoBd,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAoD;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,CAAC,CAAC;QAEpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3F,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,KAAK,CAAC,WAAW,GAAG;YAClB,GAAG,KAAK,CAAC,WAAW;YACpB,cAAc;YACd,GAAG,KAAK,CAAC,MAAM;SAChB,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI;QACX,KAAK,CAAC,MAAM;;;;;;;;sCAQkB,iCAAc,CAAC,QAAQ;;;KAGxD,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,yJAAyJ;IACzJ,KAAK,CAAC,6BAA6B;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAErC,KAAK,CAAC,KAAK,IAAI;;;;;;KAMd,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG;;;;;;KAM1B,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAmC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,CAAC,CAAC;QAEpE,KAAK,CAAC,WAAW,GAAG;YAClB,GAAG,KAAK,CAAC,WAAW;YACpB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG;;;GAGf,CAAC;QAEA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAsC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,CAAC,CAAC;QAEpE,KAAK,CAAC,WAAW,GAAG;YAClB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG;;;;KAIb,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAsC;QAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEvF,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,YAAoB,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YACjF,KAAK,EAAE,sFAAsF,IAAA,mBAAU,GAAE,mCAAmC;YAC5I,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,4BAA4B,CAAC,MAElC;QACC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK,EAAE;;;;OAIN;YACD,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5E,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAyD;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzF,UAAU,CAAC,WAAW,GAAG;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QAEF,UAAU,CAAC,KAAK,GAAG;;;KAGlB,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBAChD,IAAI,EAAE,MAAM,CAAC,eAAe;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,mCAAe,EAAE,CAAC,CAAC;QAEpE,KAAK,CAAC,WAAW,GAAG;YAClB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG;;;;;KAKb,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAyD;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAErC,KAAK,CAAC,WAAW,GAAG;YAClB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG;;;KAGb,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,MAQ3C;QACC,MAAM,eAAe,GAAG,IAAI,CAAC;QAC7B,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAE5B,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAE5G,MAAM,OAAO,GAA2E,EAAE,CAAC;QAC3F,IAAI,YAAY,GAAyE,EAAE,CAAC;QAE5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1C,IACE,YAAY,CAAC,MAAM,IAAI,eAAe;gBACtC,CAAC,CAAC,KAAK,mBAAmB,CAAC,MAAM,GAAG,CAAC;oBACnC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAChF,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,YAAY,GAAG,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,EAAE,KAA2E,EAAE,EAAE;YACzG,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAErC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,KAAK,CAAC,WAAW,GAAG;4BAClB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;4BACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;yBAC1B,CAAC;wBAEF,KAAK,CAAC,KAAK,GAAG;;;;;;;;;;;;aAYb,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,WAAW,GAAG;4BAClB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;4BACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;yBAC1B,CAAC;wBAEF,KAAK,CAAC,KAAK,GAAG;;;;;;;;;;aAUb,CAAC;oBACJ,CAAC;oBAED,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,cAAc,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,cAAc,CAAC,MAAM,CACnB,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAC3E,CAAC,CACF,CAAC;YACJ,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kDAAkD,CAAC,MAA2B;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAErC,KAAK,CAAC,WAAW,GAAG;YAClB,GAAG,KAAK,CAAC,WAAW;YACpB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI;;;;;;;;;KASd,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AAlaY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAQR,WAAA,IAAA,eAAM,EAAC,0CAAe,CAAC,CAAA;qCALA,4BAAY;QACF,sBAAe;QAClB,mBAAY;QACT,kCAAe;QACpB,uBAAU;GAN9B,oBAAoB,CAkahC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carlonicora/nestjs-neo4jsonapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.107.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",
|