@effect-agent/pr-review 0.1.0-beta.20 → 0.1.0-beta.21
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 +82 -26
- package/dist/action.d.mts +10 -4
- package/dist/action.mjs +17 -27
- package/dist/action.mjs.map +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/{fan-out-CQFA-o0v.d.mts → fan-out-D5xrmadQ.d.mts} +288 -223
- package/dist/{github-DnenG3be.mjs → github-DSqZp3Ce.mjs} +622 -195
- package/dist/github-DSqZp3Ce.mjs.map +1 -0
- package/dist/index.d.mts +24 -51
- package/dist/index.mjs +15 -3
- package/dist/index.mjs.map +1 -1
- package/dist/{providers-BE83_Tfo.mjs → providers-CblG1G9b.mjs} +403 -134
- package/dist/providers-CblG1G9b.mjs.map +1 -0
- package/dist/testing.d.mts +10 -47
- package/dist/testing.mjs +29 -55
- package/dist/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/src/action.ts +40 -39
- package/src/index.ts +1 -0
- package/src/internal/anchors.ts +20 -0
- package/src/internal/coverage.ts +612 -134
- package/src/internal/factory.ts +12 -9
- package/src/internal/fan-out-scripted.ts +61 -94
- package/src/internal/fan-out.ts +505 -256
- package/src/internal/profiles.ts +12 -0
- package/src/internal/progress.ts +1 -1
- package/src/internal/render.ts +51 -25
- package/src/internal/review-agent.ts +68 -24
- package/src/internal/review-state.ts +7 -5
- package/src/internal/review-units.ts +326 -32
- package/src/internal/run.ts +48 -41
- package/dist/github-DnenG3be.mjs.map +0 -1
- package/dist/providers-BE83_Tfo.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as MAX_UNIT_EVIDENCE_SHARDS, $n as ReviewInstructionOptions, $t as ReviewSelection, A as MAX_REVIEW_CHILDREN, An as ChangedFilesView, Ar as isReviewableFile, At as RetirableReviewComment, B as fanOutReviewInstructions, Bn as ListChangedFilesQuery, Bt as ReviewCommentDraft, C as FileReviewer, Cn as ReviewPipelineAssessment, Cr as ChangedFileStatus, Ct as fingerprintUnchanged, D as MAX_CHILD_CONCERNS, Dn as collectUnitFileSummaries, Dr as annotatePatch, Dt as gitHubReviewRetirementHostLayer, E as ListReviewUnitsQuery, En as assessReviewPipeline, Er as PatchLine, Et as gitHubReviewPublisherLayer, F as ReviewWorkPhase, Fn as FileSlice, Ft as ReviewRetirementReport, G as makeFanOutReviewSuite, Gn as MAX_WALKTHROUGH_SUMMARY_CHARS, Gt as planWalkthrough, H as fileReviewPolicy, Hn as MAX_FINDINGS, Ht as ReviewPublicationPlan, I as defaultFanOutPolicy, In as FileSliceQuery, It as decideReviewRetirement, J as reviewCandidateSubjectKey, Jn as ReadFile, Jt as MAX_REVIEW_STATE_MARKER_CHARS, K as makeFileReviewerInstructions, Kn as PullRequestReviewer, Kt as renderAgentPrompt, L as defaultFileReviewerPolicy, Ln as FindingCategory, Lt as hasReviewMetadataMarker, M as ReviewCandidate, Mn as FileDiffQuery, Mr as renderReviewContent, Mt as ReviewRetirementFailure, N as ReviewCandidateId, Nn as FileDiffView, Nt as ReviewRetirementHost, O as MAX_CHILD_FINDINGS, On as anchorViolation, Or as commentableLines, Ot as parseGitHubSubmittedAt, P as ReviewWorkPerspective, Pn as FileReviewEvidenceChunk, Pt as ReviewRetirementInput, Q as MAX_REVIEW_UNITS, Qn as ReviewGuidance, Qt as ReviewScopeMode, R as fanOutHandlersLayer, Rn as FindingSeverity, Rt as retireStaleReviews, S as FileReviewWorkRejected, Sn as ReviewInputCoverage, Sr as ChangedFile, St as ReviewPublisher, T as ListReviewUnits, Tn as assessReviewCoverage, Tr as MAX_REVIEW_CONTENT_CHARS, Tt as gitHubPullRequestSourceLayer, U as fileReviewerInstructions, Un as MAX_PATCH_CHARS, Ut as estimateReviewEffort, V as fileReviewDelegation, Vn as MAX_CONCERNS, Vt as ReviewEvent, W as makeFanOutReviewInstructions, Wn as MAX_WALKTHROUGH_ENTRIES, Wt as planPublication, X as MAX_MERGED_FINDINGS, Xn as ReviewConcern, Xt as ReviewHeadComparison, Y as MAX_FILE_EVIDENCE_CHARS, Yn as ReadFileDiff, Yt as ReviewExecutionContext, Z as MAX_REPORTED_UNASSIGNED_EVIDENCE_SHARDS, Zn as ReviewFinding, Zt as ReviewMode, _ as FileReviewRequest, _n as webCryptoReviewStateAuthenticatorLayer, _r as PullRequestMetadata, _t as GitHubApiFailure, a as FanOutCoordinatorToolkit, an as StoredReviewConcern, ar as clampMaxFindings, at as ReviewPassId, b as FileReviewUnitFailed, bn as ReviewAssurance, br as ReviewInputViolation, bt as PriorReviews, c as FanOutReviewSuite, cn as computeProfileFingerprint, cr as fileReviewEvidenceChunks, ct as ReviewUnitId, d as FanOutSuiteOptions, dn as selectReviewRange, dr as readFileDiffHandler, dt as UNIT_EVIDENCE_CHAR_BUDGET, en as ReviewState, er as ReviewMission, et as MAX_UNIT_FILES, f as FileReviewBrief, fn as selectedPullRequestSourceLayer, fr as readFileHandler, ft as classifyReviewRisks, g as FileReviewReport, gn as validateReviewState, gr as MAX_FILE_CHARS, gt as DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, h as FileReviewFailure, hn as unavailableReviewStateAuthenticatorLayer, hr as MAX_CHANGED_FILES, ht as rankAndDedupeFindings, i as DiscoveredConcern, in as ReviewStateMarkerTooLarge, ir as WalkthroughEntry, it as ReviewEvidenceShardId, j as MAX_UNIT_CANDIDATES, jn as CodeReview, jr as parsePatch, jt as ReviewRetirementDecision, k as MAX_FILE_REVIEW_TOOL_CALLS, kn as ChangedFileSummary, kr as hasReviewableContent, kt as RetirableReview, l as FanOutReviewToolkit, ln as fromStoredConcern, lr as listChangedFilesHandler, lt as ReviewUnitPlan, m as FileReviewEvidence, mn as toStoredFinding, mr as reviewInstructions, mt as planReviewUnits, n as ConcernCandidate, nn as ReviewStateAuthenticator, nr as ReviewToolkitLayer, nt as ReviewDiscoveryPerspective, o as FanOutCoordinatorToolkitLayer, on as StoredReviewFinding, or as defaultReviewPolicy, ot as ReviewRiskCategory, p as FileReviewDelegationFailure, pn as toStoredConcern, pr as resolveGuidance, pt as findingAnchorInUnitEvidence, q as mapFileReviewChildFailure, qn as REVIEW_TOOL_RESULT_MAX_BYTES, qt as GitCommitSha, r as DelegateFileReview, rn as ReviewStateMarker, rr as ReviewVerdict, rt as ReviewEvidenceShard, s as FanOutInstructionOptions, sn as buildProfileMission, sr as fileDiffView, st as ReviewUnit, t as CandidateAssessment, tn as ReviewStateAuthenticationFailure, tr as ReviewToolkit, tt as ReviewDiscoveryPass, u as FanOutReviewer, un as fromStoredFinding, ur as makeReviewInstructions, ut as UNIT_CHANGED_LINE_BUDGET, v as FileReviewToolkit, vn as FailedReviewPass, vr as PullRequestSource, vt as GitHubReviewTarget, w as FindingCandidate, wn as ReviewShape, wr as ChangedPath, wt as gitHubPriorReviewsLayer, x as FileReviewUnitResult, xn as ReviewCoverage, xr as normalizeRepoRelativePath, xt as PublishedReview, y as FileReviewToolkitLayer, yn as FailedReviewUnit, yr as PullRequestSourceFailure, yt as PriorReviewLookupFailure, z as fanOutHandlersLayerFor, zn as ListChangedFiles, zt as AGENT_PROMPT_PREAMBLE } from "./fan-out-D5xrmadQ.mjs";
|
|
2
2
|
import { Config, Context, Effect, FileSystem, Layer, LogLevel, Logger, Option, Schema } from "effect";
|
|
3
3
|
import { Agent, AgentPolicyInput, IdGenerator, RuntimeBinding, UsageBudgetLimits, UsageTotals } from "effect-agent";
|
|
4
4
|
import { LanguageModel, Model, Tool, Toolkit } from "effect/unstable/ai";
|
|
@@ -72,6 +72,10 @@ declare const ReviewRunOutcome_base: Schema.Class<ReviewRunOutcome, Schema.Struc
|
|
|
72
72
|
readonly activeConcerns: Schema.$Array<typeof ReviewConcern>;
|
|
73
73
|
/** Host-owned structural coverage used by the Actions check conclusion. */
|
|
74
74
|
readonly coverage: typeof ReviewCoverage;
|
|
75
|
+
/** Exact path/evidence assignment, distinct from semantic review work. */
|
|
76
|
+
readonly inputCoverage: typeof ReviewInputCoverage;
|
|
77
|
+
/** Settlement of configured discovery, specialist, and verification work. */
|
|
78
|
+
readonly assurance: typeof ReviewAssurance;
|
|
75
79
|
readonly plan: typeof ReviewPublicationPlan;
|
|
76
80
|
readonly published: Schema.optionalKey<typeof PublishedReview>;
|
|
77
81
|
readonly turns: Schema.Int;
|
|
@@ -485,18 +489,18 @@ interface PrReviewFanOutOptions<Provider, ModelProvides, ModelRequires> extends
|
|
|
485
489
|
readonly guidance?: string | ReadonlyArray<string> | undefined;
|
|
486
490
|
}
|
|
487
491
|
/**
|
|
488
|
-
* Build the fan-out reviewer: a coordinator
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
* configurable here — the delegation reservation mirrors
|
|
493
|
-
* and letting the two drift apart is a published-API hazard.
|
|
492
|
+
* Build the fan-out reviewer: a coordinator schedules host-planned general
|
|
493
|
+
* and specialist discovery plus independent candidate verification through
|
|
494
|
+
* attached ephemeral children. Host code reconstructs publication only from
|
|
495
|
+
* exactly confirmed candidates. Child and coordinator execution bounds are
|
|
496
|
+
* packaged and not configurable here — the delegation reservation mirrors
|
|
497
|
+
* the child policy, and letting the two drift apart is a published-API hazard.
|
|
494
498
|
*/
|
|
495
499
|
declare const makeFanOut: <Provider, ModelProvides, ModelRequires>(options: PrReviewFanOutOptions<Provider, ModelProvides, ModelRequires>) => {
|
|
496
500
|
readonly definition: import("effect-agent").Definition<typeof ReviewMission, typeof CodeReview, (mission: ReviewMission) => string, Toolkit.Toolkit<{
|
|
497
501
|
readonly delegate_file_review: Tool.Tool<"delegate_file_review", {
|
|
498
502
|
readonly parameters: typeof FileReviewRequest;
|
|
499
|
-
readonly success: import("effect/Schema").Union<readonly [typeof FileReviewUnitResult, import("effect-agent").SubagentContainedFailure<typeof FileReviewUnitFailed
|
|
503
|
+
readonly success: import("effect/Schema").Union<readonly [typeof FileReviewUnitResult, import("effect-agent").SubagentContainedFailure<import("effect/Schema").Union<readonly [typeof FileReviewUnitFailed, typeof FileReviewWorkRejected]>>]>;
|
|
500
504
|
readonly failure: import("effect-agent").SubagentReturnModeFailure;
|
|
501
505
|
readonly failureMode: "error";
|
|
502
506
|
}, import("effect-agent").AgentSpawner | IdGenerator | import("effect-agent").RunEventSink | import("effect-agent").SubagentDurability>;
|
|
@@ -511,7 +515,7 @@ declare const makeFanOut: <Provider, ModelProvides, ModelRequires>(options: PrRe
|
|
|
511
515
|
definition: import("effect-agent").Definition<typeof ReviewMission, typeof CodeReview, (mission: ReviewMission) => string, Toolkit.Toolkit<{
|
|
512
516
|
readonly delegate_file_review: Tool.Tool<"delegate_file_review", {
|
|
513
517
|
readonly parameters: typeof FileReviewRequest;
|
|
514
|
-
readonly success: import("effect/Schema").Union<readonly [typeof FileReviewUnitResult, import("effect-agent").SubagentContainedFailure<typeof FileReviewUnitFailed
|
|
518
|
+
readonly success: import("effect/Schema").Union<readonly [typeof FileReviewUnitResult, import("effect-agent").SubagentContainedFailure<import("effect/Schema").Union<readonly [typeof FileReviewUnitFailed, typeof FileReviewWorkRejected]>>]>;
|
|
515
519
|
readonly failure: import("effect-agent").SubagentReturnModeFailure;
|
|
516
520
|
readonly failureMode: "error";
|
|
517
521
|
}, import("effect-agent").AgentSpawner | IdGenerator | import("effect-agent").RunEventSink | import("effect-agent").SubagentDurability>;
|
|
@@ -525,49 +529,10 @@ declare const makeFanOut: <Provider, ModelProvides, ModelRequires>(options: PrRe
|
|
|
525
529
|
model: Model.Model<Provider, ModelProvides | LanguageModel.LanguageModel, ModelRequires>;
|
|
526
530
|
}>;
|
|
527
531
|
readonly childBinding: Readonly<{
|
|
528
|
-
definition: import("effect-agent").Definition<typeof FileReviewBrief, typeof FileReviewReport, (brief: FileReviewBrief) => string, Toolkit.Toolkit<{
|
|
529
|
-
readonly read_file: Tool.Tool<"read_file", {
|
|
530
|
-
readonly parameters: typeof FileSliceQuery;
|
|
531
|
-
readonly success: typeof FileSlice;
|
|
532
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
533
|
-
readonly failureMode: "return";
|
|
534
|
-
}, PullRequestSource>;
|
|
535
|
-
readonly read_file_diff: Tool.Tool<"read_file_diff", {
|
|
536
|
-
readonly parameters: typeof FileDiffQuery;
|
|
537
|
-
readonly success: typeof FileDiffView;
|
|
538
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
539
|
-
readonly failureMode: "return";
|
|
540
|
-
}, PullRequestSource>;
|
|
541
|
-
}>, undefined>;
|
|
532
|
+
definition: import("effect-agent").Definition<typeof FileReviewBrief, typeof FileReviewReport, (brief: FileReviewBrief) => string, Toolkit.Toolkit<{}>, undefined>;
|
|
542
533
|
model: Model.Model<Provider, ModelProvides | LanguageModel.LanguageModel, ModelRequires>;
|
|
543
534
|
}>;
|
|
544
|
-
readonly run: (runOptions?: RunReviewOptions) => Effect.Effect<ReviewRunOutcome, import("effect-agent").AgentApprovalDenied | import("effect-agent").AgentApprovalPending | import("effect-agent").AgentChildPending | import("effect-agent").AgentInputError | import("effect-agent").AgentOutputError | import("effect-agent").AgentPolicyError | import("effect/unstable/ai/AiError").AiError | import("effect-agent").BudgetAdapterError | import("effect-agent").BudgetExceeded | import("effect-agent").ContextOverflowError | GitHubApiFailure | import("effect-agent").ModelProtocolError | PullRequestSourceFailure | import("effect/Schema").SchemaError, PullRequestSource | ReviewPublisher | Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, IdGenerator | import("effect-agent").SubagentReservations | Tool.
|
|
545
|
-
readonly read_file: Tool.Tool<"read_file", {
|
|
546
|
-
readonly parameters: typeof FileSliceQuery;
|
|
547
|
-
readonly success: typeof FileSlice;
|
|
548
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
549
|
-
readonly failureMode: "return";
|
|
550
|
-
}, PullRequestSource>;
|
|
551
|
-
readonly read_file_diff: Tool.Tool<"read_file_diff", {
|
|
552
|
-
readonly parameters: typeof FileDiffQuery;
|
|
553
|
-
readonly success: typeof FileDiffView;
|
|
554
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
555
|
-
readonly failureMode: "return";
|
|
556
|
-
}, PullRequestSource>;
|
|
557
|
-
}>>, import("effect/Scope").Scope> | Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, Tool.Handler<"delegate_file_review"> | Tool.Handler<"list_review_units"> | IdGenerator>, import("effect/Scope").Scope>> | Effect.Effect<ReviewRunOutcome, import("effect-agent").AgentApprovalDenied | import("effect-agent").AgentApprovalPending | import("effect-agent").AgentChildPending | import("effect-agent").AgentInputError | import("effect-agent").AgentOutputError | import("effect-agent").AgentPolicyError | import("effect/unstable/ai/AiError").AiError | import("effect-agent").BudgetAdapterError | import("effect-agent").BudgetExceeded | import("effect-agent").ContextOverflowError | GitHubApiFailure | import("effect-agent").ModelProtocolError | PullRequestSourceFailure | import("effect/Schema").SchemaError, PullRequestSource | ReviewPublisher | Exclude<Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, IdGenerator | import("effect-agent").SubagentReservations | Tool.HandlersFor<{
|
|
558
|
-
readonly read_file: Tool.Tool<"read_file", {
|
|
559
|
-
readonly parameters: typeof FileSliceQuery;
|
|
560
|
-
readonly success: typeof FileSlice;
|
|
561
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
562
|
-
readonly failureMode: "return";
|
|
563
|
-
}, PullRequestSource>;
|
|
564
|
-
readonly read_file_diff: Tool.Tool<"read_file_diff", {
|
|
565
|
-
readonly parameters: typeof FileDiffQuery;
|
|
566
|
-
readonly success: typeof FileDiffView;
|
|
567
|
-
readonly failure: import("effect/Schema").Union<readonly [typeof PullRequestSourceFailure, typeof ReviewInputViolation]>;
|
|
568
|
-
readonly failureMode: "return";
|
|
569
|
-
}, PullRequestSource>;
|
|
570
|
-
}>>, import("effect/Scope").Scope>, PullRequestSource> | Exclude<Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, Tool.Handler<"delegate_file_review"> | Tool.Handler<"list_review_units"> | IdGenerator>, import("effect/Scope").Scope>, PullRequestSource>>;
|
|
535
|
+
readonly run: (runOptions?: RunReviewOptions) => Effect.Effect<ReviewRunOutcome, import("effect-agent").AgentApprovalDenied | import("effect-agent").AgentApprovalPending | import("effect-agent").AgentChildPending | import("effect-agent").AgentInputError | import("effect-agent").AgentOutputError | import("effect-agent").AgentPolicyError | import("effect/unstable/ai/AiError").AiError | import("effect-agent").BudgetAdapterError | import("effect-agent").BudgetExceeded | import("effect-agent").ContextOverflowError | GitHubApiFailure | import("effect-agent").ModelProtocolError | PullRequestSourceFailure | import("effect/Schema").SchemaError, PullRequestSource | ReviewPublisher | Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, IdGenerator | import("effect-agent").SubagentReservations>, import("effect/Scope").Scope> | Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, Tool.Handler<"delegate_file_review"> | Tool.Handler<"list_review_units"> | IdGenerator>, import("effect/Scope").Scope>> | Effect.Effect<ReviewRunOutcome, import("effect-agent").AgentApprovalDenied | import("effect-agent").AgentApprovalPending | import("effect-agent").AgentChildPending | import("effect-agent").AgentInputError | import("effect-agent").AgentOutputError | import("effect-agent").AgentPolicyError | import("effect/unstable/ai/AiError").AiError | import("effect-agent").BudgetAdapterError | import("effect-agent").BudgetExceeded | import("effect-agent").ContextOverflowError | GitHubApiFailure | import("effect-agent").ModelProtocolError | PullRequestSourceFailure | import("effect/Schema").SchemaError, PullRequestSource | ReviewPublisher | Exclude<Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, IdGenerator | import("effect-agent").SubagentReservations>, import("effect/Scope").Scope>, PullRequestSource> | Exclude<Exclude<Exclude<Exclude<ModelRequires, import("effect-agent").EngineProvidedToolServices>, Tool.Handler<"delegate_file_review"> | Tool.Handler<"list_review_units"> | IdGenerator>, import("effect/Scope").Scope>, PullRequestSource>>;
|
|
571
536
|
readonly fingerprint: Effect.Effect<string, PullRequestSourceFailure, PullRequestSource>;
|
|
572
537
|
readonly profileFingerprint: Effect.Effect<string, PullRequestSourceFailure, PullRequestSource>;
|
|
573
538
|
readonly snapshot: Effect.Effect<{
|
|
@@ -783,6 +748,14 @@ declare const FanOutReviewerProfile_base: Schema.Class<FanOutReviewerProfile, Sc
|
|
|
783
748
|
readonly attachedEphemeralDelegation: Schema.Literal<true>;
|
|
784
749
|
/** A failed unit surfaces to the coordinator as a typed failed result, never retried. */
|
|
785
750
|
readonly failedUnitsReportedNotRetried: Schema.Literal<true>;
|
|
751
|
+
/** Risk categories and required specialist passes are pure host policy. */
|
|
752
|
+
readonly hostOwnedRiskClassification: Schema.Literal<true>;
|
|
753
|
+
/** Every host-classified high-risk unit receives a fresh specialist pass. */
|
|
754
|
+
readonly redundantHighRiskDiscovery: Schema.Literal<true>;
|
|
755
|
+
/** Only exact candidates confirmed by a fresh verifier child may publish. */
|
|
756
|
+
readonly independentCandidateVerification: Schema.Literal<true>;
|
|
757
|
+
/** No bounded model pipeline proves that a pull request is defect-free. */
|
|
758
|
+
readonly defectAbsenceProven: Schema.Literal<false>;
|
|
786
759
|
/** The live profile is env-gated out of every ordinary test gate. */
|
|
787
760
|
readonly liveProfileOptIn: Schema.Literal<true>;
|
|
788
761
|
/** Never claimed at any phase (DUR-003). */
|
|
@@ -830,5 +803,5 @@ declare const openAiClientLayer: Layer.Layer<OpenAiClient.OpenAiClient, Config.C
|
|
|
830
803
|
/** The Anthropic client Layer, credential from `ANTHROPIC_API_KEY`. */
|
|
831
804
|
declare const anthropicClientLayer: Layer.Layer<AnthropicClient.AnthropicClient, Config.ConfigError, never>;
|
|
832
805
|
//#endregion
|
|
833
|
-
export { AGENT_PROMPT_PREAMBLE, ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, CompactLogRecord, DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, DEFAULT_MODEL, DEFAULT_PROVIDER, DelegateFileReview, EFFORT_ALIASES, EffortAliasName, EffortPosition, ExecuteReviewOptions, FINGERPRINT_MARKER_LENGTH, FailedReviewUnit, FanOutCoordinatorToolkit, FanOutCoordinatorToolkitLayer, FanOutInstructionOptions, FanOutReviewSuite, FanOutReviewToolkit, FanOutReviewer, FanOutReviewerProfile, FanOutSuiteOptions, FileDiffQuery, FileDiffView, FileReviewBrief, FileReviewDelegationFailure, FileReviewReport, FileReviewRequest, FileReviewToolkit, FileReviewToolkitLayer, FileReviewUnitFailed, FileReviewUnitResult, FileReviewer, FileSlice, FileSliceQuery, FindingCategory, 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_CONTENT_CHARS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_FILES, MAX_WALKTHROUGH_ENTRIES, MAX_WALKTHROUGH_SUMMARY_CHARS, PROGRESS_COMMENT_MARKER_PREFIX, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PatchLine, PrReview, PrReviewFanOutOptions, PrReviewOptions, PrReviewSharedOptions, PriorReviewLookupFailure, PriorReviews, ProgressClaim, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, REVIEW_TOOL_RESULT_MAX_BYTES, ReadFile, ReadFileDiff, ResolvedReviewTarget, RetirableReview, RetirableReviewComment, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewEvent, ReviewExecutionContext, ReviewFinding, ReviewGuidance, ReviewHeadComparison, ReviewInputViolation, ReviewInstructionOptions, ReviewMission, ReviewMode, ReviewProgressBegin, ReviewProgressReporter, ReviewProgressSettle, ReviewProvider, ReviewPublicationPlan, ReviewPublisher, ReviewRetirementDecision, ReviewRetirementFailure, ReviewRetirementHost, ReviewRetirementInput, ReviewRetirementReport, ReviewRunOutcome, ReviewScopeMode, ReviewSelection, ReviewShape, ReviewState, ReviewStateAuthenticationFailure, ReviewStateAuthenticator, ReviewStateMarker, ReviewStateMarkerTooLarge, ReviewTargetUnresolved, ReviewToolkit, ReviewToolkitLayer, ReviewUnit, ReviewUnitId, ReviewUnitPlan, ReviewVerdict, RunReviewOptions, StoredReviewConcern, StoredReviewFinding, UNIT_CHANGED_LINE_BUDGET, WalkthroughEntry, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, buildProfileMission, buildReviewMission, clampMaxFindings, collectUnitFileSummaries, commentableLines, compactReviewLogger, compactReviewLoggingLayer, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, decideReviewRetirement, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, estimateReviewEffort, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileReviewDelegation, fileReviewPolicy, fileReviewerInstructions, fingerprintUnchanged, formatCompactLogLine, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewProgressLayer, gitHubReviewPublisherLayer, gitHubReviewRetirementHostLayer, hasReviewMetadataMarker, hasReviewableContent, ignoringPullRequestSourceLayer, isEffortPosition, isReviewableFile, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, noopReviewProgressReporterLayer, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parseGitHubSubmittedAt, parsePatch, parseProgressClaim, planPublication, planReviewUnits, planWalkthrough, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderAgentPrompt, renderFingerprintMarker, renderProgressBeginBody, renderProgressClaimMarker, renderProgressSettleBody, renderReviewContent, resolveEffortRung, resolveGuidance, resolveReviewTarget, retireStaleReviews, reviewBudgetLimits, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
806
|
+
export { AGENT_PROMPT_PREAMBLE, CandidateAssessment, ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, CompactLogRecord, ConcernCandidate, DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, DEFAULT_MODEL, DEFAULT_PROVIDER, DelegateFileReview, DiscoveredConcern, EFFORT_ALIASES, EffortAliasName, EffortPosition, ExecuteReviewOptions, FINGERPRINT_MARKER_LENGTH, FailedReviewPass, FailedReviewUnit, FanOutCoordinatorToolkit, FanOutCoordinatorToolkitLayer, FanOutInstructionOptions, FanOutReviewSuite, FanOutReviewToolkit, FanOutReviewer, FanOutReviewerProfile, FanOutSuiteOptions, FileDiffQuery, FileDiffView, FileReviewBrief, FileReviewDelegationFailure, FileReviewEvidence, FileReviewEvidenceChunk, FileReviewFailure, FileReviewReport, FileReviewRequest, FileReviewToolkit, FileReviewToolkitLayer, FileReviewUnitFailed, FileReviewUnitResult, FileReviewWorkRejected, FileReviewer, FileSlice, FileSliceQuery, FindingCandidate, FindingCategory, 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_EVIDENCE_CHARS, MAX_FILE_REVIEW_TOOL_CALLS, MAX_FINDINGS, MAX_MERGED_FINDINGS, MAX_PATCH_CHARS, MAX_REPORTED_UNASSIGNED_EVIDENCE_SHARDS, MAX_REVIEW_CHILDREN, MAX_REVIEW_CONTENT_CHARS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_CANDIDATES, MAX_UNIT_EVIDENCE_SHARDS, MAX_UNIT_FILES, MAX_WALKTHROUGH_ENTRIES, MAX_WALKTHROUGH_SUMMARY_CHARS, PROGRESS_COMMENT_MARKER_PREFIX, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PatchLine, PrReview, PrReviewFanOutOptions, PrReviewOptions, PrReviewSharedOptions, PriorReviewLookupFailure, PriorReviews, ProgressClaim, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, REVIEW_TOOL_RESULT_MAX_BYTES, ReadFile, ReadFileDiff, ResolvedReviewTarget, RetirableReview, RetirableReviewComment, ReviewAssurance, ReviewCandidate, ReviewCandidateId, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewDiscoveryPass, ReviewDiscoveryPerspective, ReviewEvent, ReviewEvidenceShard, ReviewEvidenceShardId, ReviewExecutionContext, ReviewFinding, ReviewGuidance, ReviewHeadComparison, ReviewInputCoverage, ReviewInputViolation, ReviewInstructionOptions, ReviewMission, ReviewMode, ReviewPassId, ReviewPipelineAssessment, ReviewProgressBegin, ReviewProgressReporter, ReviewProgressSettle, ReviewProvider, ReviewPublicationPlan, ReviewPublisher, ReviewRetirementDecision, ReviewRetirementFailure, ReviewRetirementHost, ReviewRetirementInput, ReviewRetirementReport, ReviewRiskCategory, ReviewRunOutcome, ReviewScopeMode, ReviewSelection, ReviewShape, ReviewState, ReviewStateAuthenticationFailure, ReviewStateAuthenticator, ReviewStateMarker, ReviewStateMarkerTooLarge, ReviewTargetUnresolved, ReviewToolkit, ReviewToolkitLayer, ReviewUnit, ReviewUnitId, ReviewUnitPlan, ReviewVerdict, ReviewWorkPerspective, ReviewWorkPhase, RunReviewOptions, StoredReviewConcern, StoredReviewFinding, UNIT_CHANGED_LINE_BUDGET, UNIT_EVIDENCE_CHAR_BUDGET, WalkthroughEntry, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, assessReviewPipeline, buildProfileMission, buildReviewMission, clampMaxFindings, classifyReviewRisks, collectUnitFileSummaries, commentableLines, compactReviewLogger, compactReviewLoggingLayer, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, decideReviewRetirement, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, estimateReviewEffort, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileDiffView, fileReviewDelegation, fileReviewEvidenceChunks, fileReviewPolicy, fileReviewerInstructions, findingAnchorInUnitEvidence, fingerprintUnchanged, formatCompactLogLine, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewProgressLayer, gitHubReviewPublisherLayer, gitHubReviewRetirementHostLayer, hasReviewMetadataMarker, hasReviewableContent, ignoringPullRequestSourceLayer, isEffortPosition, isReviewableFile, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, noopReviewProgressReporterLayer, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parseGitHubSubmittedAt, parsePatch, parseProgressClaim, planPublication, planReviewUnits, planWalkthrough, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderAgentPrompt, renderFingerprintMarker, renderProgressBeginBody, renderProgressClaimMarker, renderProgressSettleBody, renderReviewContent, resolveEffortRung, resolveGuidance, resolveReviewTarget, retireStaleReviews, reviewBudgetLimits, reviewCandidateSubjectKey, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
834
807
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { A as AGENT_PROMPT_PREAMBLE, B as
|
|
1
|
+
import { $ as DiscoveredConcern, $n as ChangedFile, $t as ReviewUnit, A as ReviewStateAuthenticator, An as ReviewMission, At as fanOutHandlersLayer, B as selectedPullRequestSourceLayer, Bn as makeReviewInstructions, Bt as reviewCandidateSubjectKey, C as MAX_REVIEW_STATE_MARKER_CHARS, Cn as MAX_WALKTHROUGH_SUMMARY_CHARS, Ct as MAX_UNIT_CANDIDATES, D as ReviewScopeMode, Dn as ReadFileDiff, Dt as ReviewWorkPhase, E as ReviewMode, En as ReadFile, Et as ReviewWorkPerspective, F as buildProfileMission, Fn as clampMaxFindings, Ft as fileReviewerInstructions, G as webCryptoReviewStateAuthenticatorLayer, Gn as MAX_CHANGED_FILES, Gt as MAX_UNIT_EVIDENCE_SHARDS, H as toStoredFinding, Hn as readFileHandler, Ht as MAX_MERGED_FINDINGS, I as computeProfileFingerprint, In as defaultReviewPolicy, It as makeFanOutReviewInstructions, J as extractFingerprint, Jn as PullRequestSource, Jt as ReviewDiscoveryPerspective, K as FINGERPRINT_MARKER_LENGTH, Kn as MAX_FILE_CHARS, Kt as MAX_UNIT_FILES, L as fromStoredConcern, Ln as fileDiffView, Lt as makeFanOutReviewSuite, M as ReviewStateMarkerTooLarge, Mn as ReviewToolkitLayer, Mt as fanOutReviewInstructions, N as StoredReviewConcern, Nn as ReviewVerdict, Nt as fileReviewDelegation, O as ReviewState, On as ReviewConcern, Ot as defaultFanOutPolicy, P as StoredReviewFinding, Pn as WalkthroughEntry, Pt as fileReviewPolicy, Q as DelegateFileReview, Qn as anchorViolation, Qt as ReviewRiskCategory, R as fromStoredFinding, Rn as fileReviewEvidenceChunks, Rt as makeFileReviewerInstructions, S as GitCommitSha, Sn as MAX_WALKTHROUGH_ENTRIES, St as MAX_REVIEW_CHILDREN, T as ReviewHeadComparison, Tn as REVIEW_TOOL_RESULT_MAX_BYTES, Tt as ReviewCandidateId, U as unavailableReviewStateAuthenticatorLayer, Un as resolveGuidance, Ut as MAX_REPORTED_UNASSIGNED_EVIDENCE_SHARDS, V as toStoredConcern, Vn as readFileDiffHandler, Vt as MAX_FILE_EVIDENCE_CHARS, W as validateReviewState, Wn as reviewInstructions, Wt as MAX_REVIEW_UNITS, X as CandidateAssessment, Xn as ReviewInputViolation, Xt as ReviewEvidenceShardId, Y as renderFingerprintMarker, Yn as PullRequestSourceFailure, Yt as ReviewEvidenceShard, Z as ConcernCandidate, Zn as normalizeRepoRelativePath, Zt as ReviewPassId, _ as ReviewRetirementHost, _n as ListChangedFiles, _t as ListReviewUnits, a as PriorReviews, an as findingAnchorInUnitEvidence, ar as hasReviewableContent, at as FileReviewDelegationFailure, b as hasReviewMetadataMarker, bn as MAX_FINDINGS, bt as MAX_CHILD_FINDINGS, c as fingerprintUnchanged, cn as ChangedFileSummary, cr as renderReviewContent, ct as FileReviewReport, d as gitHubReviewPublisherLayer, dn as FileDiffQuery, dt as FileReviewToolkitLayer, en as ReviewUnitId, er as ChangedFileStatus, et as FanOutCoordinatorToolkit, f as gitHubReviewRetirementHostLayer, fn as FileDiffView, ft as FileReviewUnitFailed, g as ReviewRetirementFailure, gn as FindingSeverity, gt as FindingCandidate, h as RetirableReviewComment, hn as FindingCategory, ht as FileReviewer, i as PriorReviewLookupFailure, in as classifyReviewRisks, ir as commentableLines, it as FileReviewBrief, j as ReviewStateMarker, jn as ReviewToolkit, jt as fanOutHandlersLayerFor, k as ReviewStateAuthenticationFailure, kn as ReviewFinding, kt as defaultFileReviewerPolicy, l as gitHubPriorReviewsLayer, ln as ChangedFilesView, lt as FileReviewRequest, m as RetirableReview, mn as FileSliceQuery, mt as FileReviewWorkRejected, n as GitHubApiFailure, nn as UNIT_CHANGED_LINE_BUDGET, nr as MAX_REVIEW_CONTENT_CHARS, nt as FanOutReviewToolkit, o as PublishedReview, on as planReviewUnits, or as isReviewableFile, ot as FileReviewEvidence, p as parseGitHubSubmittedAt, pn as FileSlice, pt as FileReviewUnitResult, q as computeChangesetFingerprint, qn as PullRequestMetadata, qt as ReviewDiscoveryPass, r as GitHubReviewTarget, rn as UNIT_EVIDENCE_CHAR_BUDGET, rr as annotatePatch, rt as FanOutReviewer, s as ReviewPublisher, sn as rankAndDedupeFindings, sr as parsePatch, st as FileReviewFailure, t as DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, tn as ReviewUnitPlan, tr as ChangedPath, tt as FanOutCoordinatorToolkitLayer, u as gitHubPullRequestSourceLayer, un as CodeReview, ut as FileReviewToolkit, v as ReviewRetirementReport, vn as ListChangedFilesQuery, vt as ListReviewUnitsQuery, w as ReviewExecutionContext, wn as PullRequestReviewer, wt as ReviewCandidate, x as retireStaleReviews, xn as MAX_PATCH_CHARS, xt as MAX_FILE_REVIEW_TOOL_CALLS, y as decideReviewRetirement, yn as MAX_CONCERNS, yt as MAX_CHILD_CONCERNS, z as selectReviewRange, zn as listChangedFilesHandler, zt as mapFileReviewChildFailure } from "./github-DSqZp3Ce.mjs";
|
|
2
|
+
import { $ as collectUnitFileSummaries, A as AGENT_PROMPT_PREAMBLE, B as EFFORT_ALIASES, C as PrReview, D as executeReview, E as enforceFindingsBound, F as planPublication, G as FailedReviewPass, H as isEffortPosition, I as planWalkthrough, J as ReviewCoverage, K as FailedReviewUnit, L as renderAgentPrompt, M as ReviewEvent, N as ReviewPublicationPlan, O as fanOutReviewBudgetLimits, P as estimateReviewEffort, Q as assessReviewPipeline, R as compileIgnoreGlobs, S as renderProgressSettleBody, T as buildReviewMission, U as parseEffortPosition, V as InvalidEffortInput, W as resolveEffortRung, X as ReviewShape, Y as ReviewInputCoverage, Z as assessReviewCoverage, _ as gitHubReviewProgressLayer, a as anthropicClientLayer, b as renderProgressBeginBody, c as makeOpenAiReviewModel, d as ReviewTargetUnresolved, f as gitHubReviewLayers, g as ReviewProgressReporter, h as PROGRESS_COMMENT_MARKER_PREFIX, i as PROVIDER_EFFORT_RUNGS, j as ReviewCommentDraft, k as reviewBudgetLimits, l as openAiClientLayer, m as resolveReviewTarget, n as DEFAULT_PROVIDER, o as describeReviewModel, p as readGitHubEvent, q as ReviewAssurance, r as PROVIDER_CREDENTIAL_ENV, s as makeAnthropicReviewModel, t as DEFAULT_MODEL, u as GitHubEventWire, v as noopReviewProgressReporterLayer, w as ReviewRunOutcome, x as renderProgressClaimMarker, y as parseProgressClaim, z as ignoringPullRequestSourceLayer } from "./providers-CblG1G9b.mjs";
|
|
3
3
|
import { n as compactReviewLoggingLayer, r as formatCompactLogLine, t as compactReviewLogger } from "./logging-Q4j0oub-.mjs";
|
|
4
4
|
import { Schema } from "effect";
|
|
5
5
|
//#region src/internal/profiles.ts
|
|
@@ -40,6 +40,14 @@ var FanOutReviewerProfile = class extends Schema.Class("@effect-agent/pr-review/
|
|
|
40
40
|
attachedEphemeralDelegation: Schema.Literal(true),
|
|
41
41
|
/** A failed unit surfaces to the coordinator as a typed failed result, never retried. */
|
|
42
42
|
failedUnitsReportedNotRetried: Schema.Literal(true),
|
|
43
|
+
/** Risk categories and required specialist passes are pure host policy. */
|
|
44
|
+
hostOwnedRiskClassification: Schema.Literal(true),
|
|
45
|
+
/** Every host-classified high-risk unit receives a fresh specialist pass. */
|
|
46
|
+
redundantHighRiskDiscovery: Schema.Literal(true),
|
|
47
|
+
/** Only exact candidates confirmed by a fresh verifier child may publish. */
|
|
48
|
+
independentCandidateVerification: Schema.Literal(true),
|
|
49
|
+
/** No bounded model pipeline proves that a pull request is defect-free. */
|
|
50
|
+
defectAbsenceProven: Schema.Literal(false),
|
|
43
51
|
/** The live profile is env-gated out of every ordinary test gate. */
|
|
44
52
|
liveProfileOptIn: Schema.Literal(true),
|
|
45
53
|
/** Never claimed at any phase (DUR-003). */
|
|
@@ -52,6 +60,10 @@ const fanOutReviewerProfile = FanOutReviewerProfile.make({
|
|
|
52
60
|
anchorsValidatedBeforePublication: true,
|
|
53
61
|
attachedEphemeralDelegation: true,
|
|
54
62
|
failedUnitsReportedNotRetried: true,
|
|
63
|
+
hostOwnedRiskClassification: true,
|
|
64
|
+
redundantHighRiskDiscovery: true,
|
|
65
|
+
independentCandidateVerification: true,
|
|
66
|
+
defectAbsenceProven: false,
|
|
55
67
|
liveProfileOptIn: true,
|
|
56
68
|
exactlyOnceExternalEffects: false
|
|
57
69
|
});
|
|
@@ -62,6 +74,6 @@ const LIVE_GATE_ENV = "EFFECT_AGENT_LIVE";
|
|
|
62
74
|
*/
|
|
63
75
|
const liveProfileEnabled = (env, credentialEnv) => env["EFFECT_AGENT_LIVE"] === "1" && (env[credentialEnv] ?? "") !== "";
|
|
64
76
|
//#endregion
|
|
65
|
-
export { AGENT_PROMPT_PREAMBLE, ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, 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, FindingCategory, 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_CONTENT_CHARS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_FILES, MAX_WALKTHROUGH_ENTRIES, MAX_WALKTHROUGH_SUMMARY_CHARS, PROGRESS_COMMENT_MARKER_PREFIX, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PrReview, PriorReviewLookupFailure, PriorReviews, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, REVIEW_TOOL_RESULT_MAX_BYTES, ReadFile, ReadFileDiff, RetirableReview, RetirableReviewComment, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewEvent, ReviewExecutionContext, ReviewFinding, ReviewHeadComparison, ReviewInputViolation, ReviewMission, ReviewMode, ReviewProgressReporter, 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, WalkthroughEntry, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, buildProfileMission, buildReviewMission, clampMaxFindings, collectUnitFileSummaries, commentableLines, compactReviewLogger, compactReviewLoggingLayer, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, decideReviewRetirement, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, estimateReviewEffort, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileReviewDelegation, fileReviewPolicy, fileReviewerInstructions, fingerprintUnchanged, formatCompactLogLine, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewProgressLayer, gitHubReviewPublisherLayer, gitHubReviewRetirementHostLayer, hasReviewMetadataMarker, hasReviewableContent, ignoringPullRequestSourceLayer, isEffortPosition, isReviewableFile, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, noopReviewProgressReporterLayer, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parseGitHubSubmittedAt, parsePatch, parseProgressClaim, planPublication, planReviewUnits, planWalkthrough, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderAgentPrompt, renderFingerprintMarker, renderProgressBeginBody, renderProgressClaimMarker, renderProgressSettleBody, renderReviewContent, resolveEffortRung, resolveGuidance, resolveReviewTarget, retireStaleReviews, reviewBudgetLimits, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
77
|
+
export { AGENT_PROMPT_PREAMBLE, CandidateAssessment, ChangedFile, ChangedFileStatus, ChangedFileSummary, ChangedFilesView, ChangedPath, CodeReview, ConcernCandidate, DEFAULT_GITHUB_REVIEW_AUTHOR_LOGIN, DEFAULT_MODEL, DEFAULT_PROVIDER, DelegateFileReview, DiscoveredConcern, EFFORT_ALIASES, FINGERPRINT_MARKER_LENGTH, FailedReviewPass, FailedReviewUnit, FanOutCoordinatorToolkit, FanOutCoordinatorToolkitLayer, FanOutReviewToolkit, FanOutReviewer, FanOutReviewerProfile, FileDiffQuery, FileDiffView, FileReviewBrief, FileReviewDelegationFailure, FileReviewEvidence, FileReviewFailure, FileReviewReport, FileReviewRequest, FileReviewToolkit, FileReviewToolkitLayer, FileReviewUnitFailed, FileReviewUnitResult, FileReviewWorkRejected, FileReviewer, FileSlice, FileSliceQuery, FindingCandidate, FindingCategory, 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_EVIDENCE_CHARS, MAX_FILE_REVIEW_TOOL_CALLS, MAX_FINDINGS, MAX_MERGED_FINDINGS, MAX_PATCH_CHARS, MAX_REPORTED_UNASSIGNED_EVIDENCE_SHARDS, MAX_REVIEW_CHILDREN, MAX_REVIEW_CONTENT_CHARS, MAX_REVIEW_STATE_MARKER_CHARS, MAX_REVIEW_UNITS, MAX_UNIT_CANDIDATES, MAX_UNIT_EVIDENCE_SHARDS, MAX_UNIT_FILES, MAX_WALKTHROUGH_ENTRIES, MAX_WALKTHROUGH_SUMMARY_CHARS, PROGRESS_COMMENT_MARKER_PREFIX, PROVIDER_CREDENTIAL_ENV, PROVIDER_EFFORT_RUNGS, PrReview, PriorReviewLookupFailure, PriorReviews, PublishedReview, PullRequestMetadata, PullRequestReviewer, PullRequestReviewerProfile, PullRequestSource, PullRequestSourceFailure, REVIEW_TOOL_RESULT_MAX_BYTES, ReadFile, ReadFileDiff, RetirableReview, RetirableReviewComment, ReviewAssurance, ReviewCandidate, ReviewCandidateId, ReviewCommentDraft, ReviewConcern, ReviewCoverage, ReviewDiscoveryPass, ReviewDiscoveryPerspective, ReviewEvent, ReviewEvidenceShard, ReviewEvidenceShardId, ReviewExecutionContext, ReviewFinding, ReviewHeadComparison, ReviewInputCoverage, ReviewInputViolation, ReviewMission, ReviewMode, ReviewPassId, ReviewProgressReporter, ReviewPublicationPlan, ReviewPublisher, ReviewRetirementFailure, ReviewRetirementHost, ReviewRetirementReport, ReviewRiskCategory, ReviewRunOutcome, ReviewScopeMode, ReviewShape, ReviewState, ReviewStateAuthenticationFailure, ReviewStateAuthenticator, ReviewStateMarker, ReviewStateMarkerTooLarge, ReviewTargetUnresolved, ReviewToolkit, ReviewToolkitLayer, ReviewUnit, ReviewUnitId, ReviewUnitPlan, ReviewVerdict, ReviewWorkPerspective, ReviewWorkPhase, StoredReviewConcern, StoredReviewFinding, UNIT_CHANGED_LINE_BUDGET, UNIT_EVIDENCE_CHAR_BUDGET, WalkthroughEntry, anchorViolation, annotatePatch, anthropicClientLayer, assessReviewCoverage, assessReviewPipeline, buildProfileMission, buildReviewMission, clampMaxFindings, classifyReviewRisks, collectUnitFileSummaries, commentableLines, compactReviewLogger, compactReviewLoggingLayer, compileIgnoreGlobs, computeChangesetFingerprint, computeProfileFingerprint, decideReviewRetirement, defaultFanOutPolicy, defaultFileReviewerPolicy, defaultReviewPolicy, describeReviewModel, enforceFindingsBound, estimateReviewEffort, executeReview, extractFingerprint, fanOutHandlersLayer, fanOutHandlersLayerFor, fanOutReviewBudgetLimits, fanOutReviewInstructions, fanOutReviewerProfile, fileDiffView, fileReviewDelegation, fileReviewEvidenceChunks, fileReviewPolicy, fileReviewerInstructions, findingAnchorInUnitEvidence, fingerprintUnchanged, formatCompactLogLine, fromStoredConcern, fromStoredFinding, gitHubPriorReviewsLayer, gitHubPullRequestSourceLayer, gitHubReviewLayers, gitHubReviewProgressLayer, gitHubReviewPublisherLayer, gitHubReviewRetirementHostLayer, hasReviewMetadataMarker, hasReviewableContent, ignoringPullRequestSourceLayer, isEffortPosition, isReviewableFile, listChangedFilesHandler, liveProfileEnabled, makeAnthropicReviewModel, makeFanOutReviewInstructions, makeFanOutReviewSuite, makeFileReviewerInstructions, makeOpenAiReviewModel, makeReviewInstructions, mapFileReviewChildFailure, noopReviewProgressReporterLayer, normalizeRepoRelativePath, openAiClientLayer, parseEffortPosition, parseGitHubSubmittedAt, parsePatch, parseProgressClaim, planPublication, planReviewUnits, planWalkthrough, pullRequestReviewerProfile, rankAndDedupeFindings, readFileDiffHandler, readFileHandler, readGitHubEvent, renderAgentPrompt, renderFingerprintMarker, renderProgressBeginBody, renderProgressClaimMarker, renderProgressSettleBody, renderReviewContent, resolveEffortRung, resolveGuidance, resolveReviewTarget, retireStaleReviews, reviewBudgetLimits, reviewCandidateSubjectKey, reviewInstructions, selectReviewRange, selectedPullRequestSourceLayer, toStoredConcern, toStoredFinding, unavailableReviewStateAuthenticatorLayer, validateReviewState, webCryptoReviewStateAuthenticatorLayer };
|
|
66
78
|
|
|
67
79
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/internal/profiles.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\n// ---------------------------------------------------------------------------\n// Committed capability claims, schema-first: what this package's reviewers\n// promise and — just as deliberately — what they never claim. Deployment\n// class E (ephemeral): one bounded AgentRuntime.run per invocation, no\n// durability, no exactly-once external effects (DUR-003).\n// ---------------------------------------------------------------------------\n\n/** The flat reviewer's committed capability claim. */\nexport class PullRequestReviewerProfile extends Schema.Class<PullRequestReviewerProfile>(\n \"@effect-agent/pr-review/PullRequestReviewerProfile\",\n)({\n /** Ephemeral runtime: one bounded AgentRuntime.run per invocation. */\n deploymentClass: Schema.Literal(\"E\"),\n /** Every model-callable tool is a read of the pull request; none mutate. */\n readOnlyToolSurface: Schema.Literal(true),\n /** The review is posted by the host AFTER the run settles, never by a tool. */\n publicationOutsideAgentLoop: Schema.Literal(true),\n /** Finding anchors are validated against the parsed diff before posting. */\n anchorsValidatedBeforePublication: Schema.Literal(true),\n /** The live profile is env-gated out of every ordinary test gate. */\n liveProfileOptIn: Schema.Literal(true),\n /** Never claimed at any phase (DUR-003). */\n exactlyOnceExternalEffects: Schema.Literal(false),\n}) {}\n\nexport const pullRequestReviewerProfile = PullRequestReviewerProfile.make({\n deploymentClass: \"E\",\n readOnlyToolSurface: true,\n publicationOutsideAgentLoop: true,\n anchorsValidatedBeforePublication: true,\n liveProfileOptIn: true,\n exactlyOnceExternalEffects: false,\n});\n\n/** The fan-out reviewer's committed capability claim, schema-first. */\nexport class FanOutReviewerProfile extends Schema.Class<FanOutReviewerProfile>(\n \"@effect-agent/pr-review/FanOutReviewerProfile\",\n)({\n /** Ephemeral runtime: one bounded AgentRuntime.run per invocation. */\n deploymentClass: Schema.Literal(\"E\"),\n /** Every model-callable tool — parent and child — is a read; none mutate. */\n readOnlyToolSurface: Schema.Literal(true),\n /** The review is posted by the host AFTER the run settles, never by a tool. */\n publicationOutsideAgentLoop: Schema.Literal(true),\n /** Child findings are untrusted; anchors are validated against the parsed diff. */\n anchorsValidatedBeforePublication: Schema.Literal(true),\n /** S1 attached ephemeral delegation at depth 1; nested delegation is rejected. */\n attachedEphemeralDelegation: Schema.Literal(true),\n /** A failed unit surfaces to the coordinator as a typed failed result, never retried. */\n failedUnitsReportedNotRetried: Schema.Literal(true),\n /** The live profile is env-gated out of every ordinary test gate. */\n liveProfileOptIn: Schema.Literal(true),\n /** Never claimed at any phase (DUR-003). */\n exactlyOnceExternalEffects: Schema.Literal(false),\n}) {}\n\nexport const fanOutReviewerProfile = FanOutReviewerProfile.make({\n deploymentClass: \"E\",\n readOnlyToolSurface: true,\n publicationOutsideAgentLoop: true,\n anchorsValidatedBeforePublication: true,\n attachedEphemeralDelegation: true,\n failedUnitsReportedNotRetried: true,\n liveProfileOptIn: true,\n exactlyOnceExternalEffects: false,\n});\n\nexport const LIVE_GATE_ENV = \"EFFECT_AGENT_LIVE\";\n\n/**\n * `EFFECT_AGENT_LIVE=1` plus the named credential is the only enabling\n * combination for live (network, billed) profiles.\n */\nexport const liveProfileEnabled = (\n env: Record<string, string | undefined>,\n credentialEnv: string,\n): boolean => env[LIVE_GATE_ENV] === \"1\" && (env[credentialEnv] ?? \"\") !== \"\";\n"],"mappings":";;;;;;AAUA,IAAa,6BAAb,cAAgD,OAAO,MACrD,oDACF,CAAC,CAAC;;CAEA,iBAAiB,OAAO,QAAQ,GAAG;;CAEnC,qBAAqB,OAAO,QAAQ,IAAI;;CAExC,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,mCAAmC,OAAO,QAAQ,IAAI;;CAEtD,kBAAkB,OAAO,QAAQ,IAAI;;CAErC,4BAA4B,OAAO,QAAQ,KAAK;AAClD,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,6BAA6B,2BAA2B,KAAK;CACxE,iBAAiB;CACjB,qBAAqB;CACrB,6BAA6B;CAC7B,mCAAmC;CACnC,kBAAkB;CAClB,4BAA4B;AAC9B,CAAC;;AAGD,IAAa,wBAAb,cAA2C,OAAO,MAChD,+CACF,CAAC,CAAC;;CAEA,iBAAiB,OAAO,QAAQ,GAAG;;CAEnC,qBAAqB,OAAO,QAAQ,IAAI;;CAExC,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,mCAAmC,OAAO,QAAQ,IAAI;;CAEtD,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,+BAA+B,OAAO,QAAQ,IAAI;;CAElD,kBAAkB,OAAO,QAAQ,IAAI;;CAErC,4BAA4B,OAAO,QAAQ,KAAK;AAClD,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,wBAAwB,sBAAsB,KAAK;CAC9D,iBAAiB;CACjB,qBAAqB;CACrB,6BAA6B;CAC7B,mCAAmC;CACnC,6BAA6B;CAC7B,+BAA+B;CAC/B,kBAAkB;CAClB,4BAA4B;AAC9B,CAAC;AAED,MAAa,gBAAgB;;;;;AAM7B,MAAa,sBACX,KACA,kBACY,IAAA,yBAAuB,QAAQ,IAAI,kBAAkB,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/internal/profiles.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\n// ---------------------------------------------------------------------------\n// Committed capability claims, schema-first: what this package's reviewers\n// promise and — just as deliberately — what they never claim. Deployment\n// class E (ephemeral): one bounded AgentRuntime.run per invocation, no\n// durability, no exactly-once external effects (DUR-003).\n// ---------------------------------------------------------------------------\n\n/** The flat reviewer's committed capability claim. */\nexport class PullRequestReviewerProfile extends Schema.Class<PullRequestReviewerProfile>(\n \"@effect-agent/pr-review/PullRequestReviewerProfile\",\n)({\n /** Ephemeral runtime: one bounded AgentRuntime.run per invocation. */\n deploymentClass: Schema.Literal(\"E\"),\n /** Every model-callable tool is a read of the pull request; none mutate. */\n readOnlyToolSurface: Schema.Literal(true),\n /** The review is posted by the host AFTER the run settles, never by a tool. */\n publicationOutsideAgentLoop: Schema.Literal(true),\n /** Finding anchors are validated against the parsed diff before posting. */\n anchorsValidatedBeforePublication: Schema.Literal(true),\n /** The live profile is env-gated out of every ordinary test gate. */\n liveProfileOptIn: Schema.Literal(true),\n /** Never claimed at any phase (DUR-003). */\n exactlyOnceExternalEffects: Schema.Literal(false),\n}) {}\n\nexport const pullRequestReviewerProfile = PullRequestReviewerProfile.make({\n deploymentClass: \"E\",\n readOnlyToolSurface: true,\n publicationOutsideAgentLoop: true,\n anchorsValidatedBeforePublication: true,\n liveProfileOptIn: true,\n exactlyOnceExternalEffects: false,\n});\n\n/** The fan-out reviewer's committed capability claim, schema-first. */\nexport class FanOutReviewerProfile extends Schema.Class<FanOutReviewerProfile>(\n \"@effect-agent/pr-review/FanOutReviewerProfile\",\n)({\n /** Ephemeral runtime: one bounded AgentRuntime.run per invocation. */\n deploymentClass: Schema.Literal(\"E\"),\n /** Every model-callable tool — parent and child — is a read; none mutate. */\n readOnlyToolSurface: Schema.Literal(true),\n /** The review is posted by the host AFTER the run settles, never by a tool. */\n publicationOutsideAgentLoop: Schema.Literal(true),\n /** Child findings are untrusted; anchors are validated against the parsed diff. */\n anchorsValidatedBeforePublication: Schema.Literal(true),\n /** S1 attached ephemeral delegation at depth 1; nested delegation is rejected. */\n attachedEphemeralDelegation: Schema.Literal(true),\n /** A failed unit surfaces to the coordinator as a typed failed result, never retried. */\n failedUnitsReportedNotRetried: Schema.Literal(true),\n /** Risk categories and required specialist passes are pure host policy. */\n hostOwnedRiskClassification: Schema.Literal(true),\n /** Every host-classified high-risk unit receives a fresh specialist pass. */\n redundantHighRiskDiscovery: Schema.Literal(true),\n /** Only exact candidates confirmed by a fresh verifier child may publish. */\n independentCandidateVerification: Schema.Literal(true),\n /** No bounded model pipeline proves that a pull request is defect-free. */\n defectAbsenceProven: Schema.Literal(false),\n /** The live profile is env-gated out of every ordinary test gate. */\n liveProfileOptIn: Schema.Literal(true),\n /** Never claimed at any phase (DUR-003). */\n exactlyOnceExternalEffects: Schema.Literal(false),\n}) {}\n\nexport const fanOutReviewerProfile = FanOutReviewerProfile.make({\n deploymentClass: \"E\",\n readOnlyToolSurface: true,\n publicationOutsideAgentLoop: true,\n anchorsValidatedBeforePublication: true,\n attachedEphemeralDelegation: true,\n failedUnitsReportedNotRetried: true,\n hostOwnedRiskClassification: true,\n redundantHighRiskDiscovery: true,\n independentCandidateVerification: true,\n defectAbsenceProven: false,\n liveProfileOptIn: true,\n exactlyOnceExternalEffects: false,\n});\n\nexport const LIVE_GATE_ENV = \"EFFECT_AGENT_LIVE\";\n\n/**\n * `EFFECT_AGENT_LIVE=1` plus the named credential is the only enabling\n * combination for live (network, billed) profiles.\n */\nexport const liveProfileEnabled = (\n env: Record<string, string | undefined>,\n credentialEnv: string,\n): boolean => env[LIVE_GATE_ENV] === \"1\" && (env[credentialEnv] ?? \"\") !== \"\";\n"],"mappings":";;;;;;AAUA,IAAa,6BAAb,cAAgD,OAAO,MACrD,oDACF,CAAC,CAAC;;CAEA,iBAAiB,OAAO,QAAQ,GAAG;;CAEnC,qBAAqB,OAAO,QAAQ,IAAI;;CAExC,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,mCAAmC,OAAO,QAAQ,IAAI;;CAEtD,kBAAkB,OAAO,QAAQ,IAAI;;CAErC,4BAA4B,OAAO,QAAQ,KAAK;AAClD,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,6BAA6B,2BAA2B,KAAK;CACxE,iBAAiB;CACjB,qBAAqB;CACrB,6BAA6B;CAC7B,mCAAmC;CACnC,kBAAkB;CAClB,4BAA4B;AAC9B,CAAC;;AAGD,IAAa,wBAAb,cAA2C,OAAO,MAChD,+CACF,CAAC,CAAC;;CAEA,iBAAiB,OAAO,QAAQ,GAAG;;CAEnC,qBAAqB,OAAO,QAAQ,IAAI;;CAExC,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,mCAAmC,OAAO,QAAQ,IAAI;;CAEtD,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,+BAA+B,OAAO,QAAQ,IAAI;;CAElD,6BAA6B,OAAO,QAAQ,IAAI;;CAEhD,4BAA4B,OAAO,QAAQ,IAAI;;CAE/C,kCAAkC,OAAO,QAAQ,IAAI;;CAErD,qBAAqB,OAAO,QAAQ,KAAK;;CAEzC,kBAAkB,OAAO,QAAQ,IAAI;;CAErC,4BAA4B,OAAO,QAAQ,KAAK;AAClD,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,wBAAwB,sBAAsB,KAAK;CAC9D,iBAAiB;CACjB,qBAAqB;CACrB,6BAA6B;CAC7B,mCAAmC;CACnC,6BAA6B;CAC7B,+BAA+B;CAC/B,6BAA6B;CAC7B,4BAA4B;CAC5B,kCAAkC;CAClC,qBAAqB;CACrB,kBAAkB;CAClB,4BAA4B;AAC9B,CAAC;AAED,MAAa,gBAAgB;;;;;AAM7B,MAAa,sBACX,KACA,kBACY,IAAA,yBAAuB,QAAQ,IAAI,kBAAkB,QAAQ"}
|