@cat-factory/contracts 0.278.0 → 0.279.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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -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/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -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/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,7 @@ 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-merge-evidence.js';
|
|
116
117
|
export * from './public-spend.js';
|
|
117
118
|
export * from './debug-api.js';
|
|
118
119
|
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":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -113,6 +113,7 @@ 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-merge-evidence.js';
|
|
116
117
|
export * from './public-spend.js';
|
|
117
118
|
export * from './debug-api.js';
|
|
118
119
|
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"}
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export * from './provisioning-logs.js';
|
|
|
52
52
|
export * from './public-api.js';
|
|
53
53
|
export * from './public-board.js';
|
|
54
54
|
export * from './public-evidence.js';
|
|
55
|
+
export * from './public-merge-evidence.js';
|
|
55
56
|
export * from './debug-api.js';
|
|
56
57
|
export * from './public-decisions.js';
|
|
57
58
|
export * from './notification-webhooks.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
package/dist/routes/index.js
CHANGED
|
@@ -55,6 +55,7 @@ export * from './provisioning-logs.js';
|
|
|
55
55
|
export * from './public-api.js';
|
|
56
56
|
export * from './public-board.js';
|
|
57
57
|
export * from './public-evidence.js';
|
|
58
|
+
export * from './public-merge-evidence.js';
|
|
58
59
|
export * from './debug-api.js';
|
|
59
60
|
export * from './public-decisions.js';
|
|
60
61
|
export * from './notification-webhooks.js';
|
package/dist/routes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
@@ -1091,7 +1091,22 @@ export declare const listPublicNotificationsContract: {
|
|
|
1091
1091
|
} & {
|
|
1092
1092
|
readonly minScope: "read";
|
|
1093
1093
|
};
|
|
1094
|
-
/**
|
|
1094
|
+
/**
|
|
1095
|
+
* Act on a notification (run its typed side-effect, then resolve it). Requires an `admin` key.
|
|
1096
|
+
*
|
|
1097
|
+
* All-optional body, matching the session-authed twin (`routes/notifications.ts`): on a
|
|
1098
|
+
* `merge_review` / `pipeline_complete` card, `reviewEffort` records how much review the pull
|
|
1099
|
+
* request needed in the SAME request that confirms the merge, so the app's one-tap
|
|
1100
|
+
* confirm-and-tag has a headless equivalent rather than a two-call approximation of one.
|
|
1101
|
+
*
|
|
1102
|
+
* Additive on every axis. The route mounts `optionalJsonBody`, so a caller that has always sent
|
|
1103
|
+
* no body at all still gets the historical behaviour; the four SDK clients render an all-optional
|
|
1104
|
+
* body as an OMITTABLE parameter, so `act(id)` keeps compiling and `act(id, { reviewEffort })` is
|
|
1105
|
+
* the new form. Tagging LATER through `POST /api/v1/merge-records/:recordId/effort`
|
|
1106
|
+
* (`./public-merge-evidence.ts`) stays the right call for a caller that learns the effort after
|
|
1107
|
+
* the fact, and remains a rung LOWER than this route: tagging a landed pull request merges
|
|
1108
|
+
* nothing, where this merges one for real.
|
|
1109
|
+
*/
|
|
1095
1110
|
export declare const actPublicNotificationContract: {
|
|
1096
1111
|
readonly method: "post";
|
|
1097
1112
|
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
@@ -1100,7 +1115,9 @@ export declare const actPublicNotificationContract: {
|
|
|
1100
1115
|
readonly pathResolver: ({ id }: {
|
|
1101
1116
|
id: string;
|
|
1102
1117
|
}) => string;
|
|
1103
|
-
readonly requestBodySchema:
|
|
1118
|
+
readonly requestBodySchema: import("valibot").ObjectSchema<{
|
|
1119
|
+
readonly reviewEffort: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").PicklistSchema<["none", "minor", "major"], undefined>, undefined>, undefined>;
|
|
1120
|
+
}, undefined>;
|
|
1104
1121
|
readonly responsesByStatusCode: {
|
|
1105
1122
|
readonly '4xx': import("valibot").ObjectSchema<{
|
|
1106
1123
|
readonly error: import("valibot").ObjectSchema<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAmD3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAIF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQlC,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQhC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASnC,CAAA;AAID,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtC,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASpC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS1C,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQjC,CAAA;AAED,0BAA0B;AAC1B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASnC,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASpC,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASlC,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASnC,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQhC,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQpC,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOvC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOvC,CAAA;
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
|
|
2
2
|
import { createHeadlessPublicApiKeySchema, createPublicApiKeySchema, createdPublicApiKeySchema, HEADLESS_KEY_MINT_SCOPE, publicApiKeyListResultSchema, } from '../public-api-keys.js';
|
|
3
|
-
import { notificationSchema } from '../notifications.js';
|
|
3
|
+
import { actNotificationSchema, notificationSchema } from '../notifications.js';
|
|
4
4
|
import { createPublicJobSchema, createPublicTaskSchema, listPublicJobsQuerySchema, listPublicServiceTasksQuerySchema, publicJobAcceptedSchema, publicIdentitySchema, publicJobListSchema, publicJobSchema, publicNotificationListSchema, publicPipelineListSchema, publicRunSchema, publicServiceListSchema, publicTaskListSchema, publicTaskSchema, publicUsageSchema, startPublicTaskSchema, updatePublicTaskSchema, } from '../public-api.js';
|
|
5
5
|
import { publicSpendQuerySchema, publicSpendSchema } from '../public-spend.js';
|
|
6
6
|
import { publicTaskTypeListSchema } from '../public-task-types.js';
|
|
@@ -186,18 +186,38 @@ export const listPublicPipelinesContract = withMinScope('read', defineApiContrac
|
|
|
186
186
|
// (merge a `merge_review` / `pipeline_complete` PR, retry a `ci_failed` / `test_failed`
|
|
187
187
|
// run), `dismiss` waves a card off. `act` performs a real GitHub merge, so it is the
|
|
188
188
|
// top of the scope ladder (`admin`); `dismiss` is `write`; the list is `read`.
|
|
189
|
+
//
|
|
190
|
+
// Recording the reviewer EFFORT a merge took does not sit at that top rung, and is not on this
|
|
191
|
+
// route at all: `POST /api/v1/merge-records/:recordId/effort` (`write`, see
|
|
192
|
+
// `./public-merge-evidence.ts`) is where a headless caller tags a landed pull request, before or
|
|
193
|
+
// after the `act` that merged it.
|
|
189
194
|
/** List the workspace's OPEN notifications (the inbox). */
|
|
190
195
|
export const listPublicNotificationsContract = withMinScope('read', defineApiContract({
|
|
191
196
|
method: 'get',
|
|
192
197
|
pathResolver: () => '/api/v1/notifications',
|
|
193
198
|
responsesByStatusCode: { 200: publicNotificationListSchema, ...errorResponses },
|
|
194
199
|
}));
|
|
195
|
-
/**
|
|
200
|
+
/**
|
|
201
|
+
* Act on a notification (run its typed side-effect, then resolve it). Requires an `admin` key.
|
|
202
|
+
*
|
|
203
|
+
* All-optional body, matching the session-authed twin (`routes/notifications.ts`): on a
|
|
204
|
+
* `merge_review` / `pipeline_complete` card, `reviewEffort` records how much review the pull
|
|
205
|
+
* request needed in the SAME request that confirms the merge, so the app's one-tap
|
|
206
|
+
* confirm-and-tag has a headless equivalent rather than a two-call approximation of one.
|
|
207
|
+
*
|
|
208
|
+
* Additive on every axis. The route mounts `optionalJsonBody`, so a caller that has always sent
|
|
209
|
+
* no body at all still gets the historical behaviour; the four SDK clients render an all-optional
|
|
210
|
+
* body as an OMITTABLE parameter, so `act(id)` keeps compiling and `act(id, { reviewEffort })` is
|
|
211
|
+
* the new form. Tagging LATER through `POST /api/v1/merge-records/:recordId/effort`
|
|
212
|
+
* (`./public-merge-evidence.ts`) stays the right call for a caller that learns the effort after
|
|
213
|
+
* the fact, and remains a rung LOWER than this route: tagging a landed pull request merges
|
|
214
|
+
* nothing, where this merges one for real.
|
|
215
|
+
*/
|
|
196
216
|
export const actPublicNotificationContract = withMinScope('admin', defineApiContract({
|
|
197
217
|
method: 'post',
|
|
198
218
|
requestPathParamsSchema: idParams,
|
|
199
219
|
pathResolver: ({ id }) => `/api/v1/notifications/${id}/act`,
|
|
200
|
-
requestBodySchema:
|
|
220
|
+
requestBodySchema: actNotificationSchema,
|
|
201
221
|
responsesByStatusCode: { 200: notificationSchema, ...errorResponses },
|
|
202
222
|
}));
|
|
203
223
|
/** Dismiss a notification without acting on it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The merge decision a RUN left behind: its change class, the merger's scores, what happened,
|
|
3
|
+
* and the effort tag if one has been recorded.
|
|
4
|
+
*
|
|
5
|
+
* The entry point of the loop for a caller that started the run and holds its id, and the read
|
|
6
|
+
* that hands it the `recordId` the tag route takes. A run whose pipeline had no `merger` step
|
|
7
|
+
* (or whose merge path never got far enough to classify) has no record, and that is a `404`
|
|
8
|
+
* rather than an empty object: "this run made no merge decision" is a fact about the run.
|
|
9
|
+
*/
|
|
10
|
+
export declare const getPublicRunMergeRecordContract: {
|
|
11
|
+
readonly method: "get";
|
|
12
|
+
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
13
|
+
runId: import("valibot").StringSchema<undefined>;
|
|
14
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
15
|
+
readonly pathResolver: ({ runId }: {
|
|
16
|
+
runId: string;
|
|
17
|
+
}) => string;
|
|
18
|
+
readonly responsesByStatusCode: {
|
|
19
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
20
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
21
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
22
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
23
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
24
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
25
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
26
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
27
|
+
}, undefined>, undefined>, undefined>;
|
|
28
|
+
}, undefined>;
|
|
29
|
+
}, undefined>;
|
|
30
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
31
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
32
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
33
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
34
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
35
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
36
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
37
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
38
|
+
}, undefined>, undefined>, undefined>;
|
|
39
|
+
}, undefined>;
|
|
40
|
+
}, undefined>;
|
|
41
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
42
|
+
readonly recordId: import("valibot").StringSchema<undefined>;
|
|
43
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
44
|
+
readonly runId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
45
|
+
readonly changeClass: import("valibot").PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
46
|
+
readonly changedFileCount: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
47
|
+
readonly complexity: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
48
|
+
readonly risk: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
49
|
+
readonly impact: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
50
|
+
readonly mergePresetId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
51
|
+
readonly mergePresetName: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
52
|
+
readonly decision: import("valibot").PicklistSchema<["pending_review", "auto_merged", "human_merged", "external_merged", "rejected"], undefined>;
|
|
53
|
+
readonly reviewEffort: import("valibot").NullableSchema<import("valibot").PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
54
|
+
readonly prNumber: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
55
|
+
readonly prUrl: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
56
|
+
readonly repoId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
57
|
+
readonly provider: import("valibot").NullableSchema<import("valibot").PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
58
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
59
|
+
readonly resolvedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
60
|
+
readonly taggedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
61
|
+
}, undefined>;
|
|
62
|
+
};
|
|
63
|
+
} & {
|
|
64
|
+
readonly minScope: "read";
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Every change class's accumulated track record for the key's workspace, as ONE aggregate.
|
|
68
|
+
*
|
|
69
|
+
* Registered ahead of the point read below so `rollups` cannot be taken for a record id. It
|
|
70
|
+
* cannot be one today (record ids are `mtr_*`), but the ordering is what keeps that true of a
|
|
71
|
+
* future id scheme rather than of this one.
|
|
72
|
+
*/
|
|
73
|
+
export declare const listPublicMergeClassRollupsContract: {
|
|
74
|
+
readonly method: "get";
|
|
75
|
+
readonly pathResolver: () => string;
|
|
76
|
+
readonly responsesByStatusCode: {
|
|
77
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
78
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
79
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
80
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
81
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
82
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
83
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
84
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
85
|
+
}, undefined>, undefined>, undefined>;
|
|
86
|
+
}, undefined>;
|
|
87
|
+
}, undefined>;
|
|
88
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
89
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
90
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
91
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
92
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
93
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
94
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
95
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
96
|
+
}, undefined>, undefined>, undefined>;
|
|
97
|
+
}, undefined>;
|
|
98
|
+
}, undefined>;
|
|
99
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
100
|
+
readonly rollups: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
101
|
+
readonly changeClass: import("valibot").PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
102
|
+
readonly total: import("valibot").NumberSchema<undefined>;
|
|
103
|
+
readonly merged: import("valibot").NumberSchema<undefined>;
|
|
104
|
+
readonly autoMerged: import("valibot").NumberSchema<undefined>;
|
|
105
|
+
readonly humanMerged: import("valibot").NumberSchema<undefined>;
|
|
106
|
+
readonly externalMerged: import("valibot").NumberSchema<undefined>;
|
|
107
|
+
readonly rejected: import("valibot").NumberSchema<undefined>;
|
|
108
|
+
readonly pendingReview: import("valibot").NumberSchema<undefined>;
|
|
109
|
+
readonly effort: import("valibot").ObjectSchema<{
|
|
110
|
+
readonly none: import("valibot").NumberSchema<undefined>;
|
|
111
|
+
readonly minor: import("valibot").NumberSchema<undefined>;
|
|
112
|
+
readonly major: import("valibot").NumberSchema<undefined>;
|
|
113
|
+
readonly untagged: import("valibot").NumberSchema<undefined>;
|
|
114
|
+
}, undefined>;
|
|
115
|
+
}, undefined>, undefined>;
|
|
116
|
+
}, undefined>;
|
|
117
|
+
};
|
|
118
|
+
} & {
|
|
119
|
+
readonly minScope: "read";
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* One record by id: the read-back beside the tag write, so a caller holding a `recordId` (from
|
|
123
|
+
* a `merge_tag_request` card's payload, say) can see WHAT it is about to tag rather than tagging
|
|
124
|
+
* an opaque id.
|
|
125
|
+
*/
|
|
126
|
+
export declare const getPublicMergeRecordContract: {
|
|
127
|
+
readonly method: "get";
|
|
128
|
+
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
129
|
+
recordId: import("valibot").StringSchema<undefined>;
|
|
130
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
131
|
+
readonly pathResolver: ({ recordId }: {
|
|
132
|
+
recordId: string;
|
|
133
|
+
}) => string;
|
|
134
|
+
readonly responsesByStatusCode: {
|
|
135
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
136
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
137
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
138
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
139
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
140
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
141
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
142
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
143
|
+
}, undefined>, undefined>, undefined>;
|
|
144
|
+
}, undefined>;
|
|
145
|
+
}, undefined>;
|
|
146
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
147
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
148
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
149
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
150
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
151
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
152
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
153
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
154
|
+
}, undefined>, undefined>, undefined>;
|
|
155
|
+
}, undefined>;
|
|
156
|
+
}, undefined>;
|
|
157
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
158
|
+
readonly recordId: import("valibot").StringSchema<undefined>;
|
|
159
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
160
|
+
readonly runId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
161
|
+
readonly changeClass: import("valibot").PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
162
|
+
readonly changedFileCount: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
163
|
+
readonly complexity: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
164
|
+
readonly risk: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
165
|
+
readonly impact: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
166
|
+
readonly mergePresetId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
167
|
+
readonly mergePresetName: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
168
|
+
readonly decision: import("valibot").PicklistSchema<["pending_review", "auto_merged", "human_merged", "external_merged", "rejected"], undefined>;
|
|
169
|
+
readonly reviewEffort: import("valibot").NullableSchema<import("valibot").PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
170
|
+
readonly prNumber: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
171
|
+
readonly prUrl: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
172
|
+
readonly repoId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
173
|
+
readonly provider: import("valibot").NullableSchema<import("valibot").PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
174
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
175
|
+
readonly resolvedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
176
|
+
readonly taggedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
177
|
+
}, undefined>;
|
|
178
|
+
};
|
|
179
|
+
} & {
|
|
180
|
+
readonly minScope: "read";
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Tag (or clear, with `null`) the reviewer effort a human spent on the pull request a record
|
|
184
|
+
* covers. `write`, not `admin`: this records evidence about a decision that already happened.
|
|
185
|
+
*
|
|
186
|
+
* Idempotent (the same tag applied twice leaves the same row) and orthogonal to the decision, so
|
|
187
|
+
* a record may be tagged whenever the effort becomes known, including long after the merge.
|
|
188
|
+
*/
|
|
189
|
+
export declare const tagPublicMergeReviewEffortContract: {
|
|
190
|
+
readonly method: "post";
|
|
191
|
+
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
192
|
+
recordId: import("valibot").StringSchema<undefined>;
|
|
193
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
194
|
+
readonly pathResolver: ({ recordId }: {
|
|
195
|
+
recordId: string;
|
|
196
|
+
}) => string;
|
|
197
|
+
readonly requestBodySchema: import("valibot").ObjectSchema<{
|
|
198
|
+
readonly reviewEffort: import("valibot").NullableSchema<import("valibot").PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
199
|
+
}, undefined>;
|
|
200
|
+
readonly responsesByStatusCode: {
|
|
201
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
202
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
203
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
204
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
205
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
206
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
207
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
208
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
209
|
+
}, undefined>, undefined>, undefined>;
|
|
210
|
+
}, undefined>;
|
|
211
|
+
}, undefined>;
|
|
212
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
213
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
214
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
215
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
216
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
217
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
218
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
219
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
220
|
+
}, undefined>, undefined>, undefined>;
|
|
221
|
+
}, undefined>;
|
|
222
|
+
}, undefined>;
|
|
223
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
224
|
+
readonly recordId: import("valibot").StringSchema<undefined>;
|
|
225
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
226
|
+
readonly runId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
227
|
+
readonly changeClass: import("valibot").PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>;
|
|
228
|
+
readonly changedFileCount: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
229
|
+
readonly complexity: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
230
|
+
readonly risk: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
231
|
+
readonly impact: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
232
|
+
readonly mergePresetId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
233
|
+
readonly mergePresetName: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
234
|
+
readonly decision: import("valibot").PicklistSchema<["pending_review", "auto_merged", "human_merged", "external_merged", "rejected"], undefined>;
|
|
235
|
+
readonly reviewEffort: import("valibot").NullableSchema<import("valibot").PicklistSchema<["none", "minor", "major"], undefined>, undefined>;
|
|
236
|
+
readonly prNumber: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
237
|
+
readonly prUrl: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
238
|
+
readonly repoId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
239
|
+
readonly provider: import("valibot").NullableSchema<import("valibot").PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
240
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
241
|
+
readonly resolvedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
242
|
+
readonly taggedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
243
|
+
}, undefined>;
|
|
244
|
+
};
|
|
245
|
+
} & {
|
|
246
|
+
readonly minScope: "write";
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=public-merge-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-merge-evidence.d.ts","sourceRoot":"","sources":["../../src/routes/public-merge-evidence.ts"],"names":[],"mappings":"AAiCA;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ3C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQxC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS9C,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { defineApiContract } from '@toad-contracts/valibot';
|
|
2
|
+
import { tagReviewEffortSchema } from '../mergeTrackRecord.js';
|
|
3
|
+
import { publicMergeClassRollupListSchema, publicMergeRecordSchema, } from '../public-merge-evidence.js';
|
|
4
|
+
import { errorResponses, singleStringParam, withMinScope } from './_shared.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Route contracts for the public MERGE-EVIDENCE surface: absolute `/api/v1` paths,
|
|
7
|
+
// authenticated in-controller by a public-API key. The wire shapes and the reasoning behind
|
|
8
|
+
// them live in `../public-merge-evidence.ts`; the feature itself is
|
|
9
|
+
// `backend/docs/adr/0046-merge-track-record.md`.
|
|
10
|
+
//
|
|
11
|
+
// The scope split is the whole point of the surface, and it is deliberately NOT the one `act`
|
|
12
|
+
// carries. `POST /api/v1/notifications/:id/act` is `admin` because it MERGES a pull request for
|
|
13
|
+
// real; TAGGING how much review an already-landed pull request needed performs no external
|
|
14
|
+
// side-effect and cannot merge anything, so it is `write`, and the reads are `read` like every
|
|
15
|
+
// other read on this API. An integration that watches a board and records review effort
|
|
16
|
+
// therefore needs neither merge rights nor the ability to delete a task, where before the only
|
|
17
|
+
// way to record a tag at all was through the `admin`-scoped `act`.
|
|
18
|
+
//
|
|
19
|
+
// The two workspace-scoped point routes are addressed by RECORD id and re-apply the key's
|
|
20
|
+
// workspace to the row they load, which is the rule every point read on this API follows
|
|
21
|
+
// (`/api/v1/debug/llm-calls/:callId`, `/api/v1/artifacts/:artifactId/blob`). The run-scoped read
|
|
22
|
+
// is under `/api/v1/runs/:runId/*` and therefore carries that prefix's ONE access semantic
|
|
23
|
+
// instead: a run this key could already reach through `GET /jobs/:id` or
|
|
24
|
+
// `GET /tasks/:taskId/run`. See `PublicEvidenceController` for why a prefix may carry only one.
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
const runIdParams = singleStringParam('runId');
|
|
27
|
+
const recordIdParams = singleStringParam('recordId');
|
|
28
|
+
/**
|
|
29
|
+
* The merge decision a RUN left behind: its change class, the merger's scores, what happened,
|
|
30
|
+
* and the effort tag if one has been recorded.
|
|
31
|
+
*
|
|
32
|
+
* The entry point of the loop for a caller that started the run and holds its id, and the read
|
|
33
|
+
* that hands it the `recordId` the tag route takes. A run whose pipeline had no `merger` step
|
|
34
|
+
* (or whose merge path never got far enough to classify) has no record, and that is a `404`
|
|
35
|
+
* rather than an empty object: "this run made no merge decision" is a fact about the run.
|
|
36
|
+
*/
|
|
37
|
+
export const getPublicRunMergeRecordContract = withMinScope('read', defineApiContract({
|
|
38
|
+
method: 'get',
|
|
39
|
+
requestPathParamsSchema: runIdParams,
|
|
40
|
+
pathResolver: ({ runId }) => `/api/v1/runs/${runId}/merge-record`,
|
|
41
|
+
responsesByStatusCode: { 200: publicMergeRecordSchema, ...errorResponses },
|
|
42
|
+
}));
|
|
43
|
+
/**
|
|
44
|
+
* Every change class's accumulated track record for the key's workspace, as ONE aggregate.
|
|
45
|
+
*
|
|
46
|
+
* Registered ahead of the point read below so `rollups` cannot be taken for a record id. It
|
|
47
|
+
* cannot be one today (record ids are `mtr_*`), but the ordering is what keeps that true of a
|
|
48
|
+
* future id scheme rather than of this one.
|
|
49
|
+
*/
|
|
50
|
+
export const listPublicMergeClassRollupsContract = withMinScope('read', defineApiContract({
|
|
51
|
+
method: 'get',
|
|
52
|
+
pathResolver: () => '/api/v1/merge-records/rollups',
|
|
53
|
+
responsesByStatusCode: { 200: publicMergeClassRollupListSchema, ...errorResponses },
|
|
54
|
+
}));
|
|
55
|
+
/**
|
|
56
|
+
* One record by id: the read-back beside the tag write, so a caller holding a `recordId` (from
|
|
57
|
+
* a `merge_tag_request` card's payload, say) can see WHAT it is about to tag rather than tagging
|
|
58
|
+
* an opaque id.
|
|
59
|
+
*/
|
|
60
|
+
export const getPublicMergeRecordContract = withMinScope('read', defineApiContract({
|
|
61
|
+
method: 'get',
|
|
62
|
+
requestPathParamsSchema: recordIdParams,
|
|
63
|
+
pathResolver: ({ recordId }) => `/api/v1/merge-records/${recordId}`,
|
|
64
|
+
responsesByStatusCode: { 200: publicMergeRecordSchema, ...errorResponses },
|
|
65
|
+
}));
|
|
66
|
+
/**
|
|
67
|
+
* Tag (or clear, with `null`) the reviewer effort a human spent on the pull request a record
|
|
68
|
+
* covers. `write`, not `admin`: this records evidence about a decision that already happened.
|
|
69
|
+
*
|
|
70
|
+
* Idempotent (the same tag applied twice leaves the same row) and orthogonal to the decision, so
|
|
71
|
+
* a record may be tagged whenever the effort becomes known, including long after the merge.
|
|
72
|
+
*/
|
|
73
|
+
export const tagPublicMergeReviewEffortContract = withMinScope('write', defineApiContract({
|
|
74
|
+
method: 'post',
|
|
75
|
+
requestPathParamsSchema: recordIdParams,
|
|
76
|
+
pathResolver: ({ recordId }) => `/api/v1/merge-records/${recordId}/effort`,
|
|
77
|
+
requestBodySchema: tagReviewEffortSchema,
|
|
78
|
+
responsesByStatusCode: { 200: publicMergeRecordSchema, ...errorResponses },
|
|
79
|
+
}));
|
|
80
|
+
//# sourceMappingURL=public-merge-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-merge-evidence.js","sourceRoot":"","sources":["../../src/routes/public-merge-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EACL,gCAAgC,EAChC,uBAAuB,GACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9E,8EAA8E;AAC9E,mFAAmF;AACnF,4FAA4F;AAC5F,oEAAoE;AACpE,iDAAiD;AACjD,EAAE;AACF,8FAA8F;AAC9F,gGAAgG;AAChG,2FAA2F;AAC3F,+FAA+F;AAC/F,wFAAwF;AACxF,+FAA+F;AAC/F,mEAAmE;AACnE,EAAE;AACF,0FAA0F;AAC1F,yFAAyF;AACzF,iGAAiG;AACjG,2FAA2F;AAC3F,yEAAyE;AACzE,gGAAgG;AAChG,8EAA8E;AAE9E,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,YAAY,CACzD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,WAAW;IACpC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,gBAAgB,KAAK,eAAe;IACjE,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,YAAY,CAC7D,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,+BAA+B;IACnD,qBAAqB,EAAE,EAAE,GAAG,EAAE,gCAAgC,EAAE,GAAG,cAAc,EAAE;CACpF,CAAC,CACH,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CACtD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,cAAc;IACvC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,yBAAyB,QAAQ,EAAE;IACnE,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,YAAY,CAC5D,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,cAAc;IACvC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,yBAAyB,QAAQ,SAAS;IAC1E,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA"}
|