pullfrog 0.1.97 → 0.1.99
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 -0
- package/dist/agents/nativeFsDenies.d.ts +8 -0
- package/dist/cli.mjs +2553 -1981
- package/dist/index.js +1603 -1022
- package/dist/internal.js +81 -36
- package/dist/mcp/shell.d.ts +1 -0
- package/dist/utils/codexOAuth.d.ts +1 -1
- package/dist/utils/github.d.ts +1 -1
- package/dist/utils/subscriptionCredentials.d.ts +2 -0
- package/dist/utils/vercelBypass.d.ts +6 -0
- package/package.json +3 -3
package/dist/internal.js
CHANGED
|
@@ -8,7 +8,7 @@ var __export = (target, all) => {
|
|
|
8
8
|
// package.json
|
|
9
9
|
var package_default = {
|
|
10
10
|
name: "pullfrog",
|
|
11
|
-
version: "0.1.
|
|
11
|
+
version: "0.1.99",
|
|
12
12
|
cliContractVersion: "1",
|
|
13
13
|
type: "module",
|
|
14
14
|
bin: {
|
|
@@ -36,7 +36,7 @@ var package_default = {
|
|
|
36
36
|
},
|
|
37
37
|
devDependencies: {
|
|
38
38
|
"@actions/core": "^1.11.1",
|
|
39
|
-
"@anthropic-ai/claude-code": "2.1.
|
|
39
|
+
"@anthropic-ai/claude-code": "2.1.293",
|
|
40
40
|
"@ark/fs": "0.56.0",
|
|
41
41
|
"@ark/util": "0.56.0",
|
|
42
42
|
"@clack/prompts": "^1.2.0",
|
|
@@ -74,7 +74,7 @@ var package_default = {
|
|
|
74
74
|
undici: "^7.22.0",
|
|
75
75
|
vitest: "^4.0.17",
|
|
76
76
|
yaml: "^2.8.2",
|
|
77
|
-
yes: "0.2.
|
|
77
|
+
yes: "0.2.4",
|
|
78
78
|
zod: "4.3.6"
|
|
79
79
|
},
|
|
80
80
|
repository: {
|
|
@@ -14356,8 +14356,10 @@ var providers = {
|
|
|
14356
14356
|
},
|
|
14357
14357
|
"claude-haiku": {
|
|
14358
14358
|
displayName: "Claude Haiku",
|
|
14359
|
-
resolve: "anthropic/claude-haiku-
|
|
14360
|
-
|
|
14359
|
+
resolve: "anthropic/claude-haiku-5-5",
|
|
14360
|
+
effort: ["low", "medium", "high", "xhigh", "max"],
|
|
14361
|
+
openRouterEffort: ["none", "low", "medium", "high", "xhigh", "max"],
|
|
14362
|
+
openRouterResolve: "openrouter/anthropic/claude-haiku-5.5"
|
|
14361
14363
|
}
|
|
14362
14364
|
}
|
|
14363
14365
|
}),
|
|
@@ -14512,8 +14514,9 @@ var providers = {
|
|
|
14512
14514
|
"grok-4.3": {
|
|
14513
14515
|
displayName: "Grok 4.3",
|
|
14514
14516
|
resolve: "xai/grok-4.3",
|
|
14515
|
-
effort: ["none", "low", "medium", "high"],
|
|
14516
|
-
openRouterResolve: "openrouter/x-ai/grok-4.3"
|
|
14517
|
+
effort: ["none", "low", "medium", "high", "xhigh"],
|
|
14518
|
+
openRouterResolve: "openrouter/x-ai/grok-4.3",
|
|
14519
|
+
openRouterEffort: ["none", "low", "medium", "high"]
|
|
14517
14520
|
},
|
|
14518
14521
|
// legacy aliases — xAI retired the entire fast/code-fast line on
|
|
14519
14522
|
// 2026-05-15 (https://docs.x.ai/developers/migration/may-15-deprecation)
|
|
@@ -14560,6 +14563,7 @@ var providers = {
|
|
|
14560
14563
|
// models.dev gave the direct id V4.1-Flash's ladder on 2026-09-21, which
|
|
14561
14564
|
// is what DeepSeek now serves under it — and the same as the Router pin's.
|
|
14562
14565
|
effort: ["low", "high", "max"],
|
|
14566
|
+
openRouterEffort: ["none", "low", "high", "max"],
|
|
14563
14567
|
openRouterResolve: "openrouter/deepseek/deepseek-v4-pro-0813",
|
|
14564
14568
|
preferred: true
|
|
14565
14569
|
},
|
|
@@ -14579,7 +14583,7 @@ var providers = {
|
|
|
14579
14583
|
displayName: "DeepSeek Flash",
|
|
14580
14584
|
resolve: "deepseek/deepseek-flash",
|
|
14581
14585
|
effort: ["low", "high", "max"],
|
|
14582
|
-
openRouterEffort: ["low", "high", "max"],
|
|
14586
|
+
openRouterEffort: ["none", "low", "high", "max"],
|
|
14583
14587
|
openRouterResolve: "openrouter/deepseek/deepseek-v4.1-flash"
|
|
14584
14588
|
},
|
|
14585
14589
|
// legacy aliases — deepseek retires these on 2026-07-24; transparently
|
|
@@ -14609,6 +14613,7 @@ var providers = {
|
|
|
14609
14613
|
displayName: "Kimi K3",
|
|
14610
14614
|
resolve: "moonshotai/kimi-k3",
|
|
14611
14615
|
effort: ["low", "high", "max"],
|
|
14616
|
+
openRouterEffort: ["none", "low", "high", "max"],
|
|
14612
14617
|
openRouterResolve: "openrouter/moonshotai/kimi-k3",
|
|
14613
14618
|
preferred: true,
|
|
14614
14619
|
subagentModel: "kimi-k2"
|
|
@@ -14775,8 +14780,10 @@ var providers = {
|
|
|
14775
14780
|
},
|
|
14776
14781
|
"claude-haiku": {
|
|
14777
14782
|
displayName: "Claude Haiku",
|
|
14778
|
-
resolve: "opencode/claude-haiku-
|
|
14779
|
-
|
|
14783
|
+
resolve: "opencode/claude-haiku-5-5",
|
|
14784
|
+
effort: ["low", "medium", "high", "xhigh", "max"],
|
|
14785
|
+
openRouterEffort: ["none", "low", "medium", "high", "xhigh", "max"],
|
|
14786
|
+
openRouterResolve: "openrouter/anthropic/claude-haiku-5.5"
|
|
14780
14787
|
},
|
|
14781
14788
|
"gpt-sol": {
|
|
14782
14789
|
displayName: "GPT Sol",
|
|
@@ -14873,7 +14880,7 @@ var providers = {
|
|
|
14873
14880
|
resolve: "opencode/kimi-k3",
|
|
14874
14881
|
// Zen publishes a single rung for K3 where OpenRouter publishes three.
|
|
14875
14882
|
effort: ["max"],
|
|
14876
|
-
openRouterEffort: ["low", "high", "max"],
|
|
14883
|
+
openRouterEffort: ["none", "low", "high", "max"],
|
|
14877
14884
|
openRouterResolve: "openrouter/moonshotai/kimi-k3",
|
|
14878
14885
|
subagentModel: "kimi-k2"
|
|
14879
14886
|
},
|
|
@@ -14933,13 +14940,12 @@ var providers = {
|
|
|
14933
14940
|
openRouterResolve: "openrouter/qwen/qwen3.8-flash"
|
|
14934
14941
|
},
|
|
14935
14942
|
// Zen lists Mistral Large 4 at half its list price for launch, level with
|
|
14936
|
-
// the routers.
|
|
14943
|
+
// the routers.
|
|
14937
14944
|
"mistral-large": {
|
|
14938
14945
|
displayName: "Mistral Large",
|
|
14939
14946
|
resolve: "opencode/mistral-large-4",
|
|
14940
14947
|
effort: ["none", "high"],
|
|
14941
|
-
openRouterResolve: "openrouter/mistralai/mistral-large-4-0"
|
|
14942
|
-
hidden: true
|
|
14948
|
+
openRouterResolve: "openrouter/mistralai/mistral-large-4-0"
|
|
14943
14949
|
},
|
|
14944
14950
|
"gpt-5-nano": {
|
|
14945
14951
|
displayName: "GPT Nano",
|
|
@@ -14970,7 +14976,11 @@ var providers = {
|
|
|
14970
14976
|
effort: ["minimal", "low", "medium", "high", "xhigh"],
|
|
14971
14977
|
// free to run, still gated on the provider's own OPENCODE_API_KEY —
|
|
14972
14978
|
// see the big-pickle note above (#1077).
|
|
14973
|
-
isFree: true
|
|
14979
|
+
isFree: true,
|
|
14980
|
+
// Zen answers "Model muse-spark-1.3-contributor-free has been deprecated."
|
|
14981
|
+
// since 2026-10-17 and has no free Muse Spark left; stored picks land on
|
|
14982
|
+
// Big Pickle, as `exo` does, rather than on the paid `muse-spark`.
|
|
14983
|
+
fallback: "opencode/big-pickle"
|
|
14974
14984
|
},
|
|
14975
14985
|
// Zen's FREE stealth preview (listed 2026-09-16), the big-pickle shape: an
|
|
14976
14986
|
// anonymous vendor's model at $0 for a limited time. OpenRouter's listing:
|
|
@@ -14999,7 +15009,10 @@ var providers = {
|
|
|
14999
15009
|
effort: ["low", "medium", "high", "xhigh", "max"],
|
|
15000
15010
|
// free to run, still gated on the provider's own OPENCODE_API_KEY —
|
|
15001
15011
|
// see the big-pickle note above (#1077).
|
|
15002
|
-
isFree: true
|
|
15012
|
+
isFree: true,
|
|
15013
|
+
// Zen dropped the free id from `/v1/models` and models.dev deprecated it
|
|
15014
|
+
// by 2026-10-19; stored picks land on Big Pickle, as `step-5-preview` does.
|
|
15015
|
+
fallback: "opencode/big-pickle"
|
|
15003
15016
|
},
|
|
15004
15017
|
// Zen's FREE Meituan preview (listed 2026-09-25). Zen's docs: zero
|
|
15005
15018
|
// retention, no training. Go lists the same free id, but one key reaches
|
|
@@ -15021,10 +15034,14 @@ var providers = {
|
|
|
15021
15034
|
effort: ["low", "high", "max"],
|
|
15022
15035
|
// free to run, still gated on the provider's own OPENCODE_API_KEY —
|
|
15023
15036
|
// see the big-pickle note above (#1077).
|
|
15024
|
-
isFree: true
|
|
15037
|
+
isFree: true,
|
|
15038
|
+
// Zen dropped the id from `/v1/models` and its docs on 2026-10-08 and
|
|
15039
|
+
// answers a 500 for it; stored picks land on the other free stealth
|
|
15040
|
+
// model, as `union-alpha` does.
|
|
15041
|
+
fallback: "opencode/big-pickle"
|
|
15025
15042
|
},
|
|
15026
15043
|
// Zen's FREE preview (listed 2026-10-06), the sixth promo, on Fledge
|
|
15027
|
-
// Alpha's terms.
|
|
15044
|
+
// Alpha's terms.
|
|
15028
15045
|
exo: {
|
|
15029
15046
|
displayName: "Exo",
|
|
15030
15047
|
description: "Preview; data may be used to improve it",
|
|
@@ -15034,7 +15051,24 @@ var providers = {
|
|
|
15034
15051
|
// free to run, still gated on the provider's own OPENCODE_API_KEY —
|
|
15035
15052
|
// see the big-pickle note above (#1077).
|
|
15036
15053
|
isFree: true,
|
|
15037
|
-
|
|
15054
|
+
// Zen answers "Model exo-free has been deprecated." on both lanes since
|
|
15055
|
+
// 2026-10-09; stored picks land on Big Pickle, as `fledge-alpha` does.
|
|
15056
|
+
fallback: "opencode/big-pickle"
|
|
15057
|
+
},
|
|
15058
|
+
// Zen's FREE StepFun preview (listed 2026-10-08), the seventh promo. Zen's
|
|
15059
|
+
// docs: zero retention, no training. Go lists the same free id; one key
|
|
15060
|
+
// reaches both.
|
|
15061
|
+
"step-5-preview": {
|
|
15062
|
+
displayName: "Step 5 Preview",
|
|
15063
|
+
description: "StepFun preview, free for a limited time",
|
|
15064
|
+
resolve: "opencode/step-5-preview-free",
|
|
15065
|
+
effort: ["low", "medium", "high"],
|
|
15066
|
+
// free to run, still gated on the provider's own OPENCODE_API_KEY —
|
|
15067
|
+
// see the big-pickle note above (#1077).
|
|
15068
|
+
isFree: true,
|
|
15069
|
+
// Zen dropped the free id from `/v1/models` and models.dev deprecated it
|
|
15070
|
+
// by 2026-10-15; stored picks land on Big Pickle, as `exo` does.
|
|
15071
|
+
fallback: "opencode/big-pickle"
|
|
15038
15072
|
},
|
|
15039
15073
|
// Zen's live free MiMo, and the second free row in a menu that big-pickle
|
|
15040
15074
|
// was alone in since `mimo-v2-pro-free` lost its model.
|
|
@@ -15123,7 +15157,7 @@ var providers = {
|
|
|
15123
15157
|
// Go publishes a single rung for K3 where the OpenRouter route
|
|
15124
15158
|
// publishes three, so every position lands on `max` here.
|
|
15125
15159
|
effort: ["max"],
|
|
15126
|
-
openRouterEffort: ["low", "high", "max"],
|
|
15160
|
+
openRouterEffort: ["none", "low", "high", "max"],
|
|
15127
15161
|
openRouterResolve: "openrouter/moonshotai/kimi-k3",
|
|
15128
15162
|
subagentModel: "kimi-k2"
|
|
15129
15163
|
},
|
|
@@ -15180,7 +15214,10 @@ var providers = {
|
|
|
15180
15214
|
"minimax-m2.5": {
|
|
15181
15215
|
displayName: "MiniMax M2",
|
|
15182
15216
|
resolve: "opencode-go/minimax-m2.7",
|
|
15183
|
-
openRouterResolve: "openrouter/minimax/minimax-m2.7"
|
|
15217
|
+
openRouterResolve: "openrouter/minimax/minimax-m2.7",
|
|
15218
|
+
// models.dev deprecated Go's m2.7 by 2026-10-15 and Go lists no other
|
|
15219
|
+
// M2; M3 is the same vendor at the same $0.30 input price.
|
|
15220
|
+
fallback: "opencode-go/minimax-m3"
|
|
15184
15221
|
},
|
|
15185
15222
|
// Xiaomi — Go-only; Zen serves the free `mimo-v2-pro-free` promo instead.
|
|
15186
15223
|
"mimo-pro": {
|
|
@@ -15320,6 +15357,9 @@ var providers = {
|
|
|
15320
15357
|
"claude-haiku": {
|
|
15321
15358
|
displayName: "Claude Haiku",
|
|
15322
15359
|
resolve: "openrouter/~anthropic/claude-haiku-latest",
|
|
15360
|
+
// the rolling alias moved to Haiku 5.5 on 2026-10-07, which publishes
|
|
15361
|
+
// the ladder Haiku 4.5 did not.
|
|
15362
|
+
effort: ["none", "low", "medium", "high", "xhigh", "max"],
|
|
15323
15363
|
openRouterResolve: "openrouter/~anthropic/claude-haiku-latest"
|
|
15324
15364
|
},
|
|
15325
15365
|
// pinned to the explicit Sol/Terra/Luna tiers (not the ~openai/gpt-latest
|
|
@@ -15433,7 +15473,7 @@ var providers = {
|
|
|
15433
15473
|
"deepseek-pro": {
|
|
15434
15474
|
displayName: "DeepSeek Pro",
|
|
15435
15475
|
resolve: "openrouter/deepseek/deepseek-v4-pro-0813",
|
|
15436
|
-
effort: ["low", "high", "max"],
|
|
15476
|
+
effort: ["none", "low", "high", "max"],
|
|
15437
15477
|
openRouterResolve: "openrouter/deepseek/deepseek-v4-pro-0813"
|
|
15438
15478
|
},
|
|
15439
15479
|
// the V4.1 id, not the bare one — see `deepseek/deepseek-flash` for why
|
|
@@ -15442,7 +15482,7 @@ var providers = {
|
|
|
15442
15482
|
"deepseek-flash": {
|
|
15443
15483
|
displayName: "DeepSeek Flash",
|
|
15444
15484
|
resolve: "openrouter/deepseek/deepseek-v4.1-flash",
|
|
15445
|
-
effort: ["low", "high", "max"],
|
|
15485
|
+
effort: ["none", "low", "high", "max"],
|
|
15446
15486
|
openRouterResolve: "openrouter/deepseek/deepseek-v4.1-flash"
|
|
15447
15487
|
},
|
|
15448
15488
|
// legacy alias — deepseek retires this on 2026-07-24; transparently
|
|
@@ -15461,7 +15501,7 @@ var providers = {
|
|
|
15461
15501
|
"kimi-k3": {
|
|
15462
15502
|
displayName: "Kimi K3",
|
|
15463
15503
|
resolve: "openrouter/moonshotai/kimi-k3",
|
|
15464
|
-
effort: ["low", "high", "max"],
|
|
15504
|
+
effort: ["none", "low", "high", "max"],
|
|
15465
15505
|
openRouterResolve: "openrouter/moonshotai/kimi-k3"
|
|
15466
15506
|
},
|
|
15467
15507
|
// slug pins the m2 line for DB stability; resolve tracks the current m2.7.
|
|
@@ -15492,16 +15532,13 @@ var providers = {
|
|
|
15492
15532
|
effort: ["minimal", "low", "medium", "high", "xhigh", "max"],
|
|
15493
15533
|
openRouterResolve: "openrouter/meta/muse-spark-1.3-contributor"
|
|
15494
15534
|
},
|
|
15495
|
-
// Mistral's flagship (public preview, 2026-10-06), on the routers
|
|
15496
|
-
// the catalog carries no direct Mistral provider.
|
|
15497
|
-
// until a published `pullfrog` resolves the slug; see "A new alias
|
|
15498
|
-
// reaches the picker at merge".
|
|
15535
|
+
// Mistral's flagship (public preview, 2026-10-06), on the routers and
|
|
15536
|
+
// Zen only: the catalog carries no direct Mistral provider.
|
|
15499
15537
|
"mistral-large": {
|
|
15500
15538
|
displayName: "Mistral Large",
|
|
15501
15539
|
resolve: "openrouter/mistralai/mistral-large-4-0",
|
|
15502
15540
|
effort: ["none", "high"],
|
|
15503
|
-
openRouterResolve: "openrouter/mistralai/mistral-large-4-0"
|
|
15504
|
-
hidden: true
|
|
15541
|
+
openRouterResolve: "openrouter/mistralai/mistral-large-4-0"
|
|
15505
15542
|
}
|
|
15506
15543
|
}
|
|
15507
15544
|
}),
|
|
@@ -15532,7 +15569,8 @@ var providers = {
|
|
|
15532
15569
|
},
|
|
15533
15570
|
"claude-haiku": {
|
|
15534
15571
|
displayName: "Claude Haiku",
|
|
15535
|
-
resolve: "vercel/anthropic/claude-haiku-
|
|
15572
|
+
resolve: "vercel/anthropic/claude-haiku-5.5",
|
|
15573
|
+
effort: ["none", "low", "medium", "high", "xhigh", "max"]
|
|
15536
15574
|
},
|
|
15537
15575
|
"gpt-sol": {
|
|
15538
15576
|
displayName: "GPT Sol",
|
|
@@ -15587,19 +15625,17 @@ var providers = {
|
|
|
15587
15625
|
"kimi-k3": {
|
|
15588
15626
|
displayName: "Kimi K3",
|
|
15589
15627
|
resolve: "vercel/moonshotai/kimi-k3",
|
|
15590
|
-
effort: ["
|
|
15628
|
+
effort: ["low", "high", "max"]
|
|
15591
15629
|
},
|
|
15592
15630
|
"muse-spark": {
|
|
15593
15631
|
displayName: "Muse Spark",
|
|
15594
15632
|
resolve: "vercel/meta/muse-spark-1.3",
|
|
15595
|
-
effort: ["minimal", "low", "medium", "high", "xhigh"]
|
|
15633
|
+
effort: ["minimal", "low", "medium", "high", "xhigh", "max"]
|
|
15596
15634
|
},
|
|
15597
|
-
// hidden until a published `pullfrog` resolves it, as on OpenRouter.
|
|
15598
15635
|
"mistral-large": {
|
|
15599
15636
|
displayName: "Mistral Large",
|
|
15600
15637
|
resolve: "vercel/mistral/mistral-large-4",
|
|
15601
|
-
effort: ["none", "
|
|
15602
|
-
hidden: true
|
|
15638
|
+
effort: ["none", "high"]
|
|
15603
15639
|
}
|
|
15604
15640
|
}
|
|
15605
15641
|
})
|
|
@@ -17172,6 +17208,14 @@ var selectedCredentialSchema = external_exports.object({
|
|
|
17172
17208
|
function subscriptionLabel(input) {
|
|
17173
17209
|
return input.email ?? `\u2022\u2022\u2022\u2022 ${input.suffix}`;
|
|
17174
17210
|
}
|
|
17211
|
+
function subscriptionStatusText(subscription) {
|
|
17212
|
+
if (subscription.status === "rejected") return "Rejected";
|
|
17213
|
+
if (subscription.status !== "exhausted") return null;
|
|
17214
|
+
if (!subscription.resetAt) return "Limit reached";
|
|
17215
|
+
const resetAt = new Date(subscription.resetAt);
|
|
17216
|
+
if (resetAt.getTime() <= Date.now()) return null;
|
|
17217
|
+
return `Limit reached \xB7 resets ${resetAt.toLocaleString(void 0, { month: "short", day: "numeric", hour: "numeric", minute: "2-digit" })}`;
|
|
17218
|
+
}
|
|
17175
17219
|
|
|
17176
17220
|
// utils/xaiOAuth.ts
|
|
17177
17221
|
var XAI_OAUTH_CLIENT_ID = "b1a00492-073a-47ea-816f-4c329264a828";
|
|
@@ -17513,6 +17557,7 @@ export {
|
|
|
17513
17557
|
subscriptionListSchema,
|
|
17514
17558
|
subscriptionNameSchema,
|
|
17515
17559
|
subscriptionSchema,
|
|
17560
|
+
subscriptionStatusText,
|
|
17516
17561
|
truncateAtLineBoundary,
|
|
17517
17562
|
updateProgressComment,
|
|
17518
17563
|
verifyCredential
|
package/dist/mcp/shell.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare function runSandboxed(params: {
|
|
|
32
32
|
env: Record<string, string | undefined>;
|
|
33
33
|
cwd: string;
|
|
34
34
|
timeout: number;
|
|
35
|
+
seal: boolean;
|
|
35
36
|
/** live-stream chunks as they arrive, on top of the buffered `output`.
|
|
36
37
|
* lifecycle hooks use this to keep a long `pnpm test` visible in the
|
|
37
38
|
* workflow log instead of silent until it exits. */
|
|
@@ -34,7 +34,7 @@ export interface CodexAuthBody {
|
|
|
34
34
|
refresh_rejected_at?: string;
|
|
35
35
|
}
|
|
36
36
|
/** OAuth client id Codex CLI and OpenCode both use against `auth.openai.com`.
|
|
37
|
-
* Same chain — a refresh token minted via `codex login
|
|
37
|
+
* Same chain — a refresh token minted via `codex login` can be
|
|
38
38
|
* refreshed against this client_id. */
|
|
39
39
|
export declare const CODEX_OAUTH_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
|
|
40
40
|
export declare const CODEX_OAUTH_TOKEN_URL = "https://auth.openai.com/oauth/token";
|
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: (() => Promise<string>) & yes.CacheMethods<undefined, undefined
|
|
78
|
+
export declare const mintIdToken: (() => Promise<string>) & yes.AttemptMethod<[], string> & yes.CacheMethods<undefined, undefined, () => Promise<string>>;
|
|
79
79
|
/**
|
|
80
80
|
* ensure a GitHub token is available in the environment.
|
|
81
81
|
*
|
|
@@ -88,3 +88,5 @@ export declare function subscriptionLabel(input: {
|
|
|
88
88
|
email: string | null;
|
|
89
89
|
suffix: string;
|
|
90
90
|
}): string;
|
|
91
|
+
/** the provider's last verdict on a subscription, or null when it last worked. */
|
|
92
|
+
export declare function subscriptionStatusText(subscription: Subscription): string | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* the Vercel protection-bypass secret for a request to `url`, if it should carry one. only
|
|
3
|
+
* Pullfrog preview deployments sit behind deployment protection, and the env var is Vercel's
|
|
4
|
+
* own name, so a workflow may hold a different project's secret: it never goes anywhere else.
|
|
5
|
+
*/
|
|
6
|
+
export declare function vercelBypassSecretFor(url: URL): string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pullfrog",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.99",
|
|
4
4
|
"cliContractVersion": "1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@actions/core": "^1.11.1",
|
|
31
|
-
"@anthropic-ai/claude-code": "2.1.
|
|
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",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"undici": "^7.22.0",
|
|
67
67
|
"vitest": "^4.0.17",
|
|
68
68
|
"yaml": "^2.8.2",
|
|
69
|
-
"yes": "0.2.
|
|
69
|
+
"yes": "0.2.4",
|
|
70
70
|
"zod": "4.3.6"
|
|
71
71
|
},
|
|
72
72
|
"repository": {
|