@vm0/cli 9.83.1 → 9.83.2

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.
@@ -47,7 +47,7 @@ if (DSN) {
47
47
  Sentry.init({
48
48
  dsn: DSN,
49
49
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
50
- release: "9.83.1",
50
+ release: "9.83.2",
51
51
  sendDefaultPii: false,
52
52
  tracesSampleRate: 0,
53
53
  shutdownTimeout: 500,
@@ -66,7 +66,7 @@ if (DSN) {
66
66
  }
67
67
  });
68
68
  Sentry.setContext("cli", {
69
- version: "9.83.1",
69
+ version: "9.83.2",
70
70
  command: process.argv.slice(2).join(" ")
71
71
  });
72
72
  Sentry.setContext("runtime", {
@@ -11522,18 +11522,21 @@ var ANTHROPIC_API_BASE = "https://api.anthropic.com";
11522
11522
  function getFirewallBaseUrl(type) {
11523
11523
  return getEnvironmentMapping(type)?.ANTHROPIC_BASE_URL ?? ANTHROPIC_API_BASE;
11524
11524
  }
11525
- function mpFirewall(type, authHeaders, placeholders) {
11525
+ function mpFirewall(type, authHeader, placeholderValue) {
11526
+ const secretName = MODEL_PROVIDER_TYPES[type].secretName;
11527
+ const secretRef = `\${{ secrets.${secretName} }}`;
11528
+ const headerValue = authHeader.valuePrefix ? `${authHeader.valuePrefix} ${secretRef}` : secretRef;
11526
11529
  return {
11527
11530
  name: `model-provider:${type}`,
11528
11531
  ref: "__auto__",
11529
11532
  apis: [
11530
11533
  {
11531
11534
  base: getFirewallBaseUrl(type),
11532
- auth: { headers: authHeaders },
11535
+ auth: { headers: { [authHeader.name]: headerValue } },
11533
11536
  permissions: [{ name: "unrestricted", rules: ["ANY /{path*}"] }]
11534
11537
  }
11535
11538
  ],
11536
- placeholders
11539
+ placeholders: { [secretName]: placeholderValue }
11537
11540
  };
11538
11541
  }
11539
11542
  var MODEL_PROVIDER_FIREWALL_CONFIGS = {
@@ -11542,10 +11545,8 @@ var MODEL_PROVIDER_FIREWALL_CONFIGS = {
11542
11545
  // https://semgrep.dev/blog/2025/secrets-story-and-prefixed-secrets/
11543
11546
  "anthropic-api-key": mpFirewall(
11544
11547
  "anthropic-api-key",
11545
- { "x-api-key": "${{ secrets.ANTHROPIC_API_KEY }}" },
11546
- {
11547
- ANTHROPIC_API_KEY: "sk-ant-api03-vm0placeholder0000000000000000000000000000000000000000000000000000000000000000000000000000000AA"
11548
- }
11548
+ { name: "x-api-key" },
11549
+ "sk-ant-api03-vm0placeholder0000000000000000000000000000000000000000000000000000000000000000000000000000000AA"
11549
11550
  ),
11550
11551
  // Placeholder: sk-ant-oat01-{93 word/hyphen chars}AA (108 chars total)
11551
11552
  // Source: same structure as API key; prefix from claude setup-token output
@@ -11553,10 +11554,8 @@ var MODEL_PROVIDER_FIREWALL_CONFIGS = {
11553
11554
  // Example: sk-ant-oat01-xxxxx...xxxxx (1-year OAuth token)
11554
11555
  "claude-code-oauth-token": mpFirewall(
11555
11556
  "claude-code-oauth-token",
11556
- { Authorization: "Bearer ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}" },
11557
- {
11558
- CLAUDE_CODE_OAUTH_TOKEN: "sk-ant-oat01-vm0placeholder0000000000000000000000000000000000000000000000000000000000000000000000000000000AA"
11559
- }
11557
+ { name: "Authorization", valuePrefix: "Bearer" },
11558
+ "sk-ant-oat01-vm0placeholder0000000000000000000000000000000000000000000000000000000000000000000000000000000AA"
11560
11559
  ),
11561
11560
  // Placeholder: sk-or-v1-{64 hex chars} (73 chars total)
11562
11561
  // Source: real key observed in GitHub issue
@@ -11564,47 +11563,45 @@ var MODEL_PROVIDER_FIREWALL_CONFIGS = {
11564
11563
  // Example: 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
11565
11564
  "openrouter-api-key": mpFirewall(
11566
11565
  "openrouter-api-key",
11567
- { Authorization: "Bearer ${{ secrets.OPENROUTER_API_KEY }}" },
11568
- {
11569
- OPENROUTER_API_KEY: "sk-or-v1-vm0placeholder00000000000000000000000000000000000000000000000000"
11570
- }
11566
+ { name: "Authorization", valuePrefix: "Bearer" },
11567
+ "sk-or-v1-vm0placeholder00000000000000000000000000000000000000000000000000"
11571
11568
  ),
11572
11569
  // Placeholder: sk-{32 chars} (35 chars total)
11573
11570
  // Source: no authoritative format documentation found; using generic sk- prefix
11574
11571
  "moonshot-api-key": mpFirewall(
11575
11572
  "moonshot-api-key",
11576
- { Authorization: "Bearer ${{ secrets.MOONSHOT_API_KEY }}" },
11577
- { MOONSHOT_API_KEY: "sk-vm0placeholder000000000000000000" }
11573
+ { name: "Authorization", valuePrefix: "Bearer" },
11574
+ "sk-vm0placeholder000000000000000000"
11578
11575
  ),
11579
11576
  // Placeholder: eyJ... (JWT-style, variable length)
11580
11577
  // Source: no authoritative format documentation found; MiniMax docs do not disclose key format
11581
11578
  // https://platform.minimax.io/docs/api-reference/api-overview
11582
11579
  "minimax-api-key": mpFirewall(
11583
11580
  "minimax-api-key",
11584
- { Authorization: "Bearer ${{ secrets.MINIMAX_API_KEY }}" },
11585
- { MINIMAX_API_KEY: "eyvm0placeholder000000000000000000000000000000000000" }
11581
+ { name: "Authorization", valuePrefix: "Bearer" },
11582
+ "eyvm0placeholder000000000000000000000000000000000000"
11586
11583
  ),
11587
11584
  // Placeholder: sk-{32 hex chars} (35 chars total)
11588
11585
  // Source: Semgrep regex \bsk-[a-f0-9]{32}\b
11589
11586
  // https://semgrep.dev/blog/2025/secrets-story-and-prefixed-secrets/
11590
11587
  "deepseek-api-key": mpFirewall(
11591
11588
  "deepseek-api-key",
11592
- { Authorization: "Bearer ${{ secrets.DEEPSEEK_API_KEY }}" },
11593
- { DEEPSEEK_API_KEY: "sk-vm0placeholder000000000000000000" }
11589
+ { name: "Authorization", valuePrefix: "Bearer" },
11590
+ "sk-vm0placeholder000000000000000000"
11594
11591
  ),
11595
11592
  // Placeholder: sk-{32 chars} (35 chars total)
11596
11593
  // Source: no authoritative format documentation found; using generic sk- prefix
11597
11594
  "zai-api-key": mpFirewall(
11598
11595
  "zai-api-key",
11599
- { Authorization: "Bearer ${{ secrets.ZAI_API_KEY }}" },
11600
- { ZAI_API_KEY: "sk-vm0placeholder000000000000000000" }
11596
+ { name: "Authorization", valuePrefix: "Bearer" },
11597
+ "sk-vm0placeholder000000000000000000"
11601
11598
  ),
11602
11599
  // Placeholder: sk-{32 chars} (35 chars total)
11603
11600
  // Source: no authoritative format documentation found; Vercel gateway proxies upstream providers
11604
11601
  "vercel-ai-gateway": mpFirewall(
11605
11602
  "vercel-ai-gateway",
11606
- { Authorization: "Bearer ${{ secrets.VERCEL_AI_GATEWAY_API_KEY }}" },
11607
- { VERCEL_AI_GATEWAY_API_KEY: "sk-vm0placeholder000000000000000000" }
11603
+ { name: "Authorization", valuePrefix: "Bearer" },
11604
+ "sk-vm0placeholder000000000000000000"
11608
11605
  )
11609
11606
  };
11610
11607
  var modelProviderTypeSchema = z16.enum([
@@ -16753,7 +16750,8 @@ var memberUsageSchema = z37.object({
16753
16750
  outputTokens: z37.number(),
16754
16751
  cacheReadInputTokens: z37.number(),
16755
16752
  cacheCreationInputTokens: z37.number(),
16756
- creditsCharged: z37.number()
16753
+ creditsCharged: z37.number(),
16754
+ creditCap: z37.number().nullable()
16757
16755
  });
16758
16756
  var usageMembersResponseSchema = z37.object({
16759
16757
  period: z37.object({
@@ -17055,9 +17053,7 @@ var STAFF_ORG_ID_HASHES = [
17055
17053
  var FEATURE_SWITCHES = {
17056
17054
  ["pricing" /* Pricing */]: {
17057
17055
  maintainer: "ethan@vm0.ai",
17058
- enabled: false,
17059
- enabledUserHashes: STAFF_USER_HASHES,
17060
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
17056
+ enabled: true
17061
17057
  },
17062
17058
  ["dummy" /* Dummy */]: {
17063
17059
  maintainer: "ethan@vm0.ai",
@@ -17240,6 +17236,14 @@ var FEATURE_SWITCHES = {
17240
17236
  enabled: false,
17241
17237
  enabledUserHashes: STAFF_USER_HASHES,
17242
17238
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
17239
+ },
17240
+ ["concurrentAddOn" /* ConcurrentAddOn */]: {
17241
+ maintainer: "ethan@vm0.ai",
17242
+ enabled: false
17243
+ },
17244
+ ["creditAddOn" /* CreditAddOn */]: {
17245
+ maintainer: "ethan@vm0.ai",
17246
+ enabled: false
17243
17247
  }
17244
17248
  };
17245
17249
  async function isFeatureEnabled(key, ctx) {
@@ -18437,4 +18441,4 @@ export {
18437
18441
  promptSelect,
18438
18442
  promptPassword
18439
18443
  };
18440
- //# sourceMappingURL=chunk-5BLBSO2W.js.map
18444
+ //# sourceMappingURL=chunk-37AJL4NM.js.map