@knpkv/herdr-coordinator 0.2.1 → 0.3.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/README.md +81 -3
- package/dist/chat.d.ts +129 -3
- package/dist/chat.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +2 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -0
- package/dist/model.js.map +1 -1
- package/dist/orchestrator-errors.d.ts +54 -0
- package/dist/orchestrator-errors.d.ts.map +1 -0
- package/dist/orchestrator-errors.js +36 -0
- package/dist/orchestrator-errors.js.map +1 -0
- package/dist/orchestrator-model.d.ts +1160 -0
- package/dist/orchestrator-model.d.ts.map +1 -0
- package/dist/orchestrator-model.js +240 -0
- package/dist/orchestrator-model.js.map +1 -0
- package/dist/orchestrator.d.ts +34 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +875 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/pull-request-evidence-model.d.ts +153 -0
- package/dist/pull-request-evidence-model.d.ts.map +1 -0
- package/dist/pull-request-evidence-model.js +136 -0
- package/dist/pull-request-evidence-model.js.map +1 -0
- package/dist/pull-request-evidence.d.ts +19 -0
- package/dist/pull-request-evidence.d.ts.map +1 -0
- package/dist/pull-request-evidence.js +102 -0
- package/dist/pull-request-evidence.js.map +1 -0
- package/package.json +9 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
export declare const CommitSha: Schema.String;
|
|
3
|
+
export type CommitSha = typeof CommitSha.Type;
|
|
4
|
+
export declare const PullRequestEvidenceRequest: Schema.Struct<{
|
|
5
|
+
readonly repository: Schema.String;
|
|
6
|
+
readonly pullRequest: Schema.Number;
|
|
7
|
+
readonly expectedHead: Schema.String;
|
|
8
|
+
}>;
|
|
9
|
+
/** Issue-comment review evidence is deliberately not a GitHub approval. */
|
|
10
|
+
export declare const BotReviewEvidence: Schema.Struct<{
|
|
11
|
+
readonly id: Schema.String;
|
|
12
|
+
readonly reviewer: Schema.Literals<readonly ["chatgpt-codex-connector[bot]", "coderabbitai[bot]"]>;
|
|
13
|
+
readonly repository: Schema.String;
|
|
14
|
+
readonly pullRequest: Schema.Number;
|
|
15
|
+
readonly head: Schema.String;
|
|
16
|
+
readonly bodySha256: Schema.String;
|
|
17
|
+
readonly createdAt: Schema.Number;
|
|
18
|
+
readonly updatedAt: Schema.Number;
|
|
19
|
+
readonly verdict: Schema.Literals<readonly ["clean", "finding", "unknown"]>;
|
|
20
|
+
readonly runId: Schema.NullOr<Schema.String>;
|
|
21
|
+
}>;
|
|
22
|
+
export interface BotReviewEvidence extends Schema.Schema.Type<typeof BotReviewEvidence> {
|
|
23
|
+
}
|
|
24
|
+
export declare const PullRequestAtomicObservation: Schema.Struct<{
|
|
25
|
+
readonly repository: Schema.String;
|
|
26
|
+
readonly pullRequest: Schema.Number;
|
|
27
|
+
readonly headAtStart: Schema.String;
|
|
28
|
+
readonly headAtEnd: Schema.String;
|
|
29
|
+
readonly observedAt: Schema.Number;
|
|
30
|
+
readonly requiredChecks: Schema.$Array<Schema.String>;
|
|
31
|
+
readonly checks: Schema.$Array<Schema.Struct<{
|
|
32
|
+
readonly name: Schema.String;
|
|
33
|
+
readonly head: Schema.String;
|
|
34
|
+
readonly conclusion: Schema.Literals<readonly ["pending", "success", "failure"]>;
|
|
35
|
+
}>>;
|
|
36
|
+
readonly threads: Schema.$Array<Schema.Struct<{
|
|
37
|
+
readonly id: Schema.String;
|
|
38
|
+
readonly head: Schema.String;
|
|
39
|
+
readonly resolved: Schema.Boolean;
|
|
40
|
+
readonly outdated: Schema.Boolean;
|
|
41
|
+
}>>;
|
|
42
|
+
readonly reviews: Schema.$Array<Schema.Struct<{
|
|
43
|
+
readonly id: Schema.String;
|
|
44
|
+
readonly reviewer: Schema.String;
|
|
45
|
+
readonly head: Schema.String;
|
|
46
|
+
readonly state: Schema.Literals<readonly ["approved", "changes_requested", "commented"]>;
|
|
47
|
+
readonly submittedAt: Schema.Number;
|
|
48
|
+
}>>;
|
|
49
|
+
readonly botReviews: Schema.$Array<Schema.Struct<{
|
|
50
|
+
readonly id: Schema.String;
|
|
51
|
+
readonly reviewer: Schema.Literals<readonly ["chatgpt-codex-connector[bot]", "coderabbitai[bot]"]>;
|
|
52
|
+
readonly repository: Schema.String;
|
|
53
|
+
readonly pullRequest: Schema.Number;
|
|
54
|
+
readonly head: Schema.String;
|
|
55
|
+
readonly bodySha256: Schema.String;
|
|
56
|
+
readonly createdAt: Schema.Number;
|
|
57
|
+
readonly updatedAt: Schema.Number;
|
|
58
|
+
readonly verdict: Schema.Literals<readonly ["clean", "finding", "unknown"]>;
|
|
59
|
+
readonly runId: Schema.NullOr<Schema.String>;
|
|
60
|
+
}>>;
|
|
61
|
+
readonly formalReview: Schema.Struct<{
|
|
62
|
+
readonly requiredApprovals: Schema.Number;
|
|
63
|
+
readonly requiresCodeOwnerReview: Schema.Boolean;
|
|
64
|
+
readonly decision: Schema.NullOr<Schema.Literals<readonly ["approved", "changes_requested", "review_required"]>>;
|
|
65
|
+
}>;
|
|
66
|
+
readonly owner: Schema.Struct<{
|
|
67
|
+
readonly id: Schema.String;
|
|
68
|
+
readonly name: Schema.String;
|
|
69
|
+
}>;
|
|
70
|
+
readonly work: Schema.Struct<{
|
|
71
|
+
readonly goalId: Schema.String;
|
|
72
|
+
readonly releaseGoalId: Schema.NullOr<Schema.String>;
|
|
73
|
+
readonly relation: Schema.Literals<readonly ["current", "superseded"]>;
|
|
74
|
+
}>;
|
|
75
|
+
}>;
|
|
76
|
+
export interface PullRequestAtomicObservation extends Schema.Schema.Type<typeof PullRequestAtomicObservation> {
|
|
77
|
+
}
|
|
78
|
+
/** Complete gate input whose source-sensitive evidence is bound to one observed commit. */
|
|
79
|
+
export declare const PullRequestGateInput: Schema.Struct<{
|
|
80
|
+
readonly repository: Schema.String;
|
|
81
|
+
readonly pullRequest: Schema.Number;
|
|
82
|
+
readonly expectedHead: Schema.String;
|
|
83
|
+
readonly observedHead: Schema.String;
|
|
84
|
+
readonly observedAt: Schema.Number;
|
|
85
|
+
readonly freshUntil: Schema.Number;
|
|
86
|
+
readonly projectedAt: Schema.Number;
|
|
87
|
+
readonly requiredChecks: Schema.$Array<Schema.String>;
|
|
88
|
+
readonly checks: Schema.$Array<Schema.Struct<{
|
|
89
|
+
readonly name: Schema.String;
|
|
90
|
+
readonly head: Schema.String;
|
|
91
|
+
readonly conclusion: Schema.Literals<readonly ["pending", "success", "failure"]>;
|
|
92
|
+
}>>;
|
|
93
|
+
readonly threads: Schema.$Array<Schema.Struct<{
|
|
94
|
+
readonly id: Schema.String;
|
|
95
|
+
readonly head: Schema.String;
|
|
96
|
+
readonly resolved: Schema.Boolean;
|
|
97
|
+
readonly outdated: Schema.Boolean;
|
|
98
|
+
}>>;
|
|
99
|
+
readonly reviews: Schema.$Array<Schema.Struct<{
|
|
100
|
+
readonly id: Schema.String;
|
|
101
|
+
readonly reviewer: Schema.String;
|
|
102
|
+
readonly head: Schema.String;
|
|
103
|
+
readonly state: Schema.Literals<readonly ["approved", "changes_requested", "commented"]>;
|
|
104
|
+
readonly submittedAt: Schema.Number;
|
|
105
|
+
}>>;
|
|
106
|
+
readonly botReviews: Schema.$Array<Schema.Struct<{
|
|
107
|
+
readonly id: Schema.String;
|
|
108
|
+
readonly reviewer: Schema.Literals<readonly ["chatgpt-codex-connector[bot]", "coderabbitai[bot]"]>;
|
|
109
|
+
readonly repository: Schema.String;
|
|
110
|
+
readonly pullRequest: Schema.Number;
|
|
111
|
+
readonly head: Schema.String;
|
|
112
|
+
readonly bodySha256: Schema.String;
|
|
113
|
+
readonly createdAt: Schema.Number;
|
|
114
|
+
readonly updatedAt: Schema.Number;
|
|
115
|
+
readonly verdict: Schema.Literals<readonly ["clean", "finding", "unknown"]>;
|
|
116
|
+
readonly runId: Schema.NullOr<Schema.String>;
|
|
117
|
+
}>>;
|
|
118
|
+
readonly formalReview: Schema.Struct<{
|
|
119
|
+
readonly requiredApprovals: Schema.Number;
|
|
120
|
+
readonly requiresCodeOwnerReview: Schema.Boolean;
|
|
121
|
+
readonly decision: Schema.NullOr<Schema.Literals<readonly ["approved", "changes_requested", "review_required"]>>;
|
|
122
|
+
}>;
|
|
123
|
+
readonly owner: Schema.Struct<{
|
|
124
|
+
readonly id: Schema.String;
|
|
125
|
+
readonly name: Schema.String;
|
|
126
|
+
}>;
|
|
127
|
+
readonly work: Schema.Struct<{
|
|
128
|
+
readonly goalId: Schema.String;
|
|
129
|
+
readonly releaseGoalId: Schema.NullOr<Schema.String>;
|
|
130
|
+
readonly relation: Schema.Literals<readonly ["current", "superseded"]>;
|
|
131
|
+
}>;
|
|
132
|
+
}>;
|
|
133
|
+
export interface PullRequestGateInput extends Schema.Schema.Type<typeof PullRequestGateInput> {
|
|
134
|
+
}
|
|
135
|
+
declare const PullRequestEvidenceSourceError_base: Schema.Class<PullRequestEvidenceSourceError, Schema.TaggedStruct<"PullRequestEvidenceSourceError", {
|
|
136
|
+
readonly detail: Schema.String;
|
|
137
|
+
}>, import("effect/Cause").YieldableError>;
|
|
138
|
+
export declare class PullRequestEvidenceSourceError extends PullRequestEvidenceSourceError_base {
|
|
139
|
+
}
|
|
140
|
+
declare const PullRequestEvidenceInvalid_base: Schema.Class<PullRequestEvidenceInvalid, Schema.TaggedStruct<"PullRequestEvidenceInvalid", {
|
|
141
|
+
readonly detail: Schema.String;
|
|
142
|
+
}>, import("effect/Cause").YieldableError>;
|
|
143
|
+
export declare class PullRequestEvidenceInvalid extends PullRequestEvidenceInvalid_base {
|
|
144
|
+
}
|
|
145
|
+
declare const PullRequestEvidenceStale_base: Schema.Class<PullRequestEvidenceStale, Schema.TaggedStruct<"PullRequestEvidenceStale", {
|
|
146
|
+
readonly expectedHead: Schema.String;
|
|
147
|
+
readonly headAtStart: Schema.String;
|
|
148
|
+
readonly headAtEnd: Schema.String;
|
|
149
|
+
}>, import("effect/Cause").YieldableError>;
|
|
150
|
+
export declare class PullRequestEvidenceStale extends PullRequestEvidenceStale_base {
|
|
151
|
+
}
|
|
152
|
+
export {};
|
|
153
|
+
//# sourceMappingURL=pull-request-evidence-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request-evidence-model.d.ts","sourceRoot":"","sources":["../src/pull-request-evidence-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAa/B,eAAO,MAAM,SAAS,eAA0D,CAAA;AAChF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAA;AAOF,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;EAW5B,CAAA;AACF,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC;CAAG;AAE1F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCvC,CAAA;AACF,MAAM,WAAW,4BAA6B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,4BAA4B,CAAC;CAAG;AAEhH,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsEhC,CAAA;AACD,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;;;;AAEhG,qBAAa,8BAA+B,SAAQ,mCAGnD;CAAG;;;;AAEJ,qBAAa,0BAA2B,SAAQ,+BAG/C;CAAG;;;;;;AAEJ,qBAAa,wBAAyB,SAAQ,6BAG7C;CAAG"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { WorkGoalId } from "@knpkv/herdr-work/model";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
const Text = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(4_096), Schema.isPattern(/^[^\p{Cc}\p{Cs}]+$/u));
|
|
4
|
+
const Timestamp = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: 8_640_000_000_000_000 }));
|
|
5
|
+
const PullRequestNumber = Schema.Number.check(Schema.isInt(), Schema.isGreaterThan(0));
|
|
6
|
+
export const CommitSha = Schema.String.check(Schema.isPattern(/^[0-9a-f]{40}$/));
|
|
7
|
+
export const PullRequestEvidenceRequest = Schema.Struct({
|
|
8
|
+
repository: Text,
|
|
9
|
+
pullRequest: PullRequestNumber,
|
|
10
|
+
expectedHead: CommitSha
|
|
11
|
+
});
|
|
12
|
+
const CheckConclusion = Schema.Literals(["pending", "success", "failure"]);
|
|
13
|
+
const ReviewState = Schema.Literals(["approved", "changes_requested", "commented"]);
|
|
14
|
+
const BotReviewer = Schema.Literals(["chatgpt-codex-connector[bot]", "coderabbitai[bot]"]);
|
|
15
|
+
const BodyDigest = Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/));
|
|
16
|
+
/** Issue-comment review evidence is deliberately not a GitHub approval. */
|
|
17
|
+
export const BotReviewEvidence = Schema.Struct({
|
|
18
|
+
id: Text,
|
|
19
|
+
reviewer: BotReviewer,
|
|
20
|
+
repository: Text,
|
|
21
|
+
pullRequest: PullRequestNumber,
|
|
22
|
+
head: CommitSha,
|
|
23
|
+
bodySha256: BodyDigest,
|
|
24
|
+
createdAt: Timestamp,
|
|
25
|
+
updatedAt: Timestamp,
|
|
26
|
+
verdict: Schema.Literals(["clean", "finding", "unknown"]),
|
|
27
|
+
runId: Schema.NullOr(Text)
|
|
28
|
+
});
|
|
29
|
+
export const PullRequestAtomicObservation = Schema.Struct({
|
|
30
|
+
repository: Text,
|
|
31
|
+
pullRequest: PullRequestNumber,
|
|
32
|
+
headAtStart: CommitSha,
|
|
33
|
+
headAtEnd: CommitSha,
|
|
34
|
+
observedAt: Timestamp,
|
|
35
|
+
requiredChecks: Schema.Array(Text).check(Schema.isMaxLength(256)),
|
|
36
|
+
checks: Schema.Array(Schema.Struct({
|
|
37
|
+
name: Text,
|
|
38
|
+
head: CommitSha,
|
|
39
|
+
conclusion: CheckConclusion
|
|
40
|
+
})).check(Schema.isMaxLength(256)),
|
|
41
|
+
threads: Schema.Array(Schema.Struct({
|
|
42
|
+
id: Text,
|
|
43
|
+
head: CommitSha,
|
|
44
|
+
resolved: Schema.Boolean,
|
|
45
|
+
outdated: Schema.Boolean
|
|
46
|
+
})).check(Schema.isMaxLength(2_048)),
|
|
47
|
+
reviews: Schema.Array(Schema.Struct({
|
|
48
|
+
id: Text,
|
|
49
|
+
reviewer: Text,
|
|
50
|
+
head: CommitSha,
|
|
51
|
+
state: ReviewState,
|
|
52
|
+
submittedAt: Timestamp
|
|
53
|
+
})).check(Schema.isMaxLength(256)),
|
|
54
|
+
botReviews: Schema.Array(BotReviewEvidence).check(Schema.isMaxLength(2_048)),
|
|
55
|
+
formalReview: Schema.Struct({
|
|
56
|
+
requiredApprovals: Schema.Number.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),
|
|
57
|
+
requiresCodeOwnerReview: Schema.Boolean,
|
|
58
|
+
decision: Schema.NullOr(Schema.Literals(["approved", "changes_requested", "review_required"]))
|
|
59
|
+
}),
|
|
60
|
+
owner: Schema.Struct({ id: Text, name: Text }),
|
|
61
|
+
work: Schema.Struct({
|
|
62
|
+
goalId: WorkGoalId,
|
|
63
|
+
releaseGoalId: Schema.NullOr(WorkGoalId),
|
|
64
|
+
relation: Schema.Literals(["current", "superseded"])
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
/** Complete gate input whose source-sensitive evidence is bound to one observed commit. */
|
|
68
|
+
export const PullRequestGateInput = Schema.Struct({
|
|
69
|
+
repository: Text,
|
|
70
|
+
pullRequest: PullRequestNumber,
|
|
71
|
+
expectedHead: CommitSha,
|
|
72
|
+
observedHead: CommitSha,
|
|
73
|
+
observedAt: Timestamp,
|
|
74
|
+
freshUntil: Timestamp,
|
|
75
|
+
projectedAt: Timestamp,
|
|
76
|
+
requiredChecks: Schema.Array(Text).check(Schema.isMaxLength(256)),
|
|
77
|
+
checks: Schema.Array(Schema.Struct({
|
|
78
|
+
name: Text,
|
|
79
|
+
head: CommitSha,
|
|
80
|
+
conclusion: CheckConclusion
|
|
81
|
+
})).check(Schema.isMaxLength(256)),
|
|
82
|
+
threads: Schema.Array(Schema.Struct({
|
|
83
|
+
id: Text,
|
|
84
|
+
head: CommitSha,
|
|
85
|
+
resolved: Schema.Boolean,
|
|
86
|
+
outdated: Schema.Boolean
|
|
87
|
+
})).check(Schema.isMaxLength(2_048)),
|
|
88
|
+
reviews: Schema.Array(Schema.Struct({
|
|
89
|
+
id: Text,
|
|
90
|
+
reviewer: Text,
|
|
91
|
+
head: CommitSha,
|
|
92
|
+
state: ReviewState,
|
|
93
|
+
submittedAt: Timestamp
|
|
94
|
+
})).check(Schema.isMaxLength(256)),
|
|
95
|
+
botReviews: Schema.Array(BotReviewEvidence).check(Schema.isMaxLength(2_048)),
|
|
96
|
+
formalReview: Schema.Struct({
|
|
97
|
+
requiredApprovals: Schema.Number.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),
|
|
98
|
+
requiresCodeOwnerReview: Schema.Boolean,
|
|
99
|
+
decision: Schema.NullOr(Schema.Literals(["approved", "changes_requested", "review_required"]))
|
|
100
|
+
}),
|
|
101
|
+
owner: Schema.Struct({ id: Text, name: Text }),
|
|
102
|
+
work: Schema.Struct({
|
|
103
|
+
goalId: WorkGoalId,
|
|
104
|
+
releaseGoalId: Schema.NullOr(WorkGoalId),
|
|
105
|
+
relation: Schema.Literals(["current", "superseded"])
|
|
106
|
+
})
|
|
107
|
+
}).check(Schema.makeFilter((input) => {
|
|
108
|
+
const requiredChecks = new Set(input.requiredChecks);
|
|
109
|
+
const checkNames = new Set(input.checks.map(({ name }) => name));
|
|
110
|
+
const threadIds = new Set(input.threads.map(({ id }) => id));
|
|
111
|
+
const reviewIds = new Set(input.reviews.map(({ id }) => id));
|
|
112
|
+
const botReviewIds = new Set(input.botReviews.map(({ id }) => id));
|
|
113
|
+
return input.observedHead === input.expectedHead &&
|
|
114
|
+
input.requiredChecks.length > 0 &&
|
|
115
|
+
requiredChecks.size === input.requiredChecks.length &&
|
|
116
|
+
checkNames.size === input.checks.length &&
|
|
117
|
+
threadIds.size === input.threads.length &&
|
|
118
|
+
reviewIds.size === input.reviews.length &&
|
|
119
|
+
botReviewIds.size === input.botReviews.length &&
|
|
120
|
+
input.requiredChecks.every((name) => checkNames.has(name)) &&
|
|
121
|
+
input.checks.every(({ head }) => head === input.expectedHead) &&
|
|
122
|
+
input.threads.every(({ head }) => head === input.expectedHead) &&
|
|
123
|
+
input.reviews.every(({ head, submittedAt }) => head === input.expectedHead && submittedAt <= input.observedAt) &&
|
|
124
|
+
input.botReviews.every(({ createdAt, head, pullRequest, repository, updatedAt }) => repository === input.repository && pullRequest === input.pullRequest &&
|
|
125
|
+
head === input.expectedHead && createdAt <= updatedAt && updatedAt <= input.observedAt) &&
|
|
126
|
+
input.observedAt <= input.projectedAt &&
|
|
127
|
+
input.projectedAt <= input.freshUntil &&
|
|
128
|
+
input.freshUntil <= input.observedAt + 60_000;
|
|
129
|
+
}, { expected: "complete, fresh, unique source-sensitive evidence bound to one exact head" }));
|
|
130
|
+
export class PullRequestEvidenceSourceError extends Schema.TaggedError()("PullRequestEvidenceSourceError", { detail: Text }) {
|
|
131
|
+
}
|
|
132
|
+
export class PullRequestEvidenceInvalid extends Schema.TaggedError()("PullRequestEvidenceInvalid", { detail: Text }) {
|
|
133
|
+
}
|
|
134
|
+
export class PullRequestEvidenceStale extends Schema.TaggedError()("PullRequestEvidenceStale", { expectedHead: CommitSha, headAtStart: CommitSha, headAtEnd: CommitSha }) {
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=pull-request-evidence-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request-evidence-model.js","sourceRoot":"","sources":["../src/pull-request-evidence-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Clock, Context, Effect, Layer } from "effect";
|
|
2
|
+
import * as EvidenceModel from "./pull-request-evidence-model.js";
|
|
3
|
+
export interface PullRequestEvidenceSourceService {
|
|
4
|
+
/** Reads all fields in one bounded provider observation, sampling the head before and after the read. */
|
|
5
|
+
readonly observe: (repository: string, pullRequest: number) => Effect.Effect<EvidenceModel.PullRequestAtomicObservation, EvidenceModel.PullRequestEvidenceSourceError>;
|
|
6
|
+
}
|
|
7
|
+
declare const PullRequestEvidenceSource_base: Context.ServiceClass<PullRequestEvidenceSource, "@knpkv/herdr-coordinator/PullRequestEvidenceSource", PullRequestEvidenceSourceService>;
|
|
8
|
+
export declare class PullRequestEvidenceSource extends PullRequestEvidenceSource_base {
|
|
9
|
+
}
|
|
10
|
+
export interface PullRequestEvidenceProviderService {
|
|
11
|
+
readonly exactHeadGateEvidence: (repository: string, pullRequest: number, expectedHead: EvidenceModel.CommitSha) => Effect.Effect<EvidenceModel.PullRequestGateInput, EvidenceModel.PullRequestEvidenceSourceError | EvidenceModel.PullRequestEvidenceInvalid | EvidenceModel.PullRequestEvidenceStale>;
|
|
12
|
+
}
|
|
13
|
+
declare const PullRequestEvidenceProvider_base: Context.ServiceClass<PullRequestEvidenceProvider, "@knpkv/herdr-coordinator/PullRequestEvidenceProvider", PullRequestEvidenceProviderService>;
|
|
14
|
+
export declare class PullRequestEvidenceProvider extends PullRequestEvidenceProvider_base {
|
|
15
|
+
}
|
|
16
|
+
/** Supplies exact-head evidence from one atomic source observation. */
|
|
17
|
+
export declare const pullRequestEvidenceLayer: Layer.Layer<PullRequestEvidenceProvider, never, PullRequestEvidenceSource | Clock.Clock>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=pull-request-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request-evidence.d.ts","sourceRoot":"","sources":["../src/pull-request-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAA;AAC9D,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAA;AAIjE,MAAM,WAAW,gCAAgC;IAC/C,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,CAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,4BAA4B,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAA;CAC7G;;AAED,qBAAa,yBAA0B,SAAQ,8BAGU;CAAG;AAE5D,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,qBAAqB,EAAE,CAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,aAAa,CAAC,SAAS,KAClC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,oBAAoB,EAChC,aAAa,CAAC,8BAA8B,GAC5C,aAAa,CAAC,0BAA0B,GACxC,aAAa,CAAC,wBAAwB,CACzC,CAAA;CACF;;AAED,qBAAa,2BAA4B,SAAQ,gCAGU;CAAG;AAyH9D,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAChD,2BAA2B,EAC3B,KAAK,EACL,yBAAyB,GAAG,KAAK,CAAC,KAAK,CACqC,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Clock, Context, Effect, Layer, Schema } from "effect";
|
|
2
|
+
import * as EvidenceModel from "./pull-request-evidence-model.js";
|
|
3
|
+
const freshnessWindowMillis = 60_000;
|
|
4
|
+
export class PullRequestEvidenceSource extends Context.Service()("@knpkv/herdr-coordinator/PullRequestEvidenceSource") {
|
|
5
|
+
}
|
|
6
|
+
export class PullRequestEvidenceProvider extends Context.Service()("@knpkv/herdr-coordinator/PullRequestEvidenceProvider") {
|
|
7
|
+
}
|
|
8
|
+
const makePullRequestEvidenceProvider = Effect.gen(function* () {
|
|
9
|
+
const source = yield* PullRequestEvidenceSource;
|
|
10
|
+
const clock = yield* Clock.Clock;
|
|
11
|
+
return PullRequestEvidenceProvider.of({
|
|
12
|
+
exactHeadGateEvidence: Effect.fn("PullRequestEvidenceProvider.exactHeadGateEvidence")(function* (repository, pullRequest, expectedHead) {
|
|
13
|
+
const request = yield* Schema.decodeUnknownEffect(EvidenceModel.PullRequestEvidenceRequest)({
|
|
14
|
+
repository,
|
|
15
|
+
pullRequest,
|
|
16
|
+
expectedHead
|
|
17
|
+
}).pipe(Effect.mapError(() => new EvidenceModel.PullRequestEvidenceInvalid({ detail: "pull request evidence request is invalid" })));
|
|
18
|
+
const observation = yield* source.observe(request.repository, request.pullRequest).pipe(Effect.flatMap(Schema.decodeUnknownEffect(EvidenceModel.PullRequestAtomicObservation)), Effect.mapError((error) => error._tag === "PullRequestEvidenceSourceError"
|
|
19
|
+
? error
|
|
20
|
+
: new EvidenceModel.PullRequestEvidenceInvalid({ detail: "provider observation is invalid" })));
|
|
21
|
+
if (observation.repository !== request.repository || observation.pullRequest !== request.pullRequest) {
|
|
22
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
23
|
+
detail: "provider observation identifies another pull request"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (observation.headAtStart !== request.expectedHead ||
|
|
27
|
+
observation.headAtEnd !== request.expectedHead) {
|
|
28
|
+
return yield* new EvidenceModel.PullRequestEvidenceStale({
|
|
29
|
+
expectedHead: request.expectedHead,
|
|
30
|
+
headAtStart: observation.headAtStart,
|
|
31
|
+
headAtEnd: observation.headAtEnd
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (new Set(observation.requiredChecks).size !== observation.requiredChecks.length) {
|
|
35
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({ detail: "required check names are duplicated" });
|
|
36
|
+
}
|
|
37
|
+
const checkNames = new Set(observation.checks.map(({ name }) => name));
|
|
38
|
+
if (checkNames.size !== observation.checks.length) {
|
|
39
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({ detail: "check evidence is duplicated" });
|
|
40
|
+
}
|
|
41
|
+
if (new Set(observation.threads.map(({ id }) => id)).size !== observation.threads.length) {
|
|
42
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({ detail: "thread evidence is duplicated" });
|
|
43
|
+
}
|
|
44
|
+
if (new Set(observation.reviews.map(({ id }) => id)).size !== observation.reviews.length) {
|
|
45
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({ detail: "review evidence is duplicated" });
|
|
46
|
+
}
|
|
47
|
+
if (new Set(observation.botReviews.map(({ id }) => id)).size !== observation.botReviews.length) {
|
|
48
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
49
|
+
detail: "bot issue-comment evidence is duplicated"
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (observation.requiredChecks.length === 0 || observation.requiredChecks.some((name) => !checkNames.has(name))) {
|
|
53
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({ detail: "required check evidence is incomplete" });
|
|
54
|
+
}
|
|
55
|
+
if (observation.reviews.some(({ submittedAt }) => submittedAt > observation.observedAt)) {
|
|
56
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
57
|
+
detail: "review evidence is newer than its observation"
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (observation.botReviews.some(({ createdAt, updatedAt }) => createdAt > updatedAt || updatedAt > observation.observedAt)) {
|
|
61
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
62
|
+
detail: "bot issue-comment evidence is newer than its observation"
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
if (observation.checks.some(({ head }) => head !== request.expectedHead) ||
|
|
66
|
+
observation.threads.some(({ head }) => head !== request.expectedHead) ||
|
|
67
|
+
observation.reviews.some(({ head }) => head !== request.expectedHead) ||
|
|
68
|
+
observation.botReviews.some(({ head, pullRequest, repository }) => repository !== request.repository || pullRequest !== request.pullRequest || head !== request.expectedHead)) {
|
|
69
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
70
|
+
detail: "source-sensitive evidence is not bound to the expected head"
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const projectedAt = yield* clock.currentTimeMillis;
|
|
74
|
+
if (projectedAt < observation.observedAt) {
|
|
75
|
+
return yield* new EvidenceModel.PullRequestEvidenceInvalid({
|
|
76
|
+
detail: "provider observation is from the future"
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
const freshUntil = observation.observedAt + freshnessWindowMillis;
|
|
80
|
+
return yield* Schema.decodeUnknownEffect(EvidenceModel.PullRequestGateInput)({
|
|
81
|
+
repository: request.repository,
|
|
82
|
+
pullRequest: request.pullRequest,
|
|
83
|
+
expectedHead: request.expectedHead,
|
|
84
|
+
observedHead: observation.headAtEnd,
|
|
85
|
+
observedAt: observation.observedAt,
|
|
86
|
+
freshUntil,
|
|
87
|
+
projectedAt,
|
|
88
|
+
requiredChecks: observation.requiredChecks,
|
|
89
|
+
checks: observation.checks,
|
|
90
|
+
threads: observation.threads,
|
|
91
|
+
reviews: observation.reviews,
|
|
92
|
+
botReviews: observation.botReviews,
|
|
93
|
+
formalReview: observation.formalReview,
|
|
94
|
+
owner: observation.owner,
|
|
95
|
+
work: observation.work
|
|
96
|
+
}).pipe(Effect.mapError(() => new EvidenceModel.PullRequestEvidenceInvalid({ detail: "gate evidence is invalid" })));
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
/** Supplies exact-head evidence from one atomic source observation. */
|
|
101
|
+
export const pullRequestEvidenceLayer = Layer.effect(PullRequestEvidenceProvider, makePullRequestEvidenceProvider);
|
|
102
|
+
//# sourceMappingURL=pull-request-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request-evidence.js","sourceRoot":"","sources":["../src/pull-request-evidence.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knpkv/herdr-coordinator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Persistent coordinator chat contracts for Herdr fleet jobs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "knpkv",
|
|
@@ -34,16 +34,18 @@
|
|
|
34
34
|
"node": ">=26"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"effect": "4.0.0
|
|
38
|
-
"@
|
|
37
|
+
"@effect/platform-node": "4.0.0",
|
|
38
|
+
"@effect/sql-sqlite-node": "4.0.0",
|
|
39
|
+
"effect": "4.0.0",
|
|
40
|
+
"@knpkv/herdr-fleet": "^0.4.0",
|
|
41
|
+
"@knpkv/herdr-work": "^0.5.0"
|
|
39
42
|
},
|
|
40
43
|
"devDependencies": {
|
|
41
|
-
"@effect/
|
|
42
|
-
"@
|
|
43
|
-
"@types/node": "^26.2.0",
|
|
44
|
+
"@effect/vitest": "4.0.0",
|
|
45
|
+
"@types/node": "^26.6.4",
|
|
44
46
|
"rimraf": "^6.1.3",
|
|
45
47
|
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
46
|
-
"vitest": "^
|
|
48
|
+
"vitest": "^5.0.3"
|
|
47
49
|
},
|
|
48
50
|
"scripts": {
|
|
49
51
|
"build": "rimraf dist && tsc -b --force",
|