pullfrog 0.1.101 → 0.1.102

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.
@@ -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
  }
@@ -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
@@ -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 `pullfrog/preview-*` repo it is an infrastructure bug, not
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
@@ -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: (() => Promise<string>) & yes.AttemptMethod<[], string> & yes.CacheMethods<undefined, undefined, () => Promise<string>>;
78
+ export declare const mintIdToken: yes.Cached<() => Promise<string>>;
79
79
  /**
80
80
  * ensure a GitHub token is available in the environment.
81
81
  *
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pullfrog",
3
- "version": "0.1.101",
3
+ "version": "0.1.102",
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": "^1.11.1",
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.26.0",
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": "^1.0.0",
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.0",
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.0.17",
68
- "yaml": "^2.8.2",
69
- "yes": "0.2.4",
70
- "zod": "4.3.6"
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",