@carlonicora/nestjs-neo4jsonapi 1.46.0 → 1.48.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 (24) hide show
  1. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  2. package/dist/common/helpers/define-entity.js +14 -1
  3. package/dist/common/helpers/define-entity.js.map +1 -1
  4. package/dist/common/interfaces/datamodel.interface.d.ts +11 -0
  5. package/dist/common/interfaces/datamodel.interface.d.ts.map +1 -1
  6. package/dist/common/interfaces/entity.schema.interface.d.ts +31 -0
  7. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  8. package/dist/core/jsonapi/factories/polymorphic.relationship.factory.d.ts +36 -0
  9. package/dist/core/jsonapi/factories/polymorphic.relationship.factory.d.ts.map +1 -0
  10. package/dist/core/jsonapi/factories/polymorphic.relationship.factory.js +80 -0
  11. package/dist/core/jsonapi/factories/polymorphic.relationship.factory.js.map +1 -0
  12. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.d.ts.map +1 -1
  13. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js +12 -0
  14. package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js.map +1 -1
  15. package/dist/core/jsonapi/services/jsonapi.service.d.ts.map +1 -1
  16. package/dist/core/jsonapi/services/jsonapi.service.js +17 -10
  17. package/dist/core/jsonapi/services/jsonapi.service.js.map +1 -1
  18. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  19. package/dist/core/neo4j/abstracts/abstract.repository.js +24 -0
  20. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  21. package/dist/core/neo4j/factories/entity.factory.d.ts.map +1 -1
  22. package/dist/core/neo4j/factories/entity.factory.js +76 -2
  23. package/dist/core/neo4j/factories/entity.factory.js.map +1 -1
  24. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"define-entity.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,uCAAuC,CAAC;AAuG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,CAAC,MACX,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CA4KrH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5E,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjF,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAYxB"}
1
+ {"version":3,"file":"define-entity.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,uCAAuC,CAAC;AAuG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,CAAC,MACX,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAyLrH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5E,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjF,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAYxB"}
@@ -177,14 +177,25 @@ function defineEntity() {
177
177
  // Derive childrenTokens from relationships
178
178
  // singleChildrenTokens: company (if scoped) + cardinality 'one' relationships
179
179
  // childrenTokens: cardinality 'many' relationships
180
+ // Also populate relationship info arrays for proper self-referential support
180
181
  const singleChildrenTokens = isCompanyScoped ? ["company"] : [];
181
182
  const childrenTokens = [];
182
- for (const [, rel] of Object.entries(relationships)) {
183
+ const singleChildrenRelationships = [];
184
+ const childrenRelationships = [];
185
+ for (const [name, rel] of Object.entries(relationships)) {
183
186
  if (rel.cardinality === "one") {
184
187
  singleChildrenTokens.push(rel.model.nodeName);
188
+ singleChildrenRelationships.push({
189
+ nodeName: rel.model.nodeName,
190
+ relationshipName: name,
191
+ });
185
192
  }
186
193
  else {
187
194
  childrenTokens.push(rel.model.nodeName);
195
+ childrenRelationships.push({
196
+ nodeName: rel.model.nodeName,
197
+ relationshipName: name,
198
+ });
188
199
  }
189
200
  }
190
201
  // Auto-generate computed fields for relationship properties (edge fields)
@@ -278,6 +289,8 @@ function defineEntity() {
278
289
  serialiser: serialiserClass,
279
290
  singleChildrenTokens,
280
291
  childrenTokens,
292
+ singleChildrenRelationships,
293
+ childrenRelationships,
281
294
  };
282
295
  // Assign model to descriptor
283
296
  descriptor.model = model;
@@ -1 +1 @@
1
- {"version":3,"file":"define-entity.js","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-entity.js","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,15 @@ export type DataMeta = {
8
8
  nodeName: string;
9
9
  labelName: string;
10
10
  };
11
+ /**
12
+ * Relationship info for proper self-referential relationship support.
13
+ * Tracks both the model's nodeName (for registry lookup) and the
14
+ * relationship name (for Cypher column matching and property assignment).
15
+ */
16
+ export type RelationshipInfo = {
17
+ nodeName: string;
18
+ relationshipName: string;
19
+ };
11
20
  export type DataModelInterface<T> = DataMeta & {
12
21
  entity: T;
13
22
  mapper: (params: {
@@ -21,5 +30,7 @@ export type DataModelInterface<T> = DataMeta & {
21
30
  singleChildrenTokens?: string[];
22
31
  dynamicChildrenPatterns?: string[];
23
32
  dynamicSingleChildrenPatterns?: string[];
33
+ childrenRelationships?: RelationshipInfo[];
34
+ singleChildrenRelationships?: RelationshipInfo[];
24
35
  };
25
36
  //# sourceMappingURL=datamodel.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/datamodel.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAElG,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,MAAM,CAE9E;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,QAAQ,GAAG;IAC7C,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,CAAC;IACrF,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,cAAc,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"datamodel.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/datamodel.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAElG,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,MAAM,CAE9E;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,QAAQ,GAAG;IAC7C,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,CAAC;IACrF,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,cAAc,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzC,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3C,2BAA2B,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAClD,CAAC"}
@@ -110,6 +110,37 @@ export interface RelationshipDef {
110
110
  dtoKey?: string;
111
111
  /** Fields stored on the relationship (edge properties). Only supported for cardinality: 'one' */
112
112
  fields?: RelationshipFieldDef[];
113
+ /** For polymorphic relationships - multiple possible types for same Neo4j label */
114
+ polymorphic?: PolymorphicConfig;
115
+ }
116
+ /**
117
+ * Data available to polymorphic discriminator function
118
+ */
119
+ export interface PolymorphicDiscriminatorData {
120
+ /** Entity properties from Neo4j */
121
+ properties: Record<string, any>;
122
+ /** Neo4j labels on the node */
123
+ labels: string[];
124
+ /** Whether node has outgoing SPECIALISES relationship (for taxonomy case) */
125
+ hasParent?: boolean;
126
+ }
127
+ /**
128
+ * Configuration for polymorphic relationships where multiple entity types
129
+ * share the same Neo4j label but have different JSON:API types
130
+ */
131
+ export interface PolymorphicConfig {
132
+ /** List of candidate models that could match this relationship */
133
+ candidates: DataMeta[];
134
+ /** Function that determines the correct model based on node data */
135
+ discriminator: (data: PolymorphicDiscriminatorData) => DataMeta;
136
+ /** Relationship type to check for discriminator (e.g., "SPECIALISES") */
137
+ discriminatorRelationship?: string;
138
+ /** Direction of discriminator relationship check: "out" = node has outgoing */
139
+ discriminatorDirection?: "in" | "out";
140
+ /** When true, also fetch the target of discriminatorRelationship for inclusion */
141
+ includeDiscriminatorTarget?: boolean;
142
+ /** Property name to assign the discriminator target to (e.g., "taxonomy" for LeafTaxonomy's parent) */
143
+ discriminatorTargetProperty?: string;
113
144
  }
114
145
  /**
115
146
  * Input schema for defineEntity function
@@ -1 +1 @@
1
- {"version":3,"file":"entity.schema.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.schema.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.schema.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.schema.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { DataMeta } from "../../../common/interfaces/datamodel.interface";
2
+ import { PolymorphicConfig, PolymorphicDiscriminatorData } from "../../../common/interfaces/entity.schema.interface";
3
+ import { JsonApiSerialiserFactory } from "./jsonapi.serialiser.factory";
4
+ /**
5
+ * Factory for resolving polymorphic relationships at serialization time.
6
+ * Evaluates the discriminator function with entity data to determine
7
+ * the correct JSON:API type for each related entity.
8
+ */
9
+ export declare class PolymorphicRelationshipFactory {
10
+ private readonly serialiserFactory;
11
+ private readonly polymorphicConfig;
12
+ constructor(serialiserFactory: JsonApiSerialiserFactory, polymorphicConfig: PolymorphicConfig);
13
+ /**
14
+ * Resolve the correct DataMeta for a related entity based on discriminator data.
15
+ *
16
+ * @param data - Entity data including properties, labels, and discriminator flags
17
+ * @returns The resolved DataMeta for the entity
18
+ */
19
+ resolve(data: PolymorphicDiscriminatorData): DataMeta;
20
+ /**
21
+ * Get or create a serializer for the resolved model.
22
+ *
23
+ * @param resolvedMeta - The DataMeta resolved by the discriminator
24
+ * @returns The serializer for the resolved model
25
+ */
26
+ getSerializer(resolvedMeta: DataMeta): any;
27
+ /**
28
+ * Create a dynamic relationship serializer for an entity.
29
+ * This method is called by JsonApiService for each item in a polymorphic relationship.
30
+ *
31
+ * @param entity - The entity to serialize
32
+ * @returns The appropriate serializer for this entity based on discriminator logic
33
+ */
34
+ createDynamicRelationship(entity: any): any;
35
+ }
36
+ //# sourceMappingURL=polymorphic.relationship.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polymorphic.relationship.factory.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/factories/polymorphic.relationship.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAErH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;GAIG;AACH,qBACa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,iBAAiB,EAAE,wBAAwB,EAC3C,iBAAiB,EAAE,iBAAiB;IAGvD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,4BAA4B,GAAG,QAAQ;IAIrD;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,QAAQ,GAAG,GAAG;IAQ1C;;;;;;OAMG;IACH,yBAAyB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;CAuB5C"}
@@ -0,0 +1,80 @@
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.PolymorphicRelationshipFactory = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const registry_1 = require("../../../common/registries/registry");
15
+ const jsonapi_serialiser_factory_1 = require("./jsonapi.serialiser.factory");
16
+ /**
17
+ * Factory for resolving polymorphic relationships at serialization time.
18
+ * Evaluates the discriminator function with entity data to determine
19
+ * the correct JSON:API type for each related entity.
20
+ */
21
+ let PolymorphicRelationshipFactory = class PolymorphicRelationshipFactory {
22
+ constructor(serialiserFactory, polymorphicConfig) {
23
+ this.serialiserFactory = serialiserFactory;
24
+ this.polymorphicConfig = polymorphicConfig;
25
+ }
26
+ /**
27
+ * Resolve the correct DataMeta for a related entity based on discriminator data.
28
+ *
29
+ * @param data - Entity data including properties, labels, and discriminator flags
30
+ * @returns The resolved DataMeta for the entity
31
+ */
32
+ resolve(data) {
33
+ return this.polymorphicConfig.discriminator(data);
34
+ }
35
+ /**
36
+ * Get or create a serializer for the resolved model.
37
+ *
38
+ * @param resolvedMeta - The DataMeta resolved by the discriminator
39
+ * @returns The serializer for the resolved model
40
+ */
41
+ getSerializer(resolvedMeta) {
42
+ const model = registry_1.modelRegistry.get(resolvedMeta.nodeName);
43
+ if (!model) {
44
+ throw new Error(`Model not found in registry: ${resolvedMeta.nodeName}`);
45
+ }
46
+ return this.serialiserFactory.create(model);
47
+ }
48
+ /**
49
+ * Create a dynamic relationship serializer for an entity.
50
+ * This method is called by JsonApiService for each item in a polymorphic relationship.
51
+ *
52
+ * @param entity - The entity to serialize
53
+ * @returns The appropriate serializer for this entity based on discriminator logic
54
+ */
55
+ createDynamicRelationship(entity) {
56
+ if (!entity)
57
+ return null;
58
+ const discriminatorData = {
59
+ properties: entity,
60
+ labels: entity.labels || [],
61
+ hasParent: entity._hasParent,
62
+ };
63
+ const resolvedMeta = this.resolve(discriminatorData);
64
+ // If entity has _discTarget and we know the target property, assign it
65
+ if (entity._discTarget && this.polymorphicConfig.discriminatorTargetProperty) {
66
+ const targetProp = this.polymorphicConfig.discriminatorTargetProperty;
67
+ entity[targetProp] = entity._discTarget;
68
+ delete entity._discTarget;
69
+ }
70
+ // Clean up internal properties
71
+ delete entity._hasParent;
72
+ return this.getSerializer(resolvedMeta);
73
+ }
74
+ };
75
+ exports.PolymorphicRelationshipFactory = PolymorphicRelationshipFactory;
76
+ exports.PolymorphicRelationshipFactory = PolymorphicRelationshipFactory = __decorate([
77
+ (0, common_1.Injectable)(),
78
+ __metadata("design:paramtypes", [jsonapi_serialiser_factory_1.JsonApiSerialiserFactory, Object])
79
+ ], PolymorphicRelationshipFactory);
80
+ //# sourceMappingURL=polymorphic.relationship.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polymorphic.relationship.factory.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/factories/polymorphic.relationship.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,kEAAoE;AACpE,6EAAwE;AAExE;;;;GAIG;AAEI,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IACzC,YACmB,iBAA2C,EAC3C,iBAAoC;QADpC,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,IAAkC;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,YAAsB;QAClC,MAAM,KAAK,GAAG,wBAAa,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,yBAAyB,CAAC,MAAW;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,iBAAiB,GAAiC;YACtD,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,uEAAuE;QACvE,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC;YACtE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;YACxC,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,+BAA+B;QAC/B,OAAO,MAAM,CAAC,UAAU,CAAC;QAEzB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AA5DY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAG2B,qDAAwB;GAFnD,8BAA8B,CA4D1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.based.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oDAAoD,CAAC;AAEvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;;;;GAKG;AACH,qBACa,yBAA0B,SAAQ,yBAA0B,YAAW,uBAAuB;IAMvG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IALzC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAGnD,iBAAiB,EAAE,wBAAwB,EACxB,SAAS,EAAE,SAAS,EACvC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKnD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAcrE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,oBAAoB;CA4F/B"}
1
+ {"version":3,"file":"descriptor.based.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oDAAoD,CAAC;AAEvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;;;;GAKG;AACH,qBACa,yBAA0B,SAAQ,yBAA0B,YAAW,uBAAuB;IAMvG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IALzC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAGnD,iBAAiB,EAAE,wBAAwB,EACxB,SAAS,EAAE,SAAS,EACvC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKnD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAcrE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,oBAAoB;CAuG/B"}
@@ -16,6 +16,7 @@ const core_1 = require("@nestjs/core");
16
16
  const registry_1 = require("../../../common/registries/registry");
17
17
  const abstract_jsonapi_serialiser_1 = require("../abstracts/abstract.jsonapi.serialiser");
18
18
  const jsonapi_serialiser_factory_1 = require("../factories/jsonapi.serialiser.factory");
19
+ const polymorphic_relationship_factory_1 = require("../factories/polymorphic.relationship.factory");
19
20
  /**
20
21
  * Base class for auto-generated serialisers from EntityDescriptor.
21
22
  * Derives attributes, meta, and relationships from the descriptor configuration.
@@ -117,6 +118,17 @@ let DescriptorBasedSerialiser = class DescriptorBasedSerialiser extends abstract
117
118
  if (relDef.dtoKey && relDef.dtoKey !== relName) {
118
119
  relationship.name = relDef.dtoKey;
119
120
  }
121
+ // Register serializers for polymorphic candidate models and set up dynamic factory
122
+ if (relDef.polymorphic) {
123
+ for (const candidateMeta of relDef.polymorphic.candidates) {
124
+ const candidateModel = registry_1.modelRegistry.get(candidateMeta.nodeName);
125
+ if (candidateModel) {
126
+ this.serialiserFactory.create(candidateModel);
127
+ }
128
+ }
129
+ // Create dynamic factory for polymorphic relationships
130
+ relationship.dynamicFactory = new polymorphic_relationship_factory_1.PolymorphicRelationshipFactory(this.serialiserFactory, relDef.polymorphic);
131
+ }
120
132
  // Add relationship meta for edge properties (stored on the relationship)
121
133
  if (relDef.fields && relDef.fields.length > 0) {
122
134
  if (relDef.cardinality === "one") {
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.based.serialiser.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descriptor.based.serialiser.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBnF,SAAS,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf,OAAO,CAAC,cAAc;IAqBhB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,EAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;YAiDlB,aAAa;YAwKb,qBAAqB;IA6EnC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;CAoBxC"}
1
+ {"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBnF,SAAS,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf,OAAO,CAAC,cAAc;IAehB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,EAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;YAiDlB,aAAa;YA0Lb,qBAAqB;IA6EnC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;CAoBxC"}
@@ -38,16 +38,11 @@ let JsonApiService = class JsonApiService {
38
38
  const url = requestUrl || `${this.apiConfig.url}${builder.endpoint}${builder.endpointParameters}`;
39
39
  return await this.serialise(records, builder.create(), url, paginator);
40
40
  }
41
- _addToIncluded(includedElements, newElements, paginator) {
41
+ _addToIncluded(includedElements, newElements, _paginator) {
42
42
  const uniqueIdentifiers = new Set(includedElements.map((e) => `${e.type}-${e.id}`));
43
43
  newElements.forEach((element) => {
44
- // If include parameter was explicitly specified, filter based on includedType
45
- if (paginator && paginator.includeSpecified) {
46
- if (!paginator.includedType.includes(element.type)) {
47
- return; // Filter out types not in the include parameter
48
- }
49
- }
50
- // If include not specified, allow all types (default behavior)
44
+ // Note: filtering by relationship name now happens in serialiseData
45
+ // when adding to includedElements. We just need to dedupe here.
51
46
  const identifier = `${element.type}-${element.id}`;
52
47
  if (!uniqueIdentifiers.has(identifier)) {
53
48
  includedElements.push(element);
@@ -193,8 +188,15 @@ let JsonApiService = class JsonApiService {
193
188
  }
194
189
  }
195
190
  }
196
- if (!relationship.excluded && additionalIncludeds.length > 0)
191
+ // Only add to included if:
192
+ // 1. include parameter was not specified (include all), OR
193
+ // 2. this relationship is explicitly in the include list
194
+ const relationshipName = relationship.name ?? key;
195
+ const shouldIncludeRelated = !paginator?.includeSpecified ||
196
+ paginator.includedType.some((t) => t.toLowerCase() === relationshipName.toLowerCase());
197
+ if (!relationship.excluded && shouldIncludeRelated && additionalIncludeds.length > 0) {
197
198
  includedElements.push(...additionalIncludeds);
199
+ }
198
200
  serialisedData.relationships[relationship.name ?? key] = resourceLinkage;
199
201
  }
200
202
  else if (manyToManyRelationships.length > 1 &&
@@ -203,8 +205,13 @@ let JsonApiService = class JsonApiService {
203
205
  serialisedData.relationships[relationship.name ?? key] = { data: [] };
204
206
  for (const item of data[manyToManyRelationships[0]]) {
205
207
  const { minimalData, additionalIncludeds } = await this.serialiseRelationship(item[manyToManyRelationships[1]], await relationship.data?.create(), paginator, relationship, item);
206
- if (!relationship.excluded && additionalIncludeds.length > 0)
208
+ // Only add to included if relationship is in the include list
209
+ const m2mRelationshipName = relationship.name ?? key;
210
+ const shouldIncludeM2mRelated = !paginator?.includeSpecified ||
211
+ paginator.includedType.some((t) => t.toLowerCase() === m2mRelationshipName.toLowerCase());
212
+ if (!relationship.excluded && shouldIncludeM2mRelated && additionalIncludeds.length > 0) {
207
213
  includedElements.push(...additionalIncludeds);
214
+ }
208
215
  if (relationship.forceSingle === true) {
209
216
  serialisedData.relationships[relationship.name ?? key] = {
210
217
  data: minimalData,
@@ -1 +1 @@
1
- {"version":3,"file":"jsonapi.service.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonapi.service.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuE;AACvE,2CAA+C;AAC/C,2CAAwC;AAExC,wFAAuG;AAahG,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACmB,iBAA2C,EAC3C,UAAsB,EACtB,aAAiD;QAFjD,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAoC;IACjE,CAAC;IAEJ,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAqB,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW,CAAoC,KAAQ,EAAE,MAAW;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,sBAAa,CAAC,WAAW,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,OAAO,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ;YAC7C,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,MAAM,EAAE,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CACtE,CAAC;QAEJ,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,MAAM,EAAE,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAQ,EACR,OAAc,EACd,SAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC;QAE5D,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,UAAU,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAElG,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEO,cAAc,CAAC,gBAAuB,EAAE,WAAkB,EAAE,UAA6B;QAC/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEpF,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YAEnD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAa,EACb,OAAU,EACV,GAAW,EACX,SAA4B;QAE5B,MAAM,QAAQ,GAAQ;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV;YACD,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,kGAAkG;QAClG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,UAAU,IAAI,SAAS,EAAE,KAAK,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjD,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI;oBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACjD,IAAI,KAAK,CAAC,QAAQ;oBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAEjH,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEzE,IAAI,CAAC,cAAc,CACjB,QAAQ,EACP,EAAY,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EACnF,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChG,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAO,EACP,OAAU,EACV,SAA4B;QAK5B,MAAM,gBAAgB,GAAU,EAAE,CAAC;QACnC,MAAM,cAAc,GAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;QAEF,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YACrC,cAAc,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,EAAE,GAAI,IAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,cAAc,CAAC,KAAK,GAAG;gBACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/B,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC;QAE/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,IAAI,aAAa,CAAC;YAClB,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAC3C,CAAC,aAAoC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAChG,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;oBACxD,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACnD,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAI,IAAY,CAAC,YAAY,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;oBAC7C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,cAAc,CAAC,aAAa,GAAG,EAAE,CAAC;YAElC,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxE,IAAI,eAAe,GAAQ,EAAE,CAAC;gBAC9B,MAAM,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhD,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAQ;wBACvB,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,IAAI;qBAC3C,CAAC;oBAEF,IAAI,CAAC;wBACH,IAAI,OAAO,YAAY,CAAC,kBAAkB,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;4BAC7D,WAAW,CAAC,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,EAAE,GAAI,IAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;wBACrE,CAAC;wBAED,eAAe,GAAG;4BAChB,IAAI,EAAE,WAAW;yBAClB,CAAC;wBACF,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;4BACrD,eAAe,CAAC,KAAK,GAAG;gCACtB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;6BAC1C,CAAC;wBACJ,CAAC;wBAED,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;oBAC3E,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;qBAAM,IAAK,IAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC5F,IAAY,CAAC,GAAG,CAAC,EAClB,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EACjC,SAAS,EACT,YAAY,EACZ,IAAI,CACL,CAAC;oBAEF,eAAe,GAAG,YAAY,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAEvG,IAAI,gBAAgB,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBAC3C,CAAC;yBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAC5D,eAAe,CAAC,KAAK,GAAG;4BACtB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;yBAC1C,CAAC;oBACJ,CAAC;oBAED,4DAA4D;oBAC5D,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;wBACtB,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC;wBAC1B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;4BACrD,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gCACrD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;4BACzE,CAAC;iCAAM,CAAC;gCACN,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAI,IAAY,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;4BAC5E,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,2BAA2B;oBAC3B,2DAA2D;oBAC3D,yDAAyD;oBACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC;oBAClD,MAAM,oBAAoB,GACxB,CAAC,SAAS,EAAE,gBAAgB;wBAC5B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;oBAEzF,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,oBAAoB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrF,gBAAgB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;oBAChD,CAAC;oBAED,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;gBAC3E,CAAC;qBAAM,IACL,uBAAuB,CAAC,MAAM,GAAG,CAAC;oBACjC,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;oBACtD,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EACpD,CAAC;oBACD,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBACtE,KAAK,MAAM,IAAI,IAAK,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC3E,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAChC,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EACjC,SAAS,EACT,YAAY,EACZ,IAAI,CACL,CAAC;wBAEF,8DAA8D;wBAC9D,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC;wBACrD,MAAM,uBAAuB,GAC3B,CAAC,SAAS,EAAE,gBAAgB;4BAC5B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;wBAE5F,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,uBAAuB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxF,gBAAgB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;wBAChD,CAAC;wBAED,IAAI,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;4BACtC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;gCACvD,IAAI,EAAE,WAAW;6BAClB,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEjD,IAAI,OAAO,EAAE,CAAC;wBACZ,eAAe,CAAC,KAAK,GAAG;4BACtB,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,cAAc,CAAC,aAAa,CAAC;QAClG,CAAC;QAED,OAAO;YACL,cAAc,EAAE,cAAc;YAC9B,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAa,EACb,OAAU,EACV,SAA4B,EAC5B,YAAkB,EAClB,YAAkB;QAMlB,MAAM,QAAQ,GAIV;YACF,WAAW,EAAE,SAAgB;YAC7B,gBAAgB,EAAE,SAAgB;YAClC,mBAAmB,EAAE,EAAE;SACxB,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,mDAAmD;YACnD,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAO,EAAE,EAAE;oBACzB,IAAI,CAAC;wBACH,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;wBACtF,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnF,MAAM,aAAa,GAAG,cAAc,IAAI,OAAO,CAAC;wBAChD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3F,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAExG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CACpE,CAAC;gBAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAEhF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3F,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAExG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAEhG,QAAQ,CAAC,WAAW,GAAG;gBACrB,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,EAAE,EAAE,cAAc,CAAC,EAAE;aACtB,CAAC;YAEF,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,gBAAgB,GAAG;oBAC1B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,+BAA+B,CAAC,cAAqB,EAAE,YAAkB,EAAE,YAAkB;QACnG,IAAI,YAAY,EAAE,WAAW,IAAI,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC;YAC5E,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBACvE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAC5C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;4BACtD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;CACF,CAAA;AA/YY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAG2B,qDAAwB;QAC/B,uBAAU;QACP,sBAAa;GAJpC,cAAc,CA+Y1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.repository.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.repository.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,29 @@ class AbstractRepository {
143
143
  // (this)-[:REL]->(related)
144
144
  query += `${matchType} (${nodeName})-${relPattern}->(${relatedNodeName}:${rel.model.labelName})\n`;
145
145
  }
146
+ // Add polymorphic discriminator existence check
147
+ if (rel.polymorphic?.discriminatorRelationship) {
148
+ const discRel = rel.polymorphic.discriminatorRelationship;
149
+ const discDir = rel.polymorphic.discriminatorDirection ?? "out";
150
+ const hasParentAlias = `${relatedNodeName}_hasParent`;
151
+ if (discDir === "out") {
152
+ returnParts.push(`EXISTS((${relatedNodeName})-[:${discRel}]->()) AS ${hasParentAlias}`);
153
+ }
154
+ else {
155
+ returnParts.push(`EXISTS((${relatedNodeName})<-[:${discRel}]-()) AS ${hasParentAlias}`);
156
+ }
157
+ // Optionally fetch the discriminator target (parent) for inclusion
158
+ if (rel.polymorphic.includeDiscriminatorTarget) {
159
+ const discTargetNodeName = `${relatedNodeName}_discTarget`;
160
+ if (discDir === "out") {
161
+ query += `OPTIONAL MATCH (${relatedNodeName})-[:${discRel}]->(${discTargetNodeName}:${rel.model.labelName})\n`;
162
+ }
163
+ else {
164
+ query += `OPTIONAL MATCH (${relatedNodeName})<-[:${discRel}]-(${discTargetNodeName}:${rel.model.labelName})\n`;
165
+ }
166
+ returnParts.push(discTargetNodeName);
167
+ }
168
+ }
146
169
  // Add edge properties handling
147
170
  if (hasFields) {
148
171
  if (rel.cardinality === "one") {
@@ -185,6 +208,7 @@ class AbstractRepository {
185
208
  else {
186
209
  query += `RETURN ${returnParts.join(", ")}`;
187
210
  }
211
+ console.log(`[REPO] buildReturnStatement final query:\n${query}`);
188
212
  return query;
189
213
  }
190
214
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.factory.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/factories/entity.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,qBACa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAEvE,eAAe,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;IAiCnH,OAAO,CAAC,oBAAoB;IA2E5B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,aAAa;IA8HrB,OAAO,CAAC,oBAAoB;IAwK5B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;CAgCpC"}
1
+ {"version":3,"file":"entity.factory.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/factories/entity.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,qBACa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAEvE,eAAe,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;IAiCnH,OAAO,CAAC,oBAAoB;IA2E5B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,aAAa;IA0MrB,OAAO,CAAC,oBAAoB;IAwK5B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;CAgCpC"}
@@ -141,6 +141,9 @@ let EntityFactory = class EntityFactory {
141
141
  let entity = params.nodeMap.get(mapKey);
142
142
  if (!entity) {
143
143
  if (isNode) {
144
+ // Check for polymorphic discriminator data (e.g., skill_taxonomy_hasParent)
145
+ const hasParentKey = `${params.name}_hasParent`;
146
+ const hasParentValue = params.record.has(hasParentKey) ? params.record.get(hasParentKey) : undefined;
144
147
  entity = params.model.mapper({
145
148
  data: {
146
149
  ...data.properties,
@@ -150,6 +153,29 @@ let EntityFactory = class EntityFactory {
150
153
  entityFactory: this,
151
154
  name: params.name,
152
155
  });
156
+ // Add _hasParent AFTER mapper (mapper doesn't preserve unknown properties)
157
+ if (hasParentValue !== undefined) {
158
+ entity._hasParent = hasParentValue;
159
+ }
160
+ // Check for polymorphic discriminator target (parent) in record
161
+ const discTargetKey = `${params.name}_discTarget`;
162
+ if (params.record.has(discTargetKey)) {
163
+ const parentNode = params.record.get(discTargetKey);
164
+ if (parentNode && parentNode.properties) {
165
+ // Create parent entity using same model mapper
166
+ const parentEntity = params.model.mapper({
167
+ data: {
168
+ ...parentNode.properties,
169
+ labels: parentNode.labels,
170
+ },
171
+ record: params.record,
172
+ entityFactory: this,
173
+ name: discTargetKey,
174
+ });
175
+ // Store on entity - polymorphic factory will assign to correct property
176
+ entity._discTarget = parentEntity;
177
+ }
178
+ }
153
179
  }
154
180
  else if (isRelationship) {
155
181
  entity = params.model.mapper({
@@ -168,7 +194,28 @@ let EntityFactory = class EntityFactory {
168
194
  if (!registry_1.modelRegistry)
169
195
  return entity;
170
196
  const model = params.model;
171
- if (model.singleChildrenTokens) {
197
+ // Handle SINGLE relationships - prefer new relationship info if available
198
+ if (model.singleChildrenRelationships && model.singleChildrenRelationships.length > 0) {
199
+ for (const relInfo of model.singleChildrenRelationships) {
200
+ const childModel = registry_1.modelRegistry.get(relInfo.nodeName);
201
+ if (!childModel)
202
+ continue;
203
+ // Use relationship name for Cypher column (matches buildReturnStatement)
204
+ const childName = `${params.name}_${relInfo.relationshipName}`;
205
+ const childEntity = this.createOrMerge({
206
+ model: childModel,
207
+ record: params.record,
208
+ name: childName,
209
+ nodeMap: params.nodeMap,
210
+ });
211
+ if (childEntity) {
212
+ // Use relationship name for property assignment
213
+ entity[relInfo.relationshipName] = childEntity;
214
+ }
215
+ }
216
+ }
217
+ else if (model.singleChildrenTokens) {
218
+ // Fallback for backwards compatibility
172
219
  for (const token of model.singleChildrenTokens) {
173
220
  const childModel = registry_1.modelRegistry.get(token);
174
221
  if (!childModel)
@@ -185,7 +232,34 @@ let EntityFactory = class EntityFactory {
185
232
  }
186
233
  }
187
234
  }
188
- if (model.childrenTokens) {
235
+ // Handle MANY relationships - prefer new relationship info if available
236
+ if (model.childrenRelationships && model.childrenRelationships.length > 0) {
237
+ for (const relInfo of model.childrenRelationships) {
238
+ const childModel = registry_1.modelRegistry.get(relInfo.nodeName);
239
+ if (!childModel)
240
+ continue;
241
+ // Use relationship name for Cypher column (matches buildReturnStatement)
242
+ const childName = `${params.name}_${relInfo.relationshipName}`;
243
+ const childEntity = this.createOrMerge({
244
+ model: childModel,
245
+ record: params.record,
246
+ name: childName,
247
+ nodeMap: params.nodeMap,
248
+ });
249
+ if (childEntity) {
250
+ // Use relationship name for property assignment
251
+ if (!Array.isArray(entity[relInfo.relationshipName])) {
252
+ entity[relInfo.relationshipName] = [];
253
+ }
254
+ const already = entity[relInfo.relationshipName].some((x) => x.id === childEntity.id);
255
+ if (!already) {
256
+ entity[relInfo.relationshipName].push(childEntity);
257
+ }
258
+ }
259
+ }
260
+ }
261
+ else if (model.childrenTokens) {
262
+ // Fallback for backwards compatibility
189
263
  for (const token of model.childrenTokens) {
190
264
  const childModel = registry_1.modelRegistry.get(token);
191
265
  if (!childModel)
@@ -1 +1 @@
1
- {"version":3,"file":"entity.factory.js","sourceRoot":"","sources":["../../../../src/core/neo4j/factories/entity.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.factory.js","sourceRoot":"","sources":["../../../../src/core/neo4j/factories/entity.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,kEAAoE;AACpE,+EAA0E;AAGnE,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAE3E,eAAe,CAAoC,MAAoC;QACrF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;gBACpC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM;gBACN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;gBAC3B,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC;gBACnB,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,oBAAoB,CAAC;gBACxB,MAAM;gBACN,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;QAC3C,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;YACxC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,oBAAoB,CAAC,MAAkD;QAC7E,IAAI,CAAC,wBAAa;YAAE,OAAO;QAE3B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAClD,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACpG,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAE/B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;YAE7C,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEzC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE;oBACJ,EAAE,EAAE,UAAU;oBACd,GAAG,YAAY,CAAC,UAAU;oBAC1B,IAAI,EAAE,YAAY,CAAC,IAAI;iBACxB;gBACD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEnC,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;gBAEjF,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC9D,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC;wBACzD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAE7E,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,QAAQ,GAAG,wBAAa,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC1D,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;wBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC7C,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,SAAiB;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAoC,MAKxD;QACC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAEtD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;QAEhF,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvC,IAAI,MAA0B,CAAC;QAC/B,IAAI,MAA0B,CAAC;QAE/B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,MAAM,GAAG,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAEzC,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,MAAM,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,IAAI,YAAY,CAAC;gBAChD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAErG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3B,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,UAAU;wBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;qBACpB;oBACD,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC;gBACH,2EAA2E;gBAC3E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC;gBACrC,CAAC;gBAED,gEAAgE;gBAChE,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC;gBAClD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACpD,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;wBACxC,+CAA+C;wBAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;4BACvC,IAAI,EAAE;gCACJ,GAAG,UAAU,CAAC,UAAU;gCACxB,MAAM,EAAE,UAAU,CAAC,MAAM;6BAC1B;4BACD,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,aAAa,EAAE,IAAI;4BACnB,IAAI,EAAE,aAAa;yBACpB,CAAC,CAAC;wBACH,wEAAwE;wBACxE,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3B,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM;wBACV,GAAG,IAAI,CAAC,UAAU;wBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB;oBACD,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,wBAAa;YAAE,OAAO,MAAM,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAY,CAAC;QAElC,0EAA0E;QAC1E,IAAI,KAAK,CAAC,2BAA2B,IAAI,KAAK,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,2BAA2B,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAE1B,yEAAyE;gBACzE,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;oBACrC,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;gBAEH,IAAI,WAAW,EAAE,CAAC;oBAChB,gDAAgD;oBAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACtC,uCAAuC;YACvC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAE1B,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;oBACrC,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;gBAEH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAE1B,yEAAyE;gBACzE,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;oBACrC,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;gBAEH,IAAI,WAAW,EAAE,CAAC;oBAChB,gDAAgD;oBAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;wBACrD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;oBACxC,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC3F,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAChC,uCAAuC;YACvC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,wBAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAE1B,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;oBACrC,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;gBAEH,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;oBACtF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,2BAA2B,CAAC;YAC/B,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,IAAI;SACxB,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,oBAAoB,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAoC,MAM/D;QACC,IAAI,CAAC,wBAAa;YAAE,OAAO;QAE3B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAY,CAAC;QAElC,2CAA2C;QAC3C,IAAI,KAAK,CAAC,6BAA6B,EAAE,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,6BAA6B,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;oBAC9D,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,eAAe;iBAChB,CAAC,CAAC;gBAEH,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACrE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;wBACrC,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;oBAEH,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEnF,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;wBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;wBAE7C,yDAAyD;wBACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;wBACzE,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACtD,6CAA6C;4BAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAE1C,IAAI,IAAI,EAAE,CAAC;gCACT,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gCAExD,IAAI,aAAa,EAAE,CAAC;oCAClB,mDAAmD;oCACnD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;wCACrC,KAAK,EAAE,aAAa;wCACpB,MAAM,EAAE,MAAM,CAAC,MAAM;wCACrB,IAAI,EAAE,SAAS;wCACf,OAAO,EAAE,MAAM,CAAC,OAAO;qCACxB,CAAC,CAAC;oCACH,IAAI,WAAW,EAAE,CAAC;wCAChB,4DAA4D;wCAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;4CAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;wCAClC,CAAC;wCACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;wCACrF,IAAI,CAAC,OAAO,EAAE,CAAC;4CACb,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wCAC/C,CAAC;oCACH,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,6BAA6B;oCAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;wCAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oCAClC,CAAC;oCACD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oCACrD,IAAI,aAAa,EAAE,CAAC;wCAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oCACjD,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;oBAC9D,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,eAAe;iBAChB,CAAC,CAAC;gBAEH,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACrE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;wBACrC,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;oBAEH,IAAI,WAAW,EAAE,CAAC;wBAChB,8EAA8E;wBAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;4BAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;wBAClC,CAAC;wBACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;wBACrF,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC/C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEnF,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;wBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;wBAE7C,yDAAyD;wBACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;wBACzE,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACtD,6CAA6C;4BAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAE1C,IAAI,IAAI,EAAE,CAAC;gCACT,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gCAExD,IAAI,aAAa,EAAE,CAAC;oCAClB,mDAAmD;oCACnD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;wCACrC,KAAK,EAAE,aAAa;wCACpB,MAAM,EAAE,MAAM,CAAC,MAAM;wCACrB,IAAI,EAAE,SAAS;wCACf,OAAO,EAAE,MAAM,CAAC,OAAO;qCACxB,CAAC,CAAC;oCACH,IAAI,WAAW,EAAE,CAAC;wCAChB,4DAA4D;wCAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;4CAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;wCAClC,CAAC;wCACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;wCACrF,IAAI,CAAC,OAAO,EAAE,CAAC;4CACb,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wCAC/C,CAAC;oCACH,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,6BAA6B;oCAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;wCAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oCAClC,CAAC;oCACD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oCACrD,IAAI,aAAa,EAAE,CAAC;wCAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oCACjD,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,IAAS;QACtC,IAAI,CAAC,wBAAa;YAAE,OAAO,SAAS,CAAC;QAErC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,wBAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,IAAS;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtB,GAAG,IAAI,CAAC,UAAU;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CAAC,MAAwD;QAC1F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI;YAAE,OAAO;QAEjC,2FAA2F;QAC3F,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;QAChD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC;QAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7D,qCAAqC;gBACrC,wEAAwE;gBACxE,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAErE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAExD,uCAAuC;gBACvC,MAAM,YAAY,GAAwC,EAAE,CAAC;gBAC7D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;wBACpC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAED,kBAAkB;gBAClB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,GAAG,YAAY,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA5iBY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAEwC,6CAAoB;GAD5D,aAAa,CA4iBzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "1.46.0",
3
+ "version": "1.48.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",