jumbo-cli 3.16.0 → 3.17.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 (225) hide show
  1. package/dist/application/agents/AgentInvocation.d.ts +5 -0
  2. package/dist/application/agents/AgentInvocation.d.ts.map +1 -1
  3. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.d.ts.map +1 -1
  4. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.js +2 -4
  5. package/dist/application/context/audience-pains/add/AddAudiencePainCommandHandler.js.map +1 -1
  6. package/dist/application/context/audiences/add/AddAudienceCommandHandler.d.ts.map +1 -1
  7. package/dist/application/context/audiences/add/AddAudienceCommandHandler.js +2 -4
  8. package/dist/application/context/audiences/add/AddAudienceCommandHandler.js.map +1 -1
  9. package/dist/application/context/components/add/AddComponentCommandHandler.d.ts.map +1 -1
  10. package/dist/application/context/components/add/AddComponentCommandHandler.js +2 -3
  11. package/dist/application/context/components/add/AddComponentCommandHandler.js.map +1 -1
  12. package/dist/application/context/decisions/add/AddDecisionCommandHandler.d.ts.map +1 -1
  13. package/dist/application/context/decisions/add/AddDecisionCommandHandler.js +2 -3
  14. package/dist/application/context/decisions/add/AddDecisionCommandHandler.js.map +1 -1
  15. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.d.ts.map +1 -1
  16. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.js +4 -6
  17. package/dist/application/context/dependencies/add/AddDependencyCommandHandler.js.map +1 -1
  18. package/dist/application/context/dependencies/add/IDependencyAddReader.d.ts +1 -0
  19. package/dist/application/context/dependencies/add/IDependencyAddReader.d.ts.map +1 -1
  20. package/dist/application/context/goals/add/AddGoalCommandHandler.d.ts.map +1 -1
  21. package/dist/application/context/goals/add/AddGoalCommandHandler.js +2 -4
  22. package/dist/application/context/goals/add/AddGoalCommandHandler.js.map +1 -1
  23. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts +1 -1
  24. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts.map +1 -1
  25. package/dist/application/context/goals/codify/CodifierProcessManager.js +48 -39
  26. package/dist/application/context/goals/codify/CodifierProcessManager.js.map +1 -1
  27. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts +1 -1
  28. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts.map +1 -1
  29. package/dist/application/context/goals/refine/RefinerProcessManager.js +53 -37
  30. package/dist/application/context/goals/refine/RefinerProcessManager.js.map +1 -1
  31. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts +1 -2
  32. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts.map +1 -1
  33. package/dist/application/context/goals/review/ReviewerProcessManager.js +54 -57
  34. package/dist/application/context/goals/review/ReviewerProcessManager.js.map +1 -1
  35. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.d.ts.map +1 -1
  36. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js +2 -3
  37. package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js.map +1 -1
  38. package/dist/application/context/invariants/add/AddInvariantCommandHandler.d.ts.map +1 -1
  39. package/dist/application/context/invariants/add/AddInvariantCommandHandler.js +2 -3
  40. package/dist/application/context/invariants/add/AddInvariantCommandHandler.js.map +1 -1
  41. package/dist/application/context/project/init/InitializeProjectCommandHandler.js +2 -2
  42. package/dist/application/context/project/init/InitializeProjectCommandHandler.js.map +1 -1
  43. package/dist/application/context/relations/add/AddRelationCommandHandler.d.ts.map +1 -1
  44. package/dist/application/context/relations/add/AddRelationCommandHandler.js +2 -4
  45. package/dist/application/context/relations/add/AddRelationCommandHandler.js.map +1 -1
  46. package/dist/application/context/sessions/start/StartSessionCommandHandler.d.ts.map +1 -1
  47. package/dist/application/context/sessions/start/StartSessionCommandHandler.js +2 -4
  48. package/dist/application/context/sessions/start/StartSessionCommandHandler.js.map +1 -1
  49. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.d.ts.map +1 -1
  50. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.js +2 -3
  51. package/dist/application/context/value-propositions/add/AddValuePropositionCommandHandler.js.map +1 -1
  52. package/dist/application/daemons/IProcessManager.d.ts +3 -0
  53. package/dist/application/daemons/IProcessManager.d.ts.map +1 -1
  54. package/dist/application/daemons/ProcessManagerEventEmitter.d.ts +12 -0
  55. package/dist/application/daemons/ProcessManagerEventEmitter.d.ts.map +1 -0
  56. package/dist/application/daemons/ProcessManagerEventEmitter.js +49 -0
  57. package/dist/application/daemons/ProcessManagerEventEmitter.js.map +1 -0
  58. package/dist/application/host/workers/WorkerId.d.ts +2 -13
  59. package/dist/application/host/workers/WorkerId.d.ts.map +1 -1
  60. package/dist/application/host/workers/WorkerId.js +2 -1
  61. package/dist/application/host/workers/WorkerId.js.map +1 -1
  62. package/dist/domain/audience-pains/AudiencePain.d.ts +3 -2
  63. package/dist/domain/audience-pains/AudiencePain.d.ts.map +1 -1
  64. package/dist/domain/audience-pains/AudiencePain.js +3 -2
  65. package/dist/domain/audience-pains/AudiencePain.js.map +1 -1
  66. package/dist/domain/audience-pains/AudiencePainId.d.ts +4 -0
  67. package/dist/domain/audience-pains/AudiencePainId.d.ts.map +1 -0
  68. package/dist/domain/audience-pains/AudiencePainId.js +3 -0
  69. package/dist/domain/audience-pains/AudiencePainId.js.map +1 -0
  70. package/dist/domain/audiences/Audience.d.ts +3 -2
  71. package/dist/domain/audiences/Audience.d.ts.map +1 -1
  72. package/dist/domain/audiences/Audience.js +3 -2
  73. package/dist/domain/audiences/Audience.js.map +1 -1
  74. package/dist/domain/audiences/AudienceId.d.ts +4 -0
  75. package/dist/domain/audiences/AudienceId.d.ts.map +1 -0
  76. package/dist/domain/audiences/AudienceId.js +3 -0
  77. package/dist/domain/audiences/AudienceId.js.map +1 -0
  78. package/dist/domain/components/Component.d.ts +3 -2
  79. package/dist/domain/components/Component.d.ts.map +1 -1
  80. package/dist/domain/components/Component.js +3 -2
  81. package/dist/domain/components/Component.js.map +1 -1
  82. package/dist/domain/components/ComponentId.d.ts +4 -0
  83. package/dist/domain/components/ComponentId.d.ts.map +1 -0
  84. package/dist/domain/components/ComponentId.js +3 -0
  85. package/dist/domain/components/ComponentId.js.map +1 -0
  86. package/dist/domain/decisions/Decision.d.ts +3 -2
  87. package/dist/domain/decisions/Decision.d.ts.map +1 -1
  88. package/dist/domain/decisions/Decision.js +3 -2
  89. package/dist/domain/decisions/Decision.js.map +1 -1
  90. package/dist/domain/decisions/DecisionId.d.ts +4 -0
  91. package/dist/domain/decisions/DecisionId.d.ts.map +1 -0
  92. package/dist/domain/decisions/DecisionId.js +3 -0
  93. package/dist/domain/decisions/DecisionId.js.map +1 -0
  94. package/dist/domain/dependencies/Dependency.d.ts +3 -2
  95. package/dist/domain/dependencies/Dependency.d.ts.map +1 -1
  96. package/dist/domain/dependencies/Dependency.js +3 -2
  97. package/dist/domain/dependencies/Dependency.js.map +1 -1
  98. package/dist/domain/dependencies/DependencyId.d.ts +4 -0
  99. package/dist/domain/dependencies/DependencyId.d.ts.map +1 -0
  100. package/dist/domain/dependencies/DependencyId.js +3 -0
  101. package/dist/domain/dependencies/DependencyId.js.map +1 -0
  102. package/dist/domain/goals/Goal.d.ts +3 -2
  103. package/dist/domain/goals/Goal.d.ts.map +1 -1
  104. package/dist/domain/goals/Goal.js +3 -2
  105. package/dist/domain/goals/Goal.js.map +1 -1
  106. package/dist/domain/goals/GoalId.d.ts +4 -0
  107. package/dist/domain/goals/GoalId.d.ts.map +1 -0
  108. package/dist/domain/goals/GoalId.js +3 -0
  109. package/dist/domain/goals/GoalId.js.map +1 -0
  110. package/dist/domain/guidelines/Guideline.d.ts +3 -2
  111. package/dist/domain/guidelines/Guideline.d.ts.map +1 -1
  112. package/dist/domain/guidelines/Guideline.js +3 -2
  113. package/dist/domain/guidelines/Guideline.js.map +1 -1
  114. package/dist/domain/guidelines/GuidelineId.d.ts +4 -0
  115. package/dist/domain/guidelines/GuidelineId.d.ts.map +1 -0
  116. package/dist/domain/guidelines/GuidelineId.js +3 -0
  117. package/dist/domain/guidelines/GuidelineId.js.map +1 -0
  118. package/dist/domain/identity/DomainIdentity.d.ts +13 -0
  119. package/dist/domain/identity/DomainIdentity.d.ts.map +1 -0
  120. package/dist/domain/identity/DomainIdentity.js +16 -0
  121. package/dist/domain/identity/DomainIdentity.js.map +1 -0
  122. package/dist/domain/invariants/Invariant.d.ts +3 -2
  123. package/dist/domain/invariants/Invariant.d.ts.map +1 -1
  124. package/dist/domain/invariants/Invariant.js +3 -2
  125. package/dist/domain/invariants/Invariant.js.map +1 -1
  126. package/dist/domain/invariants/InvariantId.d.ts +4 -0
  127. package/dist/domain/invariants/InvariantId.d.ts.map +1 -0
  128. package/dist/domain/invariants/InvariantId.js +3 -0
  129. package/dist/domain/invariants/InvariantId.js.map +1 -0
  130. package/dist/domain/project/Project.d.ts +3 -2
  131. package/dist/domain/project/Project.d.ts.map +1 -1
  132. package/dist/domain/project/Project.js +3 -2
  133. package/dist/domain/project/Project.js.map +1 -1
  134. package/dist/domain/project/ProjectId.d.ts +4 -0
  135. package/dist/domain/project/ProjectId.d.ts.map +1 -0
  136. package/dist/domain/project/ProjectId.js +3 -0
  137. package/dist/domain/project/ProjectId.js.map +1 -0
  138. package/dist/domain/relations/Relation.d.ts +3 -2
  139. package/dist/domain/relations/Relation.d.ts.map +1 -1
  140. package/dist/domain/relations/Relation.js +3 -2
  141. package/dist/domain/relations/Relation.js.map +1 -1
  142. package/dist/domain/relations/RelationId.d.ts +4 -0
  143. package/dist/domain/relations/RelationId.d.ts.map +1 -0
  144. package/dist/domain/relations/RelationId.js +3 -0
  145. package/dist/domain/relations/RelationId.js.map +1 -0
  146. package/dist/domain/sessions/Session.d.ts +3 -2
  147. package/dist/domain/sessions/Session.d.ts.map +1 -1
  148. package/dist/domain/sessions/Session.js +3 -2
  149. package/dist/domain/sessions/Session.js.map +1 -1
  150. package/dist/domain/sessions/SessionId.d.ts +4 -0
  151. package/dist/domain/sessions/SessionId.d.ts.map +1 -0
  152. package/dist/domain/sessions/SessionId.js +3 -0
  153. package/dist/domain/sessions/SessionId.js.map +1 -0
  154. package/dist/domain/value-propositions/ValueProposition.d.ts +2 -1
  155. package/dist/domain/value-propositions/ValueProposition.d.ts.map +1 -1
  156. package/dist/domain/value-propositions/ValueProposition.js +3 -2
  157. package/dist/domain/value-propositions/ValueProposition.js.map +1 -1
  158. package/dist/domain/value-propositions/ValuePropositionId.d.ts +4 -0
  159. package/dist/domain/value-propositions/ValuePropositionId.d.ts.map +1 -0
  160. package/dist/domain/value-propositions/ValuePropositionId.js +3 -0
  161. package/dist/domain/value-propositions/ValuePropositionId.js.map +1 -0
  162. package/dist/domain/value-propositions/ValuePropositionProjection.d.ts +3 -3
  163. package/dist/domain/value-propositions/ValuePropositionProjection.d.ts.map +1 -1
  164. package/dist/domain/value-propositions/ValuePropositionProjection.js.map +1 -1
  165. package/dist/domain/workers/WorkerId.d.ts +4 -0
  166. package/dist/domain/workers/WorkerId.d.ts.map +1 -0
  167. package/dist/domain/workers/WorkerId.js +3 -0
  168. package/dist/domain/workers/WorkerId.js.map +1 -0
  169. package/dist/infrastructure/agents/AgentCliGateway.d.ts +3 -1
  170. package/dist/infrastructure/agents/AgentCliGateway.d.ts.map +1 -1
  171. package/dist/infrastructure/agents/AgentCliGateway.js +45 -10
  172. package/dist/infrastructure/agents/AgentCliGateway.js.map +1 -1
  173. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.d.ts +1 -0
  174. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.d.ts.map +1 -1
  175. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.js +9 -0
  176. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.js.map +1 -1
  177. package/dist/infrastructure/context/project/init/AntigravityConfigurer.d.ts +2 -0
  178. package/dist/infrastructure/context/project/init/AntigravityConfigurer.d.ts.map +1 -1
  179. package/dist/infrastructure/context/project/init/AntigravityConfigurer.js +30 -10
  180. package/dist/infrastructure/context/project/init/AntigravityConfigurer.js.map +1 -1
  181. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +2 -0
  182. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -1
  183. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +5 -1
  184. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -1
  185. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.d.ts.map +1 -1
  186. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.js +2 -2
  187. package/dist/infrastructure/host/workers/FsWorkerIdentityRegistry.js.map +1 -1
  188. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.d.ts.map +1 -1
  189. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.js +2 -2
  190. package/dist/infrastructure/host/workers/SqliteWorkerIdentityRegistry.js.map +1 -1
  191. package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js +1 -1
  192. package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js.map +1 -1
  193. package/dist/presentation/cli/commands/project/init/project.init.js +1 -1
  194. package/dist/presentation/cli/commands/project/init/project.init.js.map +1 -1
  195. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js +1 -1
  196. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js.map +1 -1
  197. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -1
  198. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +37 -1
  199. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -1
  200. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts.map +1 -1
  201. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js +10 -0
  202. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js.map +1 -1
  203. package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts.map +1 -1
  204. package/dist/presentation/tui/cockpit/DaemonEventRows.js +36 -2
  205. package/dist/presentation/tui/cockpit/DaemonEventRows.js.map +1 -1
  206. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.d.ts +2 -0
  207. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.d.ts.map +1 -1
  208. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.js +2 -0
  209. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.js.map +1 -1
  210. package/dist/presentation/tui/daemon-subprocesses/DaemonEventSnapshot.d.ts +3 -0
  211. package/dist/presentation/tui/daemon-subprocesses/DaemonEventSnapshot.d.ts.map +1 -1
  212. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.d.ts.map +1 -1
  213. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.js +2 -0
  214. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.js.map +1 -1
  215. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts +2 -0
  216. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts.map +1 -1
  217. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.d.ts +2 -0
  218. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.d.ts.map +1 -1
  219. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.js +49 -1
  220. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.js.map +1 -1
  221. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.d.ts +3 -0
  222. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.d.ts.map +1 -1
  223. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.js +61 -1
  224. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.js.map +1 -1
  225. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { ProcessManagerEventEmitter } from "../../../daemons/ProcessManagerEventEmitter.js";
1
2
  import { GoalStatus } from "../../../../domain/goals/Constants.js";
2
3
  const REFINER_EVENT_SOURCE = "refiner";
3
4
  const REFINER_EVENT_TEXT_FIELD_MAX_LENGTH = 2048;
@@ -39,71 +40,77 @@ export class RefinerProcessManager {
39
40
  }
40
41
  async processNext(options) {
41
42
  const startedAt = process.hrtime.bigint();
43
+ const events = new ProcessManagerEventEmitter(REFINER_EVENT_SOURCE, options, startedAt);
44
+ events.emit("processing", "polling", "polling for defined goals", { phase: "polling" });
42
45
  const goals = await this.selectEligibleGoals();
43
46
  if (goals.length === 0) {
44
- this.emit(options, {
45
- daemon: REFINER_EVENT_SOURCE,
46
- status: "idle",
47
- source: REFINER_EVENT_SOURCE,
48
- ...REFINER_EVENT_COPY.noWork,
49
- });
47
+ events.emit("idle", REFINER_EVENT_COPY.noWork.category, REFINER_EVENT_COPY.noWork.message, { phase: "idle" });
50
48
  this.track(startedAt, { status: "idle", attempts: 0 });
51
49
  return { status: "idle", attempts: 0 };
52
50
  }
53
51
  const goal = goals[0];
52
+ events.emit("processing", "selection", "selected goal for refinement", {
53
+ phase: "selection",
54
+ goalId: goal.goalId,
55
+ });
54
56
  try {
55
57
  await this.refineGoalController.handle({ goalId: goal.goalId });
56
58
  }
57
59
  catch (error) {
58
60
  const errorProperties = this.errorProperties(error);
59
- this.emit(options, {
60
- daemon: REFINER_EVENT_SOURCE,
61
- status: "failed",
62
- source: REFINER_EVENT_SOURCE,
61
+ events.emit("failed", REFINER_EVENT_COPY.failed.category, REFINER_EVENT_COPY.failed.message, {
62
+ phase: "failed",
63
63
  goalId: goal.goalId,
64
- ...REFINER_EVENT_COPY.failed,
65
64
  ...errorProperties,
66
65
  });
67
66
  this.track(startedAt, { status: "failed", attempts: 0, goalId: goal.goalId, ...errorProperties });
68
67
  return { status: "failed", goalId: goal.goalId, attempts: 0 };
69
68
  }
70
69
  for (let attempt = 1; attempt <= options.maxRetries; attempt++) {
71
- this.emit(options, {
72
- daemon: REFINER_EVENT_SOURCE,
73
- status: "processing",
74
- source: REFINER_EVENT_SOURCE,
70
+ const attemptContext = {
75
71
  goalId: goal.goalId,
76
72
  attempt,
77
73
  maxRetries: options.maxRetries,
78
- ...REFINER_EVENT_COPY.workStarted,
74
+ };
75
+ events.emit("processing", REFINER_EVENT_COPY.workStarted.category, REFINER_EVENT_COPY.workStarted.message, {
76
+ phase: "working",
77
+ ...attemptContext,
79
78
  });
80
- const result = await this.agentGateway.invoke({ agentId: options.agentId, prompt: this.buildPrompt(goal.goalId) });
79
+ let sawAgentActivity = false;
80
+ const invocation = {
81
+ agentId: options.agentId,
82
+ prompt: this.buildPrompt(goal.goalId),
83
+ onActivity: (activity) => {
84
+ sawAgentActivity = true;
85
+ events.emitAgentActivity(activity.stream, activity.text, attemptContext);
86
+ },
87
+ };
88
+ const result = await this.agentGateway.invoke(invocation);
89
+ if (!sawAgentActivity) {
90
+ this.emitReturnedAgentOutput(events, result, attemptContext);
91
+ }
81
92
  if (await this.isGoalRefined(goal.goalId)) {
82
- this.emit(options, {
83
- daemon: REFINER_EVENT_SOURCE,
84
- status: "completed",
85
- source: REFINER_EVENT_SOURCE,
86
- goalId: goal.goalId,
87
- attempt,
88
- maxRetries: options.maxRetries,
93
+ events.emit("completed", REFINER_EVENT_COPY.completed.category, REFINER_EVENT_COPY.completed.message, {
94
+ phase: "completed",
95
+ ...attemptContext,
89
96
  exitCode: result.exitCode,
90
- ...REFINER_EVENT_COPY.completed,
91
97
  });
92
98
  this.track(startedAt, { status: "completed", attempts: attempt, goalId: goal.goalId, agentExitCode: result.exitCode });
93
99
  return { status: "completed", goalId: goal.goalId, attempts: attempt };
94
100
  }
95
101
  const retryExhausted = attempt === options.maxRetries;
96
- this.emit(options, {
97
- daemon: REFINER_EVENT_SOURCE,
98
- status: retryExhausted ? "exhausted" : "skipped",
99
- source: REFINER_EVENT_SOURCE,
100
- goalId: goal.goalId,
101
- attempt,
102
- maxRetries: options.maxRetries,
102
+ events.emit(retryExhausted ? "exhausted" : "skipped", retryExhausted ? REFINER_EVENT_COPY.exhausted.category : REFINER_EVENT_COPY.skipped.category, retryExhausted ? REFINER_EVENT_COPY.exhausted.message : REFINER_EVENT_COPY.skipped.message, {
103
+ phase: retryExhausted ? "exhausted" : "retry",
104
+ ...attemptContext,
103
105
  exitCode: result.exitCode,
104
- ...(retryExhausted ? REFINER_EVENT_COPY.exhausted : REFINER_EVENT_COPY.skipped),
105
106
  ...this.agentFailureProperties(result),
106
107
  });
108
+ if (!retryExhausted) {
109
+ events.emit("processing", "retry", "retrying refinement", {
110
+ phase: "retry",
111
+ ...attemptContext,
112
+ });
113
+ }
107
114
  }
108
115
  this.track(startedAt, { status: "exhausted", attempts: options.maxRetries, goalId: goal.goalId });
109
116
  return { status: "exhausted", goalId: goal.goalId, attempts: options.maxRetries };
@@ -116,15 +123,16 @@ export class RefinerProcessManager {
116
123
  .sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
117
124
  }
118
125
  buildPrompt(goalId) {
119
- return `Run the Jumbo refinement workflow for goal ${goalId}. Execute: jumbo goal refine --id ${goalId}`;
126
+ return [
127
+ `Continue the Jumbo refinement workflow for goal ${goalId}.`,
128
+ "The daemon has already moved the goal into refinement.",
129
+ `Update the goal context as needed, then complete refinement with: jumbo goal commit --id ${goalId}`,
130
+ ].join(" ");
120
131
  }
121
132
  async isGoalRefined(goalId) {
122
133
  const goal = await this.goalReader.findById(goalId);
123
134
  return goal?.status === GoalStatus.REFINED;
124
135
  }
125
- emit(options, event) {
126
- options.emit?.(event);
127
- }
128
136
  track(startedAt, properties) {
129
137
  this.telemetryClient.track("refiner_process_completed", {
130
138
  daemon: "refiner",
@@ -132,6 +140,14 @@ export class RefinerProcessManager {
132
140
  ...properties,
133
141
  });
134
142
  }
143
+ emitReturnedAgentOutput(events, result, context) {
144
+ if (result.stdout !== undefined) {
145
+ events.emitAgentActivity("stdout", result.stdout, context);
146
+ }
147
+ if (result.stderr !== undefined) {
148
+ events.emitAgentActivity("stderr", result.stderr, context);
149
+ }
150
+ }
135
151
  errorProperties(error) {
136
152
  if (error instanceof Error) {
137
153
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"RefinerProcessManager.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/refine/RefinerProcessManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefinerProcessManager.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/refine/RefinerProcessManager.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,8 @@ export declare class ReviewerProcessManager implements IProcessManager {
20
20
  selectEligibleGoals(): Promise<GoalView[]>;
21
21
  buildPrompt(goalId: string): string;
22
22
  private isReviewComplete;
23
- private emit;
24
- private emitModelOutput;
25
23
  private track;
24
+ private emitReturnedAgentOutput;
26
25
  private errorProperties;
27
26
  }
28
27
  //# sourceMappingURL=ReviewerProcessManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewerProcessManager.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/goals/review/ReviewerProcessManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAuB,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AACxI,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAgC7E,qBAAa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,0BAA0B,EACtC,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,qBAAqB,EAC3C,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,aAAa,EAC3B,eAAe,EAAE,gBAAgB;IAG9C,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8E1E,mBAAmB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;YAIrB,gBAAgB;IAK9B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,eAAe;CAexB"}
1
+ {"version":3,"file":"ReviewerProcessManager.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/goals/review/ReviewerProcessManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAgC7E,qBAAa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,0BAA0B,EACtC,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,qBAAqB,EAC3C,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,aAAa,EAC3B,eAAe,EAAE,gBAAgB;IAG9C,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmF1E,mBAAmB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;YASrB,gBAAgB;IAK9B,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,eAAe;CAexB"}
@@ -1,3 +1,4 @@
1
+ import { ProcessManagerEventEmitter } from "../../../daemons/ProcessManagerEventEmitter.js";
1
2
  import { GoalStatus } from "../../../../domain/goals/Constants.js";
2
3
  const REVIEW_COMPLETE_STATUSES = new Set([GoalStatus.QUALIFIED, GoalStatus.REJECTED]);
3
4
  const REVIEWER_EVENT_SOURCE = "reviewer";
@@ -40,71 +41,76 @@ export class ReviewerProcessManager {
40
41
  }
41
42
  async processNext(options) {
42
43
  const startedAt = process.hrtime.bigint();
44
+ const events = new ProcessManagerEventEmitter(REVIEWER_EVENT_SOURCE, options, startedAt);
45
+ events.emit("processing", "polling", "polling for submitted goals", { phase: "polling" });
43
46
  const goals = await this.selectEligibleGoals();
44
47
  if (goals.length === 0) {
45
- this.emit(options, {
46
- daemon: REVIEWER_EVENT_SOURCE,
47
- status: "idle",
48
- source: REVIEWER_EVENT_SOURCE,
49
- ...REVIEWER_EVENT_COPY.noWork,
50
- });
48
+ events.emit("idle", REVIEWER_EVENT_COPY.noWork.category, REVIEWER_EVENT_COPY.noWork.message, { phase: "idle" });
51
49
  this.track(startedAt, { status: "idle", attempts: 0 });
52
50
  return { status: "idle", attempts: 0 };
53
51
  }
54
52
  const goal = goals[0];
53
+ events.emit("processing", "selection", "selected goal for review", {
54
+ phase: "selection",
55
+ goalId: goal.goalId,
56
+ });
55
57
  try {
56
58
  await this.reviewGoalController.handle({ goalId: goal.goalId });
57
59
  }
58
60
  catch (error) {
59
61
  const errorProperties = this.errorProperties(error);
60
- this.emit(options, {
61
- daemon: REVIEWER_EVENT_SOURCE,
62
- status: "failed",
63
- source: REVIEWER_EVENT_SOURCE,
62
+ events.emit("failed", REVIEWER_EVENT_COPY.failed.category, REVIEWER_EVENT_COPY.failed.message, {
63
+ phase: "failed",
64
64
  goalId: goal.goalId,
65
- ...REVIEWER_EVENT_COPY.failed,
66
65
  ...errorProperties,
67
66
  });
68
67
  this.track(startedAt, { status: "failed", attempts: 0, goalId: goal.goalId, ...errorProperties });
69
68
  return { status: "failed", goalId: goal.goalId, attempts: 0 };
70
69
  }
71
70
  for (let attempt = 1; attempt <= options.maxRetries; attempt++) {
72
- this.emit(options, {
73
- daemon: REVIEWER_EVENT_SOURCE,
74
- status: "processing",
75
- source: REVIEWER_EVENT_SOURCE,
71
+ const attemptContext = {
76
72
  goalId: goal.goalId,
77
73
  attempt,
78
74
  maxRetries: options.maxRetries,
79
- ...REVIEWER_EVENT_COPY.workStarted,
75
+ };
76
+ events.emit("processing", REVIEWER_EVENT_COPY.workStarted.category, REVIEWER_EVENT_COPY.workStarted.message, {
77
+ phase: "working",
78
+ ...attemptContext,
80
79
  });
81
- const result = await this.agentGateway.invoke({ agentId: options.agentId, prompt: this.buildPrompt(goal.goalId) });
82
- this.emitModelOutput(options, goal.goalId, result.stdout);
80
+ let sawAgentActivity = false;
81
+ const invocation = {
82
+ agentId: options.agentId,
83
+ prompt: this.buildPrompt(goal.goalId),
84
+ onActivity: (activity) => {
85
+ sawAgentActivity = true;
86
+ events.emitAgentActivity(activity.stream, activity.text, attemptContext);
87
+ },
88
+ };
89
+ const result = await this.agentGateway.invoke(invocation);
90
+ if (!sawAgentActivity) {
91
+ this.emitReturnedAgentOutput(events, result, attemptContext);
92
+ }
83
93
  if (await this.isReviewComplete(goal.goalId)) {
84
- this.emit(options, {
85
- daemon: REVIEWER_EVENT_SOURCE,
86
- status: "completed",
87
- source: REVIEWER_EVENT_SOURCE,
88
- goalId: goal.goalId,
89
- attempt,
90
- maxRetries: options.maxRetries,
94
+ events.emit("completed", REVIEWER_EVENT_COPY.completed.category, REVIEWER_EVENT_COPY.completed.message, {
95
+ phase: "completed",
96
+ ...attemptContext,
91
97
  exitCode: result.exitCode,
92
- ...REVIEWER_EVENT_COPY.completed,
93
98
  });
94
99
  this.track(startedAt, { status: "completed", attempts: attempt, goalId: goal.goalId, agentExitCode: result.exitCode });
95
100
  return { status: "completed", goalId: goal.goalId, attempts: attempt };
96
101
  }
97
102
  const retryExhausted = attempt === options.maxRetries;
98
- this.emit(options, {
99
- daemon: REVIEWER_EVENT_SOURCE,
100
- status: retryExhausted ? "exhausted" : "skipped",
101
- source: REVIEWER_EVENT_SOURCE,
102
- goalId: goal.goalId,
103
- attempt,
104
- maxRetries: options.maxRetries,
103
+ events.emit(retryExhausted ? "exhausted" : "skipped", retryExhausted ? REVIEWER_EVENT_COPY.exhausted.category : REVIEWER_EVENT_COPY.skipped.category, retryExhausted ? REVIEWER_EVENT_COPY.exhausted.message : REVIEWER_EVENT_COPY.skipped.message, {
104
+ phase: retryExhausted ? "exhausted" : "retry",
105
+ ...attemptContext,
105
106
  exitCode: result.exitCode,
106
- ...(retryExhausted ? REVIEWER_EVENT_COPY.exhausted : REVIEWER_EVENT_COPY.skipped),
107
107
  });
108
+ if (!retryExhausted) {
109
+ events.emit("processing", "retry", "retrying review", {
110
+ phase: "retry",
111
+ ...attemptContext,
112
+ });
113
+ }
108
114
  }
109
115
  this.track(startedAt, { status: "exhausted", attempts: options.maxRetries, goalId: goal.goalId });
110
116
  return { status: "exhausted", goalId: goal.goalId, attempts: options.maxRetries };
@@ -117,34 +123,17 @@ export class ReviewerProcessManager {
117
123
  .sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
118
124
  }
119
125
  buildPrompt(goalId) {
120
- return `Run the Jumbo review workflow for goal ${goalId}. Execute: jumbo goal review --id ${goalId}`;
126
+ return [
127
+ `Continue the Jumbo review workflow for goal ${goalId}.`,
128
+ "The daemon has already moved the goal into review.",
129
+ `If the implementation passes QA, run: jumbo goal approve --id ${goalId}`,
130
+ `If it fails QA, run: jumbo goal reject --id ${goalId} --review-issues "describe the issues"`,
131
+ ].join(" ");
121
132
  }
122
133
  async isReviewComplete(goalId) {
123
134
  const goal = await this.goalReader.findById(goalId);
124
135
  return REVIEW_COMPLETE_STATUSES.has(goal?.status ?? "unknown");
125
136
  }
126
- emit(options, event) {
127
- options.emit?.(event);
128
- }
129
- emitModelOutput(options, goalId, stdout) {
130
- if (stdout === undefined) {
131
- return;
132
- }
133
- const lines = stdout
134
- .split(/\r?\n/)
135
- .map((line) => line.trim())
136
- .filter((line) => line.length > 0);
137
- for (const line of lines) {
138
- this.emit(options, {
139
- daemon: REVIEWER_EVENT_SOURCE,
140
- status: "processing",
141
- source: REVIEWER_EVENT_SOURCE,
142
- category: "model-output",
143
- message: limitTextTail(line, REVIEWER_EVENT_TEXT_FIELD_MAX_LENGTH),
144
- goalId,
145
- });
146
- }
147
- }
148
137
  track(startedAt, properties) {
149
138
  this.telemetryClient.track("reviewer_process_completed", {
150
139
  daemon: "reviewer",
@@ -152,6 +141,14 @@ export class ReviewerProcessManager {
152
141
  ...properties,
153
142
  });
154
143
  }
144
+ emitReturnedAgentOutput(events, result, context) {
145
+ if (result.stdout !== undefined) {
146
+ events.emitAgentActivity("stdout", result.stdout, context);
147
+ }
148
+ if (result.stderr !== undefined) {
149
+ events.emitAgentActivity("stderr", result.stderr, context);
150
+ }
151
+ }
155
152
  errorProperties(error) {
156
153
  if (error instanceof Error) {
157
154
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewerProcessManager.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/review/ReviewerProcessManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReviewerProcessManager.js","sourceRoot":"","sources":["../../../../../src/application/context/goals/review/ReviewerProcessManager.ts"],"names":[],"mappings":"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"}
@@ -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 +1 @@
1
- {"version":3,"file":"StartSessionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/StartSessionCommandHandler.ts"],"names":[],"mappings":"AACA,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;;;GAGG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAkBlC"}
1
+ {"version":3,"file":"StartSessionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/StartSessionCommandHandler.ts"],"names":[],"mappings":"AAAA,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;;;GAGG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,0BAA0B,EACvC,QAAQ,EAAE,SAAS;IAGhC,OAAO,CACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAgBlC"}
@@ -1,4 +1,3 @@
1
- import { IdGenerator } from "../../../identity/IdGenerator.js";
2
1
  import { Session } from "../../../../domain/sessions/Session.js";
3
2
  /**
4
3
  * Handles starting a new session.
@@ -10,10 +9,9 @@ export class StartSessionCommandHandler {
10
9
  this.eventBus = eventBus;
11
10
  }
12
11
  async execute(command) {
13
- // Generate new session ID
14
- const sessionId = IdGenerator.generate();
15
12
  // Create new aggregate
16
- const session = Session.create(sessionId);
13
+ const session = Session.create();
14
+ const sessionId = session.snapshot.id;
17
15
  // Domain logic produces event
18
16
  const event = session.start();
19
17
  // Persist event to file store
@@ -1 +1 @@
1
- {"version":3,"file":"StartSessionCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/StartSessionCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAI/D,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAA4B;QAE5B,0BAA0B;QAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEzC,uBAAuB;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,8BAA8B;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE9B,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,SAAS,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"StartSessionCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/StartSessionCommandHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IACrC,YACmB,WAAuC,EACvC,QAAmB;QADnB,gBAAW,GAAX,WAAW,CAA4B;QACvC,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAA4B;QAE5B,uBAAuB;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEtC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE9B,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,SAAS,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddValuePropositionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/value-propositions/add/AddValuePropositionCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAK5D;;;GAGG;AACH,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,iCAAiC,EAC9C,QAAQ,EAAE,SAAS;IAGhC,OAAO,CACX,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;CAqB3C"}
1
+ {"version":3,"file":"AddValuePropositionCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/value-propositions/add/AddValuePropositionCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D;;;GAGG;AACH,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,iCAAiC,EAC9C,QAAQ,EAAE,SAAS;IAGhC,OAAO,CACX,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;CAqB3C"}
@@ -1,5 +1,4 @@
1
1
  import { ValueProposition } from "../../../../domain/value-propositions/ValueProposition.js";
2
- import { IdGenerator } from "../../../identity/IdGenerator.js";
3
2
  /**
4
3
  * Handler for adding a new value proposition
5
4
  * Publishes events via event bus for projection updates
@@ -11,8 +10,8 @@ export class AddValuePropositionCommandHandler {
11
10
  }
12
11
  async execute(command) {
13
12
  // 1. Create new aggregate with generated ID
14
- const valuePropositionId = IdGenerator.generate();
15
- const valueProposition = ValueProposition.create(valuePropositionId);
13
+ const valueProposition = ValueProposition.create();
14
+ const valuePropositionId = valueProposition.snapshot.id;
16
15
  // 2. Domain logic produces event
17
16
  const event = valueProposition.add(command.title, command.description, command.benefit, command.measurableOutcome);
18
17
  // 3. Persist event to file store