prreviewbuddy 0.80.2 → 0.80.3
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.80.3
|
|
4
|
+
|
|
5
|
+
**Runs name the agent that did the work.** Updating a review, and the checkout Buddy AI answers
|
|
6
|
+
from, already ran under the review's own agent. They were recorded as the default agent, Claude,
|
|
7
|
+
so updates of a Codex review were listed on the Runs page as Claude Code. They now record the
|
|
8
|
+
agent that ran them. Update timings kept from earlier versions no longer name an agent at all,
|
|
9
|
+
because the one they named was never the real one; their durations are unchanged.
|
|
10
|
+
|
|
3
11
|
## 0.80.2
|
|
4
12
|
|
|
5
13
|
**A review opens the way you left the last one.** Hiding or showing Buddy AI, expanding a pane or
|
|
@@ -15535,7 +15535,17 @@ function aboutMinutes(ms) {
|
|
|
15535
15535
|
}
|
|
15536
15536
|
//#endregion
|
|
15537
15537
|
//#region ../../packages/review-harness/src/runtime/store.ts
|
|
15538
|
-
var VERSION =
|
|
15538
|
+
var VERSION = 2;
|
|
15539
|
+
/**
|
|
15540
|
+
* Version 1 is the same shape with one field that cannot be trusted. Every update row it holds
|
|
15541
|
+
* names the default agent, Claude, whichever agent ran it: the update's job was stamped with the
|
|
15542
|
+
* daemon's default rather than the review's own, and the row was copied from the job. So that
|
|
15543
|
+
* field is a constant on every such row, and reading it as a fact would credit Codex's updates to
|
|
15544
|
+
* Claude for as long as the rows are kept, which is indefinitely. It is dropped rather than
|
|
15545
|
+
* rewritten, because which agent did run is not recorded anywhere this file can see. The duration
|
|
15546
|
+
* was always right and stays, and so does every other operation's agent.
|
|
15547
|
+
*/
|
|
15548
|
+
var VERSION_WITH_UNKNOWN_UPDATE_AGENTS = 1;
|
|
15539
15549
|
/** Kept in all, so a machine with years of reviews holds a bounded file. */
|
|
15540
15550
|
var ROWS_KEPT = 1e3;
|
|
15541
15551
|
var LOCK = "runtimes";
|
|
@@ -15587,12 +15597,19 @@ function keyOf$1(row) {
|
|
|
15587
15597
|
function readRows() {
|
|
15588
15598
|
try {
|
|
15589
15599
|
const parsed = JSON.parse(readFileSync(runtimesPath(), "utf8"));
|
|
15590
|
-
if (
|
|
15591
|
-
return parsed.runs.filter(isRow);
|
|
15600
|
+
if (!Array.isArray(parsed?.runs)) return [];
|
|
15601
|
+
if (parsed.version === VERSION) return parsed.runs.filter(isRow);
|
|
15602
|
+
if (parsed.version === VERSION_WITH_UNKNOWN_UPDATE_AGENTS) return parsed.runs.filter(isRow).map(withoutUpdateAgent);
|
|
15603
|
+
return [];
|
|
15592
15604
|
} catch {
|
|
15593
15605
|
return [];
|
|
15594
15606
|
}
|
|
15595
15607
|
}
|
|
15608
|
+
function withoutUpdateAgent(row) {
|
|
15609
|
+
if (row.operation !== "update") return row;
|
|
15610
|
+
const { agent: _unknown, ...rest } = row;
|
|
15611
|
+
return rest;
|
|
15612
|
+
}
|
|
15596
15613
|
function isRow(value) {
|
|
15597
15614
|
const row = value;
|
|
15598
15615
|
return typeof row?.operation === "string" && typeof row.repository === "string" && typeof row.subject === "string" && typeof row.durationMs === "number" && Number.isFinite(row.durationMs) && row.durationMs >= 0 && typeof row.completedAt === "number";
|
|
@@ -18681,7 +18698,7 @@ async function claimCheckoutJob(workspace, sha, fields) {
|
|
|
18681
18698
|
const job = createJob({
|
|
18682
18699
|
workspaceId: workspace.id,
|
|
18683
18700
|
target,
|
|
18684
|
-
env:
|
|
18701
|
+
env: agentEnvOf(workspace),
|
|
18685
18702
|
...fields
|
|
18686
18703
|
});
|
|
18687
18704
|
saveJob(job);
|
|
@@ -18915,7 +18932,7 @@ function cancelled(held, reviewedSha) {
|
|
|
18915
18932
|
};
|
|
18916
18933
|
}
|
|
18917
18934
|
async function bringForward(workspace, runners, reviewedSha, held, step, signal, clock) {
|
|
18918
|
-
const remote = await remoteHead(workspace, signal, runners);
|
|
18935
|
+
const remote = await remoteHead(workspace, held.job.env, signal, runners);
|
|
18919
18936
|
signal.throwIfAborted();
|
|
18920
18937
|
if (!remote.sha) return refuse(reviewedSha, remote.fetchFailed, remote.refusal ?? noRemoteHeadMessage(workspace));
|
|
18921
18938
|
adoptLegacyBaseline(workspace);
|
|
@@ -18938,9 +18955,10 @@ async function bringForward(workspace, runners, reviewedSha, held, step, signal,
|
|
|
18938
18955
|
return settled(reviewedSha, remote.sha, remote.fetchFailed, conversationOk, "analysis-failed", "A checkout of the latest commit could not be prepared, so nothing was reassessed.");
|
|
18939
18956
|
}
|
|
18940
18957
|
signal.throwIfAborted();
|
|
18941
|
-
return reconcile(workspace, runners, reviewedSha, remote, conversationOk, worktreePath, step, held.job
|
|
18958
|
+
return reconcile(workspace, runners, reviewedSha, remote, conversationOk, worktreePath, step, held.job, signal, clock, prepared, discussionMoved);
|
|
18942
18959
|
}
|
|
18943
|
-
async function reconcile(workspace, runners, reviewedSha, remote, conversationOk, worktreePath, step,
|
|
18960
|
+
async function reconcile(workspace, runners, reviewedSha, remote, conversationOk, worktreePath, step, job, signal, clock, prepared, discussionMoved) {
|
|
18961
|
+
const { id: jobId, env } = job;
|
|
18944
18962
|
const newHead = remote.sha;
|
|
18945
18963
|
let delta = null;
|
|
18946
18964
|
if (reviewedSha !== newHead) try {
|
|
@@ -18975,9 +18993,9 @@ async function reconcile(workspace, runners, reviewedSha, remote, conversationOk
|
|
|
18975
18993
|
let raw;
|
|
18976
18994
|
try {
|
|
18977
18995
|
const prompt = buildUpdatePrompt(workspace, delta, prepared, reviewedSha, newHead, worktreePath);
|
|
18978
|
-
raw = runners.run ? await runners.run(prompt, worktreePath,
|
|
18996
|
+
raw = runners.run ? await runners.run(prompt, worktreePath, env, onProgress, onObservedModel, signal) : await runUpdate(workspace.id, prompt, worktreePath, workspace.repoPath, env, onProgress, requestedModel, onObservedModel, signal);
|
|
18979
18997
|
} catch (error) {
|
|
18980
|
-
return settled(reviewedSha, newHead, remote.fetchFailed, conversationOk, "analysis-failed", explainUpdateFailure(error,
|
|
18998
|
+
return settled(reviewedSha, newHead, remote.fetchFailed, conversationOk, "analysis-failed", explainUpdateFailure(error, env, requestedModel));
|
|
18981
18999
|
}
|
|
18982
19000
|
const parsed = parseReconciliationResult(raw, previous.issues.length, { priorQuestionCount: previous.questions.length });
|
|
18983
19001
|
if (!parsed) return settled(reviewedSha, newHead, remote.fetchFailed, conversationOk, "analysis-failed", "The reassessment came back in a form this could not read, so nothing was changed.");
|
|
@@ -18995,7 +19013,7 @@ async function reconcile(workspace, runners, reviewedSha, remote, conversationOk
|
|
|
18995
19013
|
const gradeChanges = await applyUpdate(workspace, result, previous, newHead, worktreePath, {
|
|
18996
19014
|
...requestedModel ? { requestedModel } : {},
|
|
18997
19015
|
...observedModel ? { observedModel } : {},
|
|
18998
|
-
...await (runners.agentVersion ?? installedAgentVersion)(
|
|
19016
|
+
...await (runners.agentVersion ?? installedAgentVersion)(env)
|
|
18999
19017
|
}, clock, remote.base, suggestions, conversationTakenIntoAccount(prepared, analysedBaselineOf(workspace)));
|
|
19000
19018
|
const counts = {
|
|
19001
19019
|
...countUpdateChanges(previous, result),
|
|
@@ -19029,9 +19047,9 @@ var BASELINE_GONE_MESSAGE = "The commit this review was made from is no longer i
|
|
|
19029
19047
|
* is allowed to reach the network and that panel is not, so it looks at a newer copy of the same
|
|
19030
19048
|
* refs.
|
|
19031
19049
|
*/
|
|
19032
|
-
async function remoteHead(workspace, signal, runners) {
|
|
19050
|
+
async function remoteHead(workspace, env, signal, runners) {
|
|
19033
19051
|
const source = await storedRequestSource(workspace);
|
|
19034
|
-
if (source) return requestHead(workspace, source, signal, runners);
|
|
19052
|
+
if (source) return requestHead(workspace, env, source, signal, runners);
|
|
19035
19053
|
const fetchFailed = !await fetchOrigin(workspace.repoPath, signal);
|
|
19036
19054
|
return {
|
|
19037
19055
|
sha: (await followedBranch(workspace))?.sha ?? null,
|
|
@@ -19056,8 +19074,8 @@ async function remoteHead(workspace, signal, runners) {
|
|
|
19056
19074
|
* rather than a guess. If even that fetch fails, the last head this repository saw is used and
|
|
19057
19075
|
* the update says the fetch failed, as it always has.
|
|
19058
19076
|
*/
|
|
19059
|
-
async function requestHead(workspace, source, signal, runners) {
|
|
19060
|
-
const outcome = await (runners.headOf ?? ((cwd, asked) => fetchHeadFor(cwd, asked,
|
|
19077
|
+
async function requestHead(workspace, env, source, signal, runners) {
|
|
19078
|
+
const outcome = await (runners.headOf ?? ((cwd, asked) => fetchHeadFor(cwd, asked, env)))(workspace.repoPath, source);
|
|
19061
19079
|
signal.throwIfAborted();
|
|
19062
19080
|
const baseBranch = workspace.changeSet.baseRef || void 0;
|
|
19063
19081
|
if (outcome.kind === "head") {
|
package/dist/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Ai as resolveTarget, An as modelHelpLines, Ar as recentWorkspaces, B as ensureServer, Bi as resolveAgent, D as relativeTime, Dr as positionInLineage, Er as mutateWorkspace, F as queueForReview, Gi as CONFIG_PATH, H as reviewsUrl, Hn as describeSubject, Ji as agentById, K as stopServer, Ki as STORE_ROOT, L as readIndexToken, M as runBatch, Mr as reviewedRepositories, Nr as summarise, O as batchIdentity, Oi as WITHHELD_REASON, Pn as MANAGED_ROOT, Q as parseWorkspacePort, Qn as allJobs, R as bootstrapUrl, Ri as git, Rn as readMarker, Tr as matchingWorkspaceIds, Ui as readAgentPreference, Un as findExistingReview, Vi as resolveModel, Vn as describeMovement, Wi as writeAgentPreference, X as MAX_WORKSPACE_PORT, Xi as detectAgents, Y as DEFAULT_WORKSPACE_PORT, Yn as forgeResolver, Z as MIN_WORKSPACE_PORT, _ as recordKissRun, _t as BUILD_VERSION, a as wasBlocked, at as settleReview, ct as startJob, d as mergeUpdateInto, dr as purposeOf, dt as record$1, et as statedWorkspacePort, f as updateReview, fr as clearClaim, ft as stamp, g as runningJobs, gr as followedRefName, gt as telemetryUploadEnabled, h as liveUpdateFor, ht as telemetryUploadConsent, i as liveJobsFor, it as prepareReview, ki as kissOutcome, lt as append, m as UpdateAlreadyRunningError, mt as recordTelemetryUploadConsent, n as deleteReview$1, or as PHASES, ot as reanalyseReview, pt as deliver, q as workspaceUrl, qi as AGENT_IDS, rr as loadJob, tt as writePortPreference, ur as progressSteps, vt as PACKAGE_NAME, wr as loadWorkspace, zn as removeWorktree } from "./delete_review-
|
|
2
|
+
import { Ai as resolveTarget, An as modelHelpLines, Ar as recentWorkspaces, B as ensureServer, Bi as resolveAgent, D as relativeTime, Dr as positionInLineage, Er as mutateWorkspace, F as queueForReview, Gi as CONFIG_PATH, H as reviewsUrl, Hn as describeSubject, Ji as agentById, K as stopServer, Ki as STORE_ROOT, L as readIndexToken, M as runBatch, Mr as reviewedRepositories, Nr as summarise, O as batchIdentity, Oi as WITHHELD_REASON, Pn as MANAGED_ROOT, Q as parseWorkspacePort, Qn as allJobs, R as bootstrapUrl, Ri as git, Rn as readMarker, Tr as matchingWorkspaceIds, Ui as readAgentPreference, Un as findExistingReview, Vi as resolveModel, Vn as describeMovement, Wi as writeAgentPreference, X as MAX_WORKSPACE_PORT, Xi as detectAgents, Y as DEFAULT_WORKSPACE_PORT, Yn as forgeResolver, Z as MIN_WORKSPACE_PORT, _ as recordKissRun, _t as BUILD_VERSION, a as wasBlocked, at as settleReview, ct as startJob, d as mergeUpdateInto, dr as purposeOf, dt as record$1, et as statedWorkspacePort, f as updateReview, fr as clearClaim, ft as stamp, g as runningJobs, gr as followedRefName, gt as telemetryUploadEnabled, h as liveUpdateFor, ht as telemetryUploadConsent, i as liveJobsFor, it as prepareReview, ki as kissOutcome, lt as append, m as UpdateAlreadyRunningError, mt as recordTelemetryUploadConsent, n as deleteReview$1, or as PHASES, ot as reanalyseReview, pt as deliver, q as workspaceUrl, qi as AGENT_IDS, rr as loadJob, tt as writePortPreference, ur as progressSteps, vt as PACKAGE_NAME, wr as loadWorkspace, zn as removeWorktree } from "./delete_review-CYiIfV5A.js";
|
|
3
3
|
import { basename, dirname, join, resolve } from "node:path";
|
|
4
4
|
import { spawn } from "node:child_process";
|
|
5
5
|
import { existsSync, mkdirSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as resolveWorkspacePort, $i as AgentUnavailableError, $n as attemptIdOf, $r as isIssueOutstanding, $t as moveIds, A as parsePullRequestLink, Ai as resolveTarget, Ar as recentWorkspaces, At as readArchitecture, Bi as resolveAgent, Bn as requestJobStop, Br as isLifecycle, Bt as writeJsonAtomically, C as completeRun, Ci as followUpFindingId, Cn as hasAuthorContent, Cr as lineagePosition, Ct as RUNTIME_WORDS, D as relativeTime$1, Di as describeAuthorship, Dn as CODE_COPY_CLASS, Dt as checkArchitecture, E as stopRun, Ei as objectWithAnyOf, En as CODE_BLOCK_CLASS, Er as mutateWorkspace, Et as ARCHITECTURE_DIR, Fi as AmbiguousRefError, Fn as createWorktree, Fr as workspaceRevision, Ft as ownersOf, G as stopChild, Gn as checkReview, Gr as parseLifecycle, Gt as createArchitectureNotification, Hi as clearAgentPreference, Hr as lifecycleItemLabel, Ht as branchOf, I as settleQueue, Ii as shortNameOf, In as holdWorktree, Ir as workspaceStamps, It as QUOTE_LIMITS, J as writeServerRecord, Ji as agentById, Jn as fetchHead, Jr as queueAddMany, Jt as eventName, Ki as STORE_ROOT, Kn as followedBranch, Kr as sectionOf, Kt as createPrState, L as readIndexToken, Li as shorthandOf, Ln as isWorktreeHeld, Lr as LIFECYCLES, Lt as REPOSITORY_SCOPE, M as runBatch, Mi as DetachedHeadError, Mn as isBusy, Mt as storeArchitecture, N as activateQueued, Ni as isCommitReview, Nn as withReviewLock, Nt as storedScopes, O as batchIdentity, Oi as WITHHELD_REASON, On as escapeHtml$1, Or as presentedKissRunOf, Ot as loadArchitecture, P as compactQueue, Pi as resolveBase, Pn as MANAGED_ROOT, Pr as touchWorkspace, Pt as trackedFiles, Q as parseWorkspacePort, Qi as AgentCancelledError, Qn as allJobs, Qr as doneVerb, Qt as markReadForReview, Ri as git, Rn as readMarker, Rr as activityAttributes, Rt as ancestorsOf, S as beginRun, Si as wasReassessed, Sn as authorPreview, Sr as latestKissRun, St as recordRuntimeBestEffort, T as reportRun, Ti as extractJsonText, Tn as renderMarkdown, Tt as formatDuration, U as serverEntryExists, Ui as readAgentPreference, Un as findExistingReview, Ur as lifecyclePill, Ut as subjectOf, V as readServerRecord, Vi as resolveModel, Vr as lifecycleChip, Vt as announceJob, W as spawnServer, Wi as writeAgentPreference, Wn as checkCodeFreshness, Wr as offersLifecycle, Wt as categoryOf, X as MAX_WORKSPACE_PORT, Xi as detectAgents, Xn as fillFileUrlTemplate, Xr as queueStamp, Xt as markAllRead, Y as DEFAULT_WORKSPACE_PORT, Yi as agentFor$1, Yn as forgeResolver, Yr as queueRemove, Yt as listNotifications, Z as MIN_WORKSPACE_PORT, Zi as isAgentId, Zn as RUN_RECORD_RETENTION_MS, Zr as readQueue, Zt as markRead, _i as gradeScale, _n as isUnchanged, _r as groupByLineage, _t as BUILD_VERSION, a as wasBlocked, ai as processDiscussion, an as toneOf, ar as saveJob, at as settleReview, b as track, bi as reassessIn, bn as chatConversationSection, br as kissDecisionRefusal, bt as waitingHistory, c as RefreshUnavailableError, ci as explanationOf, cn as withUsageRecorded, cr as isTerminalJobPhase, d as mergeUpdateInto, di as ANALYSIS_ONLY, dn as adoptLegacyBaseline, dr as purposeOf, dt as record, ei as isQuestionOutstanding, en as pruneNotifications, er as endedAt, et as statedWorkspacePort, f as updateReview, fi as analysisRefOf, fn as prepareConversationWithin, gi as findingIn, gn as refreshPrContext, gr as followedRefName, h as liveUpdateFor, hi as findingAssessment, hn as unforeseenFailure, hr as decideKissRecommendation, ht as telemetryUploadConsent, i as liveJobsFor, ii as reviewerDispositions, in as retireNotification, ir as pruneJobResidue, it as prepareReview, j as unsupportedReason, ji as originRemote, jn as ReviewBeingDeletedError, jr as reviewedCommit, jt as repositoryKey, k as extractPullRequestLinks, ki as kissOutcome, kn as renderInlineText, kr as previousKissResult, kt as partFiles, l as cancelUpdate, li as isExplanationAction, ln as existingPaths, lr as phasesFor, m as UpdateAlreadyRunningError, mi as currentGradeIn, mn as storedConversation, mt as recordTelemetryUploadConsent, n as deleteReview, ni as questionsOutstanding, nn as readStateOf, nr as isTerminal, nt as failureOf$1, o as discardJob, oi as recommendationsOf, on as unreadAround, ot as reanalyseReview, p as askCheckout, pi as assessmentLookup, pn as saveRefresh, pr as isClaimed, qi as AGENT_IDS, qn as reviewedShaOf, qr as queueAdd, qt as createPrUpdate, r as lineageIds, ri as resolvedByConversation, rn as removeNotification, rr as loadJob, rt as observeReview, s as FETCH_TIMEOUT_MS, si as explanationActionOf, sn as unreadCount$1, sr as isLiveJob, st as runJob, t as deleteLineage, ti as issuesOutstanding, tn as readNotification, tr as fail$1, tt as writePortPreference, u as cancellableHere, ui as withExplanation, un as ASK_REREAD_CEILING_MS, ur as progressSteps, ut as readEvents, v as startKissJob, vi as isGradeFor, vn as agentEnvOf, vr as indexKeptIds, w as endRun, wi as asString, wn as GITHUB_MARKDOWN, wr as loadWorkspace, wt as describeRuntimes, x as RUN_KINDS, xi as sourcePhrase, xn as UNESTABLISHED_MOTIVATION, xr as kissDecisionsOf, xt as mapRuntimes, y as isDriving, yi as promptGrade, yn as EXPLAIN_SIMPLY_PROMPT, yr as indexReviewGroups, yt as feedbackUrl, z as clearServerRecordOwnedBy, zi as refExists, zn as removeWorktree, zr as activityLabel, zt as isArchitectureId } from "./delete_review-
|
|
1
|
+
import { $ as resolveWorkspacePort, $i as AgentUnavailableError, $n as attemptIdOf, $r as isIssueOutstanding, $t as moveIds, A as parsePullRequestLink, Ai as resolveTarget, Ar as recentWorkspaces, At as readArchitecture, Bi as resolveAgent, Bn as requestJobStop, Br as isLifecycle, Bt as writeJsonAtomically, C as completeRun, Ci as followUpFindingId, Cn as hasAuthorContent, Cr as lineagePosition, Ct as RUNTIME_WORDS, D as relativeTime$1, Di as describeAuthorship, Dn as CODE_COPY_CLASS, Dt as checkArchitecture, E as stopRun, Ei as objectWithAnyOf, En as CODE_BLOCK_CLASS, Er as mutateWorkspace, Et as ARCHITECTURE_DIR, Fi as AmbiguousRefError, Fn as createWorktree, Fr as workspaceRevision, Ft as ownersOf, G as stopChild, Gn as checkReview, Gr as parseLifecycle, Gt as createArchitectureNotification, Hi as clearAgentPreference, Hr as lifecycleItemLabel, Ht as branchOf, I as settleQueue, Ii as shortNameOf, In as holdWorktree, Ir as workspaceStamps, It as QUOTE_LIMITS, J as writeServerRecord, Ji as agentById, Jn as fetchHead, Jr as queueAddMany, Jt as eventName, Ki as STORE_ROOT, Kn as followedBranch, Kr as sectionOf, Kt as createPrState, L as readIndexToken, Li as shorthandOf, Ln as isWorktreeHeld, Lr as LIFECYCLES, Lt as REPOSITORY_SCOPE, M as runBatch, Mi as DetachedHeadError, Mn as isBusy, Mt as storeArchitecture, N as activateQueued, Ni as isCommitReview, Nn as withReviewLock, Nt as storedScopes, O as batchIdentity, Oi as WITHHELD_REASON, On as escapeHtml$1, Or as presentedKissRunOf, Ot as loadArchitecture, P as compactQueue, Pi as resolveBase, Pn as MANAGED_ROOT, Pr as touchWorkspace, Pt as trackedFiles, Q as parseWorkspacePort, Qi as AgentCancelledError, Qn as allJobs, Qr as doneVerb, Qt as markReadForReview, Ri as git, Rn as readMarker, Rr as activityAttributes, Rt as ancestorsOf, S as beginRun, Si as wasReassessed, Sn as authorPreview, Sr as latestKissRun, St as recordRuntimeBestEffort, T as reportRun, Ti as extractJsonText, Tn as renderMarkdown, Tt as formatDuration, U as serverEntryExists, Ui as readAgentPreference, Un as findExistingReview, Ur as lifecyclePill, Ut as subjectOf, V as readServerRecord, Vi as resolveModel, Vr as lifecycleChip, Vt as announceJob, W as spawnServer, Wi as writeAgentPreference, Wn as checkCodeFreshness, Wr as offersLifecycle, Wt as categoryOf, X as MAX_WORKSPACE_PORT, Xi as detectAgents, Xn as fillFileUrlTemplate, Xr as queueStamp, Xt as markAllRead, Y as DEFAULT_WORKSPACE_PORT, Yi as agentFor$1, Yn as forgeResolver, Yr as queueRemove, Yt as listNotifications, Z as MIN_WORKSPACE_PORT, Zi as isAgentId, Zn as RUN_RECORD_RETENTION_MS, Zr as readQueue, Zt as markRead, _i as gradeScale, _n as isUnchanged, _r as groupByLineage, _t as BUILD_VERSION, a as wasBlocked, ai as processDiscussion, an as toneOf, ar as saveJob, at as settleReview, b as track, bi as reassessIn, bn as chatConversationSection, br as kissDecisionRefusal, bt as waitingHistory, c as RefreshUnavailableError, ci as explanationOf, cn as withUsageRecorded, cr as isTerminalJobPhase, d as mergeUpdateInto, di as ANALYSIS_ONLY, dn as adoptLegacyBaseline, dr as purposeOf, dt as record, ei as isQuestionOutstanding, en as pruneNotifications, er as endedAt, et as statedWorkspacePort, f as updateReview, fi as analysisRefOf, fn as prepareConversationWithin, gi as findingIn, gn as refreshPrContext, gr as followedRefName, h as liveUpdateFor, hi as findingAssessment, hn as unforeseenFailure, hr as decideKissRecommendation, ht as telemetryUploadConsent, i as liveJobsFor, ii as reviewerDispositions, in as retireNotification, ir as pruneJobResidue, it as prepareReview, j as unsupportedReason, ji as originRemote, jn as ReviewBeingDeletedError, jr as reviewedCommit, jt as repositoryKey, k as extractPullRequestLinks, ki as kissOutcome, kn as renderInlineText, kr as previousKissResult, kt as partFiles, l as cancelUpdate, li as isExplanationAction, ln as existingPaths, lr as phasesFor, m as UpdateAlreadyRunningError, mi as currentGradeIn, mn as storedConversation, mt as recordTelemetryUploadConsent, n as deleteReview, ni as questionsOutstanding, nn as readStateOf, nr as isTerminal, nt as failureOf$1, o as discardJob, oi as recommendationsOf, on as unreadAround, ot as reanalyseReview, p as askCheckout, pi as assessmentLookup, pn as saveRefresh, pr as isClaimed, qi as AGENT_IDS, qn as reviewedShaOf, qr as queueAdd, qt as createPrUpdate, r as lineageIds, ri as resolvedByConversation, rn as removeNotification, rr as loadJob, rt as observeReview, s as FETCH_TIMEOUT_MS, si as explanationActionOf, sn as unreadCount$1, sr as isLiveJob, st as runJob, t as deleteLineage, ti as issuesOutstanding, tn as readNotification, tr as fail$1, tt as writePortPreference, u as cancellableHere, ui as withExplanation, un as ASK_REREAD_CEILING_MS, ur as progressSteps, ut as readEvents, v as startKissJob, vi as isGradeFor, vn as agentEnvOf, vr as indexKeptIds, w as endRun, wi as asString, wn as GITHUB_MARKDOWN, wr as loadWorkspace, wt as describeRuntimes, x as RUN_KINDS, xi as sourcePhrase, xn as UNESTABLISHED_MOTIVATION, xr as kissDecisionsOf, xt as mapRuntimes, y as isDriving, yi as promptGrade, yn as EXPLAIN_SIMPLY_PROMPT, yr as indexReviewGroups, yt as feedbackUrl, z as clearServerRecordOwnedBy, zi as refExists, zn as removeWorktree, zr as activityLabel, zt as isArchitectureId } from "./delete_review-CYiIfV5A.js";
|
|
2
2
|
import { basename, isAbsolute, join, relative, resolve } from "node:path";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prreviewbuddy",
|
|
3
|
-
"version": "0.80.
|
|
3
|
+
"version": "0.80.3",
|
|
4
4
|
"description": "Understand code changes before you approve them. Local branch and pull request reviews with Claude Code, Codex or Gemini CLI.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://prreviewbuddy.com",
|