pullfrog 0.1.101 → 0.1.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +28278 -21330
- package/dist/external.d.ts +1 -1
- package/dist/index.js +28096 -21156
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal.js +8779 -2808
- package/dist/mcp/reviewComments.d.ts +4 -1
- package/dist/mcp/shell.d.ts +1 -0
- package/dist/toolState.d.ts +1 -0
- package/dist/utils/billingErrors.d.ts +1 -1
- package/dist/utils/diffCoverage.d.ts +9 -1
- package/dist/utils/generatedFiles.d.ts +10 -0
- package/dist/utils/github.d.ts +1 -1
- package/dist/utils/payload.d.ts +5 -0
- package/dist/utils/rangeDiff.d.ts +3 -1
- package/package.json +9 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Octokit } from "@octokit/rest";
|
|
2
2
|
import type { ToolContext } from "./server.ts";
|
|
3
|
-
export declare const REVIEW_THREADS_QUERY = "\nquery ($owner: String!, $name: String!, $prNumber: Int!, $cursor: String) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n reviewThreads(first: 100, after: $cursor) {\n pageInfo { hasNextPage endCursor }\n nodes {\n id\n path\n line\n startLine\n diffSide\n isResolved\n isOutdated\n comments(first: 50) {\n nodes {\n fullDatabaseId\n body\n bodyHTML\n createdAt\n diffHunk\n line\n startLine\n originalLine\n originalStartLine\n author { login }\n pullRequestReview {\n databaseId\n author { login }\n }\n reactionGroups {\n content\n reactors(first: 10) {\n nodes {\n ... on Actor { login }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}\n";
|
|
3
|
+
export declare const REVIEW_THREADS_QUERY = "\nquery ($owner: String!, $name: String!, $prNumber: Int!, $cursor: String) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n reviewThreads(first: 100, after: $cursor) {\n pageInfo { hasNextPage endCursor }\n nodes {\n id\n path\n line\n startLine\n diffSide\n isResolved\n isOutdated\n comments(first: 50) {\n nodes {\n fullDatabaseId\n body\n bodyHTML\n createdAt\n diffHunk\n line\n startLine\n originalLine\n originalStartLine\n author { login __typename }\n pullRequestReview {\n databaseId\n author { login }\n }\n reactionGroups {\n content\n reactors(first: 10) {\n nodes {\n ... on Actor { login }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}\n";
|
|
4
4
|
export type ReviewThreadComment = {
|
|
5
5
|
fullDatabaseId: string | null;
|
|
6
6
|
body: string;
|
|
@@ -13,6 +13,7 @@ export type ReviewThreadComment = {
|
|
|
13
13
|
originalStartLine: number | null;
|
|
14
14
|
author: {
|
|
15
15
|
login: string;
|
|
16
|
+
__typename: string;
|
|
16
17
|
} | null;
|
|
17
18
|
pullRequestReview: {
|
|
18
19
|
databaseId: number | null;
|
|
@@ -141,6 +142,8 @@ interface GetReviewDataInput {
|
|
|
141
142
|
* to the dispatching review exactly as before.
|
|
142
143
|
*/
|
|
143
144
|
addressScope?: "all" | "mentions" | undefined;
|
|
145
|
+
/** whether this run can push, which is what makes a comment's author matter */
|
|
146
|
+
canPush: boolean;
|
|
144
147
|
tmpdir: string;
|
|
145
148
|
githubToken: string;
|
|
146
149
|
}
|
package/dist/mcp/shell.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const ShellParams: import("arktype/internal/variants/object.ts").
|
|
|
9
9
|
export type SandboxMethod = "unshare" | "sudo-unshare" | "userns-unshare" | "none";
|
|
10
10
|
/** get the current sandbox method (for testing/diagnostics) */
|
|
11
11
|
export declare function getSandboxMethod(): SandboxMethod;
|
|
12
|
+
export declare function resolveRepoRoot(): string;
|
|
12
13
|
/** chars of shell output kept inline in the agent reply. anything past this
|
|
13
14
|
* blows the agent's context budget on commands that dump big logs (test
|
|
14
15
|
* runners, build tools, grep on large trees), so the overflow is spilled
|
package/dist/toolState.d.ts
CHANGED
|
@@ -135,6 +135,7 @@ export interface ToolState {
|
|
|
135
135
|
xrepoLearningsFilePath?: string;
|
|
136
136
|
xrepoLearningsSeed?: string;
|
|
137
137
|
xrepoLearningsPersistAttempted?: boolean;
|
|
138
|
+
learningsLocked?: boolean;
|
|
138
139
|
output?: string | undefined;
|
|
139
140
|
usageEntries: AgentUsage[];
|
|
140
141
|
model?: string | undefined;
|
|
@@ -70,7 +70,7 @@ export declare function commercialPaywallBody(params: {
|
|
|
70
70
|
/**
|
|
71
71
|
* commercial-gate copy for action runs, linked to the account billing card.
|
|
72
72
|
*
|
|
73
|
-
* if this fires on a `
|
|
73
|
+
* if this fires on a `PullfrogDev/preview-*` repo it is an infrastructure bug, not
|
|
74
74
|
* a billing state — those repos have no real billing state to refuse. the
|
|
75
75
|
* original cause was the gate comparing the subscription's originating host
|
|
76
76
|
* with strict equality, which no preview could satisfy against a cloned
|
|
@@ -38,10 +38,18 @@ export declare function countLines(params: {
|
|
|
38
38
|
export declare function parseDiffTocEntries(params: {
|
|
39
39
|
toc: string;
|
|
40
40
|
}): DiffTocEntry[];
|
|
41
|
+
/**
|
|
42
|
+
* one entry per section of an incremental (range-diff) diff, which opens on an
|
|
43
|
+
* `@@ <file>[: <function>]` hunk header or a `## <file>[ (new)] ##` file header,
|
|
44
|
+
* either of which may be the only line naming its file.
|
|
45
|
+
*/
|
|
46
|
+
export declare function parseIncrementalDiffEntries(params: {
|
|
47
|
+
content: string;
|
|
48
|
+
}): DiffTocEntry[];
|
|
41
49
|
export declare function createDiffCoverageState(params: {
|
|
42
50
|
diffPath: string;
|
|
43
51
|
totalLines: number;
|
|
44
|
-
|
|
52
|
+
tocEntries: DiffTocEntry[];
|
|
45
53
|
previous?: DiffCoverageState | undefined;
|
|
46
54
|
}): DiffCoverageState;
|
|
47
55
|
export declare function recordDiffReadFromToolUse(params: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* files whose hunks carry nothing a reviewer weighs — lockfiles, minified and
|
|
3
|
+
* generated output, snapshots, images and fonts, built trees, migration
|
|
4
|
+
* metadata. the router's scorer reads a one-line stub in their place and its
|
|
5
|
+
* heuristic skips their lines; a review's diff keeps them but leaves them off
|
|
6
|
+
* its coverage checklist. `build/` and `vendor/` are deliberately not here: the
|
|
7
|
+
* router eval set has source under both (`src/build/expo-brand.ts`, a vendored
|
|
8
|
+
* crate patched in the PR), and hiding a patch is worse than reading a copy.
|
|
9
|
+
*/
|
|
10
|
+
export declare const GENERATED: RegExp;
|
package/dist/utils/github.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ export declare function fetchIdTokenFromStash(creds: OidcCredentials): Promise<s
|
|
|
75
75
|
* own retry still re-mints. Mid-run refreshes take the stashed-credentials path
|
|
76
76
|
* (`opts.oidc`) and deliberately bypass this.
|
|
77
77
|
*/
|
|
78
|
-
export declare const mintIdToken:
|
|
78
|
+
export declare const mintIdToken: yes.Cached<() => Promise<string>>;
|
|
79
79
|
/**
|
|
80
80
|
* ensure a GitHub token is available in the environment.
|
|
81
81
|
*
|
package/dist/utils/payload.d.ts
CHANGED
|
@@ -39,6 +39,11 @@ export declare const JsonPayload: import("arktype/internal/variants/object.ts").
|
|
|
39
39
|
generateSummary?: boolean | undefined;
|
|
40
40
|
codexArm?: boolean | undefined;
|
|
41
41
|
}, {}>;
|
|
42
|
+
/**
|
|
43
|
+
* a run steered by someone resolved as unable to push here. an absent permission
|
|
44
|
+
* is a run no outside author steers (CI fix, a review bot on Pullfrog's own PR).
|
|
45
|
+
*/
|
|
46
|
+
export declare function isOutsideAuthor(event: PayloadEvent): boolean;
|
|
42
47
|
export declare const Inputs: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
43
48
|
prompt?: string | undefined;
|
|
44
49
|
prompt_file?: string | undefined;
|
|
@@ -64,7 +64,9 @@ export declare function computeIncrementalDiff(params: ComputeIncrementalDiffPar
|
|
|
64
64
|
*
|
|
65
65
|
* uses a streaming approach: a ring buffer of before-context lines is flushed when
|
|
66
66
|
* a change is hit, then afterCount lines of after-context are emitted directly.
|
|
67
|
-
* nearest preceding ## / @@ headers are force-included when outside the context window
|
|
67
|
+
* nearest preceding ## / @@ headers are force-included when outside the context window,
|
|
68
|
+
* and so is the outer `@@ <file>[: <function>]` hunk header, which is often the only
|
|
69
|
+
* line naming the file a change belongs to.
|
|
68
70
|
*/
|
|
69
71
|
export declare function postProcessRangeDiff(raw: string, contextLines?: number): string | null;
|
|
70
72
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pullfrog",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.103",
|
|
4
4
|
"cliContractVersion": "1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"prepare": "cd .. && husky"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@actions/core": "^
|
|
30
|
+
"@actions/core": "^3.0.1",
|
|
31
31
|
"@anthropic-ai/claude-code": "2.1.293",
|
|
32
32
|
"@ark/fs": "0.56.0",
|
|
33
33
|
"@ark/util": "0.56.0",
|
|
34
34
|
"@clack/prompts": "^1.2.0",
|
|
35
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
35
|
+
"@modelcontextprotocol/sdk": "^1.32.0",
|
|
36
36
|
"@octokit/plugin-throttling": "^11.0.3",
|
|
37
37
|
"@octokit/rest": "^22.0.0",
|
|
38
38
|
"@octokit/webhooks-types": "^7.6.1",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@openai/codex-sdk": "0.159.2",
|
|
41
41
|
"@opencode-ai/sdk": "1.18.29",
|
|
42
42
|
"@standard-schema/spec": "1.1.0",
|
|
43
|
-
"@toon-format/toon": "^
|
|
43
|
+
"@toon-format/toon": "^2.3.1",
|
|
44
44
|
"@types/node": "^24.7.2",
|
|
45
45
|
"@types/semver": "^7.7.1",
|
|
46
46
|
"@types/turndown": "^5.0.5",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"esbuild": "^0.25.9",
|
|
54
54
|
"execa": "^9.6.0",
|
|
55
55
|
"fastmcp": "^3.34.0",
|
|
56
|
-
"file-type": "^21.3.
|
|
56
|
+
"file-type": "^21.3.2",
|
|
57
57
|
"husky": "^9.0.0",
|
|
58
58
|
"opencode-ai": "1.18.29",
|
|
59
59
|
"package-manager-detector": "^1.6.0",
|
|
@@ -64,10 +64,10 @@
|
|
|
64
64
|
"turndown": "^7.2.0",
|
|
65
65
|
"typescript": "^5.9.3",
|
|
66
66
|
"undici": "^7.22.0",
|
|
67
|
-
"vitest": "^4.
|
|
68
|
-
"yaml": "^2.8.
|
|
69
|
-
"yes": "0.2.
|
|
70
|
-
"zod": "4.
|
|
67
|
+
"vitest": "^4.1.12",
|
|
68
|
+
"yaml": "^2.8.3",
|
|
69
|
+
"yes": "0.2.7",
|
|
70
|
+
"zod": "4.6.6"
|
|
71
71
|
},
|
|
72
72
|
"repository": {
|
|
73
73
|
"type": "git",
|