@cat-factory/kernel 0.297.0 → 0.298.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.
- package/dist/domain/harness-failure.d.ts +1 -1
- package/dist/domain/harness-failure.d.ts.map +1 -1
- package/dist/domain/harness-failure.js +5 -0
- package/dist/domain/harness-failure.js.map +1 -1
- package/dist/ports/operational-metrics.d.ts +16 -0
- package/dist/ports/operational-metrics.d.ts.map +1 -1
- package/dist/ports/operational-metrics.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Every structured failure cause a harness can stamp on a failed job view. */
|
|
2
|
-
export declare const HARNESS_FAILURE_CAUSES: readonly ['inactivity-timeout', 'max-duration', 'no-tool-progress', 'agent', 'git', 'api', 'llm-upstream', 'no-usable-output', 'no-changes', 'deploy'];
|
|
2
|
+
export declare const HARNESS_FAILURE_CAUSES: readonly ['inactivity-timeout', 'max-duration', 'no-tool-progress', 'agent', 'git', 'branch-contended', 'api', 'llm-upstream', 'no-usable-output', 'no-changes', 'deploy'];
|
|
3
3
|
/** See {@link HARNESS_FAILURE_CAUSES}; the type the kernel job-view ports carry. */
|
|
4
4
|
export type HarnessFailureCause = (typeof HARNESS_FAILURE_CAUSES)[number];
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-failure.d.ts","sourceRoot":"","sources":["../../src/domain/harness-failure.ts"],"names":[],"mappings":"AAkBA,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,YAEjC,oBAAoB,EACpB,cAAc,EAId,kBAAkB,EAIlB,OAAO,EACP,KAAK,
|
|
1
|
+
{"version":3,"file":"harness-failure.d.ts","sourceRoot":"","sources":["../../src/domain/harness-failure.ts"],"names":[],"mappings":"AAkBA,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,YAEjC,oBAAoB,EACpB,cAAc,EAId,kBAAkB,EAIlB,OAAO,EACP,KAAK,EAIL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,QAAQ,CACA,CAAA;AAEV,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAuBD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,SAAS,GAAG,OAAO,GAAG,SAAS,CAEjC"}
|
|
@@ -29,6 +29,10 @@ export const HARNESS_FAILURE_CAUSES = [
|
|
|
29
29
|
// without a usable product / without a change to push.
|
|
30
30
|
'agent',
|
|
31
31
|
'git',
|
|
32
|
+
// A push to the work branch was refused because the branch moved under the run. Distinct from
|
|
33
|
+
// `git` because the engine RECOVERS from it (a bounded re-dispatch resumes the branch as it now
|
|
34
|
+
// stands), where any other git fault would just fail again.
|
|
35
|
+
'branch-contended',
|
|
32
36
|
'api',
|
|
33
37
|
'llm-upstream',
|
|
34
38
|
'no-usable-output',
|
|
@@ -58,6 +62,7 @@ const FAILURE_KIND_BY_CAUSE = {
|
|
|
58
62
|
'no-tool-progress': 'timeout',
|
|
59
63
|
agent: 'agent',
|
|
60
64
|
git: 'agent',
|
|
65
|
+
'branch-contended': 'agent',
|
|
61
66
|
api: 'agent',
|
|
62
67
|
'llm-upstream': 'agent',
|
|
63
68
|
'no-usable-output': 'agent',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-failure.js","sourceRoot":"","sources":["../../src/domain/harness-failure.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,+FAA+F;AAC/F,yCAAyC;AACzC,EAAE;AACF,2FAA2F;AAC3F,qFAAqF;AACrF,8FAA8F;AAC9F,gBAAgB;AAChB,4FAA4F;AAC5F,iCAAiC;AACjC,4FAA4F;AAC5F,6FAA6F;AAC7F,iDAAiD;AACjD,EAAE;AACF,4FAA4F;AAC5F,+FAA+F;AAC/F,gEAAgE;AAEhE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,gDAAgD;IAChD,oBAAoB;IACpB,cAAc;IACd,6FAA6F;IAC7F,6FAA6F;IAC7F,6DAA6D;IAC7D,kBAAkB;IAClB,wFAAwF;IACxF,6FAA6F;IAC7F,uDAAuD;IACvD,OAAO;IACP,KAAK;IACL,KAAK;IACL,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,4EAA4E;IAC5E,QAAQ;CACA,CAAA;AAKV;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAqD;IAC9E,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE,SAAS;IACzB,kBAAkB,EAAE,SAAS;IAC7B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,OAAO;IAC3B,YAAY,EAAE,OAAO;IACrB,MAAM,EAAE,OAAO;CAChB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAyB;IAEzB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChF,CAAC"}
|
|
1
|
+
{"version":3,"file":"harness-failure.js","sourceRoot":"","sources":["../../src/domain/harness-failure.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,+FAA+F;AAC/F,yCAAyC;AACzC,EAAE;AACF,2FAA2F;AAC3F,qFAAqF;AACrF,8FAA8F;AAC9F,gBAAgB;AAChB,4FAA4F;AAC5F,iCAAiC;AACjC,4FAA4F;AAC5F,6FAA6F;AAC7F,iDAAiD;AACjD,EAAE;AACF,4FAA4F;AAC5F,+FAA+F;AAC/F,gEAAgE;AAEhE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,gDAAgD;IAChD,oBAAoB;IACpB,cAAc;IACd,6FAA6F;IAC7F,6FAA6F;IAC7F,6DAA6D;IAC7D,kBAAkB;IAClB,wFAAwF;IACxF,6FAA6F;IAC7F,uDAAuD;IACvD,OAAO;IACP,KAAK;IACL,8FAA8F;IAC9F,gGAAgG;IAChG,4DAA4D;IAC5D,kBAAkB;IAClB,KAAK;IACL,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,4EAA4E;IAC5E,QAAQ;CACA,CAAA;AAKV;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAqD;IAC9E,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE,SAAS;IACzB,kBAAkB,EAAE,SAAS;IAC7B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;IACZ,kBAAkB,EAAE,OAAO;IAC3B,GAAG,EAAE,OAAO;IACZ,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,OAAO;IAC3B,YAAY,EAAE,OAAO;IACrB,MAAM,EAAE,OAAO;CAChB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAyB;IAEzB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChF,CAAC"}
|
|
@@ -38,6 +38,22 @@ export type OperationalCounter =
|
|
|
38
38
|
| 'container.dispatch_failed'
|
|
39
39
|
/** A container job settled as evicted/crashed. Dimensioned by the eviction kind. */
|
|
40
40
|
| 'container.evicted'
|
|
41
|
+
/**
|
|
42
|
+
* A container job settled because its push to the work branch was REFUSED: the branch moved
|
|
43
|
+
* under the run (a second dispatch for the same block, or a rewrite of commits an earlier run
|
|
44
|
+
* published). The engine re-dispatches once, so the cost of each one is a whole agent run spent
|
|
45
|
+
* twice, in tokens and in wall clock, on a run that reports as a clean success.
|
|
46
|
+
*
|
|
47
|
+
* That is the reason it is counted and not only logged: per run it is invisible, and the remedy
|
|
48
|
+
* the harness prints ends "if it recurs, check whether two runs are active for the same block",
|
|
49
|
+
* which is a recurrence no per-run line can show.
|
|
50
|
+
*
|
|
51
|
+
* UNDIMENSIONED. The split worth having is which of the two rejection shapes it was, and the
|
|
52
|
+
* harness's `PushRejection` does not cross the job-view boundary (the cause does). Widening the
|
|
53
|
+
* view for a dimension would mean a runner-image bump; the shape stays in the remedy text the
|
|
54
|
+
* failed step carries, and the ids ride the log line at the increment site.
|
|
55
|
+
*/
|
|
56
|
+
| 'container.branch_contended'
|
|
41
57
|
/**
|
|
42
58
|
* A container dispatch was REFUSED because the runner image told us it does not parse a
|
|
43
59
|
* capability field the job body carried (`domain/harness-capabilities.ts`). Dimensioned by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB;;;;;;;;;;GAUG;GACD,yBAAyB;AAC3B;;;;;;;;GAQG;GACD,2BAA2B;AAC7B,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB;;;;;;;;GAQG;GACD,kCAAkC;AACpC;;;;;;;;;GASG;GACD,8BAA8B;AAChC;;;;;;;;;;GAUG;GACD,iCAAiC;AACnC,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY;AACd;;;;;;GAMG;GACD,uBAAuB;AACzB;;;;GAIG;GACD,8BAA8B;AAChC;;;;GAIG;GACD,+BAA+B;AACjC;;;;;GAKG;GACD,8BAA8B;AAChC;;;;GAIG;GACD,uBAAuB;AACzB;;;GAGG;GACD,iCAAiC;AACnC;;;;;;;;;;;;;;;;GAgBG;GACD,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB;AAC3B;;;;;;;;;;;GAWG;GACD,kBAAkB;AACpB;;;;;;;;;;GAUG;GACD,8BAA8B;AAChC;;;;;;;;;;;;;;;;GAgBG;GACD,4BAA4B;AAC9B;;;;;;;;;;;;;;;;;;;GAmBG;GACD,wBAAwB,CAAA;AAU5B,wFAAwF;AACxF,MAAM,MAAM,gBAAgB;AAC1B,yEAAyE;AACzE,aAAa,CAAA;AAEf;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,CAAA;IACvB,UAAU,EAAE,qBAAqB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjG;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE;;;;;OAKG;IACH,KAAK,IAAI,wBAAwB,EAAE,CAAA;CACpC;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,kBAA4C,CAAA;AAYjF;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,2BAA2B,CA8B/E"}
|
|
1
|
+
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB;;;;;;;;;;GAUG;GACD,yBAAyB;AAC3B;;;;;;;;GAQG;GACD,2BAA2B;AAC7B,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB;;;;;;;;;;;;;;GAcG;GACD,4BAA4B;AAC9B;;;;;;;;GAQG;GACD,kCAAkC;AACpC;;;;;;;;;GASG;GACD,8BAA8B;AAChC;;;;;;;;;;GAUG;GACD,iCAAiC;AACnC,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY;AACd;;;;;;GAMG;GACD,uBAAuB;AACzB;;;;GAIG;GACD,8BAA8B;AAChC;;;;GAIG;GACD,+BAA+B;AACjC;;;;;GAKG;GACD,8BAA8B;AAChC;;;;GAIG;GACD,uBAAuB;AACzB;;;GAGG;GACD,iCAAiC;AACnC;;;;;;;;;;;;;;;;GAgBG;GACD,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB;AAC3B;;;;;;;;;;;GAWG;GACD,kBAAkB;AACpB;;;;;;;;;;GAUG;GACD,8BAA8B;AAChC;;;;;;;;;;;;;;;;GAgBG;GACD,4BAA4B;AAC9B;;;;;;;;;;;;;;;;;;;GAmBG;GACD,wBAAwB,CAAA;AAU5B,wFAAwF;AACxF,MAAM,MAAM,gBAAgB;AAC1B,yEAAyE;AACzE,aAAa,CAAA;AAEf;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,CAAA;IACvB,UAAU,EAAE,qBAAqB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjG;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE;;;;;OAKG;IACH,KAAK,IAAI,wBAAwB,EAAE,CAAA;CACpC;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,kBAA4C,CAAA;AAYjF;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,2BAA2B,CA8B/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;AA+
|
|
1
|
+
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;AA+RnF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAuB,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;AAEjF;;;;GAIG;AACH,SAAS,YAAY,CAAC,UAAiC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC;IAC/C,wFAAwF;IACxF,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAA;IACH,OAAO;QACL,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC;YAC3C,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;gBACxB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACrC,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAA;;gBAChC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,KAAK;YACH,MAAM,OAAO,GAA+B,EAAE,CAAA;YAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.298.0",
|
|
4
4
|
"description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ai": "^7.0.62",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
29
|
+
"@cat-factory/contracts": "0.308.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@stryker-mutator/core": "9.6.1",
|