jumbo-cli 3.18.0 → 3.20.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 (125) hide show
  1. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.d.ts +6 -0
  2. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.d.ts.map +1 -0
  3. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.js +2 -0
  4. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.js.map +1 -0
  5. package/dist/application/context/relations/audit/AuditRelationsController.d.ts +13 -0
  6. package/dist/application/context/relations/audit/AuditRelationsController.d.ts.map +1 -0
  7. package/dist/application/context/relations/audit/AuditRelationsController.js +15 -0
  8. package/dist/application/context/relations/audit/AuditRelationsController.js.map +1 -0
  9. package/dist/application/context/relations/audit/AuditRelationsRequest.d.ts +6 -0
  10. package/dist/application/context/relations/audit/AuditRelationsRequest.d.ts.map +1 -0
  11. package/dist/application/context/relations/audit/AuditRelationsRequest.js +2 -0
  12. package/dist/application/context/relations/audit/AuditRelationsRequest.js.map +1 -0
  13. package/dist/application/context/relations/audit/DanglingRelationFinding.d.ts +8 -0
  14. package/dist/application/context/relations/audit/DanglingRelationFinding.d.ts.map +1 -0
  15. package/dist/application/context/relations/audit/DanglingRelationFinding.js +2 -0
  16. package/dist/application/context/relations/audit/DanglingRelationFinding.js.map +1 -0
  17. package/dist/application/context/relations/audit/IRelationNodeCatalog.d.ts +5 -0
  18. package/dist/application/context/relations/audit/IRelationNodeCatalog.d.ts.map +1 -0
  19. package/dist/application/context/relations/audit/IRelationNodeCatalog.js +2 -0
  20. package/dist/application/context/relations/audit/IRelationNodeCatalog.js.map +1 -0
  21. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.d.ts +8 -0
  22. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.d.ts.map +1 -0
  23. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.js +2 -0
  24. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.js.map +1 -0
  25. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.d.ts +7 -0
  26. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.d.ts.map +1 -0
  27. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.js +2 -0
  28. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.js.map +1 -0
  29. package/dist/application/context/relations/audit/RelationAuditPolicy.d.ts +15 -0
  30. package/dist/application/context/relations/audit/RelationAuditPolicy.d.ts.map +1 -0
  31. package/dist/application/context/relations/audit/RelationAuditPolicy.js +131 -0
  32. package/dist/application/context/relations/audit/RelationAuditPolicy.js.map +1 -0
  33. package/dist/application/context/relations/audit/RelationAuditResult.d.ts +30 -0
  34. package/dist/application/context/relations/audit/RelationAuditResult.d.ts.map +1 -0
  35. package/dist/application/context/relations/audit/RelationAuditResult.js +2 -0
  36. package/dist/application/context/relations/audit/RelationAuditResult.js.map +1 -0
  37. package/dist/application/context/relations/audit/RelationAuditSummary.d.ts +13 -0
  38. package/dist/application/context/relations/audit/RelationAuditSummary.d.ts.map +1 -0
  39. package/dist/application/context/relations/audit/RelationAuditSummary.js +2 -0
  40. package/dist/application/context/relations/audit/RelationAuditSummary.js.map +1 -0
  41. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.d.ts +8 -0
  42. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.d.ts.map +1 -0
  43. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.js +2 -0
  44. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.js.map +1 -0
  45. package/dist/application/context/relations/path/FindRelationPathController.d.ts +9 -0
  46. package/dist/application/context/relations/path/FindRelationPathController.d.ts.map +1 -0
  47. package/dist/application/context/relations/path/FindRelationPathController.js +9 -0
  48. package/dist/application/context/relations/path/FindRelationPathController.js.map +1 -0
  49. package/dist/application/context/relations/path/FindRelationPathRequest.d.ts +16 -0
  50. package/dist/application/context/relations/path/FindRelationPathRequest.d.ts.map +1 -0
  51. package/dist/application/context/relations/path/FindRelationPathRequest.js +2 -0
  52. package/dist/application/context/relations/path/FindRelationPathRequest.js.map +1 -0
  53. package/dist/application/context/relations/path/IFindRelationPathGateway.d.ts +6 -0
  54. package/dist/application/context/relations/path/IFindRelationPathGateway.d.ts.map +1 -0
  55. package/dist/application/context/relations/path/IFindRelationPathGateway.js +2 -0
  56. package/dist/application/context/relations/path/IFindRelationPathGateway.js.map +1 -0
  57. package/dist/application/context/relations/path/LocalFindRelationPathGateway.d.ts +14 -0
  58. package/dist/application/context/relations/path/LocalFindRelationPathGateway.d.ts.map +1 -0
  59. package/dist/application/context/relations/path/LocalFindRelationPathGateway.js +21 -0
  60. package/dist/application/context/relations/path/LocalFindRelationPathGateway.js.map +1 -0
  61. package/dist/application/context/relations/path/RelationPathQueryMetadata.d.ts +12 -0
  62. package/dist/application/context/relations/path/RelationPathQueryMetadata.d.ts.map +1 -0
  63. package/dist/application/context/relations/path/RelationPathQueryMetadata.js +2 -0
  64. package/dist/application/context/relations/path/RelationPathQueryMetadata.js.map +1 -0
  65. package/dist/application/context/relations/path/RelationPathResult.d.ts +13 -0
  66. package/dist/application/context/relations/path/RelationPathResult.d.ts.map +1 -0
  67. package/dist/application/context/relations/path/RelationPathResult.js +2 -0
  68. package/dist/application/context/relations/path/RelationPathResult.js.map +1 -0
  69. package/dist/application/context/relations/path/RelationShortestPathFinder.d.ts +16 -0
  70. package/dist/application/context/relations/path/RelationShortestPathFinder.d.ts.map +1 -0
  71. package/dist/application/context/relations/path/RelationShortestPathFinder.js +104 -0
  72. package/dist/application/context/relations/path/RelationShortestPathFinder.js.map +1 -0
  73. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.d.ts +7 -6
  74. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.d.ts.map +1 -1
  75. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.js +19 -72
  76. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.js.map +1 -1
  77. package/dist/application/context/relations/traverse/RelationNodeReferenceResolver.d.ts +9 -0
  78. package/dist/application/context/relations/traverse/RelationNodeReferenceResolver.d.ts.map +1 -0
  79. package/dist/application/context/relations/traverse/RelationNodeReferenceResolver.js +29 -0
  80. package/dist/application/context/relations/traverse/RelationNodeReferenceResolver.js.map +1 -0
  81. package/dist/application/context/relations/traverse/RelationTraversalPolicy.d.ts +10 -0
  82. package/dist/application/context/relations/traverse/RelationTraversalPolicy.d.ts.map +1 -0
  83. package/dist/application/context/relations/traverse/RelationTraversalPolicy.js +31 -0
  84. package/dist/application/context/relations/traverse/RelationTraversalPolicy.js.map +1 -0
  85. package/dist/application/context/relations/traverse/RelationTraversalQuery.d.ts +12 -0
  86. package/dist/application/context/relations/traverse/RelationTraversalQuery.d.ts.map +1 -0
  87. package/dist/application/context/relations/traverse/RelationTraversalQuery.js +2 -0
  88. package/dist/application/context/relations/traverse/RelationTraversalQuery.js.map +1 -0
  89. package/dist/application/context/relations/traverse/RelationTraversalQueryNormalizer.d.ts +17 -0
  90. package/dist/application/context/relations/traverse/RelationTraversalQueryNormalizer.d.ts.map +1 -0
  91. package/dist/application/context/relations/traverse/RelationTraversalQueryNormalizer.js +34 -0
  92. package/dist/application/context/relations/traverse/RelationTraversalQueryNormalizer.js.map +1 -0
  93. package/dist/application/host/IApplicationContainer.d.ts +6 -0
  94. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  95. package/dist/domain/relations/Constants.d.ts +8 -0
  96. package/dist/domain/relations/Constants.d.ts.map +1 -1
  97. package/dist/domain/relations/Constants.js +8 -0
  98. package/dist/domain/relations/Constants.js.map +1 -1
  99. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.d.ts +11 -0
  100. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.d.ts.map +1 -0
  101. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.js +36 -0
  102. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.js.map +1 -0
  103. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  104. package/dist/infrastructure/host/HostBuilder.js +22 -1
  105. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  106. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  107. package/dist/presentation/cli/commands/registry/generated-commands.js +12 -0
  108. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  109. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.d.ts +11 -0
  110. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.d.ts.map +1 -0
  111. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.js +91 -0
  112. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.js.map +1 -0
  113. package/dist/presentation/cli/commands/relations/audit/relations.audit.d.ts +8 -0
  114. package/dist/presentation/cli/commands/relations/audit/relations.audit.d.ts.map +1 -0
  115. package/dist/presentation/cli/commands/relations/audit/relations.audit.js +58 -0
  116. package/dist/presentation/cli/commands/relations/audit/relations.audit.js.map +1 -0
  117. package/dist/presentation/cli/commands/relations/path/RelationPathOutputBuilder.d.ts +12 -0
  118. package/dist/presentation/cli/commands/relations/path/RelationPathOutputBuilder.d.ts.map +1 -0
  119. package/dist/presentation/cli/commands/relations/path/RelationPathOutputBuilder.js +96 -0
  120. package/dist/presentation/cli/commands/relations/path/RelationPathOutputBuilder.js.map +1 -0
  121. package/dist/presentation/cli/commands/relations/path/relations.path.d.ts +16 -0
  122. package/dist/presentation/cli/commands/relations/path/relations.path.d.ts.map +1 -0
  123. package/dist/presentation/cli/commands/relations/path/relations.path.js +101 -0
  124. package/dist/presentation/cli/commands/relations/path/relations.path.js.map +1 -0
  125. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
2
+ export interface AmbiguousRelationNodeFinding {
3
+ readonly entityId: string;
4
+ readonly entityTypes: readonly EntityTypeValue[];
5
+ }
6
+ //# sourceMappingURL=AmbiguousRelationNodeFinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmbiguousRelationNodeFinding.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AmbiguousRelationNodeFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AmbiguousRelationNodeFinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmbiguousRelationNodeFinding.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AmbiguousRelationNodeFinding.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { IRelationViewReader } from "../get/IRelationViewReader.js";
2
+ import { AuditRelationsRequest } from "./AuditRelationsRequest.js";
3
+ import { IRelationNodeCatalog } from "./IRelationNodeCatalog.js";
4
+ import { RelationAuditPolicy } from "./RelationAuditPolicy.js";
5
+ import { RelationAuditResult } from "./RelationAuditResult.js";
6
+ export declare class AuditRelationsController {
7
+ private readonly nodeCatalog;
8
+ private readonly relationReader;
9
+ private readonly policy;
10
+ constructor(nodeCatalog: IRelationNodeCatalog, relationReader: IRelationViewReader, policy: RelationAuditPolicy);
11
+ handle(request: AuditRelationsRequest): Promise<RelationAuditResult>;
12
+ }
13
+ //# sourceMappingURL=AuditRelationsController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditRelationsController.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AuditRelationsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EACnC,MAAM,EAAE,mBAAmB;IAGxC,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAO3E"}
@@ -0,0 +1,15 @@
1
+ export class AuditRelationsController {
2
+ constructor(nodeCatalog, relationReader, policy) {
3
+ this.nodeCatalog = nodeCatalog;
4
+ this.relationReader = relationReader;
5
+ this.policy = policy;
6
+ }
7
+ async handle(request) {
8
+ const [nodes, relations] = await Promise.all([
9
+ this.nodeCatalog.findAll(),
10
+ this.relationReader.findAll({ status: "all" }),
11
+ ]);
12
+ return this.policy.audit(nodes, relations, request);
13
+ }
14
+ }
15
+ //# sourceMappingURL=AuditRelationsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditRelationsController.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AuditRelationsController.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,wBAAwB;IACnC,YACmB,WAAiC,EACjC,cAAmC,EACnC,MAA2B;QAF3B,gBAAW,GAAX,WAAW,CAAsB;QACjC,mBAAc,GAAd,cAAc,CAAqB;QACnC,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,OAA8B;QACzC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { EntityTypeValue, RelationAuditCheckValue } from "../../../../domain/relations/Constants.js";
2
+ export interface AuditRelationsRequest {
3
+ readonly checks?: readonly RelationAuditCheckValue[];
4
+ readonly entityType?: EntityTypeValue;
5
+ }
6
+ //# sourceMappingURL=AuditRelationsRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditRelationsRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AuditRelationsRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAErG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AuditRelationsRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditRelationsRequest.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/AuditRelationsRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { RelationNodeReference } from "../get/RelationNodeReference.js";
2
+ export interface DanglingRelationFinding {
3
+ readonly relationId: string;
4
+ readonly from: RelationNodeReference;
5
+ readonly to: RelationNodeReference;
6
+ readonly missingEndpoints: readonly RelationNodeReference[];
7
+ }
8
+ //# sourceMappingURL=DanglingRelationFinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DanglingRelationFinding.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/DanglingRelationFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC7D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DanglingRelationFinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DanglingRelationFinding.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/DanglingRelationFinding.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { RelationNodeCatalogEntry } from "./RelationNodeCatalogEntry.js";
2
+ export interface IRelationNodeCatalog {
3
+ findAll(): Promise<RelationNodeCatalogEntry[]>;
4
+ }
5
+ //# sourceMappingURL=IRelationNodeCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRelationNodeCatalog.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/IRelationNodeCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,OAAO,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;CAChD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRelationNodeCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRelationNodeCatalog.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/IRelationNodeCatalog.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
2
+ export interface InactiveOnlyRelationNodeFinding {
3
+ readonly entityType: EntityTypeValue;
4
+ readonly entityId: string;
5
+ readonly lifecycleState: string;
6
+ readonly relationIds: readonly string[];
7
+ }
8
+ //# sourceMappingURL=InactiveOnlyRelationNodeFinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InactiveOnlyRelationNodeFinding.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/InactiveOnlyRelationNodeFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InactiveOnlyRelationNodeFinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InactiveOnlyRelationNodeFinding.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/InactiveOnlyRelationNodeFinding.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
2
+ export interface IsolatedRelationNodeFinding {
3
+ readonly entityType: EntityTypeValue;
4
+ readonly entityId: string;
5
+ readonly lifecycleState: string;
6
+ }
7
+ //# sourceMappingURL=IsolatedRelationNodeFinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsolatedRelationNodeFinding.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/IsolatedRelationNodeFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IsolatedRelationNodeFinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsolatedRelationNodeFinding.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/IsolatedRelationNodeFinding.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { RelationView } from "../RelationView.js";
2
+ import { AuditRelationsRequest } from "./AuditRelationsRequest.js";
3
+ import { RelationAuditResult } from "./RelationAuditResult.js";
4
+ import { RelationNodeCatalogEntry } from "./RelationNodeCatalogEntry.js";
5
+ export declare class RelationAuditPolicy {
6
+ audit(catalogEntries: readonly RelationNodeCatalogEntry[], relations: readonly RelationView[], request: AuditRelationsRequest): RelationAuditResult;
7
+ private normalizeChecks;
8
+ private validateEntityType;
9
+ private appendRelation;
10
+ private relationMatchesFilter;
11
+ private countBy;
12
+ private nodeKey;
13
+ private compareNodes;
14
+ }
15
+ //# sourceMappingURL=RelationAuditPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditPolicy.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditPolicy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,qBAAa,mBAAmB;IAC9B,KAAK,CACH,cAAc,EAAE,SAAS,wBAAwB,EAAE,EACnD,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,OAAO,EAAE,qBAAqB,GAC7B,mBAAmB;IA0GtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1,131 @@
1
+ import { EntityType, RelationAuditCheck, } from "../../../../domain/relations/Constants.js";
2
+ const ALL_CHECKS = Object.values(RelationAuditCheck);
3
+ export class RelationAuditPolicy {
4
+ audit(catalogEntries, relations, request) {
5
+ const requestedChecks = this.normalizeChecks(request.checks);
6
+ this.validateEntityType(request.entityType);
7
+ const currentNodes = catalogEntries
8
+ .filter((entry) => entry.isCurrent)
9
+ .sort(this.compareNodes);
10
+ const currentKeys = new Set(currentNodes.map((entry) => this.nodeKey(entry.entityType, entry.entityId)));
11
+ const orderedRelations = [...relations].sort((left, right) => left.relationId.localeCompare(right.relationId));
12
+ const activeRelations = orderedRelations.filter((relation) => relation.status === "active");
13
+ const danglingItems = activeRelations
14
+ .map((relation) => {
15
+ const from = { entityType: relation.fromEntityType, entityId: relation.fromEntityId };
16
+ const to = { entityType: relation.toEntityType, entityId: relation.toEntityId };
17
+ const missingEndpoints = [from, to].filter((endpoint) => !currentKeys.has(this.nodeKey(endpoint.entityType, endpoint.entityId)));
18
+ return { relationId: relation.relationId, from, to, missingEndpoints };
19
+ })
20
+ .filter((finding) => finding.missingEndpoints.length > 0)
21
+ .filter((finding) => this.relationMatchesFilter(finding.from.entityType, finding.to.entityType, request.entityType));
22
+ const relationsByNode = new Map();
23
+ for (const relation of orderedRelations) {
24
+ this.appendRelation(relationsByNode, relation.fromEntityType, relation.fromEntityId, relation);
25
+ this.appendRelation(relationsByNode, relation.toEntityType, relation.toEntityId, relation);
26
+ }
27
+ const filteredNodes = currentNodes.filter((node) => !request.entityType || node.entityType === request.entityType);
28
+ const isolatedItems = filteredNodes
29
+ .filter((node) => !(relationsByNode.get(this.nodeKey(node.entityType, node.entityId)) ?? [])
30
+ .some((relation) => relation.status === "active"))
31
+ .map((node) => ({
32
+ entityType: node.entityType,
33
+ entityId: node.entityId,
34
+ lifecycleState: node.lifecycleState,
35
+ }));
36
+ const inactiveOnlyItems = filteredNodes
37
+ .map((node) => ({ node, relations: relationsByNode.get(this.nodeKey(node.entityType, node.entityId)) ?? [] }))
38
+ .filter(({ relations: nodeRelations }) => nodeRelations.length > 0 && nodeRelations.every((relation) => relation.status !== "active"))
39
+ .map(({ node, relations: nodeRelations }) => ({
40
+ entityType: node.entityType,
41
+ entityId: node.entityId,
42
+ lifecycleState: node.lifecycleState,
43
+ relationIds: nodeRelations.map((relation) => relation.relationId).sort(),
44
+ }));
45
+ const nodesById = new Map();
46
+ for (const node of currentNodes) {
47
+ const types = nodesById.get(node.entityId) ?? new Set();
48
+ types.add(node.entityType);
49
+ nodesById.set(node.entityId, types);
50
+ }
51
+ const ambiguousIdItems = [...nodesById.entries()]
52
+ .map(([entityId, types]) => ({ entityId, entityTypes: [...types].sort() }))
53
+ .filter((finding) => finding.entityTypes.length > 1)
54
+ .filter((finding) => !request.entityType || finding.entityTypes.includes(request.entityType))
55
+ .sort((left, right) => left.entityId.localeCompare(right.entityId));
56
+ const summaryNodes = filteredNodes;
57
+ const summaryRelations = orderedRelations.filter((relation) => this.relationMatchesFilter(relation.fromEntityType, relation.toEntityType, request.entityType));
58
+ const summary = requestedChecks.includes(RelationAuditCheck.SUMMARY)
59
+ ? {
60
+ nodes: {
61
+ count: summaryNodes.length,
62
+ byEntityType: this.countBy(summaryNodes.map((node) => node.entityType)),
63
+ },
64
+ relations: {
65
+ count: summaryRelations.length,
66
+ byRelationType: this.countBy(summaryRelations.map((relation) => relation.relationType)),
67
+ byStrength: this.countBy(summaryRelations.map((relation) => relation.strength ?? "unspecified")),
68
+ byStatus: this.countBy(summaryRelations.map((relation) => relation.status)),
69
+ },
70
+ }
71
+ : {
72
+ nodes: { count: 0, byEntityType: {} },
73
+ relations: { count: 0, byRelationType: {}, byStrength: {}, byStatus: {} },
74
+ };
75
+ return {
76
+ requestedChecks,
77
+ entityType: request.entityType ?? null,
78
+ summary,
79
+ findings: {
80
+ dangling: requestedChecks.includes(RelationAuditCheck.DANGLING)
81
+ ? { count: danglingItems.length, items: danglingItems }
82
+ : { count: 0, items: [] },
83
+ isolated: requestedChecks.includes(RelationAuditCheck.ISOLATED)
84
+ ? { count: isolatedItems.length, items: isolatedItems }
85
+ : { count: 0, items: [] },
86
+ inactiveOnly: requestedChecks.includes(RelationAuditCheck.INACTIVE_ONLY)
87
+ ? { count: inactiveOnlyItems.length, items: inactiveOnlyItems }
88
+ : { count: 0, items: [] },
89
+ ambiguousId: requestedChecks.includes(RelationAuditCheck.AMBIGUOUS_ID)
90
+ ? { count: ambiguousIdItems.length, items: ambiguousIdItems }
91
+ : { count: 0, items: [] },
92
+ },
93
+ };
94
+ }
95
+ normalizeChecks(checks) {
96
+ if (!checks || checks.length === 0)
97
+ return [...ALL_CHECKS];
98
+ const invalid = checks.find((check) => !ALL_CHECKS.includes(check));
99
+ if (invalid)
100
+ throw new Error(`Audit check must be one of: ${ALL_CHECKS.join(", ")}.`);
101
+ return ALL_CHECKS.filter((check) => checks.includes(check));
102
+ }
103
+ validateEntityType(entityType) {
104
+ if (entityType && !Object.values(EntityType).includes(entityType)) {
105
+ throw new Error(`Entity type must be one of: ${Object.values(EntityType).join(", ")}.`);
106
+ }
107
+ }
108
+ appendRelation(target, entityType, entityId, relation) {
109
+ const key = this.nodeKey(entityType, entityId);
110
+ const current = target.get(key) ?? [];
111
+ if (!current.some((item) => item.relationId === relation.relationId))
112
+ current.push(relation);
113
+ target.set(key, current);
114
+ }
115
+ relationMatchesFilter(fromEntityType, toEntityType, filter) {
116
+ return !filter || fromEntityType === filter || toEntityType === filter;
117
+ }
118
+ countBy(values) {
119
+ return [...values].sort().reduce((counts, value) => {
120
+ counts[value] = (counts[value] ?? 0) + 1;
121
+ return counts;
122
+ }, {});
123
+ }
124
+ nodeKey(entityType, entityId) {
125
+ return `${entityType}\u0000${entityId}`;
126
+ }
127
+ compareNodes(left, right) {
128
+ return left.entityType.localeCompare(right.entityType) || left.entityId.localeCompare(right.entityId);
129
+ }
130
+ }
131
+ //# sourceMappingURL=RelationAuditPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditPolicy.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { EntityTypeValue, RelationAuditCheckValue } from "../../../../domain/relations/Constants.js";
2
+ import { AmbiguousRelationNodeFinding } from "./AmbiguousRelationNodeFinding.js";
3
+ import { DanglingRelationFinding } from "./DanglingRelationFinding.js";
4
+ import { InactiveOnlyRelationNodeFinding } from "./InactiveOnlyRelationNodeFinding.js";
5
+ import { IsolatedRelationNodeFinding } from "./IsolatedRelationNodeFinding.js";
6
+ import { RelationAuditSummary } from "./RelationAuditSummary.js";
7
+ export interface RelationAuditResult {
8
+ readonly requestedChecks: readonly RelationAuditCheckValue[];
9
+ readonly entityType: EntityTypeValue | null;
10
+ readonly summary: RelationAuditSummary;
11
+ readonly findings: {
12
+ readonly dangling: {
13
+ readonly count: number;
14
+ readonly items: readonly DanglingRelationFinding[];
15
+ };
16
+ readonly isolated: {
17
+ readonly count: number;
18
+ readonly items: readonly IsolatedRelationNodeFinding[];
19
+ };
20
+ readonly inactiveOnly: {
21
+ readonly count: number;
22
+ readonly items: readonly InactiveOnlyRelationNodeFinding[];
23
+ };
24
+ readonly ambiguousId: {
25
+ readonly count: number;
26
+ readonly items: readonly AmbiguousRelationNodeFinding[];
27
+ };
28
+ };
29
+ }
30
+ //# sourceMappingURL=RelationAuditResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditResult.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,eAAe,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAA;SAAE,CAAC;QAClG,QAAQ,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,2BAA2B,EAAE,CAAA;SAAE,CAAC;QACtG,QAAQ,CAAC,YAAY,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,+BAA+B,EAAE,CAAA;SAAE,CAAC;QAC9G,QAAQ,CAAC,WAAW,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,4BAA4B,EAAE,CAAA;SAAE,CAAC;KAC3G,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationAuditResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditResult.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditResult.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface RelationAuditSummary {
2
+ readonly nodes: {
3
+ readonly count: number;
4
+ readonly byEntityType: Readonly<Record<string, number>>;
5
+ };
6
+ readonly relations: {
7
+ readonly count: number;
8
+ readonly byRelationType: Readonly<Record<string, number>>;
9
+ readonly byStrength: Readonly<Record<string, number>>;
10
+ readonly byStatus: Readonly<Record<string, number>>;
11
+ };
12
+ }
13
+ //# sourceMappingURL=RelationAuditSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditSummary.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditSummary.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACzD,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACrD,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationAuditSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationAuditSummary.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationAuditSummary.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
2
+ export interface RelationNodeCatalogEntry {
3
+ readonly entityType: EntityTypeValue;
4
+ readonly entityId: string;
5
+ readonly lifecycleState: string;
6
+ readonly isCurrent: boolean;
7
+ }
8
+ //# sourceMappingURL=RelationNodeCatalogEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationNodeCatalogEntry.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationNodeCatalogEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationNodeCatalogEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationNodeCatalogEntry.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/audit/RelationNodeCatalogEntry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { FindRelationPathRequest } from "./FindRelationPathRequest.js";
2
+ import { IFindRelationPathGateway } from "./IFindRelationPathGateway.js";
3
+ import { RelationPathResult } from "./RelationPathResult.js";
4
+ export declare class FindRelationPathController {
5
+ private readonly gateway;
6
+ constructor(gateway: IFindRelationPathGateway);
7
+ handle(request: FindRelationPathRequest): Promise<RelationPathResult>;
8
+ }
9
+ //# sourceMappingURL=FindRelationPathController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindRelationPathController.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/FindRelationPathController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,wBAAwB;IAExD,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAG5E"}
@@ -0,0 +1,9 @@
1
+ export class FindRelationPathController {
2
+ constructor(gateway) {
3
+ this.gateway = gateway;
4
+ }
5
+ async handle(request) {
6
+ return this.gateway.findPath(request);
7
+ }
8
+ }
9
+ //# sourceMappingURL=FindRelationPathController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindRelationPathController.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/FindRelationPathController.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,0BAA0B;IACrC,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAElE,KAAK,CAAC,MAAM,CAAC,OAAgC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import { EntityTypeValue, RelationStrengthValue } from "../../../../domain/relations/Constants.js";
2
+ import { RelationDirection } from "../get/RelationDirection.js";
3
+ import { RelationStatusFilter } from "../get/RelationStatusFilter.js";
4
+ export interface FindRelationPathRequest {
5
+ readonly fromEntityId: string;
6
+ readonly fromEntityType?: EntityTypeValue;
7
+ readonly toEntityId: string;
8
+ readonly toEntityType?: EntityTypeValue;
9
+ readonly maxDepth?: number;
10
+ readonly direction?: RelationDirection;
11
+ readonly relationType?: string;
12
+ readonly relatedEntityType?: EntityTypeValue;
13
+ readonly strength?: RelationStrengthValue;
14
+ readonly status?: RelationStatusFilter;
15
+ }
16
+ //# sourceMappingURL=FindRelationPathRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindRelationPathRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/FindRelationPathRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FindRelationPathRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindRelationPathRequest.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/FindRelationPathRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { FindRelationPathRequest } from "./FindRelationPathRequest.js";
2
+ import { RelationPathResult } from "./RelationPathResult.js";
3
+ export interface IFindRelationPathGateway {
4
+ findPath(request: FindRelationPathRequest): Promise<RelationPathResult>;
5
+ }
6
+ //# sourceMappingURL=IFindRelationPathGateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFindRelationPathGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/IFindRelationPathGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IFindRelationPathGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFindRelationPathGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/IFindRelationPathGateway.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { RelationNodeReferenceResolver } from "../traverse/RelationNodeReferenceResolver.js";
2
+ import { RelationTraversalQueryNormalizer } from "../traverse/RelationTraversalQueryNormalizer.js";
3
+ import { FindRelationPathRequest } from "./FindRelationPathRequest.js";
4
+ import { IFindRelationPathGateway } from "./IFindRelationPathGateway.js";
5
+ import { RelationPathResult } from "./RelationPathResult.js";
6
+ import { RelationShortestPathFinder } from "./RelationShortestPathFinder.js";
7
+ export declare class LocalFindRelationPathGateway implements IFindRelationPathGateway {
8
+ private readonly nodeResolver;
9
+ private readonly queryNormalizer;
10
+ private readonly shortestPathFinder;
11
+ constructor(nodeResolver: RelationNodeReferenceResolver, queryNormalizer: RelationTraversalQueryNormalizer, shortestPathFinder: RelationShortestPathFinder);
12
+ findPath(request: FindRelationPathRequest): Promise<RelationPathResult>;
13
+ }
14
+ //# sourceMappingURL=LocalFindRelationPathGateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalFindRelationPathGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/LocalFindRelationPathGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,qBAAa,4BAA6B,YAAW,wBAAwB;IAEzE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,YAAY,EAAE,6BAA6B,EAC3C,eAAe,EAAE,gCAAgC,EACjD,kBAAkB,EAAE,0BAA0B;IAG3D,QAAQ,CACZ,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;CA2B/B"}
@@ -0,0 +1,21 @@
1
+ export class LocalFindRelationPathGateway {
2
+ constructor(nodeResolver, queryNormalizer, shortestPathFinder) {
3
+ this.nodeResolver = nodeResolver;
4
+ this.queryNormalizer = queryNormalizer;
5
+ this.shortestPathFinder = shortestPathFinder;
6
+ }
7
+ async findPath(request) {
8
+ const query = this.queryNormalizer.normalize({
9
+ depth: request.maxDepth,
10
+ direction: request.direction,
11
+ relationType: request.relationType,
12
+ relatedEntityType: request.relatedEntityType,
13
+ strength: request.strength,
14
+ status: request.status,
15
+ }, 5);
16
+ const from = await this.nodeResolver.resolve(request.fromEntityId, request.fromEntityType, "--from-type", "From entity");
17
+ const to = await this.nodeResolver.resolve(request.toEntityId, request.toEntityType, "--to-type", "To entity");
18
+ return this.shortestPathFinder.find(from, to, query);
19
+ }
20
+ }
21
+ //# sourceMappingURL=LocalFindRelationPathGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalFindRelationPathGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/LocalFindRelationPathGateway.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,4BAA4B;IACvC,YACmB,YAA2C,EAC3C,eAAiD,EACjD,kBAA8C;QAF9C,iBAAY,GAAZ,YAAY,CAA+B;QAC3C,oBAAe,GAAf,eAAe,CAAkC;QACjD,uBAAkB,GAAlB,kBAAkB,CAA4B;IAC9D,CAAC;IAEJ,KAAK,CAAC,QAAQ,CACZ,OAAgC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAC1C;YACE,KAAK,EAAE,OAAO,CAAC,QAAQ;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,EACD,CAAC,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC1C,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,cAAc,EACtB,aAAa,EACb,aAAa,CACd,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACxC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,EACpB,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { EntityTypeValue, RelationStrengthValue } from "../../../../domain/relations/Constants.js";
2
+ import { RelationDirection } from "../get/RelationDirection.js";
3
+ import { RelationStatusFilter } from "../get/RelationStatusFilter.js";
4
+ export interface RelationPathQueryMetadata {
5
+ readonly maxDepth: number;
6
+ readonly direction: RelationDirection;
7
+ readonly relationType?: string;
8
+ readonly entityType?: EntityTypeValue;
9
+ readonly strength?: RelationStrengthValue;
10
+ readonly status: RelationStatusFilter;
11
+ }
12
+ //# sourceMappingURL=RelationPathQueryMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationPathQueryMetadata.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/RelationPathQueryMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationPathQueryMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationPathQueryMetadata.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/path/RelationPathQueryMetadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { RelationView } from "../RelationView.js";
2
+ import { RelationNodeReference } from "../get/RelationNodeReference.js";
3
+ import { RelationPathQueryMetadata } from "./RelationPathQueryMetadata.js";
4
+ export interface RelationPathResult {
5
+ readonly found: boolean;
6
+ readonly from: RelationNodeReference;
7
+ readonly to: RelationNodeReference;
8
+ readonly hopCount: number;
9
+ readonly nodes: RelationNodeReference[];
10
+ readonly edges: RelationView[];
11
+ readonly query: RelationPathQueryMetadata;
12
+ }
13
+ //# sourceMappingURL=RelationPathResult.d.ts.map