@codetreker/daynight 0.8.1 → 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 +6 -1
- package/dist/api/client.js +120 -23
- 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/cancellation.d.ts +5 -0
- package/dist/cli/cancellation.js +24 -0
- package/dist/cli/cancellation.js.map +1 -0
- package/dist/cli/commands.js +2 -0
- package/dist/cli/commands.js.map +1 -1
- 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/prompts.d.ts +16 -3
- package/dist/cli/prompts.js +38 -10
- package/dist/cli/prompts.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/skill.js +5 -83
- package/dist/commands/review/skill.js.map +1 -1
- package/dist/commands/review/skills/daynight-review/SKILL.md +90 -22
- 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 +23 -0
- package/dist/commands/skill/agents.js +14 -0
- package/dist/commands/skill/agents.js.map +1 -0
- package/dist/commands/skill/command.d.ts +12 -0
- package/dist/commands/skill/command.js +78 -0
- package/dist/commands/skill/command.js.map +1 -0
- package/dist/commands/skill/definition.d.ts +2 -0
- package/dist/commands/skill/definition.js +12 -0
- package/dist/commands/skill/definition.js.map +1 -0
- package/dist/commands/skill/install.d.ts +13 -0
- package/dist/commands/skill/install.js +126 -0
- package/dist/commands/skill/install.js.map +1 -0
- 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 +11 -0
- package/dist/commands/skill/targets.js +36 -0
- package/dist/commands/skill/targets.js.map +1 -0
- 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 +35 -6
- package/dist/commands/task/command.js.map +1 -1
- package/dist/commands/task/definition.js +59 -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/dist/config/setup.js +5 -24
- package/dist/config/setup.js.map +1 -1
- package/dist/platform/skill-bundle.d.ts +10 -0
- package/dist/platform/skill-bundle.js +82 -0
- package/dist/platform/skill-bundle.js.map +1 -0
- package/dist/repository/git.d.ts +1 -0
- package/dist/repository/git.js +6 -3
- package/dist/repository/git.js.map +1 -1
- package/package.json +7 -2
|
@@ -5,6 +5,7 @@ import { performance } from "node:perf_hooks";
|
|
|
5
5
|
import { pipeline } from "node:stream/promises";
|
|
6
6
|
import crossSpawn from "cross-spawn";
|
|
7
7
|
import { remoteIdentity } from "../config.js";
|
|
8
|
+
import { reviewPublicationIdentity } from "../publication.js";
|
|
8
9
|
import { isolatedGitEnvironment } from "./worktrees.js";
|
|
9
10
|
import { validateReviewSkillDiscovery } from "../skill.js";
|
|
10
11
|
const asError = (value) => value instanceof Error ? value : new Error(String(value));
|
|
@@ -24,18 +25,22 @@ const sessionExists = async (directory) => {
|
|
|
24
25
|
throw error;
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
|
-
const reviewPrompt = (review, worktree, repository, skill, previous) => `You are the Copilot code review agent for daynight.
|
|
28
|
+
const reviewPrompt = (review, worktree, repository, skill, publisherId, publicationIdentityFormat, previous) => `You are the Copilot code review agent for daynight.
|
|
28
29
|
Before reviewing, explicitly invoke /daynight-review and load the CURRENT immutable skill snapshot from ${JSON.stringify(skill.entrypoint)} (digest ${skill.digest}). Load this exact current path even when resumed conversation history already contains an older skill with the same name. Complete the native skill invocation before beginning the review.
|
|
29
30
|
Daynight skill bundle: ${JSON.stringify({ name: skill.name, digest: skill.digest, entrypoint: skill.entrypoint })}
|
|
30
31
|
Review this immutable target:
|
|
31
32
|
${JSON.stringify({ host: review.host, repositoryId: review.githubId, repository: `${repository.owner}/${repository.name}`, pullRequest: review.number,
|
|
32
33
|
reviewId: review.id, revision: review.revision, headSha: review.headSha, baseBranch: review.baseRef, baseSha: worktree.baseSha, mergeBaseSha: worktree.mergeBaseSha })}
|
|
33
34
|
The worktree is already prepared. Its Git environment exposes the original commit objects and a complete checkout.
|
|
34
|
-
${previous === undefined ? "" : `A previous unfinished review may have published results: ${JSON.stringify(previous)}. Reconcile its existing effects; do not publish a review for its obsolete target merely to confirm it.\n`}This attempt may follow an interrupted or incomplete attempt of this same review.
|
|
35
|
-
Stable review identity:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
${previous === undefined ? "" : `A previous unfinished review may have published results: ${JSON.stringify(previous)}. Reconcile its existing effects; do not publish a review for its obsolete target merely to confirm it.\n`}This attempt may follow an interrupted or incomplete attempt of this same review. Before reviewing or publishing, inspect the PR's existing reviews and native review threads for the stable identity below, bound to this target commit and the captured publishing actor below. Confirm a matching existing APPROVED review immediately without re-evaluating later title or description edits, changing that approval, or publishing again. Confirm a matching existing COMMENTED review only when it owns at least one real resolvable native review thread; its unresolved threads do not block this same-round confirmation. Do not duplicate reviews, comments or replies. If a matching PENDING review exists, revalidate its unsent findings and reuse its ID and threads when still justified. If an owned draft is obsolete or its findings no longer apply, re-GET that exact numeric review ID and verify its author, exact stable identity, commit and PENDING state immediately before deleting only that draft with DELETE reviews/{review_id}; then publish the correct current result. Never delete a submitted APPROVED or COMMENTED review, and never submit findings for an obsolete target. If no valid matching result exists, complete a fresh review using the current title and description.
|
|
36
|
+
Stable review identity: ${reviewPublicationIdentity(review)}
|
|
37
|
+
Captured publishing actor node ID: ${JSON.stringify(publisherId)}
|
|
38
|
+
Existing publication identity format: ${JSON.stringify(publicationIdentityFormat)}
|
|
39
|
+
${publicationIdentityFormat === "legacy" ? "This migrated unfinished round permits legacy matching only to recover an already existing publication: the exact supplied stable identity token may be embedded in its historical prefix or prose. Require token boundaries so a longer identity cannot match, and retain the captured actor and commit checks. This recovery permission does not change the required format of new publication bodies." : "Recognize an existing publication only when the supplied stable identity is its own exact body line or an entire HTML-comment line; a token embedded in other prose is insufficient."}
|
|
40
|
+
Before creating, submitting or deleting a review or thread, query the authenticated GitHub viewer node ID and require it to equal this captured publisher ID. If it differs, report the account mismatch and do not publish under another identity. Read-only confirmation of the captured publisher's existing valid result remains valid.
|
|
41
|
+
Publish the review yourself using gh api. Immediately before publication or retry confirmation re-read the PR and require it to be Open, non-Draft, with head SHA ${review.headSha} and base branch ${JSON.stringify(review.baseRef)}. Before starting a new publication also re-evaluate the skill's PR-quality gates against its current title and description and require no unresolved submitted native review conversations. Positively identified PENDING draft threads are not submitted conversations. A matching pending review's own threads do not block finishing that publication. If it is stale, closed, Draft, inaccessible, or publication fails, explain the problem and do not output the completion marker.
|
|
42
|
+
Use POST repos/${repository.owner}/${repository.name}/pulls/${review.number}/reviews on host ${review.host}. Explicitly set commit_id to ${review.headSha} and include the stable review identity as its own exact line in the review body, preferably inside an HTML comment. Use English and identify yourself as Copilot in published text.
|
|
43
|
+
A successful review must publish either APPROVE or a COMMENT review owning at least one real resolvable native review thread. Publish code defects and localized out-of-scope changes on the relevant changed lines. For a description or PR-wide scope blocker, use a native file-level thread on the principal changed file, explicitly label it as a PR-wide description/scope issue, and do not invent a code defect or line. A top-level review body alone is insufficient. For a file-level blocker, POST the review with commit_id and the stable body but OMIT event to create a pending review; retain its numeric id and node_id. Add its file thread with the GraphQL addPullRequestReviewThread mutation using pullRequestReviewId=node_id, path=the actual changed file, subjectType=FILE and body, without line or side. Then POST reviews/{numeric_id}/events with event=COMMENT and the stable body. Reuse an existing matching, still-justified pending review and its already-created threads after interruption. Do not add subject_type to the batch reviews.comments payload; that API does not support file subjects. If no truthful changed-file anchor exists, or a required thread cannot be published, explain the operational failure and do not output the completion marker. Never submit REQUEST_CHANGES. Publish APPROVE only when both PR-quality gates pass and no Critical or Major defect remains. Verify the review event, target commit, reviewing actor, stable identity and, for COMMENT, at least one owned native thread before claiming success. Do not treat an existing COMMENT as evidence of approval, and do not claim success when you cannot approve your own PR.
|
|
39
44
|
The repository and worktree are dedicated to this review system. Worktree creation, reset and cleanup belong to daynight; do not perform those lifecycle operations. Keep supplementary clones and temporary resources under the supplied temporary directory.
|
|
40
45
|
Run all tools in the foreground, await and reap them, and stop every service or other tool you started before returning. Do not leave background or detached processes running.
|
|
41
46
|
After the required review result has been published or confirmed, finish stdout with exactly this standalone line, with no text after it:
|
|
@@ -124,6 +129,10 @@ export const createCopilotRunner = (options) => {
|
|
|
124
129
|
throw new Error("Copilot process owner must be nonempty.");
|
|
125
130
|
const run = async (store, reviewId, worktree, input) => {
|
|
126
131
|
input.signal?.throwIfAborted();
|
|
132
|
+
if (input.publisherId.trim() === "")
|
|
133
|
+
throw new Error("The captured review publisher ID must be nonempty.");
|
|
134
|
+
if (input.publicationIdentityFormat !== "line" && input.publicationIdentityFormat !== "legacy")
|
|
135
|
+
throw new Error("The publication identity format must be line or legacy.");
|
|
127
136
|
const review = store.getReview(reviewId);
|
|
128
137
|
if (review === null)
|
|
129
138
|
throw new Error("The Copilot review does not exist.");
|
|
@@ -336,7 +345,7 @@ export const createCopilotRunner = (options) => {
|
|
|
336
345
|
const parser = new LastLine(lineLimit);
|
|
337
346
|
mainStarted = true;
|
|
338
347
|
await runPhase("review", [...prefix, `--${mode === "resume" ? "resume" : "session-id"}=${pr.sessionId}`, "-s", "--output-format", "text", "--stream", "on", "--no-color",
|
|
339
|
-
"--no-ask-user", "--no-auto-update", "--allow-all-tools", "--log-dir", attemptDirectory], parser, [stdoutFile, stderrFile], reviewPrompt(launched, worktree, coordinate, options.skill, input.previousReview));
|
|
348
|
+
"--no-ask-user", "--no-auto-update", "--allow-all-tools", "--log-dir", attemptDirectory], parser, [stdoutFile, stderrFile], reviewPrompt(launched, worktree, coordinate, options.skill, input.publisherId, input.publicationIdentityFormat, input.previousReview));
|
|
340
349
|
outcome.lastNonemptyLine = parser.lastNonempty;
|
|
341
350
|
try {
|
|
342
351
|
if (await sessionExists(sessionDirectory))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/copilot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PullRequestReviewSnapshot, RemoteReview, RemoteReviewThread } from "../model.js";
|
|
2
|
+
export declare const pullRequestReviewSnapshotQuery = "query PullRequestReviewSnapshot($owner: String!, $name: String!, $number: Int!, $reviewCursor: String, $threadCursor: String) {\n viewer { id }\n repository(owner: $owner, name: $name) {\n databaseId\n pullRequest(number: $number) {\n number state isDraft headRefOid baseRefName\n reviews(first: 100, after: $reviewCursor) {\n totalCount\n nodes { id author { ... on Node { id } } commit { oid } body state }\n pageInfo { hasNextPage endCursor }\n }\n reviewThreads(first: 100, after: $threadCursor) {\n totalCount\n nodes {\n id isResolved\n comments(first: 1) { totalCount nodes { replyTo { id } pullRequestReview { id } } }\n }\n pageInfo { hasNextPage endCursor }\n }\n }\n }\n}";
|
|
3
|
+
type Page<T> = {
|
|
4
|
+
totalCount: number;
|
|
5
|
+
nodes: T[];
|
|
6
|
+
cursor: string | null;
|
|
7
|
+
};
|
|
8
|
+
export type ReviewSnapshotPage = Omit<PullRequestReviewSnapshot, "reviews" | "threads"> & {
|
|
9
|
+
reviews: Page<RemoteReview>;
|
|
10
|
+
threads: Page<RemoteReviewThread>;
|
|
11
|
+
};
|
|
12
|
+
export declare const parsePullRequestReviewSnapshot: (value: unknown, repositoryId: string, number: number) => ReviewSnapshotPage;
|
|
13
|
+
export declare const reviewSnapshotCollection: <T extends {
|
|
14
|
+
id: string;
|
|
15
|
+
}>(subject: string) => {
|
|
16
|
+
observe: (page: Page<T>) => void;
|
|
17
|
+
complete: () => boolean;
|
|
18
|
+
cursor: () => string | null;
|
|
19
|
+
nodes: () => T[];
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
export const pullRequestReviewSnapshotQuery = `query PullRequestReviewSnapshot($owner: String!, $name: String!, $number: Int!, $reviewCursor: String, $threadCursor: String) {
|
|
2
|
+
viewer { id }
|
|
3
|
+
repository(owner: $owner, name: $name) {
|
|
4
|
+
databaseId
|
|
5
|
+
pullRequest(number: $number) {
|
|
6
|
+
number state isDraft headRefOid baseRefName
|
|
7
|
+
reviews(first: 100, after: $reviewCursor) {
|
|
8
|
+
totalCount
|
|
9
|
+
nodes { id author { ... on Node { id } } commit { oid } body state }
|
|
10
|
+
pageInfo { hasNextPage endCursor }
|
|
11
|
+
}
|
|
12
|
+
reviewThreads(first: 100, after: $threadCursor) {
|
|
13
|
+
totalCount
|
|
14
|
+
nodes {
|
|
15
|
+
id isResolved
|
|
16
|
+
comments(first: 1) { totalCount nodes { replyTo { id } pullRequestReview { id } } }
|
|
17
|
+
}
|
|
18
|
+
pageInfo { hasNextPage endCursor }
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}`;
|
|
23
|
+
const object = (value, subject) => {
|
|
24
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
25
|
+
throw new Error(`${subject} must be an object.`);
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
const text = (value, subject) => {
|
|
29
|
+
if (typeof value !== "string" || value.trim() === "" || /[\r\n\0]/.test(value))
|
|
30
|
+
throw new Error(`${subject} must be nonempty text without control characters.`);
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
33
|
+
const count = (value, subject) => {
|
|
34
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
|
|
35
|
+
throw new Error(`${subject} must be a nonnegative safe integer.`);
|
|
36
|
+
return value;
|
|
37
|
+
};
|
|
38
|
+
const page = (value, subject, parse) => {
|
|
39
|
+
const connection = object(value, subject);
|
|
40
|
+
const totalCount = count(connection.totalCount, `${subject} count`);
|
|
41
|
+
if (!Array.isArray(connection.nodes) || connection.nodes.length > 100)
|
|
42
|
+
throw new Error(`${subject} has an invalid page.`);
|
|
43
|
+
const nodes = connection.nodes.map(parse);
|
|
44
|
+
const info = object(connection.pageInfo, `${subject} page info`);
|
|
45
|
+
if (typeof info.hasNextPage !== "boolean" || (info.endCursor !== null && typeof info.endCursor !== "string"))
|
|
46
|
+
throw new Error(`${subject} has invalid pagination.`);
|
|
47
|
+
const cursor = info.endCursor === null ? null : text(info.endCursor, `${subject} cursor`);
|
|
48
|
+
if (info.hasNextPage && (cursor === null || nodes.length === 0))
|
|
49
|
+
throw new Error(`${subject} has an incomplete page.`);
|
|
50
|
+
return { totalCount, nodes, cursor: info.hasNextPage ? cursor : null };
|
|
51
|
+
};
|
|
52
|
+
const review = (value) => {
|
|
53
|
+
const data = object(value, "PR review");
|
|
54
|
+
if (typeof data.body !== "string" || data.body.includes("\0"))
|
|
55
|
+
throw new Error("PR review has an invalid body.");
|
|
56
|
+
if (data.state !== "APPROVED" && data.state !== "COMMENTED" && data.state !== "CHANGES_REQUESTED" && data.state !== "DISMISSED" && data.state !== "PENDING")
|
|
57
|
+
throw new Error("PR review has an invalid state.");
|
|
58
|
+
return {
|
|
59
|
+
id: text(data.id, "PR review ID"),
|
|
60
|
+
authorId: data.author === null ? null : text(object(data.author, "PR review author").id, "PR review author ID"),
|
|
61
|
+
headSha: data.commit === null ? null : text(object(data.commit, "PR review commit").oid, "PR review commit SHA"),
|
|
62
|
+
body: data.body, state: data.state,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
const thread = (value) => {
|
|
66
|
+
const data = object(value, "PR review thread");
|
|
67
|
+
if (typeof data.isResolved !== "boolean")
|
|
68
|
+
throw new Error("PR review thread has an invalid resolution flag.");
|
|
69
|
+
const comments = object(data.comments, "PR review thread comments");
|
|
70
|
+
if (count(comments.totalCount, "PR review thread comment count") < 1 || !Array.isArray(comments.nodes) || comments.nodes.length !== 1)
|
|
71
|
+
throw new Error("PR review thread has no complete root comment.");
|
|
72
|
+
const root = object(comments.nodes[0], "PR review thread root comment");
|
|
73
|
+
if (root.replyTo !== null)
|
|
74
|
+
throw new Error("PR review thread first comment is not its root comment.");
|
|
75
|
+
return {
|
|
76
|
+
id: text(data.id, "PR review thread ID"), isResolved: data.isResolved,
|
|
77
|
+
reviewId: root.pullRequestReview === null ? null : text(object(root.pullRequestReview, "PR thread review").id, "PR thread review ID"),
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
export const parsePullRequestReviewSnapshot = (value, repositoryId, number) => {
|
|
81
|
+
const data = object(object(value, "GraphQL response").data, "GraphQL data");
|
|
82
|
+
const repository = object(data.repository, "GitHub repository");
|
|
83
|
+
if (String(count(repository.databaseId, "GitHub repository ID")) !== repositoryId)
|
|
84
|
+
throw new Error("GitHub returned a different repository than requested.");
|
|
85
|
+
const pullRequest = object(repository.pullRequest, "PR");
|
|
86
|
+
if (pullRequest.number !== number)
|
|
87
|
+
throw new Error("GitHub returned a different PR than requested.");
|
|
88
|
+
if (pullRequest.state !== "OPEN" && pullRequest.state !== "CLOSED" && pullRequest.state !== "MERGED")
|
|
89
|
+
throw new Error("PR has an invalid state.");
|
|
90
|
+
if (typeof pullRequest.isDraft !== "boolean")
|
|
91
|
+
throw new Error("PR has an invalid Draft flag.");
|
|
92
|
+
return {
|
|
93
|
+
state: pullRequest.state === "OPEN" ? "open" : pullRequest.state === "CLOSED" ? "closed" : "merged",
|
|
94
|
+
draft: pullRequest.isDraft, headSha: text(pullRequest.headRefOid, "PR head SHA"), baseRef: text(pullRequest.baseRefName, "PR base branch"),
|
|
95
|
+
viewerId: text(object(data.viewer, "GitHub viewer").id, "GitHub viewer ID"),
|
|
96
|
+
reviews: page(pullRequest.reviews, "PR reviews", review), threads: page(pullRequest.reviewThreads, "PR review threads", thread),
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
export const reviewSnapshotCollection = (subject) => {
|
|
100
|
+
const nodes = new Map();
|
|
101
|
+
const cursors = new Set();
|
|
102
|
+
let totalCount = null;
|
|
103
|
+
let complete = false;
|
|
104
|
+
let cursor = null;
|
|
105
|
+
let finalPage = null;
|
|
106
|
+
return {
|
|
107
|
+
observe: (page) => {
|
|
108
|
+
if (complete) {
|
|
109
|
+
if (JSON.stringify(page) !== finalPage)
|
|
110
|
+
throw new Error(`${subject} changed after collection.`);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (totalCount === null)
|
|
114
|
+
totalCount = page.totalCount;
|
|
115
|
+
else if (totalCount !== page.totalCount)
|
|
116
|
+
throw new Error(`${subject} count changed during pagination.`);
|
|
117
|
+
for (const node of page.nodes) {
|
|
118
|
+
if (nodes.has(node.id))
|
|
119
|
+
throw new Error(`${subject} repeated an ID during pagination.`);
|
|
120
|
+
nodes.set(node.id, node);
|
|
121
|
+
}
|
|
122
|
+
if (nodes.size > totalCount)
|
|
123
|
+
throw new Error(`${subject} returned more entries than its count.`);
|
|
124
|
+
if (page.cursor === null) {
|
|
125
|
+
if (nodes.size !== totalCount)
|
|
126
|
+
throw new Error(`${subject} returned an incomplete collection.`);
|
|
127
|
+
complete = true;
|
|
128
|
+
finalPage = JSON.stringify(page);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
if (nodes.size === totalCount)
|
|
132
|
+
throw new Error(`${subject} has a cursor after its complete collection.`);
|
|
133
|
+
if (cursors.has(page.cursor))
|
|
134
|
+
throw new Error(`${subject} repeated a cursor.`);
|
|
135
|
+
cursors.add(page.cursor);
|
|
136
|
+
cursor = page.cursor;
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
complete: () => complete,
|
|
140
|
+
cursor: () => cursor,
|
|
141
|
+
nodes: () => [...nodes.values()],
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=github-review-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-review-state.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/github-review-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RepositoryConfiguration } from "../config.js";
|
|
2
|
-
import type { PullRequestObservation, RepositoryIdentity } from "../model.js";
|
|
2
|
+
import type { PullRequestObservation, PullRequestReviewSnapshot, RepositoryIdentity } from "../model.js";
|
|
3
3
|
export type CommandOptions = {
|
|
4
4
|
timeoutMs: number;
|
|
5
5
|
maxBufferBytes: number;
|
|
@@ -27,6 +27,7 @@ export type GitHubClient = {
|
|
|
27
27
|
listOpenPullRequests: (repository: GitHubRepository, cutoff: number, signal?: AbortSignal) => Promise<PullRequestObservation[]>;
|
|
28
28
|
getPullRequest: (repository: GitHubRepository, number: number, signal?: AbortSignal) => Promise<PullRequestObservation>;
|
|
29
29
|
getPullRequestChecks: (repository: GitHubRepository, number: number, signal?: AbortSignal) => Promise<PullRequestChecks>;
|
|
30
|
+
getPullRequestReviewSnapshot: (repository: GitHubRepository, number: number, signal?: AbortSignal) => Promise<PullRequestReviewSnapshot>;
|
|
30
31
|
};
|
|
31
32
|
export declare class GitHubApiError extends Error {
|
|
32
33
|
readonly status: number | null;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
+
import { parsePullRequestReviewSnapshot, pullRequestReviewSnapshotQuery, reviewSnapshotCollection } from "./github-review-state.js";
|
|
2
3
|
export class GitHubApiError extends Error {
|
|
3
4
|
status;
|
|
4
5
|
retryAt;
|
|
@@ -481,9 +482,8 @@ export const createGitHubClient = (options = {}) => {
|
|
|
481
482
|
// gh only groups flat variables for the literal "graphql" endpoint, not absolute URLs.
|
|
482
483
|
// https://github.com/cli/cli/blob/fa92838bef95fe4a29c1587693885d5e9bdb6cf1/pkg/cmd/api/http.go#L16-L55
|
|
483
484
|
const variable = (name) => ported ? `variables[${name}]` : name;
|
|
484
|
-
const fields = query === undefined ? [] : ["--raw-field", `query=${
|
|
485
|
-
|
|
486
|
-
...["headCursor", "mergeCursor"].flatMap((key) => [query[key] === null ? "--field" : "--raw-field", `${variable(key)}=${query[key] === null ? "null" : query[key]}`])];
|
|
485
|
+
const fields = query === undefined ? [] : ["--raw-field", `query=${query.document}`,
|
|
486
|
+
...Object.entries(query.variables).flatMap(([key, value]) => [typeof value === "string" ? "--raw-field" : "--field", `${variable(key)}=${value === null ? "null" : value}`])];
|
|
487
487
|
result = await execute("gh", ["api", "--include", "--method", query === undefined ? "GET" : "POST", "--hostname", ported ? origin.hostname : host,
|
|
488
488
|
"--header", "Accept: application/vnd.github+json", "--header", "X-GitHub-Api-Version: 2022-11-28", ...fields, target], { timeoutMs, maxBufferBytes, ...(signal === undefined ? {} : { signal }), ...(authentication.environment === undefined ? {} : { environment: authentication.environment }) });
|
|
489
489
|
}
|
|
@@ -612,7 +612,7 @@ export const createGitHubClient = (options = {}) => {
|
|
|
612
612
|
let first = null;
|
|
613
613
|
let ready = true;
|
|
614
614
|
do {
|
|
615
|
-
const response = await request(repository.host, "graphql", signal, query);
|
|
615
|
+
const response = await request(repository.host, "graphql", signal, { document: pullRequestChecksQuery, variables: query });
|
|
616
616
|
const snapshot = pullRequestChecks(response.body);
|
|
617
617
|
if (first === null)
|
|
618
618
|
first = snapshot;
|
|
@@ -627,6 +627,33 @@ export const createGitHubClient = (options = {}) => {
|
|
|
627
627
|
} while (!head.complete() || (first.mergeSha !== null && !merge.complete()));
|
|
628
628
|
return { headSha: first.headSha, baseRef: first.baseRef, ready: ready && head.ready() && merge.ready() };
|
|
629
629
|
},
|
|
630
|
+
getPullRequestReviewSnapshot: async (repository, number, signal) => {
|
|
631
|
+
positiveInteger(number, "PR number");
|
|
632
|
+
const variables = { owner: repository.owner, name: repository.name, number, reviewCursor: null, threadCursor: null };
|
|
633
|
+
const reviews = reviewSnapshotCollection("PR reviews");
|
|
634
|
+
const threads = reviewSnapshotCollection("PR review threads");
|
|
635
|
+
let first = null;
|
|
636
|
+
let pages = 0;
|
|
637
|
+
let bytes = 0;
|
|
638
|
+
do {
|
|
639
|
+
if (++pages > 1_000)
|
|
640
|
+
throw new Error("PR review snapshot exceeded its pagination limit.");
|
|
641
|
+
const response = await request(repository.host, "graphql", signal, { document: pullRequestReviewSnapshotQuery, variables });
|
|
642
|
+
bytes += Buffer.byteLength(JSON.stringify(response.body), "utf8");
|
|
643
|
+
if (bytes > maxBufferBytes)
|
|
644
|
+
throw new Error("PR review snapshot exceeded its response size limit.");
|
|
645
|
+
const snapshot = parsePullRequestReviewSnapshot(response.body, repository.githubId, number);
|
|
646
|
+
if (first === null)
|
|
647
|
+
first = snapshot;
|
|
648
|
+
else if (snapshot.state !== first.state || snapshot.draft !== first.draft || snapshot.headSha !== first.headSha || snapshot.baseRef !== first.baseRef || snapshot.viewerId !== first.viewerId)
|
|
649
|
+
throw new Error("PR review target or viewer changed during pagination.");
|
|
650
|
+
reviews.observe(snapshot.reviews);
|
|
651
|
+
threads.observe(snapshot.threads);
|
|
652
|
+
variables.reviewCursor = reviews.cursor();
|
|
653
|
+
variables.threadCursor = threads.cursor();
|
|
654
|
+
} while (!reviews.complete() || !threads.complete());
|
|
655
|
+
return { state: first.state, draft: first.draft, headSha: first.headSha, baseRef: first.baseRef, viewerId: first.viewerId, reviews: reviews.nodes(), threads: threads.nodes() };
|
|
656
|
+
},
|
|
630
657
|
};
|
|
631
658
|
};
|
|
632
659
|
//# sourceMappingURL=github.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/github.ts"],"names":[],"mappings":"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"}
|