@cat-factory/contracts 0.278.0 → 0.280.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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mergeTrackRecord.d.ts +14 -0
- package/dist/mergeTrackRecord.d.ts.map +1 -1
- package/dist/mergeTrackRecord.js +15 -0
- package/dist/mergeTrackRecord.js.map +1 -1
- package/dist/public-merge-evidence.d.ts +94 -0
- package/dist/public-merge-evidence.d.ts.map +1 -0
- package/dist/public-merge-evidence.js +106 -0
- package/dist/public-merge-evidence.js.map +1 -0
- package/dist/public-spec.d.ts +232 -0
- package/dist/public-spec.d.ts.map +1 -0
- package/dist/public-spec.js +208 -0
- package/dist/public-spec.js.map +1 -0
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +2 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/public-api.d.ts +19 -2
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/public-api.js +23 -3
- package/dist/routes/public-api.js.map +1 -1
- package/dist/routes/public-merge-evidence.d.ts +248 -0
- package/dist/routes/public-merge-evidence.d.ts.map +1 -0
- package/dist/routes/public-merge-evidence.js +80 -0
- package/dist/routes/public-merge-evidence.js.map +1 -0
- package/dist/routes/public-spec.d.ts +110 -0
- package/dist/routes/public-spec.d.ts.map +1 -0
- package/dist/routes/public-spec.js +31 -0
- package/dist/routes/public-spec.js.map +1 -0
- package/dist/routes/spec.d.ts +18 -2
- package/dist/routes/spec.d.ts.map +1 -1
- package/dist/spec.d.ts +172 -3
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +90 -4
- package/dist/spec.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,8 @@ export * from './public-api-keys.js';
|
|
|
113
113
|
export * from './public-api.js';
|
|
114
114
|
export * from './public-board.js';
|
|
115
115
|
export * from './public-evidence.js';
|
|
116
|
+
export * from './public-spec.js';
|
|
117
|
+
export * from './public-merge-evidence.js';
|
|
116
118
|
export * from './public-spend.js';
|
|
117
119
|
export * from './debug-api.js';
|
|
118
120
|
export * from './public-decisions.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -113,6 +113,8 @@ export * from './public-api-keys.js';
|
|
|
113
113
|
export * from './public-api.js';
|
|
114
114
|
export * from './public-board.js';
|
|
115
115
|
export * from './public-evidence.js';
|
|
116
|
+
export * from './public-spec.js';
|
|
117
|
+
export * from './public-merge-evidence.js';
|
|
116
118
|
export * from './public-spend.js';
|
|
117
119
|
export * from './debug-api.js';
|
|
118
120
|
export * from './public-decisions.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,4 +180,18 @@ export declare const tagReviewEffortSchema: v.ObjectSchema<{
|
|
|
180
180
|
readonly reviewEffort: v.NullableSchema<v.PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
181
181
|
}, undefined>;
|
|
182
182
|
export type TagReviewEffortInput = v.InferOutput<typeof tagReviewEffortSchema>;
|
|
183
|
+
/**
|
|
184
|
+
* `error.details.reason` for "no merge record under that id in this workspace": the 404 BOTH
|
|
185
|
+
* record-addressed routes answer, the read and the tag alike.
|
|
186
|
+
*
|
|
187
|
+
* It is a constant rather than a literal per site because the two producers live in different
|
|
188
|
+
* packages: the read resolves the row in `@cat-factory/server` and refuses there, while the tag
|
|
189
|
+
* write refuses inside `MergeTrackRecordService` (a lost race between reading and patching is the
|
|
190
|
+
* service's to detect, not a controller's to pre-check). A machine-readable code that two packages
|
|
191
|
+
* spell independently is one rename away from a caller branching on a value only one route emits.
|
|
192
|
+
*
|
|
193
|
+
* Distinct from `no_merge_record`, which the RUN-scoped read answers for a readable run that
|
|
194
|
+
* simply made no merge decision: that is a fact about the run, not a missing id.
|
|
195
|
+
*/
|
|
196
|
+
export declare const MERGE_RECORD_NOT_FOUND_REASON = "merge_record_not_found";
|
|
183
197
|
//# sourceMappingURL=mergeTrackRecord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeTrackRecord.d.ts","sourceRoot":"","sources":["../src/mergeTrackRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,sGAQ5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;GAIG;AACH,eAAO,MAAM,cAAc,kFAQgB,CAAA;AAE3C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uEAOO,CAAA;AAE3C,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,yDAAyC,CAAA;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,sFAAsF;AACtF,eAAO,MAAM,cAAc,qCAAwE,CAAA;AAEnG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,+GAMnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6DAIe,CAAA;AAIlD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;;OAIG;;IAEH,qDAAqD;;IAErD;;;;;;OAMG;;IAEH,oFAAoF;;IAEpF,8EAA8E;;IAE9E,8FAA8F;;IAE9F,sEAAsE;;IAEtE,wEAAwE;;IAExE,4FAA4F;;;IAG5F,4DAA4D;;IAE5D,wFAAwF;;IAExF,iDAAiD;;IAEjD,kDAAkD;;IAElD,wEAAwE;;IAExE,wFAAwF;;IAExF,yEAAyE;;IAEzE,mFAAmF;;IAEnF,iEAAiE;;aAEjE,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAQ3E,wFAAwF;AACxF,eAAO,MAAM,8BAA8B;;;;;aAKzC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB;;IAEjC,wEAAwE;;IAExE,4FAA4F;;;;;;;;;;;;;aAQ5F,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAIzE;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,CAYhF;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;aAE3B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"mergeTrackRecord.d.ts","sourceRoot":"","sources":["../src/mergeTrackRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,sGAQ5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;GAIG;AACH,eAAO,MAAM,cAAc,kFAQgB,CAAA;AAE3C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uEAOO,CAAA;AAE3C,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,yDAAyC,CAAA;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,sFAAsF;AACtF,eAAO,MAAM,cAAc,qCAAwE,CAAA;AAEnG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,+GAMnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6DAIe,CAAA;AAIlD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;;OAIG;;IAEH,qDAAqD;;IAErD;;;;;;OAMG;;IAEH,oFAAoF;;IAEpF,8EAA8E;;IAE9E,8FAA8F;;IAE9F,sEAAsE;;IAEtE,wEAAwE;;IAExE,4FAA4F;;;IAG5F,4DAA4D;;IAE5D,wFAAwF;;IAExF,iDAAiD;;IAEjD,kDAAkD;;IAElD,wEAAwE;;IAExE,wFAAwF;;IAExF,yEAAyE;;IAEzE,mFAAmF;;IAEnF,iEAAiE;;aAEjE,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAQ3E,wFAAwF;AACxF,eAAO,MAAM,8BAA8B;;;;;aAKzC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB;;IAEjC,wEAAwE;;IAExE,4FAA4F;;;;;;;;;;;;;aAQ5F,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAIzE;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,CAYhF;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;aAE3B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAI9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,2BAA2B,CAAA"}
|
package/dist/mergeTrackRecord.js
CHANGED
|
@@ -248,4 +248,19 @@ export const mergeBlockSchema = v.object({
|
|
|
248
248
|
export const tagReviewEffortSchema = v.object({
|
|
249
249
|
reviewEffort: v.nullable(reviewEffortSchema),
|
|
250
250
|
});
|
|
251
|
+
// ---- Refusal vocabulary ---------------------------------------------------
|
|
252
|
+
/**
|
|
253
|
+
* `error.details.reason` for "no merge record under that id in this workspace": the 404 BOTH
|
|
254
|
+
* record-addressed routes answer, the read and the tag alike.
|
|
255
|
+
*
|
|
256
|
+
* It is a constant rather than a literal per site because the two producers live in different
|
|
257
|
+
* packages: the read resolves the row in `@cat-factory/server` and refuses there, while the tag
|
|
258
|
+
* write refuses inside `MergeTrackRecordService` (a lost race between reading and patching is the
|
|
259
|
+
* service's to detect, not a controller's to pre-check). A machine-readable code that two packages
|
|
260
|
+
* spell independently is one rename away from a caller branching on a value only one route emits.
|
|
261
|
+
*
|
|
262
|
+
* Distinct from `no_merge_record`, which the RUN-scoped read answers for a readable run that
|
|
263
|
+
* simply made no merge decision: that is a fact about the run, not a missing id.
|
|
264
|
+
*/
|
|
265
|
+
export const MERGE_RECORD_NOT_FOUND_REASON = 'merge_record_not_found';
|
|
251
266
|
//# sourceMappingURL=mergeTrackRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeTrackRecord.js","sourceRoot":"","sources":["../src/mergeTrackRecord.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mergeTrackRecord.js","sourceRoot":"","sources":["../src/mergeTrackRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* One persisted merge decision, as `/api/v1` speaks it: the deterministic change class, the
|
|
4
|
+
* merger's scores at the decision, what happened to the pull request, and the reviewer-effort
|
|
5
|
+
* tag a human left (null until somebody tags it; tagging is never mandatory).
|
|
6
|
+
*
|
|
7
|
+
* The projection of the stored row (`mergeTrackRecordSchema`) onto the public id vocabulary:
|
|
8
|
+
* `recordId`/`taskId`/`runId` for the row, its task and its run. Provider-neutral by
|
|
9
|
+
* construction, so a GitLab deployment reads the same shape.
|
|
10
|
+
*/
|
|
11
|
+
export declare const publicMergeRecordSchema: v.ObjectSchema<{
|
|
12
|
+
/** The id to pass to `POST /api/v1/merge-records/{recordId}/effort`. */
|
|
13
|
+
readonly recordId: v.StringSchema<undefined>;
|
|
14
|
+
/** The board task whose pull request this covers (`GET /api/v1/tasks/{taskId}`). */
|
|
15
|
+
readonly taskId: v.StringSchema<undefined>;
|
|
16
|
+
/**
|
|
17
|
+
* The run that produced the pull request (`GET /api/v1/runs/{runId}/report`). Nullable
|
|
18
|
+
* because the column is; every record written today is born at a merge decision inside a run,
|
|
19
|
+
* so in practice it is set. An external merge does not mint a record, it settles the one the
|
|
20
|
+
* run already wrote.
|
|
21
|
+
*/
|
|
22
|
+
readonly runId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* What kind of change the pull request made, derived on the backend from its changed-file
|
|
25
|
+
* list and never from an agent's opinion. A mixed diff resolves to the highest-ranked class
|
|
26
|
+
* present, so a per-class rule can only fire on a diff carrying nothing riskier.
|
|
27
|
+
*/
|
|
28
|
+
readonly changeClass: v.PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
29
|
+
/** How many files the pull request changed, when the changed-file list was readable. */
|
|
30
|
+
readonly changedFileCount: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* The merger's complexity score at the decision, 0..1. The three scores move together: all
|
|
33
|
+
* null means the merger produced no parseable assessment, not that it scored zero.
|
|
34
|
+
*/
|
|
35
|
+
readonly complexity: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
36
|
+
/** The merger's risk score at the decision, 0..1 (see `complexity`). */
|
|
37
|
+
readonly risk: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
38
|
+
/** The merger's impact score at the decision, 0..1 (see `complexity`). */
|
|
39
|
+
readonly impact: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
40
|
+
/**
|
|
41
|
+
* The merge-threshold preset the decision was compared against. The id is absent for the
|
|
42
|
+
* deployment's built-in fallback preset, which has no stored row; the name is set either way.
|
|
43
|
+
*/
|
|
44
|
+
readonly mergePresetId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
45
|
+
readonly mergePresetName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
46
|
+
/** What ultimately happened to the pull request. */
|
|
47
|
+
readonly decision: v.PicklistSchema<["pending_review", "auto_merged", "human_merged", "external_merged", "rejected"], undefined>;
|
|
48
|
+
/** How much review a human spent, once somebody tagged it; null while untagged. */
|
|
49
|
+
readonly reviewEffort: v.NullableSchema<v.PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
50
|
+
/** The pull-request number within its repository, when known. */
|
|
51
|
+
readonly prNumber: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
52
|
+
/** The pull request's web URL. */
|
|
53
|
+
readonly prUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
54
|
+
/** Provider-neutral id of the repository the pull request belongs to. */
|
|
55
|
+
readonly repoId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
56
|
+
/** Which VCS provider hosts it, so a mixed-provider workspace reads back correctly. */
|
|
57
|
+
readonly provider: v.NullableSchema<v.PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
58
|
+
/** Epoch ms the decision was recorded (the merger step's resolution). */
|
|
59
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
60
|
+
/** Epoch ms the decision became terminal; null while `pending_review`. */
|
|
61
|
+
readonly resolvedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
62
|
+
/** Epoch ms the effort tag was recorded; null while untagged. */
|
|
63
|
+
readonly taggedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
64
|
+
}, undefined>;
|
|
65
|
+
export type PublicMergeRecord = v.InferOutput<typeof publicMergeRecordSchema>;
|
|
66
|
+
/**
|
|
67
|
+
* Every change class's accumulated track record, whole rather than paginated: the set is the
|
|
68
|
+
* closed {@link changeClassSchema} union, so the response is seven rows on every workspace and
|
|
69
|
+
* its size is computable before the request.
|
|
70
|
+
*
|
|
71
|
+
* A class with no records is present as zeros rather than absent, for the same reason the app's
|
|
72
|
+
* table renders every class: "nothing has landed in this class yet" and "this class was left out
|
|
73
|
+
* of the response" are different facts, and only one of them is about the workspace.
|
|
74
|
+
*/
|
|
75
|
+
export declare const publicMergeClassRollupListSchema: v.ObjectSchema<{
|
|
76
|
+
readonly rollups: v.ArraySchema<v.ObjectSchema<{
|
|
77
|
+
readonly changeClass: v.PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
78
|
+
readonly total: v.NumberSchema<undefined>;
|
|
79
|
+
readonly merged: v.NumberSchema<undefined>;
|
|
80
|
+
readonly autoMerged: v.NumberSchema<undefined>;
|
|
81
|
+
readonly humanMerged: v.NumberSchema<undefined>;
|
|
82
|
+
readonly externalMerged: v.NumberSchema<undefined>;
|
|
83
|
+
readonly rejected: v.NumberSchema<undefined>;
|
|
84
|
+
readonly pendingReview: v.NumberSchema<undefined>;
|
|
85
|
+
readonly effort: v.ObjectSchema<{
|
|
86
|
+
readonly none: v.NumberSchema<undefined>;
|
|
87
|
+
readonly minor: v.NumberSchema<undefined>;
|
|
88
|
+
readonly major: v.NumberSchema<undefined>;
|
|
89
|
+
readonly untagged: v.NumberSchema<undefined>;
|
|
90
|
+
}, undefined>;
|
|
91
|
+
}, undefined>, undefined>;
|
|
92
|
+
}, undefined>;
|
|
93
|
+
export type PublicMergeClassRollupList = v.InferOutput<typeof publicMergeClassRollupListSchema>;
|
|
94
|
+
//# sourceMappingURL=public-merge-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-merge-evidence.d.ts","sourceRoot":"","sources":["../src/public-merge-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqC5B;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAClC,wEAAwE;;IAExE,oFAAoF;;IAEpF;;;;;OAKG;;IAEH;;;;OAIG;;IAEH,wFAAwF;;IAExF;;;OAGG;;IAEH,wEAAwE;;IAExE,0EAA0E;;IAE1E;;;OAGG;;;IAGH,oDAAoD;;IAEpD,mFAAmF;;IAEnF,iEAAiE;;IAEjE,kCAAkC;;IAElC,yEAAyE;;IAEzE,uFAAuF;;IAEvF,yEAAyE;;IAEzE,0EAA0E;;IAE1E,iEAAiE;;aAEjE,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;aAE3C,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { changeClassSchema, mergeClassRollupSchema, mergeTrackDecisionSchema, reviewEffortSchema, } from './mergeTrackRecord.js';
|
|
3
|
+
import { vcsProviderSchema } from './routes/auth.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Public MERGE-EVIDENCE wire shapes (`/api/v1/runs/:runId/merge-record`,
|
|
6
|
+
// `/api/v1/merge-records/:recordId`, `…/effort`, and `/api/v1/merge-records/rollups`).
|
|
7
|
+
//
|
|
8
|
+
// The merge track record (ADR 0046) is the accumulated human evidence behind the auto-merge
|
|
9
|
+
// policy: what KIND of change a run made, what the merger scored it, what happened, and how
|
|
10
|
+
// much review a human actually spent. It was reachable only from a browser session, which
|
|
11
|
+
// split the headless story in half: an integration could START a run and MERGE its pull
|
|
12
|
+
// request through `/api/v1`, and then had nowhere to record how much review that merge took,
|
|
13
|
+
// nor any way to read back what the workspace has accumulated. So the one signal the policy is
|
|
14
|
+
// meant to eventually stand on was collectable only by the people who were not driving the runs.
|
|
15
|
+
//
|
|
16
|
+
// Three rules shape these shapes:
|
|
17
|
+
//
|
|
18
|
+
// 1. **The ROLLUPS are served verbatim** ({@link mergeClassRollupSchema}), the same aggregate
|
|
19
|
+
// the preset editor renders each class's rule against. A second, API-shaped projection of
|
|
20
|
+
// one `GROUP BY` is how two surfaces start reporting different auto-merge shares for one
|
|
21
|
+
// workspace. The consequence is worth stating: that schema is now part of the STABLE public
|
|
22
|
+
// surface and grows additively (CLAUDE.md, "The public API does not break").
|
|
23
|
+
// 2. **The RECORD is projected, because its id vocabulary differs.** `/api/v1` says `taskId`
|
|
24
|
+
// and `runId` where the stored row says `blockId` and `executionId`; publishing the row
|
|
25
|
+
// as-is would hand a caller two ids it cannot address anything with, next to the ones it
|
|
26
|
+
// can. Nothing is dropped in the projection: a consumer sees every field the record holds.
|
|
27
|
+
// 3. **`unknown` reaches the wire.** It is a first-class outcome (no VCS client wired, or an
|
|
28
|
+
// unreadable diff), not an error, and it never matches a per-class rule. A consumer that
|
|
29
|
+
// collapsed it onto a class would be reading a classification failure as a policy input.
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
/**
|
|
32
|
+
* One persisted merge decision, as `/api/v1` speaks it: the deterministic change class, the
|
|
33
|
+
* merger's scores at the decision, what happened to the pull request, and the reviewer-effort
|
|
34
|
+
* tag a human left (null until somebody tags it; tagging is never mandatory).
|
|
35
|
+
*
|
|
36
|
+
* The projection of the stored row (`mergeTrackRecordSchema`) onto the public id vocabulary:
|
|
37
|
+
* `recordId`/`taskId`/`runId` for the row, its task and its run. Provider-neutral by
|
|
38
|
+
* construction, so a GitLab deployment reads the same shape.
|
|
39
|
+
*/
|
|
40
|
+
export const publicMergeRecordSchema = v.object({
|
|
41
|
+
/** The id to pass to `POST /api/v1/merge-records/{recordId}/effort`. */
|
|
42
|
+
recordId: v.string(),
|
|
43
|
+
/** The board task whose pull request this covers (`GET /api/v1/tasks/{taskId}`). */
|
|
44
|
+
taskId: v.string(),
|
|
45
|
+
/**
|
|
46
|
+
* The run that produced the pull request (`GET /api/v1/runs/{runId}/report`). Nullable
|
|
47
|
+
* because the column is; every record written today is born at a merge decision inside a run,
|
|
48
|
+
* so in practice it is set. An external merge does not mint a record, it settles the one the
|
|
49
|
+
* run already wrote.
|
|
50
|
+
*/
|
|
51
|
+
runId: v.nullable(v.string()),
|
|
52
|
+
/**
|
|
53
|
+
* What kind of change the pull request made, derived on the backend from its changed-file
|
|
54
|
+
* list and never from an agent's opinion. A mixed diff resolves to the highest-ranked class
|
|
55
|
+
* present, so a per-class rule can only fire on a diff carrying nothing riskier.
|
|
56
|
+
*/
|
|
57
|
+
changeClass: changeClassSchema,
|
|
58
|
+
/** How many files the pull request changed, when the changed-file list was readable. */
|
|
59
|
+
changedFileCount: v.nullable(v.number()),
|
|
60
|
+
/**
|
|
61
|
+
* The merger's complexity score at the decision, 0..1. The three scores move together: all
|
|
62
|
+
* null means the merger produced no parseable assessment, not that it scored zero.
|
|
63
|
+
*/
|
|
64
|
+
complexity: v.nullable(v.number()),
|
|
65
|
+
/** The merger's risk score at the decision, 0..1 (see `complexity`). */
|
|
66
|
+
risk: v.nullable(v.number()),
|
|
67
|
+
/** The merger's impact score at the decision, 0..1 (see `complexity`). */
|
|
68
|
+
impact: v.nullable(v.number()),
|
|
69
|
+
/**
|
|
70
|
+
* The merge-threshold preset the decision was compared against. The id is absent for the
|
|
71
|
+
* deployment's built-in fallback preset, which has no stored row; the name is set either way.
|
|
72
|
+
*/
|
|
73
|
+
mergePresetId: v.nullable(v.string()),
|
|
74
|
+
mergePresetName: v.nullable(v.string()),
|
|
75
|
+
/** What ultimately happened to the pull request. */
|
|
76
|
+
decision: mergeTrackDecisionSchema,
|
|
77
|
+
/** How much review a human spent, once somebody tagged it; null while untagged. */
|
|
78
|
+
reviewEffort: v.nullable(reviewEffortSchema),
|
|
79
|
+
/** The pull-request number within its repository, when known. */
|
|
80
|
+
prNumber: v.nullable(v.number()),
|
|
81
|
+
/** The pull request's web URL. */
|
|
82
|
+
prUrl: v.nullable(v.string()),
|
|
83
|
+
/** Provider-neutral id of the repository the pull request belongs to. */
|
|
84
|
+
repoId: v.nullable(v.string()),
|
|
85
|
+
/** Which VCS provider hosts it, so a mixed-provider workspace reads back correctly. */
|
|
86
|
+
provider: v.nullable(vcsProviderSchema),
|
|
87
|
+
/** Epoch ms the decision was recorded (the merger step's resolution). */
|
|
88
|
+
createdAt: v.number(),
|
|
89
|
+
/** Epoch ms the decision became terminal; null while `pending_review`. */
|
|
90
|
+
resolvedAt: v.nullable(v.number()),
|
|
91
|
+
/** Epoch ms the effort tag was recorded; null while untagged. */
|
|
92
|
+
taggedAt: v.nullable(v.number()),
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Every change class's accumulated track record, whole rather than paginated: the set is the
|
|
96
|
+
* closed {@link changeClassSchema} union, so the response is seven rows on every workspace and
|
|
97
|
+
* its size is computable before the request.
|
|
98
|
+
*
|
|
99
|
+
* A class with no records is present as zeros rather than absent, for the same reason the app's
|
|
100
|
+
* table renders every class: "nothing has landed in this class yet" and "this class was left out
|
|
101
|
+
* of the response" are different facts, and only one of them is about the workspace.
|
|
102
|
+
*/
|
|
103
|
+
export const publicMergeClassRollupListSchema = v.object({
|
|
104
|
+
rollups: v.array(mergeClassRollupSchema),
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=public-merge-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-merge-evidence.js","sourceRoot":"","sources":["../src/public-merge-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,8EAA8E;AAC9E,yEAAyE;AACzE,uFAAuF;AACvF,EAAE;AACF,4FAA4F;AAC5F,4FAA4F;AAC5F,0FAA0F;AAC1F,wFAAwF;AACxF,6FAA6F;AAC7F,+FAA+F;AAC/F,iGAAiG;AACjG,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,+FAA+F;AAC/F,8FAA8F;AAC9F,6FAA6F;AAC7F,gGAAgG;AAChG,iFAAiF;AACjF,8FAA8F;AAC9F,4FAA4F;AAC5F,6FAA6F;AAC7F,+FAA+F;AAC/F,8FAA8F;AAC9F,6FAA6F;AAC7F,6FAA6F;AAC7F,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,wEAAwE;IACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,oFAAoF;IACpF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB;;;;;OAKG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,WAAW,EAAE,iBAAiB;IAC9B,wFAAwF;IACxF,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,wEAAwE;IACxE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,oDAAoD;IACpD,QAAQ,EAAE,wBAAwB;IAClC,mFAAmF;IACnF,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC5C,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,kCAAkC;IAClC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,yEAAyE;IACzE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACvC,yEAAyE;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAA;AAGF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACzC,CAAC,CAAA"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** Ceiling on requirement rows one response may carry, across the whole tree. */
|
|
3
|
+
export declare const PUBLIC_SPEC_MAX_REQUIREMENTS = 2000;
|
|
4
|
+
/** Ceiling on domain-rule rows one response may carry, across the whole tree. */
|
|
5
|
+
export declare const PUBLIC_SPEC_MAX_RULES = 2000;
|
|
6
|
+
/**
|
|
7
|
+
* Ceiling on acceptance criteria one response may carry, across the whole tree.
|
|
8
|
+
*
|
|
9
|
+
* Across the tree rather than per requirement, because a per-item cap does not bound anything: a
|
|
10
|
+
* criterion carries three 2,000-character clauses, so twenty of them on each of 2,000 requirements
|
|
11
|
+
* is a response two orders of magnitude past every other cap here. The row caps bound the tree's
|
|
12
|
+
* SHAPE; this bounds the part of its WEIGHT they do not.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PUBLIC_SPEC_MAX_ACCEPTANCE = 5000;
|
|
15
|
+
/** Ceiling on how many rendered `.feature` files one response may carry. */
|
|
16
|
+
export declare const PUBLIC_SPEC_MAX_FEATURE_FILES = 500;
|
|
17
|
+
/** Ceiling on the characters of Gherkin ONE feature file may carry. */
|
|
18
|
+
export declare const PUBLIC_SPEC_MAX_FEATURE_CHARS = 20000;
|
|
19
|
+
/**
|
|
20
|
+
* Ceiling on the characters of Gherkin ALL feature files may carry, together.
|
|
21
|
+
*
|
|
22
|
+
* The per-file cap alone bounds nothing that matters: 500 files each clamped to 20,000 characters
|
|
23
|
+
* is a ten-megabyte body served to a `read`-scope key. Spent in the same traversal order as every
|
|
24
|
+
* other budget, so a file is whole, clamped, or absent, and never a sample.
|
|
25
|
+
*/
|
|
26
|
+
export declare const PUBLIC_SPEC_MAX_FEATURE_TOTAL_CHARS = 1000000;
|
|
27
|
+
/**
|
|
28
|
+
* Ceiling on read-issue rows one response may carry.
|
|
29
|
+
*
|
|
30
|
+
* The issue list is produced by the read rather than by the spec, so it is the one axis that grows
|
|
31
|
+
* with FAILURE: a rate-limit window part-way through a few-thousand-shard walk logs a row per
|
|
32
|
+
* shard, and an uncapped list makes the report of a degraded read larger than a healthy response.
|
|
33
|
+
* Capping it without saying so would be the same fold every cap here exists to prevent, so it gets
|
|
34
|
+
* a `truncations` row like the rest.
|
|
35
|
+
*/
|
|
36
|
+
export declare const PUBLIC_SPEC_MAX_ISSUES = 200;
|
|
37
|
+
/**
|
|
38
|
+
* Where the served tree was read from, and WHEN.
|
|
39
|
+
*
|
|
40
|
+
* `commit` is the head of `ref` resolved immediately before the walk, and it is nullable for one
|
|
41
|
+
* honest reason: the tree is read BY BRANCH NAME (that is what makes the reads cacheable and
|
|
42
|
+
* cheap), so a push landing mid-walk can leave the response describing a slightly later commit
|
|
43
|
+
* than the one named. A null means the head could not be resolved at all: the tree below is still
|
|
44
|
+
* what the branch held, we simply cannot name the commit.
|
|
45
|
+
*
|
|
46
|
+
* There is no `directory` here, and its absence is the fact: the `spec/` tree is anchored at the
|
|
47
|
+
* REPOSITORY ROOT, so two services carved out of one monorepo share one spec. Naming a
|
|
48
|
+
* subdirectory would imply a scoping the reader does not apply.
|
|
49
|
+
*/
|
|
50
|
+
export declare const publicSpecProvenanceSchema: v.ObjectSchema<{
|
|
51
|
+
readonly provider: v.PicklistSchema<["github", "gitlab"], undefined>;
|
|
52
|
+
/** The repository's owner (org or user). */
|
|
53
|
+
readonly owner: v.StringSchema<undefined>;
|
|
54
|
+
/** The repository's name. */
|
|
55
|
+
readonly repo: v.StringSchema<undefined>;
|
|
56
|
+
/** The branch the spec was read from: the repository's default branch. */
|
|
57
|
+
readonly ref: v.StringSchema<undefined>;
|
|
58
|
+
/** The head commit of `ref` at read time, or null when it could not be resolved. */
|
|
59
|
+
readonly commit: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
60
|
+
}, undefined>;
|
|
61
|
+
export type PublicSpecProvenance = v.InferOutput<typeof publicSpecProvenanceSchema>;
|
|
62
|
+
/**
|
|
63
|
+
* One rendered Gherkin feature file, bounded.
|
|
64
|
+
*
|
|
65
|
+
* `chars`/`totalChars`/`truncated` are the debug surface's own shape, for its own reason: a bare
|
|
66
|
+
* truncated string is indistinguishable from a short one, so a reader would confidently conclude
|
|
67
|
+
* a feature declares two scenarios from a payload that merely hit its budget.
|
|
68
|
+
*/
|
|
69
|
+
export declare const publicSpecFeatureFileSchema: v.ObjectSchema<{
|
|
70
|
+
/** The owning module's display name. */
|
|
71
|
+
readonly module: v.StringSchema<undefined>;
|
|
72
|
+
/** The feature/group display name. */
|
|
73
|
+
readonly group: v.StringSchema<undefined>;
|
|
74
|
+
/** Repo-relative path of the `.feature` file. */
|
|
75
|
+
readonly path: v.StringSchema<undefined>;
|
|
76
|
+
/** The Gherkin, clamped to {@link PUBLIC_SPEC_MAX_FEATURE_CHARS}. */
|
|
77
|
+
readonly content: v.StringSchema<undefined>;
|
|
78
|
+
/** Characters actually returned in `content`. */
|
|
79
|
+
readonly chars: v.NumberSchema<undefined>;
|
|
80
|
+
/** Characters the file holds in the repository, whatever was returned. */
|
|
81
|
+
readonly totalChars: v.NumberSchema<undefined>;
|
|
82
|
+
/** True when `chars < totalChars`. */
|
|
83
|
+
readonly truncated: v.BooleanSchema<undefined>;
|
|
84
|
+
}, undefined>;
|
|
85
|
+
export type PublicSpecFeatureFile = v.InferOutput<typeof publicSpecFeatureFileSchema>;
|
|
86
|
+
/** Which axis a cap bit on. Every member counts ITEMS, so `shown`/`total` share one unit. */
|
|
87
|
+
export declare const publicSpecTruncationSectionSchema: v.PicklistSchema<["requirements", "rules", "acceptance", "features", "issues"], undefined>;
|
|
88
|
+
export type PublicSpecTruncationSection = v.InferOutput<typeof publicSpecTruncationSectionSchema>;
|
|
89
|
+
/**
|
|
90
|
+
* One cap that bit, and by how much. Present only for an axis that was actually shortened, so an
|
|
91
|
+
* empty `truncations` means the tree below is complete.
|
|
92
|
+
*
|
|
93
|
+
* The cap is applied in the tree's own traversal order (module, then group, then declaration
|
|
94
|
+
* order), which is stated so a reader does not have to guess: the rows that were dropped are the
|
|
95
|
+
* ones latest in that order, not the least important ones. Nothing here RANKS requirements.
|
|
96
|
+
*/
|
|
97
|
+
export declare const publicSpecTruncationSchema: v.ObjectSchema<{
|
|
98
|
+
readonly section: v.PicklistSchema<["requirements", "rules", "acceptance", "features", "issues"], undefined>;
|
|
99
|
+
/** How many rows the response carries. */
|
|
100
|
+
readonly shown: v.NumberSchema<undefined>;
|
|
101
|
+
/** How many rows the spec holds. */
|
|
102
|
+
readonly total: v.NumberSchema<undefined>;
|
|
103
|
+
}, undefined>;
|
|
104
|
+
export type PublicSpecTruncation = v.InferOutput<typeof publicSpecTruncationSchema>;
|
|
105
|
+
/**
|
|
106
|
+
* How the presence anchor (`spec/service.json`) resolved, for a caller that got a `200`.
|
|
107
|
+
*
|
|
108
|
+
* {@link specAnchorStateSchema} minus `read_failed`, which never reaches a body here: an unread
|
|
109
|
+
* repository is a `503` carrying `reason: "spec_read_failed"`. What remains are the three states
|
|
110
|
+
* that are FACTS ABOUT THE REPOSITORY, and they are served as three values rather than folded into
|
|
111
|
+
* one boolean because they need different reactions:
|
|
112
|
+
*
|
|
113
|
+
* - `present` — a spec was read. `spec` is the tree.
|
|
114
|
+
* - `absent` — the default branch holds no `spec/service.json`. The common, final answer, and
|
|
115
|
+
* the only one that means "this service declares nothing".
|
|
116
|
+
* - `unparsed` — the anchor is THERE and unusable (truncated JSON, a half-written commit). The
|
|
117
|
+
* tree is unavailable for a reason somebody has to fix in the repository, and an integrator
|
|
118
|
+
* treating it as "no requirements" would be reporting a broken file as an empty service.
|
|
119
|
+
*
|
|
120
|
+
* A boolean carried the first two and quietly folded the third onto `absent`, discoverable only by
|
|
121
|
+
* noticing an `issues` row. This surface does not fold outcomes; the whole endpoint exists because
|
|
122
|
+
* the internal view does.
|
|
123
|
+
*/
|
|
124
|
+
export declare const publicSpecAnchorSchema: v.PicklistSchema<["present", "absent", "unparsed"], undefined>;
|
|
125
|
+
export type PublicSpecAnchor = v.InferOutput<typeof publicSpecAnchorSchema>;
|
|
126
|
+
/**
|
|
127
|
+
* The service's specification as `/api/v1` serves it.
|
|
128
|
+
*
|
|
129
|
+
* A `200` here never means the repository could not be read (a `503` with
|
|
130
|
+
* `reason: "spec_read_failed"`), that no repository is linked (a `422`), or that this deployment
|
|
131
|
+
* wired no VCS integration (a `503` with `reason: "vcs_not_configured"`). What it does mean is
|
|
132
|
+
* {@link PublicServiceSpec.anchor}.
|
|
133
|
+
*/
|
|
134
|
+
export declare const publicServiceSpecSchema: v.ObjectSchema<{
|
|
135
|
+
/** The board service frame this spec belongs to, echoed so a response stands alone. */
|
|
136
|
+
readonly serviceId: v.StringSchema<undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* What the default branch holds where the spec should be. `spec` is non-null exactly when this
|
|
139
|
+
* is `present`; the other two are the two ways it can be null.
|
|
140
|
+
*/
|
|
141
|
+
readonly anchor: v.PicklistSchema<["present", "absent", "unparsed"], undefined>;
|
|
142
|
+
/**
|
|
143
|
+
* The structured tree (modules → groups → requirements + rules), or null when `anchor` is not
|
|
144
|
+
* `present`. {@link readSpecDocSchema} rather than the strict authoring schema: a spec whose
|
|
145
|
+
* anchor names no service is a state a repository can genuinely be in, and this surface has to
|
|
146
|
+
* describe repositories as they are.
|
|
147
|
+
*/
|
|
148
|
+
readonly spec: v.NullableSchema<v.ObjectSchema<{
|
|
149
|
+
readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
|
|
150
|
+
readonly modules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
151
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
152
|
+
readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
|
|
153
|
+
readonly groups: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
154
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
155
|
+
readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
|
|
156
|
+
readonly requirements: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
157
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
158
|
+
readonly title: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
159
|
+
readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
160
|
+
readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
|
|
161
|
+
readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
|
|
162
|
+
readonly state: v.OptionalSchema<v.PicklistSchema<["aspirational", "established"], undefined>, "aspirational">;
|
|
163
|
+
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 []>;
|
|
164
|
+
readonly acceptance: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
165
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
166
|
+
readonly given: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
167
|
+
readonly when: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
168
|
+
readonly outcome: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
169
|
+
}, undefined>, undefined>, readonly []>;
|
|
170
|
+
}, undefined>, undefined>, readonly []>;
|
|
171
|
+
readonly rules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
172
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
173
|
+
readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
174
|
+
readonly rationale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
|
|
175
|
+
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 []>;
|
|
176
|
+
}, undefined>, undefined>, readonly []>;
|
|
177
|
+
}, undefined>, undefined>, readonly []>;
|
|
178
|
+
}, undefined>, undefined>, readonly []>;
|
|
179
|
+
readonly service: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 120, undefined>]>, "">;
|
|
180
|
+
}, undefined>, undefined>;
|
|
181
|
+
/** The rendered Gherkin, one entry per `.feature` file. Empty when the repo renders none. */
|
|
182
|
+
readonly features: v.ArraySchema<v.ObjectSchema<{
|
|
183
|
+
/** The owning module's display name. */
|
|
184
|
+
readonly module: v.StringSchema<undefined>;
|
|
185
|
+
/** The feature/group display name. */
|
|
186
|
+
readonly group: v.StringSchema<undefined>;
|
|
187
|
+
/** Repo-relative path of the `.feature` file. */
|
|
188
|
+
readonly path: v.StringSchema<undefined>;
|
|
189
|
+
/** The Gherkin, clamped to {@link PUBLIC_SPEC_MAX_FEATURE_CHARS}. */
|
|
190
|
+
readonly content: v.StringSchema<undefined>;
|
|
191
|
+
/** Characters actually returned in `content`. */
|
|
192
|
+
readonly chars: v.NumberSchema<undefined>;
|
|
193
|
+
/** Characters the file holds in the repository, whatever was returned. */
|
|
194
|
+
readonly totalChars: v.NumberSchema<undefined>;
|
|
195
|
+
/** True when `chars < totalChars`. */
|
|
196
|
+
readonly truncated: v.BooleanSchema<undefined>;
|
|
197
|
+
}, undefined>, undefined>;
|
|
198
|
+
readonly provenance: v.ObjectSchema<{
|
|
199
|
+
readonly provider: v.PicklistSchema<["github", "gitlab"], undefined>;
|
|
200
|
+
/** The repository's owner (org or user). */
|
|
201
|
+
readonly owner: v.StringSchema<undefined>;
|
|
202
|
+
/** The repository's name. */
|
|
203
|
+
readonly repo: v.StringSchema<undefined>;
|
|
204
|
+
/** The branch the spec was read from: the repository's default branch. */
|
|
205
|
+
readonly ref: v.StringSchema<undefined>;
|
|
206
|
+
/** The head commit of `ref` at read time, or null when it could not be resolved. */
|
|
207
|
+
readonly commit: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
208
|
+
}, undefined>;
|
|
209
|
+
/**
|
|
210
|
+
* Files the read could not fully account for: a provider error on one shard, a shard whose JSON
|
|
211
|
+
* is unusable, a group salvaged with some requirements dropped, the tail a spent read budget
|
|
212
|
+
* never reached. A present-but-partial spec is served rather than refused, and this is what
|
|
213
|
+
* stops the part that arrived reading as the whole.
|
|
214
|
+
*
|
|
215
|
+
* Capped at {@link PUBLIC_SPEC_MAX_ISSUES}, with a `truncations` row when the cap bit.
|
|
216
|
+
*/
|
|
217
|
+
readonly issues: v.ArraySchema<v.ObjectSchema<{
|
|
218
|
+
readonly path: v.StringSchema<undefined>;
|
|
219
|
+
readonly kind: v.PicklistSchema<["read_failed", "unparsed", "partial", "unread"], undefined>;
|
|
220
|
+
readonly dropped: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, 0>;
|
|
221
|
+
}, undefined>, undefined>;
|
|
222
|
+
/** Every cap that bit. Empty when nothing was left out. */
|
|
223
|
+
readonly truncations: v.ArraySchema<v.ObjectSchema<{
|
|
224
|
+
readonly section: v.PicklistSchema<["requirements", "rules", "acceptance", "features", "issues"], undefined>;
|
|
225
|
+
/** How many rows the response carries. */
|
|
226
|
+
readonly shown: v.NumberSchema<undefined>;
|
|
227
|
+
/** How many rows the spec holds. */
|
|
228
|
+
readonly total: v.NumberSchema<undefined>;
|
|
229
|
+
}, undefined>, undefined>;
|
|
230
|
+
}, undefined>;
|
|
231
|
+
export type PublicServiceSpec = v.InferOutput<typeof publicServiceSpecSchema>;
|
|
232
|
+
//# sourceMappingURL=public-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-spec.d.ts","sourceRoot":"","sources":["../src/public-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA8C5B,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,OAAQ,CAAA;AAEjD,iFAAiF;AACjF,eAAO,MAAM,qBAAqB,OAAQ,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAE/C,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAEhD,uEAAuE;AACvE,eAAO,MAAM,6BAA6B,QAAS,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,UAAY,CAAA;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B;;IAErC,4CAA4C;;IAE5C,6BAA6B;;IAE7B,0EAA0E;;IAE1E,oFAAoF;;aAEpF,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;IACtC,wCAAwC;;IAExC,sCAAsC;;IAEtC,iDAAiD;;IAEjD,qEAAqE;;IAErE,iDAAiD;;IAEjD,0EAA0E;;IAE1E,sCAAsC;;aAEtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,6FAA6F;AAC7F,eAAO,MAAM,iCAAiC,4FAM5C,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;IAErC,0CAA0C;;IAE1C,oCAAoC;;aAEpC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,sBAAsB,gEAAgD,CAAA;AACnF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;IAClC,uFAAuF;;IAEvF;;;OAGG;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH,6FAA6F;;QAzF7F,wCAAwC;;QAExC,sCAAsC;;QAEtC,iDAAiD;;QAEjD,qEAAqE;;QAErE,iDAAiD;;QAEjD,0EAA0E;;QAE1E,sCAAsC;;;;;QA/BtC,4CAA4C;;QAE5C,6BAA6B;;QAE7B,0EAA0E;;QAE1E,oFAAoF;;;IAyGpF;;;;;;;OAOG;;;;;;IAEH,2DAA2D;;;QAhE3D,0CAA0C;;QAE1C,oCAAoC;;;aAgEpC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|