@effect-agent/pr-review 0.1.0-beta.6 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/action.d.mts +9 -4
- package/dist/action.mjs +22 -5
- package/dist/action.mjs.map +1 -1
- package/dist/cli.mjs +4 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/{fan-out-cMt8_Olv.d.mts → fan-out-C6gq3CFg.d.mts} +136 -46
- package/dist/{github-CcCtaWZD.mjs → github-Lfa_ox-u.mjs} +349 -44
- package/dist/github-Lfa_ox-u.mjs.map +1 -0
- package/dist/index.d.mts +15 -14
- package/dist/index.mjs +3 -3
- package/dist/{providers-5J9VeLkX.mjs → providers-CaOnz7mK.mjs} +5 -4
- package/dist/{providers-5J9VeLkX.mjs.map → providers-CaOnz7mK.mjs.map} +1 -1
- package/dist/testing.d.mts +3 -2
- package/dist/testing.mjs +5 -3
- package/dist/testing.mjs.map +1 -1
- package/package.json +20 -20
- package/src/action.ts +32 -1
- package/src/cli.ts +2 -1
- package/src/index.ts +1 -0
- package/src/internal/action-entry.ts +1 -0
- package/src/internal/fan-out-scripted.ts +2 -1
- package/src/internal/fan-out.ts +65 -74
- package/src/internal/fixtures.ts +5 -1
- package/src/internal/github-env.ts +20 -6
- package/src/internal/github.ts +232 -2
- package/src/internal/retirement.ts +332 -0
- package/src/internal/review-agent.ts +6 -3
- package/dist/github-CcCtaWZD.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { A as InvalidEffortInput, C as ReviewEvent, D as compileIgnoreGlobs, E as planPublication, F as ReviewCoverage, I as ReviewShape, L as assessReviewCoverage, M as parseEffortPosition, N as resolveEffortRung, O as ignoringPullRequestSourceLayer, P as FailedReviewUnit, S as ReviewCommentDraft, T as anchorViolation, _ as buildReviewMission, a as anthropicClientLayer, b as fanOutReviewBudgetLimits, c as makeOpenAiReviewModel, d as ReviewTargetUnresolved, f as gitHubReviewLayers, g as ReviewRunOutcome, h as PrReview, i as PROVIDER_EFFORT_RUNGS, j as isEffortPosition, k as EFFORT_ALIASES, l as openAiClientLayer, m as resolveReviewTarget, n as DEFAULT_PROVIDER, o as describeReviewModel, p as readGitHubEvent, r as PROVIDER_CREDENTIAL_ENV, s as makeAnthropicReviewModel, t as DEFAULT_MODEL, u as GitHubEventWire, v as enforceFindingsBound, w as ReviewPublicationPlan, x as reviewBudgetLimits, y as executeReview } from "./providers-
|
|
1
|
+
import { $ as FanOutReviewer, $t as ReviewToolkit, A as ReviewStateMarker, At as ReviewUnitId, B as toStoredConcern, Bt as FileSlice, C as ReviewExecutionContext, Ct as makeFanOutReviewSuite, D as ReviewState, Dt as MAX_REVIEW_UNITS, E as ReviewScopeMode, Et as MAX_MERGED_FINDINGS, F as computeProfileFingerprint, Ft as ChangedFileSummary, G as FINGERPRINT_MARKER_LENGTH, Gt as MAX_CONCERNS, H as unavailableReviewStateAuthenticatorLayer, Ht as FindingSeverity, I as fromStoredConcern, It as ChangedFilesView, J as renderFingerprintMarker, Jt as ReadFile, K as computeChangesetFingerprint, Kt as MAX_FINDINGS, L as fromStoredFinding, Lt as CodeReview, M as StoredReviewConcern, Mt as UNIT_CHANGED_LINE_BUDGET, N as StoredReviewFinding, Nt as planReviewUnits, O as ReviewStateAuthenticationFailure, Ot as MAX_UNIT_FILES, P as buildProfileMission, Pt as rankAndDedupeFindings, Q as FanOutReviewToolkit, Qt as ReviewMission, R as selectReviewRange, Rt as FileDiffQuery, S as MAX_REVIEW_STATE_MARKER_CHARS, Sn as parsePatch, St as makeFanOutReviewInstructions, T as ReviewMode, Tt as mapFileReviewChildFailure, U as validateReviewState, Ut as ListChangedFiles, V as toStoredFinding, Vt as FileSliceQuery, W as webCryptoReviewStateAuthenticatorLayer, Wt as ListChangedFilesQuery, X as FanOutCoordinatorToolkit, Xt as ReviewConcern, Y as DelegateFileReview, Yt as ReadFileDiff, Z as FanOutCoordinatorToolkitLayer, Zt as ReviewFinding, _ as ReviewRetirementReport, _n as ChangedFile, _t as fanOutHandlersLayerFor, a as PublishedReview, an as makeReviewInstructions, at as FileReviewToolkitLayer, b as retireStaleReviews, bn as annotatePatch, bt as fileReviewPolicy, c as gitHubPriorReviewsLayer, cn as resolveGuidance, ct as FileReviewer, d as gitHubReviewRetirementHostLayer, dn as MAX_FILE_CHARS, dt as MAX_CHILD_CONCERNS, en as ReviewToolkitLayer, et as FileReviewBrief, f as parseGitHubSubmittedAt, fn as PullRequestMetadata, ft as MAX_CHILD_FINDINGS, g as ReviewRetirementHost, gn as normalizeRepoRelativePath, gt as fanOutHandlersLayer, h as ReviewRetirementFailure, hn as ReviewInputViolation, ht as defaultFileReviewerPolicy, i as PriorReviews, in as listChangedFilesHandler, it as FileReviewToolkit, j as ReviewStateMarkerTooLarge, jt as ReviewUnitPlan, k as ReviewStateAuthenticator, kt as ReviewUnit, l as gitHubPullRequestSourceLayer, ln as reviewInstructions, lt as ListReviewUnits, m as RetirableReviewComment, mn as PullRequestSourceFailure, mt as defaultFanOutPolicy, n as GitHubReviewTarget, nn as clampMaxFindings, nt as FileReviewReport, o as ReviewPublisher, on as readFileDiffHandler, ot as FileReviewUnitFailed, p as RetirableReview, pn as PullRequestSource, pt as MAX_FILE_REVIEW_TOOL_CALLS, q as extractFingerprint, qt as PullRequestReviewer, r as PriorReviewLookupFailure, rn as defaultReviewPolicy, rt as FileReviewRequest, s as fingerprintUnchanged, sn as readFileHandler, st as FileReviewUnitResult, t as GitHubApiFailure, tn as ReviewVerdict, tt as FileReviewDelegationFailure, u as gitHubReviewPublisherLayer, un as MAX_CHANGED_FILES, ut as ListReviewUnitsQuery, v as decideReviewRetirement, vn as ChangedFileStatus, vt as fanOutReviewInstructions, w as ReviewHeadComparison, wt as makeFileReviewerInstructions, x as GitCommitSha, xn as commentableLines, xt as fileReviewerInstructions, y as hasReviewMetadataMarker, yn as ChangedPath, yt as fileReviewDelegation, z as selectedPullRequestSourceLayer, zt as FileDiffView } from "./github-Lfa_ox-u.mjs";
|
|
2
|
+
import { A as InvalidEffortInput, C as ReviewEvent, D as compileIgnoreGlobs, E as planPublication, F as ReviewCoverage, I as ReviewShape, L as assessReviewCoverage, M as parseEffortPosition, N as resolveEffortRung, O as ignoringPullRequestSourceLayer, P as FailedReviewUnit, S as ReviewCommentDraft, T as anchorViolation, _ as buildReviewMission, a as anthropicClientLayer, b as fanOutReviewBudgetLimits, c as makeOpenAiReviewModel, d as ReviewTargetUnresolved, f as gitHubReviewLayers, g as ReviewRunOutcome, h as PrReview, i as PROVIDER_EFFORT_RUNGS, j as isEffortPosition, k as EFFORT_ALIASES, l as openAiClientLayer, m as resolveReviewTarget, n as DEFAULT_PROVIDER, o as describeReviewModel, p as readGitHubEvent, r as PROVIDER_CREDENTIAL_ENV, s as makeAnthropicReviewModel, t as DEFAULT_MODEL, u as GitHubEventWire, v as enforceFindingsBound, w as ReviewPublicationPlan, x as reviewBudgetLimits, y as executeReview } from "./providers-CaOnz7mK.mjs";
|
|
3
3
|
import { Schema } from "effect";
|
|
4
4
|
//#region src/internal/profiles.ts
|
|
5
5
|
/** The flat reviewer's committed capability claim. */
|
|
@@ -61,6 +61,6 @@ const LIVE_GATE_ENV = "EFFECT_AGENT_LIVE";
|
|
|
61
61
|
*/
|
|
62
62
|
const liveProfileEnabled = (env, credentialEnv) => env["EFFECT_AGENT_LIVE"] === "1" && (env[credentialEnv] ?? "") !== "";
|
|
63
63
|
//#endregion
|
|
64
|
-
export { ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, DEFAULT_MODEL, DEFAULT_PROVIDER, DelegateFileReview, EFFORT_ALIASES, FINGERPRINT_MARKER_LENGTH, FailedReviewUnit, FanOutCoordinatorToolkit, FanOutCoordinatorToolkitLayer, FanOutReviewToolkit, FanOutReviewer, FanOutReviewerProfile, FileDiffQuery, FileDiffView, FileReviewBrief, FileReviewDelegationFailure, FileReviewReport, FileReviewRequest, FileReviewToolkit, FileReviewToolkitLayer, FileReviewUnitFailed, FileReviewUnitResult, FileReviewer, FileSlice, FileSliceQuery, FindingSeverity, GitCommitSha, GitHubApiFailure, GitHubEventWire, GitHubReviewTarget, InvalidEffortInput, LIVE_GATE_ENV, ListChangedFiles, ListChangedFilesQuery, ListReviewUnits, ListReviewUnitsQuery, MAX_CHANGED_FILES, MAX_CHILD_CONCERNS, MAX_CHILD_FINDINGS, MAX_CONCERNS, MAX_FILE_CHARS, MAX_FILE_REVIEW_TOOL_CALLS, MAX_FINDINGS, MAX_MERGED_FINDINGS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_FILES, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PrReview, PriorReviewLookupFailure, PriorReviews, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, ReadFile, ReadFileDiff, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewEvent, ReviewExecutionContext, ReviewFinding, ReviewHeadComparison, ReviewInputViolation, ReviewMission, ReviewMode, ReviewPublicationPlan, ReviewPublisher, ReviewRunOutcome, ReviewScopeMode, ReviewShape, ReviewState, ReviewStateAuthenticationFailure, ReviewStateAuthenticator, ReviewStateMarker, ReviewStateMarkerTooLarge, ReviewTargetUnresolved, ReviewToolkit, ReviewToolkitLayer, ReviewUnit, ReviewUnitId, ReviewUnitPlan, ReviewVerdict, StoredReviewConcern, StoredReviewFinding, UNIT_CHANGED_LINE_BUDGET, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, buildProfileMission, buildReviewMission, clampMaxFindings, commentableLines, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileReviewDelegation, fileReviewPolicy, fileReviewerInstructions, fingerprintUnchanged, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewPublisherLayer, ignoringPullRequestSourceLayer, isEffortPosition, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parsePatch, planPublication, planReviewUnits, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderFingerprintMarker, resolveEffortRung, resolveGuidance, resolveReviewTarget, reviewBudgetLimits, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
64
|
+
export { ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, DEFAULT_MODEL, DEFAULT_PROVIDER, DelegateFileReview, EFFORT_ALIASES, FINGERPRINT_MARKER_LENGTH, FailedReviewUnit, FanOutCoordinatorToolkit, FanOutCoordinatorToolkitLayer, FanOutReviewToolkit, FanOutReviewer, FanOutReviewerProfile, FileDiffQuery, FileDiffView, FileReviewBrief, FileReviewDelegationFailure, FileReviewReport, FileReviewRequest, FileReviewToolkit, FileReviewToolkitLayer, FileReviewUnitFailed, FileReviewUnitResult, FileReviewer, FileSlice, FileSliceQuery, FindingSeverity, GitCommitSha, GitHubApiFailure, GitHubEventWire, GitHubReviewTarget, InvalidEffortInput, LIVE_GATE_ENV, ListChangedFiles, ListChangedFilesQuery, ListReviewUnits, ListReviewUnitsQuery, MAX_CHANGED_FILES, MAX_CHILD_CONCERNS, MAX_CHILD_FINDINGS, MAX_CONCERNS, MAX_FILE_CHARS, MAX_FILE_REVIEW_TOOL_CALLS, MAX_FINDINGS, MAX_MERGED_FINDINGS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_FILES, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PrReview, PriorReviewLookupFailure, PriorReviews, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, ReadFile, ReadFileDiff, RetirableReview, RetirableReviewComment, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewEvent, ReviewExecutionContext, ReviewFinding, ReviewHeadComparison, ReviewInputViolation, ReviewMission, ReviewMode, ReviewPublicationPlan, ReviewPublisher, ReviewRetirementFailure, ReviewRetirementHost, ReviewRetirementReport, ReviewRunOutcome, ReviewScopeMode, ReviewShape, ReviewState, ReviewStateAuthenticationFailure, ReviewStateAuthenticator, ReviewStateMarker, ReviewStateMarkerTooLarge, ReviewTargetUnresolved, ReviewToolkit, ReviewToolkitLayer, ReviewUnit, ReviewUnitId, ReviewUnitPlan, ReviewVerdict, StoredReviewConcern, StoredReviewFinding, UNIT_CHANGED_LINE_BUDGET, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, buildProfileMission, buildReviewMission, clampMaxFindings, commentableLines, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, decideReviewRetirement, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileReviewDelegation, fileReviewPolicy, fileReviewerInstructions, fingerprintUnchanged, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewPublisherLayer, gitHubReviewRetirementHostLayer, hasReviewMetadataMarker, ignoringPullRequestSourceLayer, isEffortPosition, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parseGitHubSubmittedAt, parsePatch, planPublication, planReviewUnits, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderFingerprintMarker, resolveEffortRung, resolveGuidance, resolveReviewTarget, retireStaleReviews, reviewBudgetLimits, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
65
65
|
|
|
66
66
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as toStoredConcern, C as ReviewExecutionContext, Ct as makeFanOutReviewSuite, D as ReviewState, F as computeProfileFingerprint, I as fromStoredConcern, J as renderFingerprintMarker, Jt as ReadFile, K as computeChangesetFingerprint, L as fromStoredFinding, Lt as CodeReview, Nt as planReviewUnits, P as buildProfileMission, Pt as rankAndDedupeFindings, Qt as ReviewMission, Rt as FileDiffQuery, Ut as ListChangedFiles, V as toStoredFinding, Xt as ReviewConcern, Yt as ReadFileDiff, Z as FanOutCoordinatorToolkitLayer, Zt as ReviewFinding, _t as fanOutHandlersLayerFor, a as PublishedReview, an as makeReviewInstructions, at as FileReviewToolkitLayer, c as gitHubPriorReviewsLayer, cn as resolveGuidance, d as gitHubReviewRetirementHostLayer, en as ReviewToolkitLayer, fn as PullRequestMetadata, hn as ReviewInputViolation, l as gitHubPullRequestSourceLayer, n as GitHubReviewTarget, nn as clampMaxFindings, o as ReviewPublisher, pn as PullRequestSource, rn as defaultReviewPolicy, rt as FileReviewRequest, st as FileReviewUnitResult, tt as FileReviewDelegationFailure, u as gitHubReviewPublisherLayer, xn as commentableLines } from "./github-Lfa_ox-u.mjs";
|
|
2
2
|
import { Config, Effect, FileSystem, Layer, Option, Schema } from "effect";
|
|
3
3
|
import { Agent, AgentPolicy, AgentRuntime, IdGenerator, SubagentReservationsMemoryLive, UsageBudgetLimits, UsageTotals, getToolExecutionClass, makeUsageBudget, toRunBudgetHook } from "effect-agent";
|
|
4
4
|
import { Toolkit } from "effect/unstable/ai";
|
|
@@ -913,15 +913,16 @@ const resolveReviewTarget = Effect.fn("resolveReviewTarget")(function* (options)
|
|
|
913
913
|
*/
|
|
914
914
|
const gitHubReviewLayers = (target) => Layer.unwrap(Effect.gen(function* () {
|
|
915
915
|
const apiUrl = yield* Config.string("GITHUB_API_URL").pipe(Config.withDefault("https://api.github.com"));
|
|
916
|
+
const graphqlUrl = yield* Config.string("GITHUB_GRAPHQL_URL").pipe(Config.withDefault(apiUrl === "https://api.github.com" ? "https://api.github.com/graphql" : apiUrl.replace(/\/api\/v3$/, "/api/graphql")));
|
|
916
917
|
const token = yield* Config.option(Config.redacted("GITHUB_TOKEN"));
|
|
917
918
|
const targetLayer = GitHubReviewTarget.layer({
|
|
918
919
|
apiUrl,
|
|
920
|
+
graphqlUrl,
|
|
919
921
|
repository: target.repository,
|
|
920
922
|
number: target.number,
|
|
921
923
|
token
|
|
922
924
|
});
|
|
923
|
-
|
|
924
|
-
return Layer.mergeAll(gitHubPullRequestSourceLayer.pipe(Layer.provide(deps)), gitHubReviewPublisherLayer.pipe(Layer.provide(deps)), gitHubPriorReviewsLayer.pipe(Layer.provide(deps)));
|
|
925
|
+
return Layer.mergeAll(gitHubPullRequestSourceLayer.pipe(Layer.provide(targetLayer)), gitHubReviewPublisherLayer.pipe(Layer.provide(targetLayer)), gitHubPriorReviewsLayer.pipe(Layer.provide(targetLayer)), gitHubReviewRetirementHostLayer.pipe(Layer.provide(targetLayer)));
|
|
925
926
|
}));
|
|
926
927
|
//#endregion
|
|
927
928
|
//#region src/internal/providers.ts
|
|
@@ -983,4 +984,4 @@ const anthropicClientLayer = AnthropicClient.layerConfig({ apiKey: Config.redact
|
|
|
983
984
|
//#endregion
|
|
984
985
|
export { InvalidEffortInput as A, ReviewEvent as C, compileIgnoreGlobs as D, planPublication as E, ReviewCoverage as F, ReviewShape as I, assessReviewCoverage as L, parseEffortPosition as M, resolveEffortRung as N, ignoringPullRequestSourceLayer as O, FailedReviewUnit as P, ReviewCommentDraft as S, anchorViolation as T, buildReviewMission as _, anthropicClientLayer as a, fanOutReviewBudgetLimits as b, makeOpenAiReviewModel as c, ReviewTargetUnresolved as d, gitHubReviewLayers as f, ReviewRunOutcome as g, PrReview as h, PROVIDER_EFFORT_RUNGS as i, isEffortPosition as j, EFFORT_ALIASES as k, openAiClientLayer as l, resolveReviewTarget as m, DEFAULT_PROVIDER as n, describeReviewModel as o, readGitHubEvent as p, PROVIDER_CREDENTIAL_ENV as r, makeAnthropicReviewModel as s, DEFAULT_MODEL as t, GitHubEventWire as u, enforceFindingsBound as v, ReviewPublicationPlan as w, reviewBudgetLimits as x, executeReview as y };
|
|
985
986
|
|
|
986
|
-
//# sourceMappingURL=providers-
|
|
987
|
+
//# sourceMappingURL=providers-CaOnz7mK.mjs.map
|