@codetreker/daynight 0.8.5 → 0.8.13
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/api/client.d.ts +5 -1
- package/dist/api/client.js +104 -24
- package/dist/api/client.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/parse.d.ts +4 -4
- package/dist/api/parse.js +28 -4
- package/dist/api/parse.js.map +1 -1
- package/dist/api/types.d.ts +23 -1
- package/dist/cli/byte-output-helper.d.ts +1 -0
- package/dist/cli/byte-output-helper.js +48 -0
- package/dist/cli/byte-output-helper.js.map +1 -0
- package/dist/cli/byte-output.d.ts +7 -0
- package/dist/cli/byte-output.js +199 -0
- package/dist/cli/byte-output.js.map +1 -0
- package/dist/cli/context.d.ts +2 -0
- package/dist/cli/context.js +15 -9
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/schema.js +6 -6
- package/dist/cli/schema.js.map +1 -1
- package/dist/commands/review/adapters/copilot.d.ts +3 -0
- package/dist/commands/review/adapters/copilot.js +16 -7
- package/dist/commands/review/adapters/copilot.js.map +1 -1
- package/dist/commands/review/adapters/github-review-state.d.ts +21 -0
- package/dist/commands/review/adapters/github-review-state.js +144 -0
- package/dist/commands/review/adapters/github-review-state.js.map +1 -0
- package/dist/commands/review/adapters/github.d.ts +2 -1
- package/dist/commands/review/adapters/github.js +31 -4
- package/dist/commands/review/adapters/github.js.map +1 -1
- package/dist/commands/review/coordinator.js +134 -7
- package/dist/commands/review/coordinator.js.map +1 -1
- package/dist/commands/review/model.d.ts +21 -0
- package/dist/commands/review/publication.d.ts +14 -0
- package/dist/commands/review/publication.js +47 -0
- package/dist/commands/review/publication.js.map +1 -0
- package/dist/commands/review/skills/daynight-review/SKILL.md +59 -20
- package/dist/commands/review/store.d.ts +20 -0
- package/dist/commands/review/store.js +134 -5
- package/dist/commands/review/store.js.map +1 -1
- package/dist/commands/server/runtime.d.ts +1 -1
- package/dist/commands/server/runtime.js +8 -1
- package/dist/commands/server/runtime.js.map +1 -1
- package/dist/commands/skill/agents.d.ts +1 -1
- package/dist/commands/skill/agents.js +1 -1
- package/dist/commands/skill/agents.js.map +1 -1
- package/dist/commands/skill/command.js +7 -5
- package/dist/commands/skill/command.js.map +1 -1
- package/dist/commands/skill/definition.js +3 -3
- package/dist/commands/skill/definition.js.map +1 -1
- package/dist/commands/skill/install.d.ts +2 -1
- package/dist/commands/skill/install.js +13 -5
- package/dist/commands/skill/install.js.map +1 -1
- package/dist/commands/skill/skills/using-daynight/SKILL.md +56 -0
- package/dist/commands/skill/skills/using-daynight/references/autopilot.md +71 -0
- package/dist/commands/skill/skills/using-daynight/references/create-task.md +103 -0
- package/dist/commands/skill/skills/using-daynight/references/handbook.md +72 -0
- package/dist/commands/skill/skills/using-daynight/references/run-task.md +80 -0
- package/dist/commands/skill/targets.d.ts +1 -0
- package/dist/commands/skill/targets.js +9 -2
- package/dist/commands/skill/targets.js.map +1 -1
- package/dist/commands/task/attachment-rendering.d.ts +5 -0
- package/dist/commands/task/attachment-rendering.js +38 -0
- package/dist/commands/task/attachment-rendering.js.map +1 -0
- package/dist/commands/task/attachment.d.ts +6 -0
- package/dist/commands/task/attachment.js +91 -0
- package/dist/commands/task/attachment.js.map +1 -0
- package/dist/commands/task/command.js +26 -6
- package/dist/commands/task/command.js.map +1 -1
- package/dist/commands/task/definition.js +53 -8
- package/dist/commands/task/definition.js.map +1 -1
- package/dist/commands/task/rendering.d.ts +1 -0
- package/dist/commands/task/rendering.js +25 -4
- package/dist/commands/task/rendering.js.map +1 -1
- package/package.json +3 -2
- package/dist/commands/skill/skills/daynight/SKILL.md +0 -95
- package/dist/commands/skill/skills/daynight/references/commands.md +0 -155
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/commands/review/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/commands/review/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,3 +77,24 @@ export type OperationsStopped = {
|
|
|
77
77
|
export type ProcessesExcluded = {
|
|
78
78
|
processesExcluded: true;
|
|
79
79
|
};
|
|
80
|
+
export type RemoteReview = {
|
|
81
|
+
id: string;
|
|
82
|
+
authorId: string | null;
|
|
83
|
+
headSha: string | null;
|
|
84
|
+
body: string;
|
|
85
|
+
state: "APPROVED" | "COMMENTED" | "CHANGES_REQUESTED" | "DISMISSED" | "PENDING";
|
|
86
|
+
};
|
|
87
|
+
export type RemoteReviewThread = {
|
|
88
|
+
id: string;
|
|
89
|
+
reviewId: string | null;
|
|
90
|
+
isResolved: boolean;
|
|
91
|
+
};
|
|
92
|
+
export type PullRequestReviewSnapshot = {
|
|
93
|
+
state: "open" | "closed" | "merged";
|
|
94
|
+
draft: boolean;
|
|
95
|
+
headSha: string;
|
|
96
|
+
baseRef: string;
|
|
97
|
+
viewerId: string;
|
|
98
|
+
reviews: RemoteReview[];
|
|
99
|
+
threads: RemoteReviewThread[];
|
|
100
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PullRequestReviewSnapshot, ReviewState } from "./model.js";
|
|
2
|
+
export type PublicationIdentityFormat = "line" | "legacy";
|
|
3
|
+
export type ReviewPublication = {
|
|
4
|
+
publisherId: string;
|
|
5
|
+
outcome: "approved" | "commented";
|
|
6
|
+
remoteReviewId: string;
|
|
7
|
+
threadIds: string[];
|
|
8
|
+
};
|
|
9
|
+
export declare const reviewPublicationIdentity: (review: Pick<ReviewState, "id" | "revision" | "headSha">) => string;
|
|
10
|
+
export declare const findReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot, publisherId: string, identityFormat?: PublicationIdentityFormat) => ReviewPublication | null;
|
|
11
|
+
export declare const hasPendingReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot, publisherId: string, identityFormat?: PublicationIdentityFormat) => boolean;
|
|
12
|
+
export declare const findLegacyReviewPublisher: (review: ReviewState, snapshot: PullRequestReviewSnapshot) => string | null;
|
|
13
|
+
export declare const findLegacyReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot) => ReviewPublication | null;
|
|
14
|
+
export declare const hasOpenReviewConversations: (snapshot: PullRequestReviewSnapshot) => boolean;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const reviewPublicationIdentity = (review) => `daynight review=${review.id} revision=${review.revision} head=${review.headSha}`;
|
|
2
|
+
const hasIdentity = (body, identity) => body.split(/\r?\n/).some((line) => line === identity || line === `<!-- ${identity} -->`);
|
|
3
|
+
const hasLegacyIdentity = (body, identity) => {
|
|
4
|
+
const offset = body.indexOf(identity);
|
|
5
|
+
if (offset < 0)
|
|
6
|
+
return false;
|
|
7
|
+
const before = offset === 0 ? "" : body[offset - 1];
|
|
8
|
+
const after = body[offset + identity.length] ?? "";
|
|
9
|
+
return !/[A-Za-z0-9_-]/.test(before) && !/[A-Za-z0-9_-]/.test(after);
|
|
10
|
+
};
|
|
11
|
+
export const findReviewPublication = (review, snapshot, publisherId, identityFormat = "line") => {
|
|
12
|
+
const identity = reviewPublicationIdentity(review);
|
|
13
|
+
const published = snapshot.reviews.filter((item) => item.authorId === publisherId && item.headSha === review.headSha && (identityFormat === "legacy" ? hasLegacyIdentity(item.body, identity) : hasIdentity(item.body, identity)));
|
|
14
|
+
const approval = published.findLast((item) => item.state === "APPROVED");
|
|
15
|
+
if (approval !== undefined)
|
|
16
|
+
return { publisherId, outcome: "approved", remoteReviewId: approval.id, threadIds: [] };
|
|
17
|
+
for (const item of [...published].reverse()) {
|
|
18
|
+
if (item.state !== "COMMENTED")
|
|
19
|
+
continue;
|
|
20
|
+
const threadIds = snapshot.threads.filter((thread) => thread.reviewId === item.id).map((thread) => thread.id);
|
|
21
|
+
if (threadIds.length > 0)
|
|
22
|
+
return { publisherId, outcome: "commented", remoteReviewId: item.id, threadIds };
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
export const hasPendingReviewPublication = (review, snapshot, publisherId, identityFormat = "line") => snapshot.reviews.some((item) => item.state === "PENDING" && item.authorId === publisherId && item.headSha === review.headSha &&
|
|
27
|
+
(identityFormat === "legacy" ? hasLegacyIdentity(item.body, reviewPublicationIdentity(review)) : hasIdentity(item.body, reviewPublicationIdentity(review))));
|
|
28
|
+
export const findLegacyReviewPublisher = (review, snapshot) => {
|
|
29
|
+
const actors = new Set(snapshot.reviews.filter((item) => item.authorId !== null && item.headSha === review.headSha &&
|
|
30
|
+
hasLegacyIdentity(item.body, reviewPublicationIdentity(review))).map((item) => item.authorId));
|
|
31
|
+
if (actors.size > 1)
|
|
32
|
+
throw new Error("The migrated review identity has publications by multiple actors; its publisher cannot be adopted unambiguously.");
|
|
33
|
+
return actors.size === 0 ? null : [...actors][0];
|
|
34
|
+
};
|
|
35
|
+
export const findLegacyReviewPublication = (review, snapshot) => {
|
|
36
|
+
for (const candidate of [...snapshot.reviews].reverse()) {
|
|
37
|
+
if (candidate.authorId === null || candidate.state !== "APPROVED" || candidate.headSha !== review.headSha || !hasLegacyIdentity(candidate.body, reviewPublicationIdentity(review)))
|
|
38
|
+
continue;
|
|
39
|
+
return { publisherId: candidate.authorId, outcome: "approved", remoteReviewId: candidate.id, threadIds: [] };
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
};
|
|
43
|
+
export const hasOpenReviewConversations = (snapshot) => {
|
|
44
|
+
const pendingReviews = new Set(snapshot.reviews.filter((review) => review.state === "PENDING").map((review) => review.id));
|
|
45
|
+
return snapshot.threads.some((thread) => !thread.isResolved && (thread.reviewId === null || !pendingReviews.has(thread.reviewId)));
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=publication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/commands/review/publication.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,29 @@ reconciliation rules and completion protocol. Those values belong to the current
|
|
|
10
10
|
attempt, including when the conversation contains an earlier review. Repository
|
|
11
11
|
instructions remain applicable within that target and the authorized review.
|
|
12
12
|
|
|
13
|
+
## Reconcile interrupted publication
|
|
14
|
+
|
|
15
|
+
Before reviewing or publishing, inspect existing reviews and native review
|
|
16
|
+
threads for the supplied stable identity, target commit and captured publishing
|
|
17
|
+
actor. Before any publication or draft deletion, require the authenticated GitHub
|
|
18
|
+
viewer node ID to match that captured actor; an account change cannot transfer
|
|
19
|
+
the round to another publisher. Confirm an existing matching APPROVED review without reviewing
|
|
20
|
+
later title or description changes, revoking approval or publishing again. A
|
|
21
|
+
matching COMMENTED review is complete only when it owns at least one real
|
|
22
|
+
resolvable native review thread. Its open threads do not block confirmation of
|
|
23
|
+
that same result. Revalidate the unsent findings of a matching PENDING review and
|
|
24
|
+
reuse its existing threads when still justified. For an obsolete or unjustified
|
|
25
|
+
owned draft, re-read that exact numeric review ID and verify its author, exact
|
|
26
|
+
stable identity, commit and PENDING state immediately before deleting only that
|
|
27
|
+
draft. Never delete submitted reviews or submit an obsolete target's findings.
|
|
28
|
+
Do not duplicate reviews, comments or replies on retry.
|
|
29
|
+
|
|
30
|
+
When no valid matching result exists, conduct a fresh review. The task admits
|
|
31
|
+
fresh rounds after CI passes and all submitted native review conversations are
|
|
32
|
+
resolved. Positively identified PENDING drafts are not submitted conversations.
|
|
33
|
+
Resolution is a request to verify the correction, not evidence that it is fixed.
|
|
34
|
+
Use the current title and description even when the commit has not changed.
|
|
35
|
+
|
|
13
36
|
## Establish and gate the scope
|
|
14
37
|
|
|
15
38
|
Use gh with the supplied host, repository and PR number to read the current PR
|
|
@@ -61,32 +84,48 @@ the limits of evidence; discard findings that remain speculative.
|
|
|
61
84
|
Keep probes within the supplied worktree and temporary directory, preserve the
|
|
62
85
|
captured target, and obey the task's foreground-process and cleanup rules.
|
|
63
86
|
|
|
64
|
-
## Select and publish
|
|
87
|
+
## Select and publish the result
|
|
65
88
|
|
|
66
89
|
Report PR-quality blockers and actionable Critical or Major defects introduced
|
|
67
|
-
by the change.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
reach, not by how small the fix appears.
|
|
90
|
+
by the change. Critical defects have severe, broad consequences such as
|
|
91
|
+
destructive data loss or a fundamental security failure. Major defects break
|
|
92
|
+
required behavior for a concrete supported use case. Judge severity by the
|
|
93
|
+
demonstrated consequence and reach, not by how small the fix appears.
|
|
72
94
|
|
|
73
95
|
Defer minor improvement requests, style preferences and pre-existing defects.
|
|
74
96
|
Do not grow the review into a repository-wide audit. If an uncertain code-defect
|
|
75
97
|
candidate cannot be established with the available evidence, leave it out of
|
|
76
98
|
published findings.
|
|
77
99
|
|
|
100
|
+
A successful review has one of two results:
|
|
101
|
+
|
|
102
|
+
- APPROVE when both PR-quality gates pass and no Critical or Major defect remains.
|
|
103
|
+
- COMMENT owning at least one real resolvable native review thread when a blocker
|
|
104
|
+
remains. Never submit REQUEST_CHANGES. A top-level review body alone cannot
|
|
105
|
+
satisfy this result.
|
|
106
|
+
|
|
78
107
|
Write English comments and identify the reviewing agent as required by the task.
|
|
79
|
-
Put out-of-scope changes and code defects on the relevant changed
|
|
80
|
-
description or PR-wide blockers in
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
108
|
+
Put localized out-of-scope changes and code defects on the relevant changed
|
|
109
|
+
lines. Put description or PR-wide scope blockers in a native file-level thread
|
|
110
|
+
on the principal changed file using a file subject without a fabricated line.
|
|
111
|
+
Explicitly label such a comment as a PR-wide description/scope issue; the file is
|
|
112
|
+
its discussion anchor, not an allegation of a code defect. If no truthful changed
|
|
113
|
+
file anchor exists or a required thread cannot be published, report the actual
|
|
114
|
+
operational failure and withhold the completion marker.
|
|
115
|
+
|
|
116
|
+
State the violated scope or behavior, its concrete effect, and the necessary
|
|
117
|
+
correction concisely. Keep investigation narration, reproduction transcripts and
|
|
118
|
+
lists of things checked out of comments. Combine duplicate manifestations of one
|
|
119
|
+
cause.
|
|
120
|
+
|
|
121
|
+
Immediately before fresh publication, re-read the current title and description,
|
|
122
|
+
evaluate the gates again, and check the task's target and conversation eligibility.
|
|
123
|
+
For a file-level blocker, create a pending review by POSTing its target commit
|
|
124
|
+
and stable body without an event. Use GraphQL addPullRequestReviewThread with
|
|
125
|
+
that review's node ID, the changed path, subjectType FILE and the finding body;
|
|
126
|
+
omit line and side. Submit that review with COMMENT only after its thread exists.
|
|
127
|
+
The batch create-review comments payload does not support file subjects. Follow
|
|
128
|
+
the task's stable identity format and resume partial publication on retry.
|
|
129
|
+
Verify the actual review event, commit, reviewing actor and identity; for COMMENT,
|
|
130
|
+
verify the review owns its native thread. Follow the supplied retry protocol.
|
|
131
|
+
Only successful publication or valid reconciliation permits the completion marker.
|
|
@@ -1,8 +1,28 @@
|
|
|
1
|
+
import type { PublicationIdentityFormat, ReviewPublication } from "./publication.js";
|
|
1
2
|
import type { RepositoryIdentity, PullRequestIdentity, RepositoryState, PullRequestObservation, RepositoryPollUpdate, PullRequestState, ReviewState, ReviewCandidate, ReviewListingSnapshot, AttemptIdentity, OperationsStopped, ProcessesExcluded } from "./model.js";
|
|
3
|
+
export type ReviewPublicationState = {
|
|
4
|
+
phase: "prepared" | "pending" | "verified" | "legacy";
|
|
5
|
+
publisherId: string | null;
|
|
6
|
+
identityFormat: PublicationIdentityFormat;
|
|
7
|
+
outcome: "approved" | "commented" | null;
|
|
8
|
+
remoteReviewId: string | null;
|
|
9
|
+
threadIds: string[];
|
|
10
|
+
followupConsumed: boolean;
|
|
11
|
+
};
|
|
2
12
|
export declare const readReviewListingSnapshot: (databaseFile: string) => ReviewListingSnapshot | null;
|
|
3
13
|
export declare const openStore: (databaseFile: string, options?: {
|
|
4
14
|
busyTimeoutMs?: number;
|
|
5
15
|
}) => {
|
|
16
|
+
getReviewPublication: (reviewId: string) => ReviewPublicationState | null;
|
|
17
|
+
adoptHistoricalApproval: (reviewId: string, publication: ReviewPublication) => void;
|
|
18
|
+
adoptLegacyReviewPublisher: (reviewId: string, publisherId: string) => void;
|
|
19
|
+
captureReviewPublisher: (reviewId: string, publisherId: string) => void;
|
|
20
|
+
settleApprovedTarget: (identity: PullRequestIdentity, headSha: string, baseRef: string, proof: OperationsStopped, now: number) => boolean;
|
|
21
|
+
beginPublicationVerification: (identity: AttemptIdentity, proof: ProcessesExcluded, now: number) => void;
|
|
22
|
+
rejectPublicationVerification: (reviewId: string) => void;
|
|
23
|
+
recordPublicationError: (reviewId: string, error: string, now: number) => void;
|
|
24
|
+
confirmReviewPublication: (identity: AttemptIdentity, publication: ReviewPublication, proof: ProcessesExcluded, now: number) => ReviewState;
|
|
25
|
+
reconcileCompletedPublication: (reviewId: string, publication: ReviewPublication | null, allThreadsResolved: boolean, now: number) => PullRequestState;
|
|
6
26
|
close: () => void;
|
|
7
27
|
getRepository: (identity: RepositoryIdentity) => RepositoryState | null;
|
|
8
28
|
getPullRequest: (identity: PullRequestIdentity) => PullRequestState | null;
|
|
@@ -49,6 +49,20 @@ const requireExcluded = (proof) => {
|
|
|
49
49
|
if (proof.processesExcluded !== true)
|
|
50
50
|
throw new Error("The caller must exclude any previous agent processes first.");
|
|
51
51
|
};
|
|
52
|
+
const publicationColumns = `phase, publisher_id AS publisherId, identity_format AS identityFormat, outcome, remote_review_id AS remoteReviewId, remote_thread_ids AS threadIds, followup_consumed AS followupConsumed`;
|
|
53
|
+
const publicationSchema = `
|
|
54
|
+
CREATE TABLE review_publications (
|
|
55
|
+
review_id TEXT PRIMARY KEY,
|
|
56
|
+
phase TEXT NOT NULL CHECK(phase IN ('prepared', 'pending', 'verified', 'legacy')),
|
|
57
|
+
identity_format TEXT NOT NULL DEFAULT 'line' CHECK(identity_format IN ('line', 'legacy')),
|
|
58
|
+
publisher_id TEXT CHECK(phase = 'legacy' OR identity_format = 'legacy' OR publisher_id IS NOT NULL),
|
|
59
|
+
outcome TEXT CHECK(outcome IN ('approved', 'commented')),
|
|
60
|
+
remote_review_id TEXT,
|
|
61
|
+
remote_thread_ids TEXT NOT NULL DEFAULT '[]',
|
|
62
|
+
followup_consumed INTEGER NOT NULL DEFAULT 0 CHECK(followup_consumed IN (0, 1)),
|
|
63
|
+
CHECK((phase = 'verified') = (outcome IS NOT NULL AND remote_review_id IS NOT NULL))
|
|
64
|
+
) STRICT;
|
|
65
|
+
`;
|
|
52
66
|
const schema = `
|
|
53
67
|
CREATE TABLE repositories (
|
|
54
68
|
host TEXT NOT NULL,
|
|
@@ -111,7 +125,8 @@ const schema = `
|
|
|
111
125
|
CREATE UNIQUE INDEX reviews_one_active_per_pr ON reviews(host, github_id, number)
|
|
112
126
|
WHERE status IN (${activeStatuses});
|
|
113
127
|
CREATE INDEX reviews_revision ON reviews(host, github_id, number, revision);
|
|
114
|
-
|
|
128
|
+
${publicationSchema}
|
|
129
|
+
PRAGMA user_version = 2;
|
|
115
130
|
`;
|
|
116
131
|
const reviewDatabaseIsMissing = (databaseFile) => {
|
|
117
132
|
// Windows may report ENOENT for a file ancestor; ordinary absence requires an existing directory.
|
|
@@ -150,8 +165,8 @@ export const readReviewListingSnapshot = (databaseFile) => {
|
|
|
150
165
|
try {
|
|
151
166
|
return db.transaction(() => {
|
|
152
167
|
const version = db.pragma("user_version", { simple: true });
|
|
153
|
-
if (version !== 1)
|
|
154
|
-
throw new Error(`Review listing requires SQLite schema version 1; found version ${version}.`);
|
|
168
|
+
if (version !== 1 && version !== 2)
|
|
169
|
+
throw new Error(`Review listing requires SQLite schema version 1 or 2; found version ${version}.`);
|
|
155
170
|
const repositories = db.prepare(`SELECT ${repositoryColumns} FROM repositories ORDER BY host, github_id`).all();
|
|
156
171
|
const pullRequests = db.prepare(`SELECT ${pullRequestColumns} FROM pull_requests WHERE state = 'open' ORDER BY host, github_id, number`)
|
|
157
172
|
.all().map(asPullRequest);
|
|
@@ -188,8 +203,8 @@ export const openStore = (databaseFile, options = {}) => {
|
|
|
188
203
|
const db = new Database(databaseFile, { timeout: busyTimeoutMs });
|
|
189
204
|
try {
|
|
190
205
|
const version = db.pragma("user_version", { simple: true });
|
|
191
|
-
if (version >
|
|
192
|
-
throw new Error(`SQLite schema version ${version} is newer than supported version
|
|
206
|
+
if (version > 2)
|
|
207
|
+
throw new Error(`SQLite schema version ${version} is newer than supported version 2.`);
|
|
193
208
|
if (version < 0)
|
|
194
209
|
throw new Error(`Unsupported SQLite schema version ${version}.`);
|
|
195
210
|
const journalMode = db.pragma("journal_mode = WAL", { simple: true });
|
|
@@ -200,6 +215,14 @@ export const openStore = (databaseFile, options = {}) => {
|
|
|
200
215
|
throw new Error("SQLite refused synchronous=FULL.");
|
|
201
216
|
if (version === 0)
|
|
202
217
|
db.transaction(() => db.exec(schema)).immediate();
|
|
218
|
+
if (version === 1)
|
|
219
|
+
db.transaction(() => {
|
|
220
|
+
db.exec(publicationSchema);
|
|
221
|
+
db.exec(`INSERT INTO review_publications(review_id, phase, identity_format)
|
|
222
|
+
SELECT id, CASE WHEN status = 'completed' THEN 'legacy' ELSE 'prepared' END, 'legacy'
|
|
223
|
+
FROM reviews WHERE status = 'completed' OR status IN (${activeStatuses})`);
|
|
224
|
+
db.pragma("user_version = 2");
|
|
225
|
+
}).immediate();
|
|
203
226
|
}
|
|
204
227
|
catch (error) {
|
|
205
228
|
try {
|
|
@@ -256,7 +279,113 @@ export const openStore = (databaseFile, options = {}) => {
|
|
|
256
279
|
.run({ id: review.id, status, retryAt, error, now });
|
|
257
280
|
return needReview(review.id);
|
|
258
281
|
};
|
|
282
|
+
const getReviewPublication = (reviewId) => {
|
|
283
|
+
const row = db.prepare(`SELECT ${publicationColumns} FROM review_publications WHERE review_id = ?`).get(reviewId);
|
|
284
|
+
return row === undefined ? null : { ...row, threadIds: JSON.parse(row.threadIds), followupConsumed: row.followupConsumed === 1 };
|
|
285
|
+
};
|
|
259
286
|
const store = {
|
|
287
|
+
getReviewPublication,
|
|
288
|
+
adoptHistoricalApproval: (reviewId, publication) => atomic(() => {
|
|
289
|
+
if (getReviewPublication(reviewId)?.phase !== "legacy" || needReview(reviewId).status !== "completed" || publication.outcome !== "approved")
|
|
290
|
+
throw new Error("Only a legacy completed review may adopt a historical approval.");
|
|
291
|
+
db.prepare("UPDATE review_publications SET phase = 'verified', publisher_id = @publisherId, outcome = 'approved', remote_review_id = @remoteReviewId, remote_thread_ids = '[]' WHERE review_id = @id")
|
|
292
|
+
.run({ id: reviewId, publisherId: publication.publisherId, remoteReviewId: publication.remoteReviewId });
|
|
293
|
+
}),
|
|
294
|
+
adoptLegacyReviewPublisher: (reviewId, publisherId) => atomic(() => {
|
|
295
|
+
requireText(publisherId, "Legacy review publisher ID");
|
|
296
|
+
const review = needReview(reviewId);
|
|
297
|
+
const publication = getReviewPublication(reviewId);
|
|
298
|
+
if ((review.status !== "preparing" && review.status !== "retry_wait") || publication?.phase !== "prepared" || publication.identityFormat !== "legacy")
|
|
299
|
+
throw new Error("Only an unfinished migrated review may adopt its publisher.");
|
|
300
|
+
if (publication.publisherId !== null && publication.publisherId !== publisherId)
|
|
301
|
+
throw new Error("The migrated review's publisher is already bound to another actor.");
|
|
302
|
+
db.prepare("UPDATE review_publications SET publisher_id = ? WHERE review_id = ?").run(publisherId, reviewId);
|
|
303
|
+
}),
|
|
304
|
+
captureReviewPublisher: (reviewId, publisherId) => atomic(() => {
|
|
305
|
+
requireText(publisherId, "Review publisher ID");
|
|
306
|
+
const review = needReview(reviewId);
|
|
307
|
+
if (review.status !== "preparing")
|
|
308
|
+
throw new Error("Only a preparing review may capture its publisher.");
|
|
309
|
+
const publication = getReviewPublication(reviewId);
|
|
310
|
+
if (publication !== null && publication.publisherId !== null && publication.publisherId !== publisherId)
|
|
311
|
+
throw new Error("The authenticated account differs from this round's captured review publisher.");
|
|
312
|
+
db.prepare("INSERT INTO review_publications(review_id, phase, publisher_id) VALUES(?, 'prepared', ?) ON CONFLICT(review_id) DO UPDATE SET publisher_id = excluded.publisher_id").run(reviewId, publisherId);
|
|
313
|
+
}),
|
|
314
|
+
settleApprovedTarget: (identity, headSha, baseRef, proof, now) => atomic(() => {
|
|
315
|
+
requireStopped(proof);
|
|
316
|
+
const pr = needPullRequest(identity);
|
|
317
|
+
if (pr.headSha !== headSha || pr.baseRef !== baseRef || pr.state !== "open" || pr.draft || pr.cleanupPending)
|
|
318
|
+
return false;
|
|
319
|
+
const active = activeReview(pr);
|
|
320
|
+
if (active !== null && (active.status === "running" || active.status === "interrupted"))
|
|
321
|
+
return false;
|
|
322
|
+
if (active !== null)
|
|
323
|
+
setStatus(active, "superseded", now, null);
|
|
324
|
+
db.prepare("UPDATE pull_requests SET completed_revision = desired_revision WHERE host = @host AND github_id = @githubId AND number = @number").run(pullRequestKey(pr));
|
|
325
|
+
return true;
|
|
326
|
+
}),
|
|
327
|
+
beginPublicationVerification: (identity, proof, now) => atomic(() => {
|
|
328
|
+
requireExcluded(proof);
|
|
329
|
+
requireInteger(now, "Verification time");
|
|
330
|
+
const review = attemptReview(identity);
|
|
331
|
+
const publication = getReviewPublication(review.id);
|
|
332
|
+
if (publication?.phase !== "prepared" || publication.publisherId === null)
|
|
333
|
+
throw new Error("The review publisher must be captured before publication verification.");
|
|
334
|
+
db.prepare("UPDATE review_publications SET phase = 'pending' WHERE review_id = ?").run(review.id);
|
|
335
|
+
db.prepare("UPDATE reviews SET process_id = NULL, process_identity = NULL, updated_at = ? WHERE id = ?").run(now, review.id);
|
|
336
|
+
}),
|
|
337
|
+
rejectPublicationVerification: (reviewId) => atomic(() => {
|
|
338
|
+
if (getReviewPublication(reviewId)?.phase !== "pending")
|
|
339
|
+
throw new Error("Publication verification is not pending.");
|
|
340
|
+
db.prepare("UPDATE review_publications SET phase = 'prepared' WHERE review_id = ?").run(reviewId);
|
|
341
|
+
}),
|
|
342
|
+
recordPublicationError: (reviewId, error, now) => atomic(() => {
|
|
343
|
+
if (getReviewPublication(reviewId)?.phase !== "pending")
|
|
344
|
+
throw new Error("Only pending publication verification can record a read error.");
|
|
345
|
+
requireText(error, "Publication verification error");
|
|
346
|
+
db.prepare("UPDATE reviews SET last_error = ?, updated_at = ? WHERE id = ?").run(error, now, reviewId);
|
|
347
|
+
}),
|
|
348
|
+
confirmReviewPublication: (identity, publication, proof, now) => atomic(() => {
|
|
349
|
+
requireExcluded(proof);
|
|
350
|
+
const review = attemptReview(identity);
|
|
351
|
+
const captured = getReviewPublication(review.id);
|
|
352
|
+
if (captured?.phase !== "pending" || captured.publisherId !== publication.publisherId)
|
|
353
|
+
throw new Error("The publication does not match this round's captured publisher and verification phase.");
|
|
354
|
+
if (publication.outcome === "commented" && publication.threadIds.length === 0)
|
|
355
|
+
throw new Error("A completed COMMENT requires a resolvable conversation.");
|
|
356
|
+
db.prepare(`INSERT INTO review_publications(review_id, phase, publisher_id, outcome, remote_review_id, remote_thread_ids)
|
|
357
|
+
VALUES(@id, 'verified', @publisherId, @outcome, @remoteReviewId, @threadIds)
|
|
358
|
+
ON CONFLICT(review_id) DO UPDATE SET phase = 'verified', publisher_id = excluded.publisher_id, outcome = excluded.outcome, remote_review_id = excluded.remote_review_id, remote_thread_ids = excluded.remote_thread_ids`)
|
|
359
|
+
.run({ id: review.id, ...publication, threadIds: JSON.stringify(publication.threadIds) });
|
|
360
|
+
return store.completeReview(identity, proof, now);
|
|
361
|
+
}),
|
|
362
|
+
reconcileCompletedPublication: (reviewId, publication, allThreadsResolved, now) => atomic(() => {
|
|
363
|
+
const review = needReview(reviewId);
|
|
364
|
+
const pr = needPullRequest(review);
|
|
365
|
+
const state = getReviewPublication(review.id);
|
|
366
|
+
if (review.status !== "completed" || state === null || state.followupConsumed || !isCurrentTarget(review, pr))
|
|
367
|
+
return pr;
|
|
368
|
+
if (state.phase === "legacy") {
|
|
369
|
+
if (publication !== null) {
|
|
370
|
+
db.prepare("UPDATE review_publications SET phase = 'verified', publisher_id = @publisherId, outcome = @outcome, remote_review_id = @remoteReviewId, remote_thread_ids = @threadIds WHERE review_id = @id")
|
|
371
|
+
.run({ id: review.id, ...publication, threadIds: JSON.stringify(publication.threadIds) });
|
|
372
|
+
if (publication.outcome === "approved")
|
|
373
|
+
return pr;
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
// Legacy completion did not prove a resolvable result; one successor adopts the new protocol.
|
|
377
|
+
db.prepare("UPDATE review_publications SET followup_consumed = 1 WHERE review_id = ?").run(review.id);
|
|
378
|
+
db.prepare("UPDATE pull_requests SET desired_revision = desired_revision + 1, observed_at = @now WHERE host = @host AND github_id = @githubId AND number = @number").run({ ...pullRequestKey(pr), now });
|
|
379
|
+
return needPullRequest(pr);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
const current = getReviewPublication(review.id);
|
|
383
|
+
if (current.outcome !== "commented" || !allThreadsResolved)
|
|
384
|
+
return pr;
|
|
385
|
+
db.prepare("UPDATE review_publications SET followup_consumed = 1 WHERE review_id = ?").run(review.id);
|
|
386
|
+
db.prepare("UPDATE pull_requests SET desired_revision = desired_revision + 1, observed_at = @now WHERE host = @host AND github_id = @githubId AND number = @number").run({ ...pullRequestKey(pr), now });
|
|
387
|
+
return needPullRequest(pr);
|
|
388
|
+
}),
|
|
260
389
|
close: () => { db.close(); },
|
|
261
390
|
getRepository,
|
|
262
391
|
getPullRequest,
|