jumbo-cli 3.16.1 → 3.18.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 (235) hide show
  1. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.d.ts.map +1 -1
  2. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.js +2 -4
  3. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.js.map +1 -1
  4. package/dist/application/context/audiences/add/AddAudienceCommandHandler.d.ts.map +1 -1
  5. package/dist/application/context/audiences/add/AddAudienceCommandHandler.js +2 -4
  6. package/dist/application/context/audiences/add/AddAudienceCommandHandler.js.map +1 -1
  7. package/dist/application/context/components/add/AddComponentCommandHandler.d.ts.map +1 -1
  8. package/dist/application/context/components/add/AddComponentCommandHandler.js +2 -3
  9. package/dist/application/context/components/add/AddComponentCommandHandler.js.map +1 -1
  10. package/dist/application/context/decisions/add/AddDecisionCommandHandler.d.ts.map +1 -1
  11. package/dist/application/context/decisions/add/AddDecisionCommandHandler.js +2 -3
  12. package/dist/application/context/decisions/add/AddDecisionCommandHandler.js.map +1 -1
  13. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.d.ts.map +1 -1
  14. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.js +4 -6
  15. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.js.map +1 -1
  16. package/dist/application/context/dependencies/add/IDependencyAddReader.d.ts +1 -0
  17. package/dist/application/context/dependencies/add/IDependencyAddReader.d.ts.map +1 -1
  18. package/dist/application/context/goals/add/AddGoalCommandHandler.d.ts.map +1 -1
  19. package/dist/application/context/goals/add/AddGoalCommandHandler.js +2 -4
  20. package/dist/application/context/goals/add/AddGoalCommandHandler.js.map +1 -1
  21. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.d.ts.map +1 -1
  22. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js +2 -3
  23. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js.map +1 -1
  24. package/dist/application/context/invariants/add/AddInvariantCommandHandler.d.ts.map +1 -1
  25. package/dist/application/context/invariants/add/AddInvariantCommandHandler.js +2 -3
  26. package/dist/application/context/invariants/add/AddInvariantCommandHandler.js.map +1 -1
  27. package/dist/application/context/project/init/InitializeProjectCommandHandler.js +2 -2
  28. package/dist/application/context/project/init/InitializeProjectCommandHandler.js.map +1 -1
  29. package/dist/application/context/relations/add/AddRelationCommandHandler.d.ts.map +1 -1
  30. package/dist/application/context/relations/add/AddRelationCommandHandler.js +2 -4
  31. package/dist/application/context/relations/add/AddRelationCommandHandler.js.map +1 -1
  32. package/dist/application/context/relations/get/GetRelationsRequest.d.ts +10 -2
  33. package/dist/application/context/relations/get/GetRelationsRequest.d.ts.map +1 -1
  34. package/dist/application/context/relations/get/IRelationViewReader.d.ts +4 -6
  35. package/dist/application/context/relations/get/IRelationViewReader.d.ts.map +1 -1
  36. package/dist/application/context/relations/get/LocalGetRelationsGateway.d.ts +1 -0
  37. package/dist/application/context/relations/get/LocalGetRelationsGateway.d.ts.map +1 -1
  38. package/dist/application/context/relations/get/LocalGetRelationsGateway.js +30 -0
  39. package/dist/application/context/relations/get/LocalGetRelationsGateway.js.map +1 -1
  40. package/dist/application/context/relations/get/RelationDirection.d.ts +2 -0
  41. package/dist/application/context/relations/get/RelationDirection.d.ts.map +1 -0
  42. package/dist/application/context/relations/get/RelationDirection.js +2 -0
  43. package/dist/application/context/relations/get/RelationDirection.js.map +1 -0
  44. package/dist/application/context/relations/get/RelationListFilter.d.ts +15 -0
  45. package/dist/application/context/relations/get/RelationListFilter.d.ts.map +1 -0
  46. package/dist/application/context/relations/get/RelationListFilter.js +2 -0
  47. package/dist/application/context/relations/get/RelationListFilter.js.map +1 -0
  48. package/dist/application/context/relations/get/RelationNodeReference.d.ts +6 -0
  49. package/dist/application/context/relations/get/RelationNodeReference.d.ts.map +1 -0
  50. package/dist/application/context/relations/get/RelationNodeReference.js +2 -0
  51. package/dist/application/context/relations/get/RelationNodeReference.js.map +1 -0
  52. package/dist/application/context/relations/get/RelationStatusFilter.d.ts +2 -0
  53. package/dist/application/context/relations/get/RelationStatusFilter.d.ts.map +1 -0
  54. package/dist/application/context/relations/get/RelationStatusFilter.js +2 -0
  55. package/dist/application/context/relations/get/RelationStatusFilter.js.map +1 -0
  56. package/dist/application/context/relations/traverse/ITraverseRelationsGateway.d.ts +6 -0
  57. package/dist/application/context/relations/traverse/ITraverseRelationsGateway.d.ts.map +1 -0
  58. package/dist/application/context/relations/traverse/ITraverseRelationsGateway.js +2 -0
  59. package/dist/application/context/relations/traverse/ITraverseRelationsGateway.js.map +1 -0
  60. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.d.ts +17 -0
  61. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.d.ts.map +1 -0
  62. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.js +138 -0
  63. package/dist/application/context/relations/traverse/LocalTraverseRelationsGateway.js.map +1 -0
  64. package/dist/application/context/relations/traverse/RelationTraversalNode.d.ts +5 -0
  65. package/dist/application/context/relations/traverse/RelationTraversalNode.d.ts.map +1 -0
  66. package/dist/application/context/relations/traverse/RelationTraversalNode.js +2 -0
  67. package/dist/application/context/relations/traverse/RelationTraversalNode.js.map +1 -0
  68. package/dist/application/context/relations/traverse/RelationTraversalResult.d.ts +13 -0
  69. package/dist/application/context/relations/traverse/RelationTraversalResult.d.ts.map +1 -0
  70. package/dist/application/context/relations/traverse/RelationTraversalResult.js +2 -0
  71. package/dist/application/context/relations/traverse/RelationTraversalResult.js.map +1 -0
  72. package/dist/application/context/relations/traverse/TraverseRelationsController.d.ts +9 -0
  73. package/dist/application/context/relations/traverse/TraverseRelationsController.d.ts.map +1 -0
  74. package/dist/application/context/relations/traverse/TraverseRelationsController.js +9 -0
  75. package/dist/application/context/relations/traverse/TraverseRelationsController.js.map +1 -0
  76. package/dist/application/context/relations/traverse/TraverseRelationsRequest.d.ts +15 -0
  77. package/dist/application/context/relations/traverse/TraverseRelationsRequest.d.ts.map +1 -0
  78. package/dist/application/context/relations/traverse/TraverseRelationsRequest.js +2 -0
  79. package/dist/application/context/relations/traverse/TraverseRelationsRequest.js.map +1 -0
  80. package/dist/application/context/sessions/start/StartSessionCommandHandler.d.ts.map +1 -1
  81. package/dist/application/context/sessions/start/StartSessionCommandHandler.js +2 -4
  82. package/dist/application/context/sessions/start/StartSessionCommandHandler.js.map +1 -1
  83. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.d.ts.map +1 -1
  84. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.js +2 -3
  85. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.js.map +1 -1
  86. package/dist/application/host/IApplicationContainer.d.ts +2 -0
  87. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  88. package/dist/application/host/workers/WorkerId.d.ts +2 -13
  89. package/dist/application/host/workers/WorkerId.d.ts.map +1 -1
  90. package/dist/application/host/workers/WorkerId.js +2 -1
  91. package/dist/application/host/workers/WorkerId.js.map +1 -1
  92. package/dist/domain/audience-pains/AudiencePain.d.ts +3 -2
  93. package/dist/domain/audience-pains/AudiencePain.d.ts.map +1 -1
  94. package/dist/domain/audience-pains/AudiencePain.js +3 -2
  95. package/dist/domain/audience-pains/AudiencePain.js.map +1 -1
  96. package/dist/domain/audience-pains/AudiencePainId.d.ts +4 -0
  97. package/dist/domain/audience-pains/AudiencePainId.d.ts.map +1 -0
  98. package/dist/domain/audience-pains/AudiencePainId.js +3 -0
  99. package/dist/domain/audience-pains/AudiencePainId.js.map +1 -0
  100. package/dist/domain/audiences/Audience.d.ts +3 -2
  101. package/dist/domain/audiences/Audience.d.ts.map +1 -1
  102. package/dist/domain/audiences/Audience.js +3 -2
  103. package/dist/domain/audiences/Audience.js.map +1 -1
  104. package/dist/domain/audiences/AudienceId.d.ts +4 -0
  105. package/dist/domain/audiences/AudienceId.d.ts.map +1 -0
  106. package/dist/domain/audiences/AudienceId.js +3 -0
  107. package/dist/domain/audiences/AudienceId.js.map +1 -0
  108. package/dist/domain/components/Component.d.ts +3 -2
  109. package/dist/domain/components/Component.d.ts.map +1 -1
  110. package/dist/domain/components/Component.js +3 -2
  111. package/dist/domain/components/Component.js.map +1 -1
  112. package/dist/domain/components/ComponentId.d.ts +4 -0
  113. package/dist/domain/components/ComponentId.d.ts.map +1 -0
  114. package/dist/domain/components/ComponentId.js +3 -0
  115. package/dist/domain/components/ComponentId.js.map +1 -0
  116. package/dist/domain/decisions/Decision.d.ts +3 -2
  117. package/dist/domain/decisions/Decision.d.ts.map +1 -1
  118. package/dist/domain/decisions/Decision.js +3 -2
  119. package/dist/domain/decisions/Decision.js.map +1 -1
  120. package/dist/domain/decisions/DecisionId.d.ts +4 -0
  121. package/dist/domain/decisions/DecisionId.d.ts.map +1 -0
  122. package/dist/domain/decisions/DecisionId.js +3 -0
  123. package/dist/domain/decisions/DecisionId.js.map +1 -0
  124. package/dist/domain/dependencies/Dependency.d.ts +3 -2
  125. package/dist/domain/dependencies/Dependency.d.ts.map +1 -1
  126. package/dist/domain/dependencies/Dependency.js +3 -2
  127. package/dist/domain/dependencies/Dependency.js.map +1 -1
  128. package/dist/domain/dependencies/DependencyId.d.ts +4 -0
  129. package/dist/domain/dependencies/DependencyId.d.ts.map +1 -0
  130. package/dist/domain/dependencies/DependencyId.js +3 -0
  131. package/dist/domain/dependencies/DependencyId.js.map +1 -0
  132. package/dist/domain/goals/Goal.d.ts +3 -2
  133. package/dist/domain/goals/Goal.d.ts.map +1 -1
  134. package/dist/domain/goals/Goal.js +3 -2
  135. package/dist/domain/goals/Goal.js.map +1 -1
  136. package/dist/domain/goals/GoalId.d.ts +4 -0
  137. package/dist/domain/goals/GoalId.d.ts.map +1 -0
  138. package/dist/domain/goals/GoalId.js +3 -0
  139. package/dist/domain/goals/GoalId.js.map +1 -0
  140. package/dist/domain/guidelines/Guideline.d.ts +3 -2
  141. package/dist/domain/guidelines/Guideline.d.ts.map +1 -1
  142. package/dist/domain/guidelines/Guideline.js +3 -2
  143. package/dist/domain/guidelines/Guideline.js.map +1 -1
  144. package/dist/domain/guidelines/GuidelineId.d.ts +4 -0
  145. package/dist/domain/guidelines/GuidelineId.d.ts.map +1 -0
  146. package/dist/domain/guidelines/GuidelineId.js +3 -0
  147. package/dist/domain/guidelines/GuidelineId.js.map +1 -0
  148. package/dist/domain/identity/DomainIdentity.d.ts +13 -0
  149. package/dist/domain/identity/DomainIdentity.d.ts.map +1 -0
  150. package/dist/domain/identity/DomainIdentity.js +16 -0
  151. package/dist/domain/identity/DomainIdentity.js.map +1 -0
  152. package/dist/domain/invariants/Invariant.d.ts +3 -2
  153. package/dist/domain/invariants/Invariant.d.ts.map +1 -1
  154. package/dist/domain/invariants/Invariant.js +3 -2
  155. package/dist/domain/invariants/Invariant.js.map +1 -1
  156. package/dist/domain/invariants/InvariantId.d.ts +4 -0
  157. package/dist/domain/invariants/InvariantId.d.ts.map +1 -0
  158. package/dist/domain/invariants/InvariantId.js +3 -0
  159. package/dist/domain/invariants/InvariantId.js.map +1 -0
  160. package/dist/domain/project/Project.d.ts +3 -2
  161. package/dist/domain/project/Project.d.ts.map +1 -1
  162. package/dist/domain/project/Project.js +3 -2
  163. package/dist/domain/project/Project.js.map +1 -1
  164. package/dist/domain/project/ProjectId.d.ts +4 -0
  165. package/dist/domain/project/ProjectId.d.ts.map +1 -0
  166. package/dist/domain/project/ProjectId.js +3 -0
  167. package/dist/domain/project/ProjectId.js.map +1 -0
  168. package/dist/domain/relations/Relation.d.ts +3 -2
  169. package/dist/domain/relations/Relation.d.ts.map +1 -1
  170. package/dist/domain/relations/Relation.js +3 -2
  171. package/dist/domain/relations/Relation.js.map +1 -1
  172. package/dist/domain/relations/RelationId.d.ts +4 -0
  173. package/dist/domain/relations/RelationId.d.ts.map +1 -0
  174. package/dist/domain/relations/RelationId.js +3 -0
  175. package/dist/domain/relations/RelationId.js.map +1 -0
  176. package/dist/domain/sessions/Session.d.ts +3 -2
  177. package/dist/domain/sessions/Session.d.ts.map +1 -1
  178. package/dist/domain/sessions/Session.js +3 -2
  179. package/dist/domain/sessions/Session.js.map +1 -1
  180. package/dist/domain/sessions/SessionId.d.ts +4 -0
  181. package/dist/domain/sessions/SessionId.d.ts.map +1 -0
  182. package/dist/domain/sessions/SessionId.js +3 -0
  183. package/dist/domain/sessions/SessionId.js.map +1 -0
  184. package/dist/domain/value-propositions/ValueProposition.d.ts +2 -1
  185. package/dist/domain/value-propositions/ValueProposition.d.ts.map +1 -1
  186. package/dist/domain/value-propositions/ValueProposition.js +3 -2
  187. package/dist/domain/value-propositions/ValueProposition.js.map +1 -1
  188. package/dist/domain/value-propositions/ValuePropositionId.d.ts +4 -0
  189. package/dist/domain/value-propositions/ValuePropositionId.d.ts.map +1 -0
  190. package/dist/domain/value-propositions/ValuePropositionId.js +3 -0
  191. package/dist/domain/value-propositions/ValuePropositionId.js.map +1 -0
  192. package/dist/domain/value-propositions/ValuePropositionProjection.d.ts +3 -3
  193. package/dist/domain/value-propositions/ValuePropositionProjection.d.ts.map +1 -1
  194. package/dist/domain/value-propositions/ValuePropositionProjection.js.map +1 -1
  195. package/dist/domain/workers/WorkerId.d.ts +4 -0
  196. package/dist/domain/workers/WorkerId.d.ts.map +1 -0
  197. package/dist/domain/workers/WorkerId.js +3 -0
  198. package/dist/domain/workers/WorkerId.js.map +1 -0
  199. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.d.ts +1 -0
  200. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.d.ts.map +1 -1
  201. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.js +9 -0
  202. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.js.map +1 -1
  203. package/dist/infrastructure/context/relations/get/SqliteRelationViewReader.d.ts +7 -1
  204. package/dist/infrastructure/context/relations/get/SqliteRelationViewReader.d.ts.map +1 -1
  205. package/dist/infrastructure/context/relations/get/SqliteRelationViewReader.js +75 -12
  206. package/dist/infrastructure/context/relations/get/SqliteRelationViewReader.js.map +1 -1
  207. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  208. package/dist/infrastructure/host/HostBuilder.js +5 -0
  209. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  210. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.d.ts.map +1 -1
  211. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.js +2 -2
  212. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.js.map +1 -1
  213. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.d.ts.map +1 -1
  214. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.js +2 -2
  215. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.js.map +1 -1
  216. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  217. package/dist/presentation/cli/commands/registry/generated-commands.js +6 -0
  218. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  219. package/dist/presentation/cli/commands/relations/list/RelationListOutputBuilder.d.ts +2 -5
  220. package/dist/presentation/cli/commands/relations/list/RelationListOutputBuilder.d.ts.map +1 -1
  221. package/dist/presentation/cli/commands/relations/list/RelationListOutputBuilder.js +15 -1
  222. package/dist/presentation/cli/commands/relations/list/RelationListOutputBuilder.js.map +1 -1
  223. package/dist/presentation/cli/commands/relations/list/relations.list.d.ts +4 -0
  224. package/dist/presentation/cli/commands/relations/list/relations.list.d.ts.map +1 -1
  225. package/dist/presentation/cli/commands/relations/list/relations.list.js +35 -12
  226. package/dist/presentation/cli/commands/relations/list/relations.list.js.map +1 -1
  227. package/dist/presentation/cli/commands/relations/traverse/RelationTraverseOutputBuilder.d.ts +13 -0
  228. package/dist/presentation/cli/commands/relations/traverse/RelationTraverseOutputBuilder.d.ts.map +1 -0
  229. package/dist/presentation/cli/commands/relations/traverse/RelationTraverseOutputBuilder.js +95 -0
  230. package/dist/presentation/cli/commands/relations/traverse/RelationTraverseOutputBuilder.js.map +1 -0
  231. package/dist/presentation/cli/commands/relations/traverse/relations.traverse.d.ts +15 -0
  232. package/dist/presentation/cli/commands/relations/traverse/relations.traverse.d.ts.map +1 -0
  233. package/dist/presentation/cli/commands/relations/traverse/relations.traverse.js +66 -0
  234. package/dist/presentation/cli/commands/relations/traverse/relations.traverse.js.map +1 -0
  235. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AddAudiencePainCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/audience-pains/add/AddAudiencePainCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,qBAAa,6BAA6B;IAEtC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,6BAA6B,EAC1C,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAkB5E"}
1
+ {"version":3,"file":"AddAudiencePainCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/audience-pains/add/AddAudiencePainCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,qBAAa,6BAA6B;IAEtC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,6BAA6B,EAC1C,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAgB5E"}
@@ -8,17 +8,15 @@
8
8
  * 4. Publishes event to event bus for projection updates
9
9
  */
10
10
  import { AudiencePain } from "../../../../domain/audience-pains/AudiencePain.js";
11
- import { IdGenerator } from "../../../identity/IdGenerator.js";
12
11
  export class AddAudiencePainCommandHandler {
13
12
  constructor(eventWriter, eventBus) {
14
13
  this.eventWriter = eventWriter;
15
14
  this.eventBus = eventBus;
16
15
  }
17
16
  async execute(command) {
18
- // Generate unique ID for new pain
19
- const painId = IdGenerator.generate();
20
17
  // 1. Create new aggregate
21
- const pain = AudiencePain.create(painId);
18
+ const pain = AudiencePain.create();
19
+ const painId = pain.snapshot.id;
22
20
  // 2. Domain logic produces event
23
21
  const event = pain.add(command.title, command.description);
24
22
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddAudiencePainCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/audience-pains/add/AddAudiencePainCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,6BAA6B;IACxC,YACmB,WAA0C,EAC1C,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA+B;QAC1C,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,kCAAkC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3D,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"AddAudiencePainCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/audience-pains/add/AddAudiencePainCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEjF,MAAM,OAAO,6BAA6B;IACxC,YACmB,WAA0C,EAC1C,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA+B;QAC1C,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,0BAA0B;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEhC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3D,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddAudienceCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/audiences/add/AddAudienceCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB5E"}
1
+ {"version":3,"file":"AddAudienceCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/audiences/add/AddAudienceCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAoB5E"}
@@ -8,17 +8,15 @@
8
8
  * 4. Publishes event to event bus for projection updates
9
9
  */
10
10
  import { Audience } from "../../../../domain/audiences/Audience.js";
11
- import { IdGenerator } from "../../../identity/IdGenerator.js";
12
11
  export class AddAudienceCommandHandler {
13
12
  constructor(eventWriter, eventBus) {
14
13
  this.eventWriter = eventWriter;
15
14
  this.eventBus = eventBus;
16
15
  }
17
16
  async execute(command) {
18
- // Generate unique ID for new audience
19
- const audienceId = IdGenerator.generate();
20
17
  // 1. Create new aggregate
21
- const audience = Audience.create(audienceId);
18
+ const audience = Audience.create();
19
+ const audienceId = audience.snapshot.id;
22
20
  // 2. Domain logic produces event
23
21
  const event = audience.add(command.name, command.description, command.priority);
24
22
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddAudienceCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/audiences/add/AddAudienceCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,sCAAsC;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE1C,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"AddAudienceCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/audiences/add/AddAudienceCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEpE,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAExC,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddComponentCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/components/add/AddComponentCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAK5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,mBAAmB;IAGxC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAyC9E"}
1
+ {"version":3,"file":"AddComponentCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/components/add/AddComponentCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,mBAAmB;IAGxC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAyC9E"}
@@ -1,5 +1,4 @@
1
1
  import { Component } from "../../../../domain/components/Component.js";
2
- import { IdGenerator } from "../../../identity/IdGenerator.js";
3
2
  export class AddComponentCommandHandler {
4
3
  constructor(eventWriter, eventBus, reader) {
5
4
  this.eventWriter = eventWriter;
@@ -20,8 +19,8 @@ export class AddComponentCommandHandler {
20
19
  }
21
20
  else {
22
21
  // Create new component
23
- componentId = IdGenerator.generate();
24
- const component = Component.create(componentId);
22
+ const component = Component.create();
23
+ componentId = component.snapshot.id;
25
24
  event = component.add(command.name, command.type, command.description, command.responsibility, command.path);
26
25
  }
27
26
  // Persist event
@@ -1 +1 @@
1
- {"version":3,"file":"AddComponentCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/components/add/AddComponentCommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB,EACnB,MAA2B;QAF3B,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAK,CAAC;QAEV,IAAI,QAAQ,EAAE,CAAC;YACb,kDAAkD;YAClD,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,OAA2B,CAAC,CAAC;YAEhF,KAAK,GAAG,SAAS,CAAC,MAAM,CACtB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhD,KAAK,GAAG,SAAS,CAAC,GAAG,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,IAAI,CACb,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,uBAAuB;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"AddComponentCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/components/add/AddComponentCommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAGvE,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB,EACnB,MAA2B;QAF3B,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAK,CAAC;QAEV,IAAI,QAAQ,EAAE,CAAC;YACb,kDAAkD;YAClD,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,OAA2B,CAAC,CAAC;YAEhF,KAAK,GAAG,SAAS,CAAC,MAAM,CACtB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAEpC,KAAK,GAAG,SAAS,CAAC,GAAG,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,IAAI,CACb,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,uBAAuB;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddDecisionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/decisions/add/AddDecisionCommandHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D;;;GAGG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB5E"}
1
+ {"version":3,"file":"AddDecisionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/decisions/add/AddDecisionCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D;;;GAGG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB5E"}
@@ -1,4 +1,3 @@
1
- import { IdGenerator } from "../../../identity/IdGenerator.js";
2
1
  import { Decision } from "../../../../domain/decisions/Decision.js";
3
2
  /**
4
3
  * Application layer handler for the AddDecision command.
@@ -11,8 +10,8 @@ export class AddDecisionCommandHandler {
11
10
  }
12
11
  async execute(command) {
13
12
  // 1. Create new aggregate with unique ID
14
- const decisionId = IdGenerator.generate();
15
- const decision = Decision.create(decisionId);
13
+ const decision = Decision.create();
14
+ const decisionId = decision.snapshot.id;
16
15
  // 2. Domain logic produces event
17
16
  const event = decision.add(command.title, command.context, command.rationale, command.alternatives, command.consequences);
18
17
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddDecisionCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/decisions/add/AddDecisionCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAI/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAGpE;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,yCAAyC;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,CACC,CAAC;QAExB,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"AddDecisionCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/decisions/add/AddDecisionCommandHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAGpE;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,yCAAyC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAExC,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,CACC,CAAC;QAExB,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddDependencyCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/AddDependencyCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;GAGG;AACH,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,WAAW,EAAE,2BAA2B,EACxC,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,oBAAoB;IAGnD,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC/E,OAAO,CAAC,eAAe;CAiBxB"}
1
+ {"version":3,"file":"AddDependencyCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/AddDependencyCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;GAGG;AACH,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,WAAW,EAAE,2BAA2B,EACxC,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,oBAAoB;IAGnD,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAkC/E,OAAO,CAAC,eAAe;CAiBxB"}
@@ -11,15 +11,13 @@ export class AddDependencyCommandHandler {
11
11
  }
12
12
  async execute(command) {
13
13
  const identity = this.resolveIdentity(command);
14
- const dependencyId = `dep_${identity.ecosystem}_${identity.packageName}`.toLowerCase().replace(/[^a-z0-9_]/g, '_');
15
- // Check if dependency already exists (idempotent behavior)
16
- const existingDependency = await this.dependencyReader.findById(dependencyId);
14
+ const existingDependency = await this.dependencyReader.findByIdentity(identity.ecosystem, identity.packageName);
17
15
  if (existingDependency) {
18
- // Silently succeed - idempotent operation
19
- return { dependencyId };
16
+ return { dependencyId: existingDependency.dependencyId };
20
17
  }
21
18
  // 1. Create new aggregate
22
- const dependency = Dependency.create(dependencyId);
19
+ const dependency = Dependency.create();
20
+ const dependencyId = dependency.snapshot.id;
23
21
  // 2. Domain logic produces event
24
22
  const event = dependency.add(identity.name, identity.ecosystem, identity.packageName, identity.versionConstraint, command.endpoint, command.contract);
25
23
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddDependencyCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/AddDependencyCommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IACtC,YACmB,WAAwC,EACxC,QAAmB,EACnB,gBAAsC;QAFtC,gBAAW,GAAX,WAAW,CAA6B;QACxC,aAAQ,GAAR,QAAQ,CAAW;QACnB,qBAAgB,GAAhB,gBAAgB,CAAsB;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA6B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnH,2DAA2D;QAC3D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9E,IAAI,kBAAkB,EAAE,CAAC;YACvB,0CAA0C;YAC1C,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEnD,iCAAiC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,iBAAiB,EAC1B,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,OAA6B;QAMnD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;SACrD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"AddDependencyCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/AddDependencyCommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IACtC,YACmB,WAAwC,EACxC,QAAmB,EACnB,gBAAsC;QAFtC,gBAAW,GAAX,WAAW,CAA6B;QACxC,aAAQ,GAAR,QAAQ,CAAW;QACnB,qBAAgB,GAAhB,gBAAgB,CAAsB;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA6B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACnE,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,CACrB,CAAC;QACF,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAC3D,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE5C,iCAAiC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,iBAAiB,EAC1B,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,OAA6B;QAMnD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;SACrD,CAAC;IACJ,CAAC;CACF"}
@@ -5,5 +5,6 @@ import { DependencyView } from "../DependencyView.js";
5
5
  */
6
6
  export interface IDependencyAddReader {
7
7
  findById(dependencyId: string): Promise<DependencyView | null>;
8
+ findByIdentity(ecosystem: string, packageName: string): Promise<DependencyView | null>;
8
9
  }
9
10
  //# sourceMappingURL=IDependencyAddReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDependencyAddReader.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/IDependencyAddReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"IDependencyAddReader.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/dependencies/add/IDependencyAddReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/D,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddGoalCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/goals/add/AddGoalCommandHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBALX,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,SAAS,EAEnB,iBAAiB,CAAC,EAAE,uBAAuB,YAAA,EAC3C,iBAAiB,CAAC,EAAE,uBAAuB,YAAA,EAC3C,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAG3C,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAkCnE;;;OAGG;YACW,4BAA4B;CAmC3C"}
1
+ {"version":3,"file":"AddGoalCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/goals/add/AddGoalCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBALX,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,SAAS,EAEnB,iBAAiB,CAAC,EAAE,uBAAuB,YAAA,EAC3C,iBAAiB,CAAC,EAAE,uBAAuB,YAAA,EAC3C,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAG3C,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAgCnE;;;OAGG;YACW,4BAA4B;CAmC3C"}
@@ -1,4 +1,3 @@
1
- import { IdGenerator } from "../../../identity/IdGenerator.js";
2
1
  import { Goal } from "../../../../domain/goals/Goal.js";
3
2
  import { GoalErrorMessages, formatErrorMessage } from "../../../../domain/goals/Constants.js";
4
3
  /**
@@ -19,10 +18,9 @@ export class AddGoalCommandHandler {
19
18
  this.goalReader = goalReader;
20
19
  }
21
20
  async execute(command) {
22
- // Generate new goal ID (handler owns ID generation)
23
- const goalId = IdGenerator.generate();
24
21
  // Create new aggregate
25
- const goal = Goal.create(goalId);
22
+ const goal = Goal.create();
23
+ const goalId = goal.snapshot.id;
26
24
  // Domain logic produces event
27
25
  const event = goal.add(command.title, command.objective, command.successCriteria, command.scopeIn, command.scopeOut, command.nextGoalId, command.prerequisiteGoals, command.branch, command.worktree);
28
26
  // Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddGoalCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/add/AddGoalCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAO/D,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC,YACmB,WAAkC,EAClC,QAAmB;IACpC,mEAAmE;IAClD,iBAA2C,EAC3C,iBAA2C,EAC3C,UAA8B;QAL9B,gBAAW,GAAX,WAAW,CAAuB;QAClC,aAAQ,GAAR,QAAQ,CAAW;QAEnB,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,eAAU,GAAV,UAAU,CAAoB;IAC9C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,oDAAoD;QACpD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEtC,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,8BAA8B;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,mEAAmE;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,yFAAyF;QACzF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,4BAA4B,CAAC,cAAsB,EAAE,SAAiB;QAClF,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBAC9C,MAAM,EAAE,cAAc;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE7D,wCAAwC;QACxC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QAEF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"AddGoalCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/add/AddGoalCommandHandler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC,YACmB,WAAkC,EAClC,QAAmB;IACpC,mEAAmE;IAClD,iBAA2C,EAC3C,iBAA2C,EAC3C,UAA8B;QAL9B,gBAAW,GAAX,WAAW,CAAuB;QAClC,aAAQ,GAAR,QAAQ,CAAW;QAEnB,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,eAAU,GAAV,UAAU,CAAoB;IAC9C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEhC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,8BAA8B;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,mEAAmE;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,yFAAyF;QACzF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,4BAA4B,CAAC,cAAsB,EAAE,SAAiB;QAClF,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBAC9C,MAAM,EAAE,cAAc;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE7D,wCAAwC;QACxC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QAEF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddGuidelineCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/guidelines/add/AddGuidelineCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB9E"}
1
+ {"version":3,"file":"AddGuidelineCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/guidelines/add/AddGuidelineCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB9E"}
@@ -5,7 +5,6 @@
5
5
  * Orchestrates the flow: create aggregate, apply business logic, persist event, publish to bus.
6
6
  */
7
7
  import { Guideline } from "../../../../domain/guidelines/Guideline.js";
8
- import { IdGenerator } from "../../../identity/IdGenerator.js";
9
8
  export class AddGuidelineCommandHandler {
10
9
  constructor(eventWriter, eventBus) {
11
10
  this.eventWriter = eventWriter;
@@ -13,8 +12,8 @@ export class AddGuidelineCommandHandler {
13
12
  }
14
13
  async execute(command) {
15
14
  // 1. Create new aggregate
16
- const guidelineId = IdGenerator.generate();
17
- const guideline = Guideline.create(guidelineId);
15
+ const guideline = Guideline.create();
16
+ const guidelineId = guideline.snapshot.id;
18
17
  // 2. Domain logic produces event
19
18
  const event = guideline.add(command.category, command.title, command.description, command.rationale, command.examples);
20
19
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddGuidelineCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/guidelines/add/AddGuidelineCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,0BAA0B;QAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,iCAAiC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,0BAA0B;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"AddGuidelineCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/guidelines/add/AddGuidelineCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAEvE,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,0BAA0B;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE1C,iCAAiC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,0BAA0B;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddInvariantCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/invariants/add/AddInvariantCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,0BAA0B,EACvC,eAAe,EAAE,mBAAmB,EACpC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CA0B9E"}
1
+ {"version":3,"file":"AddInvariantCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/invariants/add/AddInvariantCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,0BAA0B,EACvC,eAAe,EAAE,mBAAmB,EACpC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CA0B9E"}
@@ -9,7 +9,6 @@
9
9
  * 5. Publishes event to event bus for projection updates
10
10
  */
11
11
  import { Invariant } from "../../../../domain/invariants/Invariant.js";
12
- import { IdGenerator } from "../../../identity/IdGenerator.js";
13
12
  export class AddInvariantCommandHandler {
14
13
  constructor(eventWriter, invariantReader, eventBus) {
15
14
  this.eventWriter = eventWriter;
@@ -23,8 +22,8 @@ export class AddInvariantCommandHandler {
23
22
  throw new Error(`Invariant with title "${command.title}" already exists`);
24
23
  }
25
24
  // 1. Create new aggregate
26
- const invariantId = IdGenerator.generate();
27
- const invariant = Invariant.create(invariantId);
25
+ const invariant = Invariant.create();
26
+ const invariantId = invariant.snapshot.id;
28
27
  // 2. Domain logic produces event
29
28
  const event = invariant.add(command.title, command.description, command.rationale);
30
29
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddInvariantCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/invariants/add/AddInvariantCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,eAAoC,EACpC,QAAmB;QAFnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,oBAAe,GAAf,eAAe,CAAqB;QACpC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,iCAAiC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"AddInvariantCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/invariants/add/AddInvariantCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAEvE,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,eAAoC,EACpC,QAAmB;QAFnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,oBAAe,GAAf,eAAe,CAAqB;QACpC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE1C,iCAAiC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -30,8 +30,8 @@ export class InitializeProjectCommandHandler {
30
30
  throw new Error(ProjectErrorMessages.ALREADY_INITIALIZED);
31
31
  }
32
32
  // 1. Create new aggregate
33
- const projectId = this.projectIdentityResolver.generateProjectId();
34
- const project = Project.create(projectId);
33
+ const project = Project.create();
34
+ const projectId = project.snapshot.id;
35
35
  // 2. Domain logic produces event
36
36
  const event = project.initialize(command.name, command.purpose);
37
37
  // 3. Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeProjectCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,OAAO,+BAA+B;IAC1C,YACmB,WAA2C,EAC3C,QAAmB,EACnB,MAA0B,EAC1B,iBAAqC,EACrC,mBAAyC,EACzC,iBAAqC,EACrC,uBAAiD;QANjD,gBAAW,GAAX,WAAW,CAAgC;QAC3C,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,4BAAuB,GAAvB,uBAAuB,CAA0B;IACjE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAAiC,EACjC,WAAmB,EACnB,gBAAqC;QAErC,iDAAiD;QACjD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAC9B,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,uEAAuE;QACvE,MAAM,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/D,2CAA2C;QAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEzD,kDAAkD;QAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEtF,mEAAmE;QACnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"InitializeProjectCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,OAAO,+BAA+B;IAC1C,YACmB,WAA2C,EAC3C,QAAmB,EACnB,MAA0B,EAC1B,iBAAqC,EACrC,mBAAyC,EACzC,iBAAqC,EACrC,uBAAiD;QANjD,gBAAW,GAAX,WAAW,CAAgC;QAC3C,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,4BAAuB,GAAvB,uBAAuB,CAA0B;IACjE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAAiC,EACjC,WAAmB,EACnB,gBAAqC;QAErC,iDAAiD;QACjD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEtC,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAC9B,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,uEAAuE;QACvE,MAAM,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/D,2CAA2C;QAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEzD,kDAAkD;QAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEtF,mEAAmE;QACnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddRelationCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/add/AddRelationCommandHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;;GAIG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAwC5E"}
1
+ {"version":3,"file":"AddRelationCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/add/AddRelationCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;;GAIG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAsC5E"}
@@ -1,4 +1,3 @@
1
- import { IdGenerator } from "../../../identity/IdGenerator.js";
2
1
  import { Relation } from "../../../../domain/relations/Relation.js";
3
2
  /**
4
3
  * Handles adding a new relation.
@@ -18,10 +17,9 @@ export class AddRelationCommandHandler {
18
17
  // Relation already exists - idempotent: just return the existing ID
19
18
  return { relationId: existingRelation.relationId };
20
19
  }
21
- // Generate new relation ID
22
- const relationId = IdGenerator.generate();
23
20
  // Create new aggregate
24
- const relation = Relation.create(relationId);
21
+ const relation = Relation.create();
22
+ const relationId = relation.snapshot.id;
25
23
  // Domain logic produces event
26
24
  const event = relation.add(command.fromEntityType, command.fromEntityId, command.toEntityType, command.toEntityId, command.relationType, command.description, command.strength);
27
25
  // Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"AddRelationCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/add/AddRelationCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAK/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEpE;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB,EACnB,MAA4B;QAF5B,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAsB;IAC5C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CACvD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACrB,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,oEAAoE;YACpE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACrD,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE1C,uBAAuB;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,8BAA8B;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,8BAA8B;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,mEAAmE;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"AddRelationCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/add/AddRelationCommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEpE;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IACpC,YACmB,WAAsC,EACtC,QAAmB,EACnB,MAA4B;QAF5B,gBAAW,GAAX,WAAW,CAA2B;QACtC,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAsB;IAC5C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CACvD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACrB,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,oEAAoE;YACpE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACrD,CAAC;QAED,uBAAuB;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAExC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,8BAA8B;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,mEAAmE;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -1,7 +1,15 @@
1
- import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
1
+ import { EntityTypeValue, RelationStrengthValue } from "../../../../domain/relations/Constants.js";
2
+ import { RelationDirection } from "./RelationDirection.js";
3
+ import { RelationStatusFilter } from "./RelationStatusFilter.js";
4
+ import { RelationNodeReference } from "./RelationNodeReference.js";
2
5
  export interface GetRelationsRequest {
6
+ readonly entity?: RelationNodeReference;
3
7
  readonly entityType?: EntityTypeValue;
4
8
  readonly entityId?: string;
5
- readonly status: "active" | "deactivated" | "removed" | "all";
9
+ readonly direction?: RelationDirection;
10
+ readonly relationType?: string;
11
+ readonly relatedEntityType?: EntityTypeValue;
12
+ readonly strength?: RelationStrengthValue;
13
+ readonly status: RelationStatusFilter;
6
14
  }
7
15
  //# sourceMappingURL=GetRelationsRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetRelationsRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/GetRelationsRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;CAC/D"}
1
+ {"version":3,"file":"GetRelationsRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/GetRelationsRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,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,EAAE,oBAAoB,CAAC;CACvC"}
@@ -2,13 +2,9 @@
2
2
  * Port interface for listing relations from the projection store.
3
3
  * Used by ListRelationsQueryHandler to retrieve relation list with optional filtering.
4
4
  */
5
- import { RelationView } from "../RelationView.js";
6
5
  import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
7
- export interface RelationListFilter {
8
- entityType?: EntityTypeValue;
9
- entityId?: string;
10
- status?: "active" | "deactivated" | "removed" | "all";
11
- }
6
+ import { RelationView } from "../RelationView.js";
7
+ import { RelationListFilter } from "./RelationListFilter.js";
12
8
  export interface IRelationViewReader {
13
9
  /**
14
10
  * Retrieves all relations, optionally filtered by entity or status.
@@ -16,5 +12,7 @@ export interface IRelationViewReader {
16
12
  * @returns Array of relation views ordered by creation date
17
13
  */
18
14
  findAll(filter?: RelationListFilter): Promise<RelationView[]>;
15
+ /** Returns the distinct projection endpoint types associated with an entity ID. */
16
+ findEndpointTypes(entityId: string): Promise<EntityTypeValue[]>;
19
17
  }
20
18
  //# sourceMappingURL=IRelationViewReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IRelationViewReader.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/IRelationViewReader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;CACvD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC/D"}
1
+ {"version":3,"file":"IRelationViewReader.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/IRelationViewReader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE9D,mFAAmF;IACnF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACjE"}
@@ -6,5 +6,6 @@ export declare class LocalGetRelationsGateway implements IGetRelationsGateway {
6
6
  private readonly relationViewReader;
7
7
  constructor(relationViewReader: IRelationViewReader);
8
8
  getRelations(request: GetRelationsRequest): Promise<GetRelationsResponse>;
9
+ private validate;
9
10
  }
10
11
  //# sourceMappingURL=LocalGetRelationsGateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalGetRelationsGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/LocalGetRelationsGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,oBAAoB;IAEjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,mBAAmB;IAGpD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAQhF"}
1
+ {"version":3,"file":"LocalGetRelationsGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/LocalGetRelationsGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,qBAAa,wBAAyB,YAAW,oBAAoB;IAEjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,mBAAmB;IAGpD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoB/E,OAAO,CAAC,QAAQ;CAoBjB"}
@@ -1,14 +1,44 @@
1
+ import { EntityType, RelationStrength } from "../../../../domain/relations/Constants.js";
1
2
  export class LocalGetRelationsGateway {
2
3
  constructor(relationViewReader) {
3
4
  this.relationViewReader = relationViewReader;
4
5
  }
5
6
  async getRelations(request) {
7
+ this.validate(request);
8
+ const entity = request.entity ?? (request.entityType && request.entityId
9
+ ? { entityType: request.entityType, entityId: request.entityId }
10
+ : undefined);
6
11
  const relations = await this.relationViewReader.findAll({
12
+ entity,
7
13
  entityType: request.entityType,
8
14
  entityId: request.entityId,
15
+ direction: request.direction,
16
+ relationType: request.relationType,
17
+ relatedEntityType: request.relatedEntityType,
18
+ strength: request.strength,
9
19
  status: request.status,
10
20
  });
11
21
  return { relations };
12
22
  }
23
+ validate(request) {
24
+ if (request.direction && !["in", "out", "both"].includes(request.direction)) {
25
+ throw new Error("Direction must be one of: in, out, both.");
26
+ }
27
+ if (!["active", "deactivated", "removed", "all"].includes(request.status)) {
28
+ throw new Error("Status must be one of: active, deactivated, removed, all.");
29
+ }
30
+ if (request.entityType && !Object.values(EntityType).includes(request.entityType)) {
31
+ throw new Error(`Entity type must be one of: ${Object.values(EntityType).join(", ")}.`);
32
+ }
33
+ if (request.entity && !Object.values(EntityType).includes(request.entity.entityType)) {
34
+ throw new Error(`Entity type must be one of: ${Object.values(EntityType).join(", ")}.`);
35
+ }
36
+ if (request.relatedEntityType && !Object.values(EntityType).includes(request.relatedEntityType)) {
37
+ throw new Error(`Related entity type must be one of: ${Object.values(EntityType).join(", ")}.`);
38
+ }
39
+ if (request.strength && !Object.values(RelationStrength).includes(request.strength)) {
40
+ throw new Error("Strength must be one of: strong, medium, weak.");
41
+ }
42
+ }
13
43
  }
14
44
  //# sourceMappingURL=LocalGetRelationsGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalGetRelationsGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/LocalGetRelationsGateway.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,wBAAwB;IACnC,YACmB,kBAAuC;QAAvC,uBAAkB,GAAlB,kBAAkB,CAAqB;IACvD,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACtD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"LocalGetRelationsGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/LocalGetRelationsGateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAEzF,MAAM,OAAO,wBAAwB;IACnC,YACmB,kBAAuC;QAAvC,uBAAkB,GAAlB,kBAAkB,CAAqB;IACvD,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAC/B,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAChE,CAAC,CAAC,SAAS,CACd,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACtD,MAAM;YACN,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,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,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAEO,QAAQ,CAAC,OAA4B;QAC3C,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export type RelationDirection = "in" | "out" | "both";
2
+ //# sourceMappingURL=RelationDirection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationDirection.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationDirection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationDirection.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationDirection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { EntityTypeValue, RelationStrengthValue } from "../../../../domain/relations/Constants.js";
2
+ import { RelationDirection } from "./RelationDirection.js";
3
+ import { RelationStatusFilter } from "./RelationStatusFilter.js";
4
+ import { RelationNodeReference } from "./RelationNodeReference.js";
5
+ export interface RelationListFilter {
6
+ readonly entity?: RelationNodeReference;
7
+ readonly entityType?: EntityTypeValue;
8
+ readonly entityId?: string;
9
+ readonly direction?: RelationDirection;
10
+ readonly relationType?: string;
11
+ readonly relatedEntityType?: EntityTypeValue;
12
+ readonly strength?: RelationStrengthValue;
13
+ readonly status?: RelationStatusFilter;
14
+ }
15
+ //# sourceMappingURL=RelationListFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationListFilter.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationListFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,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=RelationListFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationListFilter.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationListFilter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
2
+ export interface RelationNodeReference {
3
+ readonly entityType: EntityTypeValue;
4
+ readonly entityId: string;
5
+ }
6
+ //# sourceMappingURL=RelationNodeReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationNodeReference.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationNodeReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationNodeReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationNodeReference.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationNodeReference.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type RelationStatusFilter = "active" | "deactivated" | "removed" | "all";
2
+ //# sourceMappingURL=RelationStatusFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationStatusFilter.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationStatusFilter.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationStatusFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationStatusFilter.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/get/RelationStatusFilter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { RelationTraversalResult } from "./RelationTraversalResult.js";
2
+ import { TraverseRelationsRequest } from "./TraverseRelationsRequest.js";
3
+ export interface ITraverseRelationsGateway {
4
+ traverse(request: TraverseRelationsRequest): Promise<RelationTraversalResult>;
5
+ }
6
+ //# sourceMappingURL=ITraverseRelationsGateway.d.ts.map