pullfrog 0.1.29 → 0.1.31
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/agents/claudePretoolGate.d.ts +5 -1
- package/dist/agents/opencodePlugin.d.ts +2 -2
- package/dist/agents/postRun.d.ts +8 -31
- package/dist/agents/shared.d.ts +6 -0
- package/dist/agents/subagentToolGates.d.ts +22 -40
- package/dist/cli.mjs +63989 -59666
- package/dist/external.d.ts +45 -2
- package/dist/index.js +62509 -58186
- package/dist/internal/index.d.ts +2 -2
- package/dist/internal.js +99 -33
- package/dist/mcp/checkSuite.d.ts +3 -1
- package/dist/mcp/checkout.d.ts +4 -2
- package/dist/mcp/comment.d.ts +12 -4
- package/dist/mcp/commitInfo.d.ts +3 -1
- package/dist/mcp/dependencies.d.ts +6 -2
- package/dist/mcp/git.d.ts +32 -6
- package/dist/mcp/issue.d.ts +26 -1
- package/dist/mcp/issueComments.d.ts +3 -1
- package/dist/mcp/issueEvents.d.ts +3 -1
- package/dist/mcp/issueInfo.d.ts +3 -1
- package/dist/mcp/labels.d.ts +16 -1
- package/dist/mcp/output.d.ts +6 -2
- package/dist/mcp/pr.d.ts +19 -2
- package/dist/mcp/prInfo.d.ts +3 -1
- package/dist/mcp/resolveRepoCtx.d.ts +34 -0
- package/dist/mcp/review.d.ts +9 -3
- package/dist/mcp/reviewComments.d.ts +9 -3
- package/dist/mcp/selectMode.d.ts +3 -1
- package/dist/mcp/server.d.ts +7 -1
- package/dist/mcp/shared.d.ts +18 -1
- package/dist/mcp/shell.d.ts +6 -2
- package/dist/mcp/upload.d.ts +3 -1
- package/dist/mcp/xrepo.d.ts +15 -0
- package/dist/models.d.ts +58 -5
- package/dist/modes.d.ts +1 -1
- package/dist/toolState.d.ts +66 -16
- package/dist/utils/apiCommit.d.ts +40 -0
- package/dist/utils/apiKeys.d.ts +19 -0
- package/dist/utils/buildPullfrogFooter.d.ts +27 -0
- package/dist/utils/claudeSubscription.d.ts +30 -0
- package/dist/utils/errorReport.d.ts +2 -2
- package/dist/utils/github.d.ts +28 -2
- package/dist/utils/instructions.d.ts +11 -0
- package/dist/utils/isTransientNetworkError.d.ts +10 -0
- package/dist/utils/learnings.d.ts +14 -0
- package/dist/utils/modelAccess.d.ts +64 -0
- package/dist/utils/openCodeModels.d.ts +2 -2
- package/dist/utils/payload.d.ts +16 -0
- package/dist/utils/proxy.d.ts +3 -5
- package/dist/utils/runContext.d.ts +4 -0
- package/dist/utils/runContextData.d.ts +10 -0
- package/dist/utils/runErrorRenderer.d.ts +2 -2
- package/dist/utils/setup.d.ts +18 -3
- package/dist/utils/token.d.ts +22 -3
- package/dist/yes/index.d.ts +32 -0
- package/dist/yes/standard-schema.d.ts +117 -0
- package/dist/yes.js +1244 -0
- package/package.json +19 -10
- package/dist/utils/byokFallback.d.ts +0 -44
- package/dist/utils/retry.d.ts +0 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pullfrog",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"pullfrog": "dist/cli.mjs",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"test:catalog": "vitest run --config vitest.main.config.ts",
|
|
16
16
|
"typecheck": "tsc --noEmit",
|
|
17
17
|
"build": "node esbuild.config.js && tsc -p tsconfig.exports.json",
|
|
18
|
-
"check:entrypoints": "
|
|
19
|
-
"docker": "
|
|
20
|
-
"play": "
|
|
21
|
-
"runtest": "
|
|
22
|
-
"scratch": "
|
|
23
|
-
"upDeps": "
|
|
24
|
-
"lock": "
|
|
18
|
+
"check:entrypoints": "nub scripts/check-entrypoint-imports.ts",
|
|
19
|
+
"docker": "nub docker.ts",
|
|
20
|
+
"play": "nub play.ts",
|
|
21
|
+
"runtest": "nub test/run.ts",
|
|
22
|
+
"scratch": "nub scratch.ts",
|
|
23
|
+
"upDeps": "nub update --latest",
|
|
24
|
+
"lock": "nub install --no-frozen-lockfile",
|
|
25
25
|
"prepare": "cd .. && husky"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
"@ark/util": "0.56.0",
|
|
32
32
|
"@clack/prompts": "^1.2.0",
|
|
33
33
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
34
|
-
"@opencode-ai/sdk": "1.2
|
|
34
|
+
"@opencode-ai/sdk": "1.16.2",
|
|
35
35
|
"@octokit/plugin-throttling": "^11.0.3",
|
|
36
36
|
"@octokit/rest": "^22.0.0",
|
|
37
37
|
"@octokit/webhooks-types": "^7.6.1",
|
|
38
38
|
"@standard-schema/spec": "1.1.0",
|
|
39
39
|
"@toon-format/toon": "^1.0.0",
|
|
40
40
|
"@types/node": "^24.7.2",
|
|
41
|
+
"@types/object-hash": "^3.0.6",
|
|
41
42
|
"@types/semver": "^7.7.1",
|
|
42
43
|
"@types/turndown": "^5.0.5",
|
|
43
44
|
"agent-browser": "0.25.4",
|
|
@@ -51,7 +52,9 @@
|
|
|
51
52
|
"fastmcp": "^3.34.0",
|
|
52
53
|
"file-type": "^21.3.0",
|
|
53
54
|
"husky": "^9.0.0",
|
|
54
|
-
"
|
|
55
|
+
"lru-cache": "^11.0.0",
|
|
56
|
+
"object-hash": "^3.0.0",
|
|
57
|
+
"opencode-ai": "1.16.2",
|
|
55
58
|
"package-manager-detector": "^1.6.0",
|
|
56
59
|
"picocolors": "^1.1.1",
|
|
57
60
|
"semver": "^7.7.3",
|
|
@@ -94,6 +97,12 @@
|
|
|
94
97
|
"import": "./dist/internal.js",
|
|
95
98
|
"default": "./dist/internal.js"
|
|
96
99
|
},
|
|
100
|
+
"./yes": {
|
|
101
|
+
"@pullfrog/source": "./yes/index.ts",
|
|
102
|
+
"types": "./dist/yes/index.d.ts",
|
|
103
|
+
"import": "./dist/yes.js",
|
|
104
|
+
"default": "./dist/yes.js"
|
|
105
|
+
},
|
|
97
106
|
"./package.json": "./package.json"
|
|
98
107
|
},
|
|
99
108
|
"packageManager": "pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a"
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { AgentId } from "../external.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Slug we fall back to when a BYOK-required model is configured but the
|
|
4
|
-
* runner has no provider key in env. Picked because it's free, stable, and
|
|
5
|
-
* currently served by OpenCode Zen without a key.
|
|
6
|
-
*
|
|
7
|
-
* The slug is intentionally hard-coded and not a config knob — the
|
|
8
|
-
* fallback is a safety net, not a user-facing preference, and adding a
|
|
9
|
-
* config surface here would just push the same "what to fall back to"
|
|
10
|
-
* decision into another setting that goes stale the same way.
|
|
11
|
-
*/
|
|
12
|
-
export declare const FREE_FALLBACK_SLUG = "opencode/big-pickle";
|
|
13
|
-
export type FallbackDecision = {
|
|
14
|
-
fallback: false;
|
|
15
|
-
} | {
|
|
16
|
-
fallback: true;
|
|
17
|
-
from: string;
|
|
18
|
-
to: string;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* If the resolved model is NOT in OpenCode's `authorized` set (the
|
|
22
|
-
* authoritative "what can OpenCode route right now" snapshot captured
|
|
23
|
-
* after dbSecrets + Codex auth.json are in place), swap to a free
|
|
24
|
-
* OpenCode slug so the run can still produce value. Caller is responsible
|
|
25
|
-
* for surfacing the swap (log line + run summary).
|
|
26
|
-
*
|
|
27
|
-
* Skip cases (return `fallback: false` without consulting `authorized`):
|
|
28
|
-
* - Router / proxy runs (`proxyModel` set): Pullfrog mints the key.
|
|
29
|
-
* - No resolved model: auto-select handles it downstream.
|
|
30
|
-
* - Resolved model is the free fallback already.
|
|
31
|
-
* - Resolved model is a raw Bedrock / Vertex ID (no `/`): the routing
|
|
32
|
-
* validators (`validateBedrockSetup` / `validateVertexSetup`) cover
|
|
33
|
-
* auth + region/location/model-id; `opencode models` does not.
|
|
34
|
-
* - The selected agent is `claude`: the Claude Code harness brings its own
|
|
35
|
-
* auth and `resolveAgent` only returns it when that auth is present.
|
|
36
|
-
* `opencode models` can't see `CLAUDE_CODE_OAUTH_TOKEN`, so without this
|
|
37
|
-
* an OAuth-subscription run on an Anthropic model would wrongly fall back.
|
|
38
|
-
*/
|
|
39
|
-
export declare function selectFallbackModelIfNeeded(input: {
|
|
40
|
-
resolvedModel: string | undefined;
|
|
41
|
-
proxyModel: string | undefined;
|
|
42
|
-
authorized: Set<string>;
|
|
43
|
-
agentName: AgentId;
|
|
44
|
-
}): FallbackDecision;
|
package/dist/utils/retry.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export type RetryOptions = {
|
|
2
|
-
maxAttempts?: number;
|
|
3
|
-
delayMs?: number;
|
|
4
|
-
/**
|
|
5
|
-
* explicit delay schedule — one entry per retry (length N ⇒ N+1 attempts).
|
|
6
|
-
* when set, overrides `maxAttempts` and `delayMs`. e.g. `[1_000, 3_000]`
|
|
7
|
-
* means up to 3 attempts, sleeping 1s before retry 2 and 3s before retry 3.
|
|
8
|
-
*/
|
|
9
|
-
delaysMs?: readonly number[];
|
|
10
|
-
shouldRetry?: (error: unknown) => boolean;
|
|
11
|
-
label?: string;
|
|
12
|
-
};
|
|
13
|
-
export declare function retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
|