@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.
@@ -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.2.1",
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-rc.109",
38
- "@knpkv/herdr-fleet": "^0.3.0"
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/platform-node": "4.0.0-rc.109",
42
- "@effect/vitest": "4.0.0-rc.109",
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": "^4.1.10"
48
+ "vitest": "^5.0.3"
47
49
  },
48
50
  "scripts": {
49
51
  "build": "rimraf dist && tsc -b --force",