@auto-engineer/server-generator-apollo-emmett 1.71.0 → 1.73.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.71.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.73.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp src/server.ts dist/src && cp -r src/utils dist/src && cp -r src/domain dist/src
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.70.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.72.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
@@ -9,6 +9,6 @@
9
9
 
10
10
   Test Files  30 passed | 1 skipped (31)
11
11
   Tests  172 passed | 1 skipped (173)
12
-  Start at  12:06:20
13
-  Duration  22.20s (transform 3.79s, setup 0ms, collect 45.99s, tests 8.68s, environment 6ms, prepare 4.29s)
12
+  Start at  17:31:24
13
+  Duration  23.63s (transform 2.59s, setup 0ms, collect 49.36s, tests 9.29s, environment 7ms, prepare 4.52s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.70.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.72.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc --noEmit --project tsconfig.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,72 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
+ ## 1.73.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`71bc8a3`](https://github.com/BeOnAuto/auto-engineer/commit/71bc8a33aee1fef366f16c6eca5f75c39594a1b4) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **pipeline**: wire command gate into processCommand with signal suppression
8
+ - **pipeline**: add signal to PipelineContext and registerConcurrency to server
9
+ - **pipeline**: add queue strategy to command gate
10
+ - **pipeline**: add cancel-in-progress strategy to command gate
11
+ - **pipeline**: create command gate with registration and passthrough
12
+
13
+ ### Patch Changes
14
+
15
+ - [`966c943`](https://github.com/BeOnAuto/auto-engineer/commit/966c94366fe94eb5f2f8de51bb51ffdd4c95f2d5) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **dev-server**: add module-level ActiveServer state and cleanup infrastructure
16
+
17
+ - [`54b0ed2`](https://github.com/BeOnAuto/auto-engineer/commit/54b0ed2c119a1172e91775af992bc37b133035e0) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **dev-server**: rewire handler to use activeServer with staleness guards
18
+
19
+ - [`b8a4efb`](https://github.com/BeOnAuto/auto-engineer/commit/b8a4efb987badf2b7badcb8d66f8aeb50caf09f2) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: call start/close lifecycle on reactor in ReactorSpecification
20
+ - **server-generator-apollo-emmett**: call start/close lifecycle on reactor in ReactorSpecification
21
+ - **dev-server**: add ketchup plan for EADDRINUSE fix
22
+ - **pipeline**: mark command gate concurrency control done in ketchup plan
23
+ - **global**: wire config-level concurrency for command gate
24
+ - Updated dependencies [[`966c943`](https://github.com/BeOnAuto/auto-engineer/commit/966c94366fe94eb5f2f8de51bb51ffdd4c95f2d5), [`54b0ed2`](https://github.com/BeOnAuto/auto-engineer/commit/54b0ed2c119a1172e91775af992bc37b133035e0), [`b8a4efb`](https://github.com/BeOnAuto/auto-engineer/commit/b8a4efb987badf2b7badcb8d66f8aeb50caf09f2), [`71bc8a3`](https://github.com/BeOnAuto/auto-engineer/commit/71bc8a33aee1fef366f16c6eca5f75c39594a1b4)]:
25
+ - @auto-engineer/message-bus@1.73.0
26
+ - @auto-engineer/narrative@1.73.0
27
+
28
+ ## 1.72.0
29
+
30
+ ### Minor Changes
31
+
32
+ - [`cb7de6a`](https://github.com/BeOnAuto/auto-engineer/commit/cb7de6a5a8c42bf1849a7b4f602d8334d5399895) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: wire command gate into processCommand with signal suppression
33
+
34
+ - [`cddce02`](https://github.com/BeOnAuto/auto-engineer/commit/cddce020109adcbb7aa422ab89bc14805ef9f39a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: generate real commandSender.send() in react scaffold
35
+ - **server-generator-apollo-emmett**: generate aggregateStream for Given states
36
+ - **pipeline**: add command gate concurrency control to ketchup plan
37
+ - **server-generator-apollo-emmett**: mark Burst 3 done in ketchup plan
38
+ - **server-generator-apollo-emmett**: add Burst 3 to ketchup plan for commandSender.send generation
39
+
40
+ - [`ebc98fa`](https://github.com/BeOnAuto/auto-engineer/commit/ebc98fa1e38404bcb4dbaad28b9281ed25c9b27b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add cancel-in-progress strategy to command gate
41
+
42
+ - [`27f3e77`](https://github.com/BeOnAuto/auto-engineer/commit/27f3e777b871a4cc5679331e445fe991cd2bfc8f) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add signal to PipelineContext and registerConcurrency to server
43
+
44
+ - [`c00b253`](https://github.com/BeOnAuto/auto-engineer/commit/c00b25354839afb1b506c27d19795da3fdc24280) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: create command gate with registration and passthrough
45
+
46
+ - [`59b9032`](https://github.com/BeOnAuto/auto-engineer/commit/59b903255b34a3beb6579d91f656530b05fef807) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add queue strategy to command gate
47
+
48
+ - [`80f544e`](https://github.com/BeOnAuto/auto-engineer/commit/80f544ebc7617ffe83d880cfb34c11f31ca8a340) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: generate real commandSender.send() in react scaffold
49
+ - **server-generator-apollo-emmett**: generate aggregateStream for Given states
50
+ - **server-generator-apollo-emmett**: seed event store with Given state data in react specs template
51
+ - **global**: version packages
52
+ - **server-generator-apollo-emmett**: mark Burst 3 done in ketchup plan
53
+
54
+ ### Patch Changes
55
+
56
+ - [`c5ce884`](https://github.com/BeOnAuto/auto-engineer/commit/c5ce884e233a8d9eec5c76db41b166bb86b09e70) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: wire config-level concurrency for command gate
57
+
58
+ - [`090b856`](https://github.com/BeOnAuto/auto-engineer/commit/090b8569ce5eb62b680b48fbc909cbbad12ff377) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: mark command gate concurrency control done in ketchup plan
59
+
60
+ - [`5e8b6a8`](https://github.com/BeOnAuto/auto-engineer/commit/5e8b6a8ec6502c6e9b955eab93d4d332c5a8def9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: verify cancel-in-progress suppresses events through server
61
+
62
+ - [`e4b956c`](https://github.com/BeOnAuto/auto-engineer/commit/e4b956cd2751ea78e9b8a4725f9be755abf2bb24) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: verify queue concurrency and sendCommand gate integration
63
+
64
+ - [`1b7cb23`](https://github.com/BeOnAuto/auto-engineer/commit/1b7cb230b570c763e24c6a0eb99b39901e671500) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: call start/close lifecycle on reactor in ReactorSpecification
65
+
66
+ - Updated dependencies [[`cb7de6a`](https://github.com/BeOnAuto/auto-engineer/commit/cb7de6a5a8c42bf1849a7b4f602d8334d5399895), [`cddce02`](https://github.com/BeOnAuto/auto-engineer/commit/cddce020109adcbb7aa422ab89bc14805ef9f39a), [`ebc98fa`](https://github.com/BeOnAuto/auto-engineer/commit/ebc98fa1e38404bcb4dbaad28b9281ed25c9b27b), [`27f3e77`](https://github.com/BeOnAuto/auto-engineer/commit/27f3e777b871a4cc5679331e445fe991cd2bfc8f), [`c5ce884`](https://github.com/BeOnAuto/auto-engineer/commit/c5ce884e233a8d9eec5c76db41b166bb86b09e70), [`c00b253`](https://github.com/BeOnAuto/auto-engineer/commit/c00b25354839afb1b506c27d19795da3fdc24280), [`59b9032`](https://github.com/BeOnAuto/auto-engineer/commit/59b903255b34a3beb6579d91f656530b05fef807), [`090b856`](https://github.com/BeOnAuto/auto-engineer/commit/090b8569ce5eb62b680b48fbc909cbbad12ff377), [`5e8b6a8`](https://github.com/BeOnAuto/auto-engineer/commit/5e8b6a8ec6502c6e9b955eab93d4d332c5a8def9), [`80f544e`](https://github.com/BeOnAuto/auto-engineer/commit/80f544ebc7617ffe83d880cfb34c11f31ca8a340), [`e4b956c`](https://github.com/BeOnAuto/auto-engineer/commit/e4b956cd2751ea78e9b8a4725f9be755abf2bb24), [`1b7cb23`](https://github.com/BeOnAuto/auto-engineer/commit/1b7cb230b570c763e24c6a0eb99b39901e671500)]:
67
+ - @auto-engineer/message-bus@1.72.0
68
+ - @auto-engineer/narrative@1.72.0
69
+
3
70
  ## 1.71.0
4
71
 
5
72
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"reactorSpecification.d.ts","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;AAEnE,KAAK,UAAU,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAE3D,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,KAAK,IAC1C,CAAC,MAAM,IAAI,CAAC,GACZ,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GACzD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAC7C,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;AAElG,UAAU,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC1D,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,OAAO,CAAC,EAAE,OAAO,KACd;QACH,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAChH,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC,SAAS,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5G,CAAC;CACH;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,EACL,OAAO,EACP,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,IACjF,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1F,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAuBF,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,IAE3B;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GAE/D;IAAE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GAEjE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpC,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,EAC/F,kBAAkB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EACrF,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,GACvD,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CA2H/C"}
1
+ {"version":3,"file":"reactorSpecification.d.ts","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;AAEnE,KAAK,UAAU,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAE3D,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,KAAK,IAC1C,CAAC,MAAM,IAAI,CAAC,GACZ,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GACzD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAC7C,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;AAElG,UAAU,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC1D,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,OAAO,CAAC,EAAE,OAAO,KACd;QACH,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAChH,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC,SAAS,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5G,CAAC;CACH;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,EACL,OAAO,EACP,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,IACjF,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1F,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAuBF,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,IAE3B;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GAE/D;IAAE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GAEjE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpC,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,EAC/F,kBAAkB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EACrF,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,GACvD,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAkI/C"}
@@ -40,19 +40,26 @@ function reactorSpecificationFor(processorOrReactor, createContext) {
40
40
  const contextWithMock = { ...context, commandSender: mockCommandSender };
41
41
  // Get the actual reactor instance
42
42
  const reactor = typeof processorOrReactor === 'function' ? processorOrReactor() : processorOrReactor;
43
- // Handle different reactor types
44
- if ('handle' in reactor && typeof reactor.handle === 'function') {
45
- // It's a MessageProcessor or has a handle method
46
- await reactor.handle(eventsWithMetadata, contextWithMock);
47
- }
48
- else if ('eachMessage' in reactor && typeof reactor.eachMessage === 'function') {
49
- // It has eachMessage
50
- for (const event of eventsWithMetadata) {
51
- await reactor.eachMessage(event, contextWithMock);
43
+ try {
44
+ if ('start' in reactor && typeof reactor.start === 'function') {
45
+ await reactor.start({});
46
+ }
47
+ if ('handle' in reactor && typeof reactor.handle === 'function') {
48
+ await reactor.handle(eventsWithMetadata, contextWithMock);
49
+ }
50
+ else if ('eachMessage' in reactor && typeof reactor.eachMessage === 'function') {
51
+ for (const event of eventsWithMetadata) {
52
+ await reactor.eachMessage(event, contextWithMock);
53
+ }
54
+ }
55
+ else {
56
+ throw new Error('Reactor must have either a handle or eachMessage method');
52
57
  }
53
58
  }
54
- else {
55
- throw new Error('Reactor must have either a handle or eachMessage method');
59
+ finally {
60
+ if ('close' in reactor && typeof reactor.close === 'function') {
61
+ await reactor.close({});
62
+ }
56
63
  }
57
64
  return mockCommandSender.sentCommands;
58
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reactorSpecification.js","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactorSpecification.js","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"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"}
@@ -100,17 +100,24 @@ function reactorSpecificationFor<Event, Command, Context extends { commandSender
100
100
  // Get the actual reactor instance
101
101
  const reactor = typeof processorOrReactor === 'function' ? processorOrReactor() : processorOrReactor;
102
102
 
103
- // Handle different reactor types
104
- if ('handle' in reactor && typeof reactor.handle === 'function') {
105
- // It's a MessageProcessor or has a handle method
106
- await reactor.handle(eventsWithMetadata, contextWithMock);
107
- } else if ('eachMessage' in reactor && typeof reactor.eachMessage === 'function') {
108
- // It has eachMessage
109
- for (const event of eventsWithMetadata) {
110
- await reactor.eachMessage(event, contextWithMock);
103
+ try {
104
+ if ('start' in reactor && typeof reactor.start === 'function') {
105
+ await reactor.start({});
106
+ }
107
+
108
+ if ('handle' in reactor && typeof reactor.handle === 'function') {
109
+ await reactor.handle(eventsWithMetadata, contextWithMock);
110
+ } else if ('eachMessage' in reactor && typeof reactor.eachMessage === 'function') {
111
+ for (const event of eventsWithMetadata) {
112
+ await reactor.eachMessage(event, contextWithMock);
113
+ }
114
+ } else {
115
+ throw new Error('Reactor must have either a handle or eachMessage method');
116
+ }
117
+ } finally {
118
+ if ('close' in reactor && typeof reactor.close === 'function') {
119
+ await reactor.close({});
111
120
  }
112
- } else {
113
- throw new Error('Reactor must have either a handle or eachMessage method');
114
121
  }
115
122
 
116
123
  return mockCommandSender.sentCommands;