@vibecheck-ai/mcp 26.0.0 → 26.0.1

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.
@@ -27,11 +27,11 @@ dirname(__filename$1);
27
27
  // ../engines/dist/index.js
28
28
  var import_typescript = __toESM(require_typescript(), 1);
29
29
 
30
- // ../subscriptions/dist/chunk-CT7TNL2U.js
31
- var PLAN_IDS = ["pro", "team", "enterprise"];
30
+ // ../subscriptions/dist/chunk-TEQPNVO7.js
31
+ var PLAN_IDS = ["vibecoder", "engineer", "enterprise"];
32
32
  var PLAN_RANK = {
33
- pro: 0,
34
- team: 1,
33
+ vibecoder: 0,
34
+ engineer: 1,
35
35
  enterprise: 2
36
36
  };
37
37
  var PLAN_ID_SET = new Set(PLAN_IDS);
@@ -39,15 +39,19 @@ function isCanonicalPlanId(value) {
39
39
  return typeof value === "string" && PLAN_ID_SET.has(value);
40
40
  }
41
41
  var PLAN_NORMALIZATION_ALIASES = {
42
- vibecoder: "pro",
43
- developer: "team",
44
- engineer: "enterprise",
45
- vibe_coder: "pro",
46
- "vibe-coder": "pro",
47
- "vibe coder": "pro",
42
+ // v40 canonical slugs (round-trip safe)
43
+ vibecoder: "vibecoder",
44
+ engineer: "engineer",
45
+ // Pre-v40 slugs → v40 equivalents
46
+ pro: "vibecoder",
47
+ team: "engineer",
48
+ developer: "vibecoder",
49
+ vibe_coder: "vibecoder",
50
+ "vibe-coder": "vibecoder",
51
+ "vibe coder": "vibecoder",
48
52
  compliance: "enterprise",
49
- business: "team",
50
- team_workspace: "team",
53
+ business: "engineer",
54
+ team_workspace: "engineer",
51
55
  enterprise_annual: "enterprise",
52
56
  enterprise_monthly: "enterprise",
53
57
  elite: "enterprise"
@@ -94,75 +98,64 @@ if (typeof process !== "undefined") {
94
98
  }
95
99
  }
96
100
  var PLAN_DEFINITIONS = {
97
- /**
98
- * Included free tier (canonical id `pro`). Paid checkout targets use plan id `team` / `enterprise`.
99
- */
100
- pro: {
101
- displayName: "Free",
102
- tagline: "Free \u2014 start scanning AI-built software.",
103
- monthlyPriceUsd: 0,
104
- priceLabel: "Free",
101
+ vibecoder: {
102
+ displayName: "Vibecoder",
103
+ tagline: "Extension + CLI access. The fast lane.",
104
+ monthlyPriceUsd: 19.99,
105
+ priceLabel: "$19.99/mo",
105
106
  billingInterval: "month",
106
- badgeToken: "tier-pro",
107
+ badgeToken: "tier-vibecoder",
107
108
  highlights: [
108
- "Everything you need to ship with AI:",
109
- "All findings detailed (no blur)",
110
- "VS Code extension + CLI",
111
- "Local scans and scan summaries",
112
- "Truthpack and project context basics",
113
- "Starter guardrails for AI-generated code",
114
- "Upgrade when you need paid automation"
109
+ "VS Code extension + CLI access",
110
+ "All scans, findings, and proof details",
111
+ "Auto-fix, Reality Mode, and CommitShield",
112
+ "Context Engine, ISL Studio, and firewall enforcement",
113
+ "Reports, truthpacks, badges, and cloud sync",
114
+ "GitHub Action checks for individual workflows"
115
115
  ],
116
- bestFor: "Indie devs shipping with AI",
116
+ bestFor: "Developers who want the full VibeCheck toolkit",
117
117
  popular: false,
118
- cta: "Start free",
118
+ cta: "Start Vibecoder",
119
119
  ctaVariant: "default",
120
120
  supportLevel: "standard"
121
121
  },
122
- team: {
123
- displayName: "Team",
124
- tagline: "$29/mo \u2014 prevent the next bug.",
125
- monthlyPriceUsd: 29,
126
- priceLabel: "$29/mo",
122
+ engineer: {
123
+ displayName: "Engineer",
124
+ tagline: "Everything in Vibecoder, plus the engineering dashboard.",
125
+ monthlyPriceUsd: 59.99,
126
+ priceLabel: "$59.99/mo",
127
127
  billingInterval: "month",
128
- badgeToken: "tier-team",
128
+ badgeToken: "tier-engineer",
129
129
  highlights: [
130
- "Everything in Free, plus:",
131
- "200 auto-fixes/mo + Self-Healing PRs",
132
- "Live AI context sync (no manual export)",
133
- "Ghost Mode \u2014 unlimited firewall rules + Drift Watcher",
134
- "Full Context Engine + ISL Studio + Chaos Agent",
135
- "Team dashboard \xB7 3 seats included \xB7 $9/extra seat",
136
- "API access (1k req/day) \xB7 CSV export",
137
- "Cloud sync \xB7 50 projects"
130
+ "Everything in Vibecoder, plus:",
131
+ "Engineering dashboard (scans, missions, billing, settings)",
132
+ "GitHub CI/CD ShipGate runs with SHIP / NO SHIP history",
133
+ "Org-wide analytics from CLI, MCP, VS Code, and extension activity"
138
134
  ],
139
- bestFor: "Small teams with shared AI workflows",
140
- popular: true,
141
- cta: "Upgrade to Team",
135
+ bestFor: "Engineers who need the full dashboard and analytics",
136
+ popular: false,
137
+ cta: "Start Engineer",
142
138
  ctaVariant: "default",
143
139
  supportLevel: "priority"
144
140
  },
145
141
  enterprise: {
146
142
  displayName: "Enterprise",
147
- tagline: "$59/mo \u2014 lock it down.",
148
- monthlyPriceUsd: 59,
149
- priceLabel: "$59/mo",
143
+ tagline: "Custom seats, SSO, audit. Talk to us.",
144
+ monthlyPriceUsd: 0,
145
+ priceLabel: "Contact sales",
150
146
  billingInterval: "month",
151
147
  badgeToken: "tier-enterprise",
152
148
  highlights: [
153
- "Everything in Team, plus:",
154
- "Ghost Mode \u2014 Lockdown (no writes without proof)",
155
- "Org-wide truthpack sharing + per-team scoped contexts",
156
- "Compliance bundles \u2014 SOC2, HIPAA, PCI-DSS, GDPR",
157
- "SSO / SAML \xB7 RBAC \xB7 audit logs",
158
- "10 seats \xB7 unlimited projects \xB7 API 10k req/day",
159
- "Custom domains + advanced webhooks",
160
- "Slack integration \xB7 dedicated support"
149
+ "Everything in Engineer, plus:",
150
+ "Custom seats and RBAC",
151
+ "SSO / SAML",
152
+ "Audit logs and compliance bundles",
153
+ "Dedicated support and SLA"
161
154
  ],
162
- bestFor: "Orgs with compliance and governance needs",
155
+ bestFor: "Orgs with compliance, governance, and SSO needs",
163
156
  popular: false,
164
- cta: "Upgrade to Enterprise",
165
- ctaVariant: "default",
157
+ cta: "Contact sales",
158
+ ctaVariant: "outline",
166
159
  supportLevel: "dedicated"
167
160
  }
168
161
  };
@@ -186,7 +179,7 @@ var PLAN_MONTHLY_PRICE_USD = mapPlanValues(
186
179
  var PLAN_PRICE_LABELS = mapPlanValues((plan) => plan.priceLabel);
187
180
  var PLAN_BADGE_TOKENS = mapPlanValues((plan) => plan.badgeToken);
188
181
  var PLANS_ORDERED = PLAN_IDS.map((id) => PLANS[id]);
189
- var MARKETING_PLAN_IDS = PLAN_IDS;
182
+ var MARKETING_PLAN_IDS = ["vibecoder", "engineer"];
190
183
  function validatePlanRegistry() {
191
184
  const errors = [];
192
185
  if (new Set(PLAN_IDS).size !== PLAN_IDS.length) {
@@ -264,8 +257,8 @@ if (typeof process !== "undefined") {
264
257
  }
265
258
  }
266
259
  var ENTITLEMENTS = {
267
- // ── FREE ────────────────────────────────────────────────────────────────
268
- /** Basic scanning (single file, summary only for free) */
260
+ // ── PAID PRODUCT ────────────────────────────────────────────────────────
261
+ /** Basic scanning */
269
262
  SCAN: "v2.scan",
270
263
  /** Workspace-level scanning (doctor, roast, score, codegraph, wikicode, atlas) */
271
264
  SCAN_WORKSPACE: "v2.scan_workspace",
@@ -300,8 +293,8 @@ var ENTITLEMENTS = {
300
293
  SUPPORT: "v2.support",
301
294
  /** Premium full-stack templates (SaaS dashboards, e-commerce, chat, etc.) in the new-project wizard. */
302
295
  PREMIUM_TEMPLATES: "v2.premium_templates",
303
- // ── TEAM ────────────────────────────────────────────────────────────────
304
- /** Team dashboard, shared policies, cross-repo scanning, audit logs */
296
+ // ── ENTERPRISE DASHBOARD ────────────────────────────────────────────────
297
+ /** Enterprise dashboard, shared policies, cross-repo scanning, audit logs */
305
298
  TEAM_COLLABORATION: "v2.team_collaboration",
306
299
  /**
307
300
  * Truthpack-integrated wizard — scans the existing codebase and pre-fills
@@ -318,7 +311,7 @@ var ENTITLEMENTS = {
318
311
  ENTERPRISE_COMPLIANCE: "v2.enterprise_compliance"
319
312
  };
320
313
  var EMPTY_ENTITLEMENT_SET = /* @__PURE__ */ new Set();
321
- var PRO_SET = /* @__PURE__ */ new Set([
314
+ var VIBECODER_SET = /* @__PURE__ */ new Set([
322
315
  ENTITLEMENTS.SCAN,
323
316
  ENTITLEMENTS.SCAN_WORKSPACE,
324
317
  ENTITLEMENTS.GITHUB_ACTION,
@@ -337,19 +330,17 @@ var PRO_SET = /* @__PURE__ */ new Set([
337
330
  ENTITLEMENTS.SUPPORT,
338
331
  ENTITLEMENTS.PREMIUM_TEMPLATES
339
332
  ]);
340
- var TEAM_SET = /* @__PURE__ */ new Set([
341
- ...PRO_SET,
342
- ENTITLEMENTS.TEAM_COLLABORATION,
343
- ENTITLEMENTS.CONTEXT_ENGINE_PRO
344
- ]);
333
+ var ENGINEER_SET = /* @__PURE__ */ new Set([...VIBECODER_SET]);
345
334
  var ENTERPRISE_SET = /* @__PURE__ */ new Set([
346
- ...TEAM_SET,
335
+ ...ENGINEER_SET,
336
+ ENTITLEMENTS.TEAM_COLLABORATION,
337
+ ENTITLEMENTS.CONTEXT_ENGINE_PRO,
347
338
  ENTITLEMENTS.FIREWALL_LOCKDOWN,
348
339
  ENTITLEMENTS.ENTERPRISE_COMPLIANCE
349
340
  ]);
350
341
  var PLAN_ENTITLEMENTS = {
351
- pro: PRO_SET,
352
- team: TEAM_SET,
342
+ vibecoder: VIBECODER_SET,
343
+ engineer: ENGINEER_SET,
353
344
  enterprise: ENTERPRISE_SET
354
345
  };
355
346
  function normalizePlanForEntitlement(plan) {
@@ -468,42 +459,40 @@ var ZERO_QUOTAS = {
468
459
  seatOverageEnabled: false
469
460
  };
470
461
  var PLAN_QUOTAS = {
471
- pro: {
462
+ vibecoder: {
472
463
  findingDetailLimit: Infinity,
473
464
  canAutoFix: true,
474
- canHealPR: false,
465
+ canHealPR: true,
475
466
  canModelFingerprint: true,
476
467
  canRealityMode: true,
477
468
  canISLGenerate: true,
478
469
  canCIBlock: true,
479
470
  scanHistoryDays: 90,
480
- maxProjects: 10,
481
- apiRequestsPerDay: 0,
482
- canExportCSV: false,
483
- canSlackIntegration: false,
471
+ maxProjects: Infinity,
472
+ apiRequestsPerDay: 1e4,
473
+ canExportCSV: true,
474
+ canSlackIntegration: true,
484
475
  maxSeats: 1,
485
- autoFixesPerMonth: 50,
476
+ autoFixesPerMonth: Infinity,
486
477
  scansPerMonth: Infinity,
487
478
  scansPerDay: Infinity,
488
- vibePromptGenerationsPerMonth: 20,
489
- workflowCopiesPerMonth: 10,
490
- forgeGenerationsPerMonth: 10,
491
- realityModeRunsPerWeek: 5,
492
- contextEngineRulesPerMonth: 10,
493
- islSpecsPerMonth: 10,
494
- atlasViewsPerMonth: 20,
495
- guidedRoutesPerDay: 5,
496
- guidedFollowUpsPerRoute: 3,
497
- proofHistoryEntries: 10,
498
- firewallRulesActive: 3,
499
- // 3 rules armed — routes / env / packages
479
+ vibePromptGenerationsPerMonth: Infinity,
480
+ workflowCopiesPerMonth: Infinity,
481
+ forgeGenerationsPerMonth: Infinity,
482
+ realityModeRunsPerWeek: Infinity,
483
+ contextEngineRulesPerMonth: Infinity,
484
+ islSpecsPerMonth: Infinity,
485
+ atlasViewsPerMonth: Infinity,
486
+ guidedRoutesPerDay: Infinity,
487
+ guidedFollowUpsPerRoute: Infinity,
488
+ proofHistoryEntries: Infinity,
489
+ firewallRulesActive: Infinity,
500
490
  missionRunsLifetime: Infinity,
501
- autoFixOverageEnabled: true,
502
- // $0.50/fix beyond 50/mo via Stripe metered
491
+ autoFixOverageEnabled: false,
503
492
  seatOverageEnabled: false
504
493
  // solo plan
505
494
  },
506
- team: {
495
+ engineer: {
507
496
  findingDetailLimit: Infinity,
508
497
  canAutoFix: true,
509
498
  canHealPR: true,
@@ -512,31 +501,29 @@ var PLAN_QUOTAS = {
512
501
  canISLGenerate: true,
513
502
  canCIBlock: true,
514
503
  scanHistoryDays: 90,
515
- maxProjects: 50,
516
- apiRequestsPerDay: 1e3,
504
+ maxProjects: Infinity,
505
+ apiRequestsPerDay: 1e4,
517
506
  canExportCSV: true,
518
- canSlackIntegration: false,
519
- maxSeats: 3,
520
- autoFixesPerMonth: 200,
507
+ canSlackIntegration: true,
508
+ maxSeats: 1,
509
+ autoFixesPerMonth: Infinity,
521
510
  scansPerMonth: Infinity,
522
511
  scansPerDay: Infinity,
523
- vibePromptGenerationsPerMonth: 100,
524
- workflowCopiesPerMonth: 50,
525
- forgeGenerationsPerMonth: 50,
526
- realityModeRunsPerWeek: 20,
527
- contextEngineRulesPerMonth: 50,
528
- islSpecsPerMonth: 50,
529
- atlasViewsPerMonth: 100,
530
- guidedRoutesPerDay: 20,
531
- guidedFollowUpsPerRoute: 10,
532
- proofHistoryEntries: 50,
512
+ vibePromptGenerationsPerMonth: Infinity,
513
+ workflowCopiesPerMonth: Infinity,
514
+ forgeGenerationsPerMonth: Infinity,
515
+ realityModeRunsPerWeek: Infinity,
516
+ contextEngineRulesPerMonth: Infinity,
517
+ islSpecsPerMonth: Infinity,
518
+ atlasViewsPerMonth: Infinity,
519
+ guidedRoutesPerDay: Infinity,
520
+ guidedFollowUpsPerRoute: Infinity,
521
+ proofHistoryEntries: Infinity,
533
522
  firewallRulesActive: Infinity,
534
523
  // unlimited rules + Drift Watcher
535
524
  missionRunsLifetime: Infinity,
536
- autoFixOverageEnabled: true,
537
- // $0.50/fix beyond 200/mo
538
- seatOverageEnabled: true
539
- // $9/seat over 3 via Stripe per-seat price
525
+ autoFixOverageEnabled: false,
526
+ seatOverageEnabled: false
540
527
  },
541
528
  enterprise: {
542
529
  findingDetailLimit: Infinity,
@@ -587,7 +574,7 @@ var FEATURE_REGISTRY = {
587
574
  title: "Unlimited Auto-Fix",
588
575
  subtitle: "AI-powered code repair without limits",
589
576
  benefits: ["No monthly limits", "Smart suggestions", "Safe rollback"],
590
- requiredPlan: "pro",
577
+ requiredPlan: "vibecoder",
591
578
  category: "productivity",
592
579
  upgradeMessage: "Auto-Fix requires Pro. Upgrade to unlock AI-powered code repair."
593
580
  },
@@ -596,7 +583,7 @@ var FEATURE_REGISTRY = {
596
583
  title: "Reality Mode",
597
584
  subtitle: "Browser-based runtime verification",
598
585
  benefits: ["Runtime testing", "Screenshot evidence", "Error detection", "Network validation"],
599
- requiredPlan: "pro",
586
+ requiredPlan: "vibecoder",
600
587
  category: "productivity",
601
588
  upgradeMessage: "Reality Mode requires Pro. Upgrade to unlock runtime verification.",
602
589
  docsUrl: "/docs/reality-mode"
@@ -606,7 +593,7 @@ var FEATURE_REGISTRY = {
606
593
  title: "CommitShield",
607
594
  subtitle: "Pre-commit quality gate",
608
595
  benefits: ["25+ security rules", "Risk scoring", "Evidence bundles"],
609
- requiredPlan: "pro",
596
+ requiredPlan: "vibecoder",
610
597
  category: "productivity"
611
598
  },
612
599
  /** CLI `vibecheck guard` — operator tooling (Pro). */
@@ -615,7 +602,7 @@ var FEATURE_REGISTRY = {
615
602
  title: "Guard",
616
603
  subtitle: "Quality gate & policy enforcement from the CLI",
617
604
  benefits: ["Configurable fail thresholds", "Engine toggles", "CI-friendly output"],
618
- requiredPlan: "pro",
605
+ requiredPlan: "vibecoder",
619
606
  category: "productivity"
620
607
  },
621
608
  /** CLI `vibecheck doctor` — engine / workspace diagnostics (Free). */
@@ -624,19 +611,19 @@ var FEATURE_REGISTRY = {
624
611
  title: "Doctor",
625
612
  subtitle: "Engine health and workspace diagnostics",
626
613
  benefits: ["Engine readiness", "Config validation", "Optional repair flows"],
627
- requiredPlan: "pro",
614
+ requiredPlan: "vibecoder",
628
615
  category: "core"
629
616
  },
630
- /** Truthpack generation / validation — free tier (local CLI + IDE viewer). */
617
+ /** Truthpack generation / validation. */
631
618
  Truthpack: {
632
619
  entitlement: ENTITLEMENTS.SCAN_WORKSPACE,
633
620
  title: "Truthpack",
634
621
  subtitle: "Ground-truth artifacts for your repo",
635
622
  benefits: ["Regenerate truthpack", "Cross-reference validation", "CI contracts"],
636
- requiredPlan: "pro",
623
+ requiredPlan: "vibecoder",
637
624
  category: "analysis"
638
625
  },
639
- /** CLI `vibecheck roast` — stylized scan output (free for everyone; no login on CLI). */
626
+ /** CLI `vibecheck roast` — stylized scan output. */
640
627
  Roast: {
641
628
  entitlement: ENTITLEMENTS.SCAN,
642
629
  title: "Roast",
@@ -648,16 +635,16 @@ var FEATURE_REGISTRY = {
648
635
  "Shareable output",
649
636
  "CLI, MCP, and IDE panel"
650
637
  ],
651
- requiredPlan: "pro",
638
+ requiredPlan: "vibecoder",
652
639
  category: "analysis"
653
640
  },
654
- /** CLI code graph / intent context that builds on local graph (free tier). */
641
+ /** CLI code graph / intent context that builds on local graph. */
655
642
  "Code Graph": {
656
643
  entitlement: ENTITLEMENTS.SCAN,
657
644
  title: "Code Graph",
658
645
  subtitle: "Local dependency and symbol graph",
659
646
  benefits: ["Import/export map", "Intent search", "Proactive file context"],
660
- requiredPlan: "pro",
647
+ requiredPlan: "vibecoder",
661
648
  category: "analysis"
662
649
  },
663
650
  /** Ship / verify workflows from CLI (Pro). */
@@ -666,7 +653,7 @@ var FEATURE_REGISTRY = {
666
653
  title: "Ship Verification",
667
654
  subtitle: "Checklists, reports, and ship gates",
668
655
  benefits: ["Structured ship checks", "Evidence-friendly output"],
669
- requiredPlan: "pro",
656
+ requiredPlan: "vibecoder",
670
657
  category: "productivity"
671
658
  },
672
659
  "Firewall Enforce": {
@@ -674,7 +661,7 @@ var FEATURE_REGISTRY = {
674
661
  title: "Firewall Enforce",
675
662
  subtitle: "Block AI mistakes before save",
676
663
  benefits: ["Pre-save validation", "Intent locking", "Drift prevention"],
677
- requiredPlan: "pro",
664
+ requiredPlan: "vibecoder",
678
665
  category: "productivity",
679
666
  docsUrl: "/docs/firewall"
680
667
  },
@@ -693,7 +680,7 @@ var FEATURE_REGISTRY = {
693
680
  "Short-lived pair code (no inbound ports)",
694
681
  "Local-only execution (your machine stays in control)"
695
682
  ],
696
- requiredPlan: "pro",
683
+ requiredPlan: "vibecoder",
697
684
  category: "productivity",
698
685
  upgradeMessage: "The Web Terminal requires Pro. Upgrade to drive your repo from the dashboard."
699
686
  },
@@ -702,7 +689,7 @@ var FEATURE_REGISTRY = {
702
689
  title: "Cloud Sync",
703
690
  subtitle: "Cross-device synchronization",
704
691
  benefits: ["Multi-device access", "Team sharing", "Automatic backup"],
705
- requiredPlan: "pro",
692
+ requiredPlan: "vibecoder",
706
693
  category: "productivity"
707
694
  },
708
695
  "PDF Reports": {
@@ -710,7 +697,7 @@ var FEATURE_REGISTRY = {
710
697
  title: "PDF Reports",
711
698
  subtitle: "Professional shareable reports",
712
699
  benefits: ["Executive summaries", "Custom branding", "Print-ready"],
713
- requiredPlan: "pro",
700
+ requiredPlan: "vibecoder",
714
701
  category: "productivity"
715
702
  },
716
703
  "Verified Badge": {
@@ -718,7 +705,7 @@ var FEATURE_REGISTRY = {
718
705
  title: "Verified Ship Badge",
719
706
  subtitle: "Dynamic ship badges for your README",
720
707
  benefits: ["Live status", "README embeds", "Trust signals"],
721
- requiredPlan: "pro",
708
+ requiredPlan: "vibecoder",
722
709
  category: "productivity"
723
710
  },
724
711
  "Vibe Prompt": {
@@ -726,7 +713,7 @@ var FEATURE_REGISTRY = {
726
713
  title: "Vibe Prompt",
727
714
  subtitle: "Generate prompt packs from intent",
728
715
  benefits: ["Truth-pack aware", "Implementation prompts", "Verification prompts"],
729
- requiredPlan: "pro",
716
+ requiredPlan: "vibecoder",
730
717
  category: "productivity",
731
718
  upgradeMessage: "Vibe Prompt requires Pro. Upgrade to generate project-aware prompt packs."
732
719
  },
@@ -735,7 +722,7 @@ var FEATURE_REGISTRY = {
735
722
  title: "Review Workflows",
736
723
  subtitle: "Code review workflows for Cursor/Claude",
737
724
  benefits: ["Copy to clipboard", "Install agents", "Workflow templates"],
738
- requiredPlan: "pro",
725
+ requiredPlan: "vibecoder",
739
726
  category: "productivity"
740
727
  },
741
728
  "Flow Workflows": {
@@ -743,7 +730,7 @@ var FEATURE_REGISTRY = {
743
730
  title: "Flow Workflows",
744
731
  subtitle: "AI workflows panel",
745
732
  benefits: ["Copy workflows", "Agent chips", "AI automation"],
746
- requiredPlan: "pro",
733
+ requiredPlan: "vibecoder",
747
734
  category: "productivity"
748
735
  },
749
736
  "WikiCode Atlas": {
@@ -751,7 +738,7 @@ var FEATURE_REGISTRY = {
751
738
  title: "WikiCode Atlas",
752
739
  subtitle: "Code atlas and wiki",
753
740
  benefits: ["Browse codebase", "Feature mapping", "Documentation"],
754
- requiredPlan: "pro",
741
+ requiredPlan: "vibecoder",
755
742
  category: "analysis"
756
743
  },
757
744
  /** LLM-powered guided routes (intent → stops). Pro+ unlimited within plan quotas. */
@@ -764,7 +751,7 @@ var FEATURE_REGISTRY = {
764
751
  "Next/prev stops",
765
752
  "Follow-up Q&A on each stop"
766
753
  ],
767
- requiredPlan: "pro",
754
+ requiredPlan: "vibecoder",
768
755
  category: "analysis"
769
756
  },
770
757
  "Proof History": {
@@ -772,7 +759,7 @@ var FEATURE_REGISTRY = {
772
759
  title: "Proof History",
773
760
  subtitle: "Saved proof bundles beyond last run",
774
761
  benefits: ["90-day history", "Proof chains", "Audit trail"],
775
- requiredPlan: "pro",
762
+ requiredPlan: "vibecoder",
776
763
  category: "productivity",
777
764
  upgradeMessage: "Proof History requires Pro. Upgrade for full proof history and audit trail."
778
765
  },
@@ -781,7 +768,7 @@ var FEATURE_REGISTRY = {
781
768
  title: "Forge",
782
769
  subtitle: "AI code generation (component, api, hook, test)",
783
770
  benefits: ["Component generation", "API scaffolding", "Test generation"],
784
- requiredPlan: "pro",
771
+ requiredPlan: "vibecoder",
785
772
  category: "productivity",
786
773
  upgradeMessage: "Forge requires Pro. Upgrade to unlock AI code generation."
787
774
  },
@@ -790,7 +777,7 @@ var FEATURE_REGISTRY = {
790
777
  title: "GitHub Action",
791
778
  subtitle: "Automated PR quality checks",
792
779
  benefits: ["PR comments", "Status checks", "Branch protection"],
793
- requiredPlan: "pro",
780
+ requiredPlan: "vibecoder",
794
781
  category: "ci_automation",
795
782
  upgradeMessage: "GitHub Action requires Pro. Upgrade to automate PR quality checks."
796
783
  },
@@ -799,7 +786,7 @@ var FEATURE_REGISTRY = {
799
786
  title: "CI/CD Integration",
800
787
  subtitle: "All CI platforms supported",
801
788
  benefits: ["GitHub Actions", "GitLab CI", "CircleCI", "Jenkins"],
802
- requiredPlan: "pro",
789
+ requiredPlan: "vibecoder",
803
790
  category: "ci_automation"
804
791
  },
805
792
  "API Access": {
@@ -807,7 +794,7 @@ var FEATURE_REGISTRY = {
807
794
  title: "API Access",
808
795
  subtitle: "Programmatic scanning & integrations",
809
796
  benefits: ["REST API", "Webhooks", "Custom automation"],
810
- requiredPlan: "pro",
797
+ requiredPlan: "vibecoder",
811
798
  category: "ci_automation"
812
799
  },
813
800
  "Context Engine": {
@@ -815,7 +802,7 @@ var FEATURE_REGISTRY = {
815
802
  title: "Context Engine",
816
803
  subtitle: "Cloud rules, MCP & agents (requires active subscription)",
817
804
  benefits: ["Auto-generate rules", "Team-ready context in IDE", "MCP & API hooks"],
818
- requiredPlan: "pro",
805
+ requiredPlan: "vibecoder",
819
806
  category: "analysis",
820
807
  upgradeMessage: "Context Engine (cloud rules & agents) requires Developer or higher."
821
808
  },
@@ -824,7 +811,7 @@ var FEATURE_REGISTRY = {
824
811
  title: "ISL Studio",
825
812
  subtitle: "Visual spec editor & code generation",
826
813
  benefits: ["Visual editor", "Real-time validation", "Code generation (credit packs)"],
827
- requiredPlan: "pro",
814
+ requiredPlan: "vibecoder",
828
815
  category: "analysis"
829
816
  },
830
817
  "Deep Scan": {
@@ -832,7 +819,7 @@ var FEATURE_REGISTRY = {
832
819
  title: "Deep Scan",
833
820
  subtitle: "Advanced security analysis",
834
821
  benefits: ["18 production engines", "Runtime proof", "Mock detection"],
835
- requiredPlan: "pro",
822
+ requiredPlan: "vibecoder",
836
823
  category: "analysis"
837
824
  },
838
825
  "Drift Detection": {
@@ -840,7 +827,7 @@ var FEATURE_REGISTRY = {
840
827
  title: "Drift Detection",
841
828
  subtitle: "Code vs spec divergence tracking",
842
829
  benefits: ["Contract drift", "Intent violations", "Auto-alerts"],
843
- requiredPlan: "pro",
830
+ requiredPlan: "vibecoder",
844
831
  category: "analysis"
845
832
  },
846
833
  "Chaos Agent": {
@@ -848,7 +835,7 @@ var FEATURE_REGISTRY = {
848
835
  title: "Chaos Agent",
849
836
  subtitle: "AI-powered bug hunting",
850
837
  benefits: ["Edge case discovery", "Fault injection", "Resilience testing"],
851
- requiredPlan: "pro",
838
+ requiredPlan: "vibecoder",
852
839
  category: "analysis"
853
840
  },
854
841
  "Team Dashboard": {
@@ -920,7 +907,7 @@ var FEATURE_REGISTRY = {
920
907
  title: "Polish",
921
908
  subtitle: "Enterprise-grade code quality engine",
922
909
  benefits: ["Code quality scoring", "Complexity analysis", "Trend tracking"],
923
- requiredPlan: "pro",
910
+ requiredPlan: "vibecoder",
924
911
  category: "productivity"
925
912
  },
926
913
  DocGuard: {
@@ -928,7 +915,7 @@ var FEATURE_REGISTRY = {
928
915
  title: "DocGuard",
929
916
  subtitle: "Documentation quality enforcement",
930
917
  benefits: ["JSDoc validation", "Coverage tracking", "Stale doc detection"],
931
- requiredPlan: "pro",
918
+ requiredPlan: "vibecoder",
932
919
  category: "productivity"
933
920
  },
934
921
  TestGap: {
@@ -936,7 +923,7 @@ var FEATURE_REGISTRY = {
936
923
  title: "TestGap Analysis",
937
924
  subtitle: "Test coverage gap detection",
938
925
  benefits: ["Zero coverage detection", "Happy path analysis", "Orphaned test detection"],
939
- requiredPlan: "pro",
926
+ requiredPlan: "vibecoder",
940
927
  category: "analysis"
941
928
  },
942
929
  ArchRules: {
@@ -944,7 +931,7 @@ var FEATURE_REGISTRY = {
944
931
  title: "Architecture Rules",
945
932
  subtitle: "Enforce architectural patterns",
946
933
  benefits: ["YAML rule config", "6 rule types", "Violation detection"],
947
- requiredPlan: "pro",
934
+ requiredPlan: "vibecoder",
948
935
  category: "analysis"
949
936
  },
950
937
  Provenance: {
@@ -952,7 +939,7 @@ var FEATURE_REGISTRY = {
952
939
  title: "Provenance Tracking",
953
940
  subtitle: "Edit history and attestations",
954
941
  benefits: ["Edit tracking", "Attestation DB", "Audit trail"],
955
- requiredPlan: "pro",
942
+ requiredPlan: "vibecoder",
956
943
  category: "compliance"
957
944
  },
958
945
  "Model Fingerprint": {
@@ -960,7 +947,7 @@ var FEATURE_REGISTRY = {
960
947
  title: "Model Fingerprint",
961
948
  subtitle: "AI model detection and tracking",
962
949
  benefits: ["Model identification", "Version tracking", "Usage analytics"],
963
- requiredPlan: "pro",
950
+ requiredPlan: "vibecoder",
964
951
  category: "analysis"
965
952
  },
966
953
  /** Kickoff / connect project (Free). */
@@ -969,7 +956,7 @@ var FEATURE_REGISTRY = {
969
956
  title: "Kickoff & Connect",
970
957
  subtitle: "Initialize and connect your project",
971
958
  benefits: ["Project scaffolding", "Config generation", "Quick start"],
972
- requiredPlan: "pro",
959
+ requiredPlan: "vibecoder",
973
960
  category: "core"
974
961
  },
975
962
  /** Codegraph — local dependency/symbol graph (Free). */
@@ -978,7 +965,7 @@ var FEATURE_REGISTRY = {
978
965
  title: "Codegraph",
979
966
  subtitle: "Local dependency and symbol graph",
980
967
  benefits: ["Import/export map", "Symbol navigation", "Dependency visualization"],
981
- requiredPlan: "pro",
968
+ requiredPlan: "vibecoder",
982
969
  category: "analysis"
983
970
  },
984
971
  /** WikiCode — codebase wiki and atlas (Free). */
@@ -987,7 +974,7 @@ var FEATURE_REGISTRY = {
987
974
  title: "WikiCode",
988
975
  subtitle: "Codebase wiki and documentation",
989
976
  benefits: ["Browse codebase", "Feature mapping", "Documentation"],
990
- requiredPlan: "pro",
977
+ requiredPlan: "vibecoder",
991
978
  category: "analysis"
992
979
  },
993
980
  /** Vibe Flow — AI workflows panel (Free). */
@@ -996,13 +983,11 @@ var FEATURE_REGISTRY = {
996
983
  title: "Vibe Flow",
997
984
  subtitle: "AI workflow automation",
998
985
  benefits: ["Workflow templates", "Agent chips", "AI automation"],
999
- requiredPlan: "pro",
986
+ requiredPlan: "vibecoder",
1000
987
  category: "productivity"
1001
988
  },
1002
989
  /**
1003
- * Mission Run taste-then-gate: free tier ships 1 lifetime run so users
1004
- * can finish their first auto-generated mission. Subsequent runs require
1005
- * Pro. Quota lookup uses `missionRun` FeatureLimitKey → `missionRunsLifetime`.
990
+ * Mission Run quota lookup uses `missionRun` FeatureLimitKey `missionRunsLifetime`.
1006
991
  */
1007
992
  "Mission Run": {
1008
993
  entitlement: ENTITLEMENTS.SCAN_WORKSPACE,
@@ -1011,9 +996,9 @@ var FEATURE_REGISTRY = {
1011
996
  benefits: [
1012
997
  "Auto-generated from your scan",
1013
998
  "Acceptance criteria + verification commands",
1014
- "Developer+ unlimited mission runs"
999
+ "Paid subscribers get mission runs"
1015
1000
  ],
1016
- requiredPlan: "pro",
1001
+ requiredPlan: "vibecoder",
1017
1002
  category: "productivity",
1018
1003
  upgradeMessage: "Mission runs require Developer or higher."
1019
1004
  }
@@ -1086,7 +1071,7 @@ function canAccessFeature(userPlan, featureName) {
1086
1071
  }
1087
1072
  function getMinimumPlanForFeature(featureName) {
1088
1073
  const meta = FEATURE_REGISTRY[featureName];
1089
- if (!meta) return "pro";
1074
+ if (!meta) return "vibecoder";
1090
1075
  return getRequiredPlan(meta.entitlement);
1091
1076
  }
1092
1077
  function getUpgradeTarget(currentPlan, featureName) {
@@ -1094,10 +1079,10 @@ function getUpgradeTarget(currentPlan, featureName) {
1094
1079
  const meta = FEATURE_REGISTRY[featureName];
1095
1080
  if (!meta) return null;
1096
1081
  if (meetsPlanRequirement(canonicalCurrentPlan, meta.requiredPlan)) return null;
1097
- return meta.requiredPlan === "pro" ? "team" : meta.requiredPlan;
1082
+ return meta.requiredPlan;
1098
1083
  }
1099
1084
  var FEATURE_NAMES = {
1100
- // ── Free features ───────────────────────────────────────────────────────
1085
+ // ── Paid product features ───────────────────────────────────────────────
1101
1086
  SCAN_BASIC: "Scan Basic",
1102
1087
  KICKOFF_CONNECT: "Kickoff Connect",
1103
1088
  DOCTOR: "Doctor",
@@ -1111,18 +1096,17 @@ var FEATURE_NAMES = {
1111
1096
  WIKICODE_ATLAS: "WikiCode Atlas",
1112
1097
  /** Truthpack generate/validate — local CLI + IDE; registry key matches {@link FEATURE_REGISTRY} */
1113
1098
  TRUTHPACK: "Truthpack",
1114
- /** LLM guided routes — use getAccessMode for free taste vs Pro unlimited */
1099
+ /** LLM guided routes */
1115
1100
  GUIDED_ROUTE: "Guided Route",
1116
1101
  SHIP_SCORE: "Ship Score",
1117
1102
  ISL_STUDIO: "ISL Studio",
1118
- // ── Taste-then-gate features ────────────────────────────────────────────
1103
+ // ── Legacy quota-aware features ─────────────────────────────────────────
1119
1104
  /**
1120
- * First auto-generated mission free, subsequent mission runs require Pro.
1121
1105
  * Server-side `POST /missions/:id/run` enforces by counting lifetime
1122
1106
  * non-`open` missions for the user.
1123
1107
  */
1124
1108
  MISSION_RUN_FREE_FIRST: "Mission Run",
1125
- // ── Pro features ────────────────────────────────────────────────────────
1109
+ // ── Paid features ───────────────────────────────────────────────────────
1126
1110
  VIBE_PROMPT: "Vibe Prompt",
1127
1111
  PROOF_HISTORY: "Proof History",
1128
1112
  FORGE: "Forge",
@@ -1161,12 +1145,12 @@ var FEATURE_NAMES = {
1161
1145
  COMPLIANCE_AUDIT: "Compliance Audit"
1162
1146
  };
1163
1147
  function paidUpgradeTarget(plan) {
1164
- return plan === "pro" ? "team" : plan;
1148
+ return plan;
1165
1149
  }
1166
1150
  var INTRO_PRICES = {
1167
- pro: null,
1168
- team: "$4.99",
1169
- enterprise: "$14.99"
1151
+ vibecoder: null,
1152
+ engineer: null,
1153
+ enterprise: null
1170
1154
  };
1171
1155
  function formatFindingSeverityBreakdown(summary) {
1172
1156
  const parts = [`${summary.total} total`];
@@ -1201,14 +1185,13 @@ function buildCliUpgradeBlock(featureName, currentPlan) {
1201
1185
  }
1202
1186
  function getPricingPageUrl(highlightPlan) {
1203
1187
  const canonicalPlan = highlightPlan ? normalizePlanId(highlightPlan) : null;
1204
- return getCheckoutUrl(canonicalPlan ?? "pro", void 0, "pricing");
1188
+ return getCheckoutUrl(canonicalPlan ?? "vibecoder", void 0, "pricing");
1205
1189
  }
1206
1190
  function getCheckoutUrl(plan, email, source = "extension", origin = "https://vibecheckai.dev") {
1207
1191
  const canonicalPlan = normalizePlanId(plan ?? null);
1208
- const target = canonicalPlan ?? "pro";
1209
- const checkoutTarget = target === "pro" ? "team" : target;
1192
+ const target = paidUpgradeTarget(canonicalPlan ?? "vibecoder");
1210
1193
  const params = new URLSearchParams();
1211
- params.set("plan", checkoutTarget);
1194
+ params.set("plan", target);
1212
1195
  params.set("source", source);
1213
1196
  if (email) params.set("email", email);
1214
1197
  const base = origin.replace(/\/+$/, "");
@@ -1245,8 +1228,8 @@ function buildGatedScanResponse(opts) {
1245
1228
  category: f.category,
1246
1229
  ruleId: f.ruleId,
1247
1230
  _gated: true,
1248
- _upgradeMessage: "Upgrade to Developer to see the full error details, location, and fix suggestion.",
1249
- _upgradeUrl: getPricingPageUrl("team")
1231
+ _upgradeMessage: "Start Paid to see the full error details, location, and fix suggestion.",
1232
+ _upgradeUrl: getPricingPageUrl("vibecoder")
1250
1233
  }));
1251
1234
  return {
1252
1235
  gated: true,
@@ -1257,15 +1240,19 @@ function buildGatedScanResponse(opts) {
1257
1240
  findings: gatedFindings,
1258
1241
  upgrade: {
1259
1242
  show: true,
1260
- message: `${opts.summary.total} issues found (${opts.summary.critical} critical, ${opts.summary.high} high, ${opts.summary.medium} medium). Upgrade to Developer to see every error with location, explanation, and fix suggestion.`,
1261
- url: getPricingPageUrl("team"),
1262
- buttonLabel: "Upgrade to Developer"
1243
+ message: `${opts.summary.total} issues found (${opts.summary.critical} critical, ${opts.summary.high} high, ${opts.summary.medium} medium). Start Paid to see every error with location, explanation, and fix suggestion.`,
1244
+ url: getPricingPageUrl("vibecoder"),
1245
+ buttonLabel: "Start Vibecoder"
1263
1246
  }
1264
1247
  };
1265
1248
  }
1266
- var DAILY_SCAN_LIMIT_UPGRADE_URL = getCheckoutUrl("pro", void 0, "daily_scan_cap");
1249
+ var DAILY_SCAN_LIMIT_UPGRADE_URL = getCheckoutUrl(
1250
+ "vibecoder",
1251
+ void 0,
1252
+ "daily_scan_cap"
1253
+ );
1267
1254
  function formatDailyScanLimitMessage(usage) {
1268
- return `Daily scan limit reached (${usage.limit}/day). Upgrade to Developer (${PLAN_PRICE_LABELS.team}) for unlimited scans.`;
1255
+ return `Daily scan limit reached (${usage.limit}/day). Upgrade to Vibecoder (${PLAN_PRICE_LABELS.vibecoder}) for access.`;
1269
1256
  }
1270
1257
  var DEFAULT_API_BASE_URL = "https://api.vibecheckai.dev";
1271
1258
  function isRecord(value) {
@@ -1351,36 +1338,36 @@ async function fetchCanonicalAccess(options = {}) {
1351
1338
  };
1352
1339
  }
1353
1340
  var CLI_COMMAND_MIN_PLAN = {
1354
- scan: "pro",
1355
- score: "pro",
1356
- roast: "pro",
1357
- truthpack: "pro",
1358
- init: "pro",
1359
- doctor: "pro",
1341
+ scan: "vibecoder",
1342
+ score: "vibecoder",
1343
+ roast: "vibecoder",
1344
+ truthpack: "vibecoder",
1345
+ init: "vibecoder",
1346
+ doctor: "vibecoder",
1360
1347
  login: null,
1361
1348
  logout: null,
1362
1349
  whoami: null,
1363
1350
  completion: null,
1364
1351
  help: null,
1365
1352
  version: null,
1366
- guard: "pro",
1367
- ship: "pro",
1368
- rules: "pro",
1369
- prompt: "pro",
1370
- fix: "pro",
1371
- polish: "pro",
1372
- reality: "pro",
1373
- forge: "pro",
1374
- context: "pro",
1375
- review: "pro",
1376
- firewall: "pro",
1377
- commitshield: "pro",
1378
- docguard: "pro",
1379
- surgeon: "pro",
1380
- native: "pro",
1381
- nexus: "pro",
1382
- neuro: "pro",
1383
- serve: "pro"
1353
+ guard: "vibecoder",
1354
+ ship: "vibecoder",
1355
+ rules: "vibecoder",
1356
+ prompt: "vibecoder",
1357
+ fix: "vibecoder",
1358
+ polish: "vibecoder",
1359
+ reality: "vibecoder",
1360
+ forge: "vibecoder",
1361
+ context: "vibecoder",
1362
+ review: "vibecoder",
1363
+ firewall: "vibecoder",
1364
+ commitshield: "vibecoder",
1365
+ docguard: "vibecoder",
1366
+ surgeon: "vibecoder",
1367
+ native: "vibecoder",
1368
+ nexus: "vibecoder",
1369
+ neuro: "vibecoder",
1370
+ serve: "vibecoder"
1384
1371
  };
1385
1372
  Object.fromEntries(
1386
1373
  Object.entries(CLI_COMMAND_MIN_PLAN).map(([k, v]) => [k.toLowerCase(), v])