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.
Files changed (60) hide show
  1. package/dist/agents/claudePretoolGate.d.ts +5 -1
  2. package/dist/agents/opencodePlugin.d.ts +2 -2
  3. package/dist/agents/postRun.d.ts +8 -31
  4. package/dist/agents/shared.d.ts +6 -0
  5. package/dist/agents/subagentToolGates.d.ts +22 -40
  6. package/dist/cli.mjs +63989 -59666
  7. package/dist/external.d.ts +45 -2
  8. package/dist/index.js +62509 -58186
  9. package/dist/internal/index.d.ts +2 -2
  10. package/dist/internal.js +99 -33
  11. package/dist/mcp/checkSuite.d.ts +3 -1
  12. package/dist/mcp/checkout.d.ts +4 -2
  13. package/dist/mcp/comment.d.ts +12 -4
  14. package/dist/mcp/commitInfo.d.ts +3 -1
  15. package/dist/mcp/dependencies.d.ts +6 -2
  16. package/dist/mcp/git.d.ts +32 -6
  17. package/dist/mcp/issue.d.ts +26 -1
  18. package/dist/mcp/issueComments.d.ts +3 -1
  19. package/dist/mcp/issueEvents.d.ts +3 -1
  20. package/dist/mcp/issueInfo.d.ts +3 -1
  21. package/dist/mcp/labels.d.ts +16 -1
  22. package/dist/mcp/output.d.ts +6 -2
  23. package/dist/mcp/pr.d.ts +19 -2
  24. package/dist/mcp/prInfo.d.ts +3 -1
  25. package/dist/mcp/resolveRepoCtx.d.ts +34 -0
  26. package/dist/mcp/review.d.ts +9 -3
  27. package/dist/mcp/reviewComments.d.ts +9 -3
  28. package/dist/mcp/selectMode.d.ts +3 -1
  29. package/dist/mcp/server.d.ts +7 -1
  30. package/dist/mcp/shared.d.ts +18 -1
  31. package/dist/mcp/shell.d.ts +6 -2
  32. package/dist/mcp/upload.d.ts +3 -1
  33. package/dist/mcp/xrepo.d.ts +15 -0
  34. package/dist/models.d.ts +58 -5
  35. package/dist/modes.d.ts +1 -1
  36. package/dist/toolState.d.ts +66 -16
  37. package/dist/utils/apiCommit.d.ts +40 -0
  38. package/dist/utils/apiKeys.d.ts +19 -0
  39. package/dist/utils/buildPullfrogFooter.d.ts +27 -0
  40. package/dist/utils/claudeSubscription.d.ts +30 -0
  41. package/dist/utils/errorReport.d.ts +2 -2
  42. package/dist/utils/github.d.ts +28 -2
  43. package/dist/utils/instructions.d.ts +11 -0
  44. package/dist/utils/isTransientNetworkError.d.ts +10 -0
  45. package/dist/utils/learnings.d.ts +14 -0
  46. package/dist/utils/modelAccess.d.ts +64 -0
  47. package/dist/utils/openCodeModels.d.ts +2 -2
  48. package/dist/utils/payload.d.ts +16 -0
  49. package/dist/utils/proxy.d.ts +3 -5
  50. package/dist/utils/runContext.d.ts +4 -0
  51. package/dist/utils/runContextData.d.ts +10 -0
  52. package/dist/utils/runErrorRenderer.d.ts +2 -2
  53. package/dist/utils/setup.d.ts +18 -3
  54. package/dist/utils/token.d.ts +22 -3
  55. package/dist/yes/index.d.ts +32 -0
  56. package/dist/yes/standard-schema.d.ts +117 -0
  57. package/dist/yes.js +1244 -0
  58. package/package.json +19 -10
  59. package/dist/utils/byokFallback.d.ts +0 -44
  60. 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.29",
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": "node scripts/check-entrypoint-imports.ts",
19
- "docker": "node docker.ts",
20
- "play": "node play.ts",
21
- "runtest": "node test/run.ts",
22
- "scratch": "node scratch.ts",
23
- "upDeps": "pnpm up --latest",
24
- "lock": "pnpm install --no-frozen-lockfile",
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.27",
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
- "opencode-ai": "1.15.13",
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;
@@ -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>;