@cat-factory/contracts 0.172.0 → 0.174.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/execution.d.ts +45 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/pr-report.d.ts +160 -2
- package/dist/pr-report.d.ts.map +1 -1
- package/dist/pr-report.js +88 -2
- package/dist/pr-report.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +30 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +120 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +15 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +75 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/spec.d.ts +1 -0
- package/dist/routes/spec.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +45 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +30 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +15 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/spec.d.ts +62 -0
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +36 -0
- package/dist/spec.js.map +1 -1
- package/dist/testing.d.ts +54 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +36 -0
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
|
@@ -126,6 +126,11 @@ export declare const approveVisualConfirmContract: {
|
|
|
126
126
|
readonly detail: v.StringSchema<undefined>;
|
|
127
127
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
128
128
|
}, undefined>, undefined>;
|
|
129
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
130
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
131
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
132
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
133
|
+
}, undefined>, undefined>, undefined>;
|
|
129
134
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
130
135
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
131
136
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -152,6 +157,11 @@ export declare const approveVisualConfirmContract: {
|
|
|
152
157
|
detail: string;
|
|
153
158
|
severity: "critical" | "high" | "low" | "medium";
|
|
154
159
|
}[];
|
|
160
|
+
requirementVerdicts?: {
|
|
161
|
+
requirementId: string;
|
|
162
|
+
status: "met" | "not_covered" | "not_met";
|
|
163
|
+
detail?: string | undefined;
|
|
164
|
+
}[] | undefined;
|
|
155
165
|
environment?: "ephemeral" | "local" | undefined;
|
|
156
166
|
screenshots?: {
|
|
157
167
|
view: string;
|
|
@@ -178,6 +188,11 @@ export declare const approveVisualConfirmContract: {
|
|
|
178
188
|
detail: string;
|
|
179
189
|
severity: "critical" | "high" | "low" | "medium";
|
|
180
190
|
}[];
|
|
191
|
+
requirementVerdicts?: {
|
|
192
|
+
requirementId: string;
|
|
193
|
+
status: "met" | "not_covered" | "not_met";
|
|
194
|
+
detail?: string | undefined;
|
|
195
|
+
}[] | undefined;
|
|
181
196
|
environment?: "ephemeral" | "local" | undefined;
|
|
182
197
|
screenshots?: {
|
|
183
198
|
view: string;
|
|
@@ -1048,6 +1063,11 @@ export declare const requestVisualConfirmFixContract: {
|
|
|
1048
1063
|
readonly detail: v.StringSchema<undefined>;
|
|
1049
1064
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
1050
1065
|
}, undefined>, undefined>;
|
|
1066
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1067
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
1068
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
1069
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1070
|
+
}, undefined>, undefined>, undefined>;
|
|
1051
1071
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
1052
1072
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1053
1073
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -1074,6 +1094,11 @@ export declare const requestVisualConfirmFixContract: {
|
|
|
1074
1094
|
detail: string;
|
|
1075
1095
|
severity: "critical" | "high" | "low" | "medium";
|
|
1076
1096
|
}[];
|
|
1097
|
+
requirementVerdicts?: {
|
|
1098
|
+
requirementId: string;
|
|
1099
|
+
status: "met" | "not_covered" | "not_met";
|
|
1100
|
+
detail?: string | undefined;
|
|
1101
|
+
}[] | undefined;
|
|
1077
1102
|
environment?: "ephemeral" | "local" | undefined;
|
|
1078
1103
|
screenshots?: {
|
|
1079
1104
|
view: string;
|
|
@@ -1100,6 +1125,11 @@ export declare const requestVisualConfirmFixContract: {
|
|
|
1100
1125
|
detail: string;
|
|
1101
1126
|
severity: "critical" | "high" | "low" | "medium";
|
|
1102
1127
|
}[];
|
|
1128
|
+
requirementVerdicts?: {
|
|
1129
|
+
requirementId: string;
|
|
1130
|
+
status: "met" | "not_covered" | "not_met";
|
|
1131
|
+
detail?: string | undefined;
|
|
1132
|
+
}[] | undefined;
|
|
1103
1133
|
environment?: "ephemeral" | "local" | undefined;
|
|
1104
1134
|
screenshots?: {
|
|
1105
1135
|
view: string;
|
|
@@ -1968,6 +1998,11 @@ export declare const recaptureVisualConfirmContract: {
|
|
|
1968
1998
|
readonly detail: v.StringSchema<undefined>;
|
|
1969
1999
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
1970
2000
|
}, undefined>, undefined>;
|
|
2001
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
2002
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
2003
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
2004
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2005
|
+
}, undefined>, undefined>, undefined>;
|
|
1971
2006
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
1972
2007
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1973
2008
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -1994,6 +2029,11 @@ export declare const recaptureVisualConfirmContract: {
|
|
|
1994
2029
|
detail: string;
|
|
1995
2030
|
severity: "critical" | "high" | "low" | "medium";
|
|
1996
2031
|
}[];
|
|
2032
|
+
requirementVerdicts?: {
|
|
2033
|
+
requirementId: string;
|
|
2034
|
+
status: "met" | "not_covered" | "not_met";
|
|
2035
|
+
detail?: string | undefined;
|
|
2036
|
+
}[] | undefined;
|
|
1997
2037
|
environment?: "ephemeral" | "local" | undefined;
|
|
1998
2038
|
screenshots?: {
|
|
1999
2039
|
view: string;
|
|
@@ -2020,6 +2060,11 @@ export declare const recaptureVisualConfirmContract: {
|
|
|
2020
2060
|
detail: string;
|
|
2021
2061
|
severity: "critical" | "high" | "low" | "medium";
|
|
2022
2062
|
}[];
|
|
2063
|
+
requirementVerdicts?: {
|
|
2064
|
+
requirementId: string;
|
|
2065
|
+
status: "met" | "not_covered" | "not_met";
|
|
2066
|
+
detail?: string | undefined;
|
|
2067
|
+
}[] | undefined;
|
|
2023
2068
|
environment?: "ephemeral" | "local" | undefined;
|
|
2024
2069
|
screenshots?: {
|
|
2025
2070
|
view: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzC,CAAA"}
|
|
@@ -589,6 +589,11 @@ export declare const createWorkspaceContract: {
|
|
|
589
589
|
readonly detail: v.StringSchema<undefined>;
|
|
590
590
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
591
591
|
}, undefined>, undefined>;
|
|
592
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
593
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
594
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
595
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
596
|
+
}, undefined>, undefined>, undefined>;
|
|
592
597
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
593
598
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
594
599
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -615,6 +620,11 @@ export declare const createWorkspaceContract: {
|
|
|
615
620
|
detail: string;
|
|
616
621
|
severity: "critical" | "high" | "low" | "medium";
|
|
617
622
|
}[];
|
|
623
|
+
requirementVerdicts?: {
|
|
624
|
+
requirementId: string;
|
|
625
|
+
status: "met" | "not_covered" | "not_met";
|
|
626
|
+
detail?: string | undefined;
|
|
627
|
+
}[] | undefined;
|
|
618
628
|
environment?: "ephemeral" | "local" | undefined;
|
|
619
629
|
screenshots?: {
|
|
620
630
|
view: string;
|
|
@@ -641,6 +651,11 @@ export declare const createWorkspaceContract: {
|
|
|
641
651
|
detail: string;
|
|
642
652
|
severity: "critical" | "high" | "low" | "medium";
|
|
643
653
|
}[];
|
|
654
|
+
requirementVerdicts?: {
|
|
655
|
+
requirementId: string;
|
|
656
|
+
status: "met" | "not_covered" | "not_met";
|
|
657
|
+
detail?: string | undefined;
|
|
658
|
+
}[] | undefined;
|
|
644
659
|
environment?: "ephemeral" | "local" | undefined;
|
|
645
660
|
screenshots?: {
|
|
646
661
|
view: string;
|
|
@@ -3066,6 +3081,11 @@ export declare const getWorkspaceContract: {
|
|
|
3066
3081
|
readonly detail: v.StringSchema<undefined>;
|
|
3067
3082
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
3068
3083
|
}, undefined>, undefined>;
|
|
3084
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
3085
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
3086
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
3087
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
3088
|
+
}, undefined>, undefined>, undefined>;
|
|
3069
3089
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
3070
3090
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
3071
3091
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -3092,6 +3112,11 @@ export declare const getWorkspaceContract: {
|
|
|
3092
3112
|
detail: string;
|
|
3093
3113
|
severity: "critical" | "high" | "low" | "medium";
|
|
3094
3114
|
}[];
|
|
3115
|
+
requirementVerdicts?: {
|
|
3116
|
+
requirementId: string;
|
|
3117
|
+
status: "met" | "not_covered" | "not_met";
|
|
3118
|
+
detail?: string | undefined;
|
|
3119
|
+
}[] | undefined;
|
|
3095
3120
|
environment?: "ephemeral" | "local" | undefined;
|
|
3096
3121
|
screenshots?: {
|
|
3097
3122
|
view: string;
|
|
@@ -3118,6 +3143,11 @@ export declare const getWorkspaceContract: {
|
|
|
3118
3143
|
detail: string;
|
|
3119
3144
|
severity: "critical" | "high" | "low" | "medium";
|
|
3120
3145
|
}[];
|
|
3146
|
+
requirementVerdicts?: {
|
|
3147
|
+
requirementId: string;
|
|
3148
|
+
status: "met" | "not_covered" | "not_met";
|
|
3149
|
+
detail?: string | undefined;
|
|
3150
|
+
}[] | undefined;
|
|
3121
3151
|
environment?: "ephemeral" | "local" | undefined;
|
|
3122
3152
|
screenshots?: {
|
|
3123
3153
|
view: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
|
package/dist/snapshot.d.ts
CHANGED
|
@@ -516,6 +516,11 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
516
516
|
readonly detail: v.StringSchema<undefined>;
|
|
517
517
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
518
518
|
}, undefined>, undefined>;
|
|
519
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
520
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
521
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
522
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
523
|
+
}, undefined>, undefined>, undefined>;
|
|
519
524
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
520
525
|
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
521
526
|
readonly view: v.StringSchema<undefined>;
|
|
@@ -542,6 +547,11 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
542
547
|
detail: string;
|
|
543
548
|
severity: "critical" | "high" | "low" | "medium";
|
|
544
549
|
}[];
|
|
550
|
+
requirementVerdicts?: {
|
|
551
|
+
requirementId: string;
|
|
552
|
+
status: "met" | "not_covered" | "not_met";
|
|
553
|
+
detail?: string | undefined;
|
|
554
|
+
}[] | undefined;
|
|
545
555
|
environment?: "ephemeral" | "local" | undefined;
|
|
546
556
|
screenshots?: {
|
|
547
557
|
view: string;
|
|
@@ -568,6 +578,11 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
568
578
|
detail: string;
|
|
569
579
|
severity: "critical" | "high" | "low" | "medium";
|
|
570
580
|
}[];
|
|
581
|
+
requirementVerdicts?: {
|
|
582
|
+
requirementId: string;
|
|
583
|
+
status: "met" | "not_covered" | "not_met";
|
|
584
|
+
detail?: string | undefined;
|
|
585
|
+
}[] | undefined;
|
|
571
586
|
environment?: "ephemeral" | "local" | undefined;
|
|
572
587
|
screenshots?: {
|
|
573
588
|
view: string;
|
package/dist/snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqC5B,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;;;IAGlC;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqC5B,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;;;IAGlC;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;OASG;;;;QAjLH;;;;;WAKG;;;;;;QALH;;;;;WAKG;;;IA+KH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;OAKG;;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
package/dist/spec.d.ts
CHANGED
|
@@ -5,6 +5,33 @@ export type RequirementPriority = v.InferOutput<typeof requirementPrioritySchema
|
|
|
5
5
|
/** Whether a requirement is a behaviour, a quality attribute, or a hard constraint. */
|
|
6
6
|
export declare const requirementKindSchema: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
7
7
|
export type RequirementKind = v.InferOutput<typeof requirementKindSchema>;
|
|
8
|
+
/**
|
|
9
|
+
* IMPLEMENTATION STATE — whether the service is already known to honour a requirement, as
|
|
10
|
+
* distinct from whether it has been agreed. This is the axis a prescriptive spec is missing
|
|
11
|
+
* by construction: `spec/` says what must be TRUE, and until this field existed it could not
|
|
12
|
+
* say what is true YET.
|
|
13
|
+
*
|
|
14
|
+
* - `aspirational` — agreed (a human accepted it through the spec diff's PR review) but NOT
|
|
15
|
+
* yet observed to hold. The default for a newly written requirement.
|
|
16
|
+
* - `established` — observed to hold: a tester actually exercised its acceptance criteria
|
|
17
|
+
* and they passed. This is the only thing that makes a requirement STANDING behaviour.
|
|
18
|
+
*
|
|
19
|
+
* Why it matters: without it, an agreed-but-unbuilt requirement enters every build prompt as
|
|
20
|
+
* standing behaviour (so an agent implements it by accident, on an unrelated task) and draws a
|
|
21
|
+
* spurious `not_met` from the tester on every subsequent run until it ships. The field is what
|
|
22
|
+
* makes a behaviour contract safe to write down BEFORE it is honoured.
|
|
23
|
+
*
|
|
24
|
+
* Deliberately a FIELD, not a `spec/` sub-folder: a folder encodes the state in the path, so
|
|
25
|
+
* every promotion becomes a file move and the state cannot be read without walking the tree.
|
|
26
|
+
* The markdown / Gherkin renders group by the field and read identically.
|
|
27
|
+
*
|
|
28
|
+
* PROMOTION is mechanical, never a human action — see the tester-driven promotion post-op in
|
|
29
|
+
* `@cat-factory/agents` (`repo-ops/builtin.ts`). A first observed pass flips `aspirational` →
|
|
30
|
+
* `established`, which self-maintains across every path, including a later task that
|
|
31
|
+
* deliberately changes the behaviour.
|
|
32
|
+
*/
|
|
33
|
+
export declare const requirementStateSchema: v.PicklistSchema<["aspirational", "established"], undefined>;
|
|
34
|
+
export type RequirementState = v.InferOutput<typeof requirementStateSchema>;
|
|
8
35
|
/**
|
|
9
36
|
* A single acceptance criterion in structured Given/When/Then form — the seed for
|
|
10
37
|
* one Gherkin `Scenario`. Kept structured (not prose) so the harness can render it
|
|
@@ -27,6 +54,13 @@ export declare const requirementItemSchema: v.ObjectSchema<{
|
|
|
27
54
|
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
28
55
|
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
29
56
|
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
59
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
60
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
61
|
+
* {@link requirementStateSchema}.
|
|
62
|
+
*/
|
|
63
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
30
64
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
31
65
|
readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
|
|
32
66
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
|
@@ -70,6 +104,13 @@ export declare const requirementGroupSchema: v.ObjectSchema<{
|
|
|
70
104
|
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
71
105
|
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
72
106
|
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
107
|
+
/**
|
|
108
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
109
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
110
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
111
|
+
* {@link requirementStateSchema}.
|
|
112
|
+
*/
|
|
113
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
73
114
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
74
115
|
readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
|
|
75
116
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
|
@@ -107,6 +148,13 @@ export declare const specModuleSchema: v.ObjectSchema<{
|
|
|
107
148
|
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
108
149
|
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
109
150
|
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
151
|
+
/**
|
|
152
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
153
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
154
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
155
|
+
* {@link requirementStateSchema}.
|
|
156
|
+
*/
|
|
157
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
110
158
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
111
159
|
readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
|
|
112
160
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
|
@@ -151,6 +199,13 @@ export declare const specDocSchema: v.ObjectSchema<{
|
|
|
151
199
|
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
152
200
|
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
153
201
|
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
202
|
+
/**
|
|
203
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
204
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
205
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
206
|
+
* {@link requirementStateSchema}.
|
|
207
|
+
*/
|
|
208
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
154
209
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
155
210
|
readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
|
|
156
211
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
|
@@ -227,6 +282,13 @@ export declare const serviceSpecViewSchema: v.ObjectSchema<{
|
|
|
227
282
|
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
228
283
|
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
229
284
|
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
285
|
+
/**
|
|
286
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
287
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
288
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
289
|
+
* {@link requirementStateSchema}.
|
|
290
|
+
*/
|
|
291
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
230
292
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
231
293
|
readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
|
|
232
294
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
package/dist/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmC5B,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,0DAA0C,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,4EAA4D,CAAA;AAC9F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;aAOpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB;IAChC,gDAAgD;;IAEhD,sBAAsB;;IAEtB,6DAA6D;;;;IAI7D,wFAAwF;;IAExF,0FAA0F;;;;;;;aAE1F,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;IAE3B,sEAAsE;;IAEtE,sCAAsC;;;aAGtC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/spec.js
CHANGED
|
@@ -34,6 +34,32 @@ const blockIdField = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(20
|
|
|
34
34
|
export const requirementPrioritySchema = v.picklist(['must', 'should', 'could']);
|
|
35
35
|
/** Whether a requirement is a behaviour, a quality attribute, or a hard constraint. */
|
|
36
36
|
export const requirementKindSchema = v.picklist(['functional', 'nonfunctional', 'constraint']);
|
|
37
|
+
/**
|
|
38
|
+
* IMPLEMENTATION STATE — whether the service is already known to honour a requirement, as
|
|
39
|
+
* distinct from whether it has been agreed. This is the axis a prescriptive spec is missing
|
|
40
|
+
* by construction: `spec/` says what must be TRUE, and until this field existed it could not
|
|
41
|
+
* say what is true YET.
|
|
42
|
+
*
|
|
43
|
+
* - `aspirational` — agreed (a human accepted it through the spec diff's PR review) but NOT
|
|
44
|
+
* yet observed to hold. The default for a newly written requirement.
|
|
45
|
+
* - `established` — observed to hold: a tester actually exercised its acceptance criteria
|
|
46
|
+
* and they passed. This is the only thing that makes a requirement STANDING behaviour.
|
|
47
|
+
*
|
|
48
|
+
* Why it matters: without it, an agreed-but-unbuilt requirement enters every build prompt as
|
|
49
|
+
* standing behaviour (so an agent implements it by accident, on an unrelated task) and draws a
|
|
50
|
+
* spurious `not_met` from the tester on every subsequent run until it ships. The field is what
|
|
51
|
+
* makes a behaviour contract safe to write down BEFORE it is honoured.
|
|
52
|
+
*
|
|
53
|
+
* Deliberately a FIELD, not a `spec/` sub-folder: a folder encodes the state in the path, so
|
|
54
|
+
* every promotion becomes a file move and the state cannot be read without walking the tree.
|
|
55
|
+
* The markdown / Gherkin renders group by the field and read identically.
|
|
56
|
+
*
|
|
57
|
+
* PROMOTION is mechanical, never a human action — see the tester-driven promotion post-op in
|
|
58
|
+
* `@cat-factory/agents` (`repo-ops/builtin.ts`). A first observed pass flips `aspirational` →
|
|
59
|
+
* `established`, which self-maintains across every path, including a later task that
|
|
60
|
+
* deliberately changes the behaviour.
|
|
61
|
+
*/
|
|
62
|
+
export const requirementStateSchema = v.picklist(['aspirational', 'established']);
|
|
37
63
|
/**
|
|
38
64
|
* A single acceptance criterion in structured Given/When/Then form — the seed for
|
|
39
65
|
* one Gherkin `Scenario`. Kept structured (not prose) so the harness can render it
|
|
@@ -57,6 +83,13 @@ export const requirementItemSchema = v.object({
|
|
|
57
83
|
statement: reqStatementField,
|
|
58
84
|
kind: requirementKindSchema,
|
|
59
85
|
priority: requirementPrioritySchema,
|
|
86
|
+
/**
|
|
87
|
+
* Whether the service is already known to honour this requirement. Defaults to
|
|
88
|
+
* `aspirational` — a requirement nobody has observed to hold is not standing behaviour, and
|
|
89
|
+
* a spec written before the code is the normal case rather than the exceptional one. See
|
|
90
|
+
* {@link requirementStateSchema}.
|
|
91
|
+
*/
|
|
92
|
+
state: v.optional(requirementStateSchema, 'aspirational'),
|
|
60
93
|
/** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
|
|
61
94
|
sourceBlockIds: v.optional(v.array(blockIdField), []),
|
|
62
95
|
/** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
|
|
@@ -229,6 +262,9 @@ export function renderSpecForReview(spec) {
|
|
|
229
262
|
for (const req of group.requirements ?? []) {
|
|
230
263
|
lines.push('', `#### ${req.title} (${req.id})`, '', `- Kind: ${req.kind}`);
|
|
231
264
|
lines.push(`- Priority: ${req.priority}`);
|
|
265
|
+
// The implementation state is the difference between "the service does this" and "we
|
|
266
|
+
// agreed the service should do this", so a human reviewing the spec diff has to see it.
|
|
267
|
+
lines.push(`- State: ${req.state ?? 'aspirational'}`);
|
|
232
268
|
lines.push(`- Statement: ${req.statement}`);
|
|
233
269
|
for (const ac of req.acceptance ?? []) {
|
|
234
270
|
lines.push(` - Acceptance ${ac.id}: GIVEN ${ac.given} WHEN ${ac.when} THEN ${ac.outcome}`);
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -59,6 +59,38 @@ export declare const testScreenshotSchema: v.ObjectSchema<{
|
|
|
59
59
|
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
60
60
|
}, undefined>;
|
|
61
61
|
export type TestScreenshot = v.InferOutput<typeof testScreenshotSchema>;
|
|
62
|
+
/**
|
|
63
|
+
* How a spec requirement fared when the Tester went looking for it. THREE-VALUED on purpose:
|
|
64
|
+
* "we didn't check" and "it's broken" must never render the same, which is the entire point of
|
|
65
|
+
* keeping the list — a reviewer reading a two-valued list cannot tell a requirement that was
|
|
66
|
+
* verified from one nobody looked at.
|
|
67
|
+
*
|
|
68
|
+
* - `met` — its acceptance criteria were exercised and observed to hold.
|
|
69
|
+
* - `not_met` — exercised and observed NOT to hold.
|
|
70
|
+
* - `not_covered` — not exercised this run (out of the change's blast radius, unreachable in
|
|
71
|
+
* this setup, or simply not yet built — an `aspirational` requirement is
|
|
72
|
+
* EXPECTED to land here and must never be reported as `not_met`).
|
|
73
|
+
*/
|
|
74
|
+
export declare const requirementVerdictStatusSchema: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
75
|
+
export type RequirementVerdictStatus = v.InferOutput<typeof requirementVerdictStatusSchema>;
|
|
76
|
+
/**
|
|
77
|
+
* One requirement-level verdict, keyed by the **spec requirement id** (`spec/modules/<m>/<g>.json`
|
|
78
|
+
* → `requirements[].id`, surfaced to the Tester as the `# requirement: <id>` comment above each
|
|
79
|
+
* Gherkin scenario). Deliberately the SAME id space as the spec — a second id space would make
|
|
80
|
+
* the join to `spec/` guesswork, which is what sank the withdrawn per-service store.
|
|
81
|
+
*
|
|
82
|
+
* Two consumers read this, and they must agree: the promotion post-op flips a `met` requirement
|
|
83
|
+
* from `aspirational` to `established` in the in-repo spec, and the PR verification report joins
|
|
84
|
+
* it back to the spec to render criterion → evidence.
|
|
85
|
+
*/
|
|
86
|
+
export declare const requirementVerdictSchema: v.ObjectSchema<{
|
|
87
|
+
/** The spec requirement's stable id (e.g. `req-login-rate-limit`). */
|
|
88
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
89
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
90
|
+
/** What was actually observed — the evidence behind the verdict. */
|
|
91
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
92
|
+
}, undefined>;
|
|
93
|
+
export type RequirementVerdict = v.InferOutput<typeof requirementVerdictSchema>;
|
|
62
94
|
/**
|
|
63
95
|
* Enforce the `abort ⇒ greenlight === false` invariant at the schema boundary so it can't
|
|
64
96
|
* depend on every caller getting the ordering right: a report that signals `abort` is never
|
|
@@ -95,6 +127,18 @@ export declare const testReportSchema: v.SchemaWithPipe<readonly [v.ObjectSchema
|
|
|
95
127
|
/** Severity, so the fixer (and a human) can triage. */
|
|
96
128
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
97
129
|
}, undefined>, undefined>;
|
|
130
|
+
/**
|
|
131
|
+
* Per-spec-requirement verdicts, keyed by the requirement id the Gherkin scenarios carry.
|
|
132
|
+
* Optional: absent on a run whose service has no `spec/`, and on every report produced before
|
|
133
|
+
* this contract existed — both read as "no requirement was ruled on", never as a failure.
|
|
134
|
+
*/
|
|
135
|
+
readonly requirementVerdicts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
136
|
+
/** The spec requirement's stable id (e.g. `req-login-rate-limit`). */
|
|
137
|
+
readonly requirementId: v.StringSchema<undefined>;
|
|
138
|
+
readonly status: v.PicklistSchema<["met", "not_met", "not_covered"], undefined>;
|
|
139
|
+
/** What was actually observed — the evidence behind the verdict. */
|
|
140
|
+
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
141
|
+
}, undefined>, undefined>, undefined>;
|
|
98
142
|
/** Which environment the suite ran in, echoed back for the UI. */
|
|
99
143
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
100
144
|
/**
|
|
@@ -140,6 +184,11 @@ export declare const testReportSchema: v.SchemaWithPipe<readonly [v.ObjectSchema
|
|
|
140
184
|
detail: string;
|
|
141
185
|
severity: "critical" | "high" | "low" | "medium";
|
|
142
186
|
}[];
|
|
187
|
+
requirementVerdicts?: {
|
|
188
|
+
requirementId: string;
|
|
189
|
+
status: "met" | "not_covered" | "not_met";
|
|
190
|
+
detail?: string | undefined;
|
|
191
|
+
}[] | undefined;
|
|
143
192
|
environment?: "ephemeral" | "local" | undefined;
|
|
144
193
|
screenshots?: {
|
|
145
194
|
view: string;
|
|
@@ -166,6 +215,11 @@ export declare const testReportSchema: v.SchemaWithPipe<readonly [v.ObjectSchema
|
|
|
166
215
|
detail: string;
|
|
167
216
|
severity: "critical" | "high" | "low" | "medium";
|
|
168
217
|
}[];
|
|
218
|
+
requirementVerdicts?: {
|
|
219
|
+
requirementId: string;
|
|
220
|
+
status: "met" | "not_covered" | "not_met";
|
|
221
|
+
detail?: string | undefined;
|
|
222
|
+
}[] | undefined;
|
|
169
223
|
environment?: "ephemeral" | "local" | undefined;
|
|
170
224
|
screenshots?: {
|
|
171
225
|
view: string;
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qDAAqC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,oEAAoD,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,yFAAyF;AACzF,eAAO,MAAM,iBAAiB;IAC5B,oCAAoC;;IAEpC,oDAAoD;;IAEpD,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;IAC5B,4DAA4D;;IAE5D,sDAAsD;;IAEtD,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gFAAgF;;IAEhF,kFAAkF;;IAElF,gFAAgF;;;;IAIhF,gFAAgF;;aAEhF,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qDAAqC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,oEAAoD,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,yFAAyF;AACzF,eAAO,MAAM,iBAAiB;IAC5B,oCAAoC;;IAEpC,oDAAoD;;IAEpD,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;IAC5B,4DAA4D;;IAE5D,sDAAsD;;IAEtD,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gFAAgF;;IAEhF,kFAAkF;;IAElF,gFAAgF;;;;IAIhF,gFAAgF;;aAEhF,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,gEAAgD,CAAA;AAC3F,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;IACnC,sEAAsE;;;IAGtE,oEAAoE;;aAEpE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAkD/E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IA/C3B,sEAAsE;;IAEtE,0DAA0D;;IAE1D,2EAA2E;;IAE3E,wBAAwB;;QA/ExB,4DAA4D;;QAE5D,sDAAsD;;QAEtD,uEAAuE;;;IA6EvE;;;;OAIG;;QAhGH,oCAAoC;;QAEpC,oDAAoD;;QAEpD,uDAAuD;;;IA8FvD;;;;OAIG;;QAlCH,sEAAsE;;;QAGtE,oEAAoE;;;IAiCpE,kEAAkE;;IAElE;;;;OAIG;;QAjFH,gFAAgF;;QAEhF,kFAAkF;;QAElF,gFAAgF;;;;QAIhF,gFAAgF;;;IA2EhF;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcJ,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAE1D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;IACjC,8EAA8E;;IAE9E,oEAAoE;;IAEpE,8CAA8C;;IAE9C,8CAA8C;;IAE9C,+EAA+E;;IAE/E,+EAA+E;;aAE/E,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAG7E"}
|