@cat-factory/worker 0.188.2 → 0.189.1
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/infrastructure/repositories/D1AccountRiskPolicyRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1AccountRiskPolicyRepository.js +5 -3
- package/dist/infrastructure/repositories/D1AccountRiskPolicyRepository.js.map +1 -1
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.js +5 -3
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.js.map +1 -1
- package/migrations/0093_companion_rework_budget.sql +28 -0
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1AccountRiskPolicyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRiskPolicyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAS5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"D1AccountRiskPolicyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRiskPolicyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAS5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA+E3D;;;;;;GAMG;AACH,qBAAa,6BAA8B,YAAW,2BAA2B;IAC/E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAM1E;IAEK,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAM1D;IAEK,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoB9E;IAEK,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmExE;IAEK,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzD;CACF;AAED;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,+BAA+B;IACvF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASjD;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1E;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjE;CACF"}
|
|
@@ -23,6 +23,7 @@ function rowToPolicy(row) {
|
|
|
23
23
|
maxRequirementIterations: row.max_requirement_iterations,
|
|
24
24
|
maxRequirementConcernAllowed: row.max_requirement_concern_allowed,
|
|
25
25
|
maxTesterQualityIterations: row.max_tester_quality_iterations,
|
|
26
|
+
companionMaxReworks: row.companion_max_reworks,
|
|
26
27
|
releaseWatchWindowMinutes: row.release_watch_window_minutes,
|
|
27
28
|
releaseMaxAttempts: row.release_max_attempts,
|
|
28
29
|
humanReviewGraceMinutes: row.human_review_grace_minutes,
|
|
@@ -95,13 +96,13 @@ export class D1AccountRiskPolicyRepository {
|
|
|
95
96
|
.prepare(`INSERT INTO account_risk_policies
|
|
96
97
|
(account_id, id, name, max_complexity, max_risk, max_impact, ci_max_attempts,
|
|
97
98
|
max_requirement_iterations, max_requirement_concern_allowed,
|
|
98
|
-
max_tester_quality_iterations,
|
|
99
|
+
max_tester_quality_iterations, companion_max_reworks,
|
|
99
100
|
release_watch_window_minutes, release_max_attempts, human_review_grace_minutes,
|
|
100
101
|
judge_min_score, judge_max_bounces,
|
|
101
102
|
auto_merge_enabled, fork_decision, class_rules, class_rules_by_role, dry_run_roles,
|
|
102
103
|
submission_classes_by_role, version, autonomy, min_auto_answer_confidence,
|
|
103
104
|
created_at)
|
|
104
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
105
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
105
106
|
ON CONFLICT (account_id, id) DO UPDATE SET
|
|
106
107
|
name = excluded.name,
|
|
107
108
|
max_complexity = excluded.max_complexity,
|
|
@@ -111,6 +112,7 @@ export class D1AccountRiskPolicyRepository {
|
|
|
111
112
|
max_requirement_iterations = excluded.max_requirement_iterations,
|
|
112
113
|
max_requirement_concern_allowed = excluded.max_requirement_concern_allowed,
|
|
113
114
|
max_tester_quality_iterations = excluded.max_tester_quality_iterations,
|
|
115
|
+
companion_max_reworks = excluded.companion_max_reworks,
|
|
114
116
|
release_watch_window_minutes = excluded.release_watch_window_minutes,
|
|
115
117
|
release_max_attempts = excluded.release_max_attempts,
|
|
116
118
|
human_review_grace_minutes = excluded.human_review_grace_minutes,
|
|
@@ -125,7 +127,7 @@ export class D1AccountRiskPolicyRepository {
|
|
|
125
127
|
version = excluded.version,
|
|
126
128
|
autonomy = excluded.autonomy,
|
|
127
129
|
min_auto_answer_confidence = excluded.min_auto_answer_confidence`)
|
|
128
|
-
.bind(accountId, policy.id, policy.name, policy.maxComplexity, policy.maxRisk, policy.maxImpact, policy.ciMaxAttempts, policy.maxRequirementIterations, policy.maxRequirementConcernAllowed, policy.maxTesterQualityIterations, policy.releaseWatchWindowMinutes, policy.releaseMaxAttempts, policy.humanReviewGraceMinutes, policy.judgeMinScore, policy.judgeMaxBounces, policy.autoMergeEnabled ? 1 : 0, policy.forkDecision ? JSON.stringify(policy.forkDecision) : null, JSON.stringify(policy.classRules ?? {}), JSON.stringify(policy.classRulesByRole ?? {}), JSON.stringify(policy.dryRunRoles ?? []), JSON.stringify(policy.submissionClassesByRole ?? {}), policy.version ?? null, policy.autonomy, policy.minAutoAnswerConfidence, policy.createdAt)
|
|
130
|
+
.bind(accountId, policy.id, policy.name, policy.maxComplexity, policy.maxRisk, policy.maxImpact, policy.ciMaxAttempts, policy.maxRequirementIterations, policy.maxRequirementConcernAllowed, policy.maxTesterQualityIterations, policy.companionMaxReworks, policy.releaseWatchWindowMinutes, policy.releaseMaxAttempts, policy.humanReviewGraceMinutes, policy.judgeMinScore, policy.judgeMaxBounces, policy.autoMergeEnabled ? 1 : 0, policy.forkDecision ? JSON.stringify(policy.forkDecision) : null, JSON.stringify(policy.classRules ?? {}), JSON.stringify(policy.classRulesByRole ?? {}), JSON.stringify(policy.dryRunRoles ?? []), JSON.stringify(policy.submissionClassesByRole ?? {}), policy.version ?? null, policy.autonomy, policy.minAutoAnswerConfidence, policy.createdAt)
|
|
129
131
|
.run();
|
|
130
132
|
}
|
|
131
133
|
async remove(accountId, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1AccountRiskPolicyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRiskPolicyRepository.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,QAAQ,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"D1AccountRiskPolicyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRiskPolicyRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1RiskPolicyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1RiskPolicyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAKhB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"D1RiskPolicyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1RiskPolicyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAKhB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAoF3D;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IACjE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAMrE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQrD;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAYxF;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;CACF"}
|
|
@@ -9,6 +9,7 @@ function rowToPreset(row) {
|
|
|
9
9
|
maxRequirementIterations: row.max_requirement_iterations,
|
|
10
10
|
maxRequirementConcernAllowed: row.max_requirement_concern_allowed,
|
|
11
11
|
maxTesterQualityIterations: row.max_tester_quality_iterations,
|
|
12
|
+
companionMaxReworks: row.companion_max_reworks,
|
|
12
13
|
releaseWatchWindowMinutes: row.release_watch_window_minutes,
|
|
13
14
|
releaseMaxAttempts: row.release_max_attempts,
|
|
14
15
|
humanReviewGraceMinutes: row.human_review_grace_minutes,
|
|
@@ -118,14 +119,14 @@ export class D1RiskPolicyRepository {
|
|
|
118
119
|
.prepare(`INSERT INTO merge_threshold_presets
|
|
119
120
|
(workspace_id, id, name, max_complexity, max_risk, max_impact, ci_max_attempts,
|
|
120
121
|
max_requirement_iterations, max_requirement_concern_allowed,
|
|
121
|
-
max_tester_quality_iterations,
|
|
122
|
+
max_tester_quality_iterations, companion_max_reworks,
|
|
122
123
|
release_watch_window_minutes, release_max_attempts, human_review_grace_minutes,
|
|
123
124
|
judge_min_score, judge_max_bounces,
|
|
124
125
|
auto_merge_enabled, fork_decision, class_rules, class_rules_by_role, dry_run_roles,
|
|
125
126
|
submission_classes_by_role, version, autonomy, min_auto_answer_confidence,
|
|
126
127
|
is_default, is_unattended_default,
|
|
127
128
|
created_at)
|
|
128
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
129
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
129
130
|
ON CONFLICT (workspace_id, id) DO UPDATE SET
|
|
130
131
|
name = excluded.name,
|
|
131
132
|
max_complexity = excluded.max_complexity,
|
|
@@ -135,6 +136,7 @@ export class D1RiskPolicyRepository {
|
|
|
135
136
|
max_requirement_iterations = excluded.max_requirement_iterations,
|
|
136
137
|
max_requirement_concern_allowed = excluded.max_requirement_concern_allowed,
|
|
137
138
|
max_tester_quality_iterations = excluded.max_tester_quality_iterations,
|
|
139
|
+
companion_max_reworks = excluded.companion_max_reworks,
|
|
138
140
|
release_watch_window_minutes = excluded.release_watch_window_minutes,
|
|
139
141
|
release_max_attempts = excluded.release_max_attempts,
|
|
140
142
|
human_review_grace_minutes = excluded.human_review_grace_minutes,
|
|
@@ -151,7 +153,7 @@ export class D1RiskPolicyRepository {
|
|
|
151
153
|
min_auto_answer_confidence = excluded.min_auto_answer_confidence,
|
|
152
154
|
is_default = excluded.is_default,
|
|
153
155
|
is_unattended_default = excluded.is_unattended_default`)
|
|
154
|
-
.bind(workspaceId, preset.id, preset.name, preset.maxComplexity, preset.maxRisk, preset.maxImpact, preset.ciMaxAttempts, preset.maxRequirementIterations, preset.maxRequirementConcernAllowed, preset.maxTesterQualityIterations, preset.releaseWatchWindowMinutes, preset.releaseMaxAttempts, preset.humanReviewGraceMinutes, preset.judgeMinScore, preset.judgeMaxBounces, preset.autoMergeEnabled ? 1 : 0, preset.forkDecision ? JSON.stringify(preset.forkDecision) : null, JSON.stringify(preset.classRules ?? {}), JSON.stringify(preset.classRulesByRole ?? {}), JSON.stringify(preset.dryRunRoles ?? []), JSON.stringify(preset.submissionClassesByRole ?? {}), preset.version ?? null, preset.autonomy, preset.minAutoAnswerConfidence, preset.isDefault ? 1 : 0, preset.isUnattendedDefault ? 1 : 0, preset.createdAt);
|
|
156
|
+
.bind(workspaceId, preset.id, preset.name, preset.maxComplexity, preset.maxRisk, preset.maxImpact, preset.ciMaxAttempts, preset.maxRequirementIterations, preset.maxRequirementConcernAllowed, preset.maxTesterQualityIterations, preset.companionMaxReworks, preset.releaseWatchWindowMinutes, preset.releaseMaxAttempts, preset.humanReviewGraceMinutes, preset.judgeMinScore, preset.judgeMaxBounces, preset.autoMergeEnabled ? 1 : 0, preset.forkDecision ? JSON.stringify(preset.forkDecision) : null, JSON.stringify(preset.classRules ?? {}), JSON.stringify(preset.classRulesByRole ?? {}), JSON.stringify(preset.dryRunRoles ?? []), JSON.stringify(preset.submissionClassesByRole ?? {}), preset.version ?? null, preset.autonomy, preset.minAutoAnswerConfidence, preset.isDefault ? 1 : 0, preset.isUnattendedDefault ? 1 : 0, preset.createdAt);
|
|
155
157
|
await this.db.batch([...demotions, write]);
|
|
156
158
|
}
|
|
157
159
|
async remove(workspaceId, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1RiskPolicyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1RiskPolicyRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"D1RiskPolicyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1RiskPolicyRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- The companion REWORK budget, on both risk-policy tiers.
|
|
2
|
+
--
|
|
3
|
+
-- A companion (`reviewer`, `architect-companion`, `spec-companion`, or one a deployment
|
|
4
|
+
-- registered) that rates its producer below the bar sends that step back with the findings and
|
|
5
|
+
-- re-grades the result. How many times it may do that unasked was the one automatic-loop budget the
|
|
6
|
+
-- engine hard-coded (3, in `DEFAULT_COMPANION_MAX_ATTEMPTS`) while every sibling loop reads its
|
|
7
|
+
-- ceiling off the task's risk policy: the CI fixer, the iterative requirements review, the Tester
|
|
8
|
+
-- quality gate, a judge's bounces, the post-release-health watch. So the loop with the widest reach,
|
|
9
|
+
-- and the one an operator watching a run actually sees spend model calls, was the one they could not
|
|
10
|
+
-- tune.
|
|
11
|
+
--
|
|
12
|
+
-- `companion_max_reworks`: how many automatic rework rounds a companion may drive before it stops
|
|
13
|
+
-- grading and parks for a person to pick (one more round / proceed anyway
|
|
14
|
+
-- / stop and reset). `0` is a real posture, not a disabled feature: the
|
|
15
|
+
-- first verdict below the bar goes straight to that park, or straight to
|
|
16
|
+
-- `proceed` under `autonomy = 'unattended'`. A human-granted extra round
|
|
17
|
+
-- raises the STEP's own budget, so this caps what the platform spends
|
|
18
|
+
-- unasked and never what somebody asks for.
|
|
19
|
+
--
|
|
20
|
+
-- The default is the ceiling the engine held, so every stored policy keeps the behaviour it had and
|
|
21
|
+
-- no built-in seed needed a version bump to announce this: a freshly seeded row and a backfilled one
|
|
22
|
+
-- are byte-for-byte identical.
|
|
23
|
+
|
|
24
|
+
ALTER TABLE merge_threshold_presets
|
|
25
|
+
ADD COLUMN companion_max_reworks INTEGER NOT NULL DEFAULT 3;
|
|
26
|
+
|
|
27
|
+
ALTER TABLE account_risk_policies
|
|
28
|
+
ADD COLUMN companion_max_reworks INTEGER NOT NULL DEFAULT 3;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.189.1",
|
|
4
4
|
"description": "Reusable Cloudflare Worker library (Hono + D1) exposing the Agent Architecture Board core: the `createApp()` Hono factory, the default fetch/scheduled/queue handler, and the Durable Object + Workflow classes. Deployments (see deploy/backend) supply the wrangler.toml + config and re-export these.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,22 +43,22 @@
|
|
|
43
43
|
"pino": "^10.3.1",
|
|
44
44
|
"valibot": "^1.4.2",
|
|
45
45
|
"workers-ai-provider": "^4.0.0",
|
|
46
|
-
"@cat-factory/agents": "0.
|
|
47
|
-
"@cat-factory/caching": "0.20.
|
|
48
|
-
"@cat-factory/consensus": "0.16.
|
|
49
|
-
"@cat-factory/contracts": "0.
|
|
50
|
-
"@cat-factory/eks": "0.1.
|
|
51
|
-
"@cat-factory/gates": "0.10.
|
|
52
|
-
"@cat-factory/
|
|
53
|
-
"@cat-factory/
|
|
54
|
-
"@cat-factory/
|
|
55
|
-
"@cat-factory/observability-
|
|
56
|
-
"@cat-factory/observability-
|
|
57
|
-
"@cat-factory/orchestration": "0.
|
|
58
|
-
"@cat-factory/prompt-fragments": "1.0.
|
|
59
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
60
|
-
"@cat-factory/server": "0.
|
|
61
|
-
"@cat-factory/spend": "0.15.
|
|
46
|
+
"@cat-factory/agents": "0.129.0",
|
|
47
|
+
"@cat-factory/caching": "0.20.16",
|
|
48
|
+
"@cat-factory/consensus": "0.16.16",
|
|
49
|
+
"@cat-factory/contracts": "0.308.0",
|
|
50
|
+
"@cat-factory/eks": "0.1.320",
|
|
51
|
+
"@cat-factory/gates": "0.10.47",
|
|
52
|
+
"@cat-factory/gitlab": "0.20.17",
|
|
53
|
+
"@cat-factory/integrations": "0.160.14",
|
|
54
|
+
"@cat-factory/kernel": "0.298.0",
|
|
55
|
+
"@cat-factory/observability-langfuse": "0.10.91",
|
|
56
|
+
"@cat-factory/observability-otel": "0.20.0",
|
|
57
|
+
"@cat-factory/orchestration": "0.270.0",
|
|
58
|
+
"@cat-factory/prompt-fragments": "1.0.71",
|
|
59
|
+
"@cat-factory/provider-cloudflare": "0.7.469",
|
|
60
|
+
"@cat-factory/server": "0.284.0",
|
|
61
|
+
"@cat-factory/spend": "0.15.89"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@cloudflare/vitest-pool-workers": "^0.21.1",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"typescript": "7.0.2",
|
|
67
67
|
"vitest": "^4.1.10",
|
|
68
68
|
"wrangler": "^4.121.0",
|
|
69
|
-
"@cat-factory/conformance": "0.
|
|
69
|
+
"@cat-factory/conformance": "0.44.0"
|
|
70
70
|
},
|
|
71
71
|
"scripts": {
|
|
72
72
|
"build": "tsc -b tsconfig.build.json",
|