thumbgate 1.26.8 → 1.27.3

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 (57) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.well-known/agentic-verify.txt +1 -0
  3. package/.well-known/llms.txt +2 -0
  4. package/.well-known/mcp/server-card.json +1 -1
  5. package/README.md +44 -31
  6. package/adapters/claude/.mcp.json +2 -2
  7. package/adapters/gcp/dfcx-webhook-gate.js +295 -0
  8. package/adapters/mcp/server-stdio.js +41 -1
  9. package/adapters/opencode/opencode.json +1 -1
  10. package/bench/thumbgate-bench.json +2 -2
  11. package/bin/cli.js +184 -8
  12. package/bin/dashboard-cli.js +7 -0
  13. package/config/gate-classifier-routing.json +98 -0
  14. package/config/gate-templates.json +60 -0
  15. package/config/mcp-allowlists.json +8 -7
  16. package/config/model-candidates.json +71 -6
  17. package/package.json +28 -12
  18. package/public/about.html +162 -0
  19. package/public/chatgpt-app.html +330 -0
  20. package/public/codex-plugin.html +66 -14
  21. package/public/compare.html +2 -2
  22. package/public/dashboard.html +224 -36
  23. package/public/guide.html +2 -2
  24. package/public/index.html +122 -40
  25. package/public/learn.html +70 -0
  26. package/public/lessons.html +129 -6
  27. package/public/numbers.html +2 -2
  28. package/public/pricing.html +28 -23
  29. package/public/pro.html +3 -3
  30. package/scripts/agent-operations-planner.js +621 -0
  31. package/scripts/agent-reward-model.js +53 -1
  32. package/scripts/ai-component-inventory.js +367 -0
  33. package/scripts/classifier-routing.js +130 -0
  34. package/scripts/cli-schema.js +26 -0
  35. package/scripts/commercial-offer.js +10 -2
  36. package/scripts/dashboard-chat.js +199 -51
  37. package/scripts/feedback-sanitizer.js +105 -0
  38. package/scripts/gates-engine.js +301 -67
  39. package/scripts/hybrid-feedback-context.js +141 -7
  40. package/scripts/memory-scope-readiness.js +159 -0
  41. package/scripts/oss-pr-opportunity-scout.js +35 -5
  42. package/scripts/parallel-workflow-orchestrator.js +293 -0
  43. package/scripts/plausible-domain-config.js +86 -0
  44. package/scripts/plausible-server-events.js +4 -2
  45. package/scripts/proxy-pointer-rag-guardrails.js +42 -1
  46. package/scripts/qa-scenario-planner.js +136 -0
  47. package/scripts/rate-limiter.js +2 -2
  48. package/scripts/repeat-metric.js +28 -12
  49. package/scripts/secret-fixture-tokens.js +61 -0
  50. package/scripts/secret-scanner.js +44 -5
  51. package/scripts/security-scanner.js +80 -0
  52. package/scripts/seo-gsd.js +113 -0
  53. package/scripts/thumbgate-bench.js +16 -1
  54. package/scripts/tool-registry.js +37 -0
  55. package/scripts/workflow-sentinel.js +282 -54
  56. package/src/api/server.js +466 -60
  57. package/.claude-plugin/marketplace.json +0 -85
@@ -5,9 +5,9 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  __GOOGLE_SITE_VERIFICATION_META__
7
7
  <title>Pricing — ThumbGate</title>
8
- <meta name="description" content="ThumbGate pricing: free CLI forever, $19/mo Pro dashboard, and intake-led Team enforcement at $49/seat after scope. One clear subscription path.">
8
+ <meta name="description" content="ThumbGate pricing: free CLI forever, $19/mo Pro dashboard, and custom Enterprise enforcement scoped after intake. One clear subscription path.">
9
9
  <meta property="og:title" content="Pricing — ThumbGate">
10
- <meta property="og:description" content="Free CLI, Pro self-serve, and Team after workflow scope. No mixed consulting checkout maze.">
10
+ <meta property="og:description" content="Free CLI, Pro self-serve, and Enterprise after workflow scope. No mixed consulting checkout maze.">
11
11
  <meta property="og:type" content="website">
12
12
  <meta property="og:url" content="__APP_ORIGIN__/pricing">
13
13
  <meta property="og:image" content="/og.png">
@@ -40,7 +40,7 @@ __GA_BOOTSTRAP__
40
40
  { "@type": "Offer", "name": "ThumbGate CLI (Free)", "price": "0", "priceCurrency": "USD" },
41
41
  { "@type": "Offer", "name": "ThumbGate Pro Monthly", "price": "__PRO_PRICE_DOLLARS__", "priceCurrency": "USD", "url": "__APP_ORIGIN__/checkout/pro?plan_id=pro&billing_cycle=monthly&landing_path=%2Fpricing" },
42
42
  { "@type": "Offer", "name": "ThumbGate Pro Annual", "price": "149", "priceCurrency": "USD", "url": "__APP_ORIGIN__/checkout/pro?plan_id=pro&billing_cycle=annual&landing_path=%2Fpricing" },
43
- { "@type": "Offer", "name": "ThumbGate Team", "price": "49", "priceCurrency": "USD", "url": "__APP_ORIGIN__/#workflow-sprint-intake" }
43
+ { "@type": "Offer", "name": "ThumbGate Enterprise", "priceCurrency": "USD", "url": "__APP_ORIGIN__/#workflow-sprint-intake" }
44
44
  ]
45
45
  }
46
46
  </script>
@@ -51,9 +51,9 @@ __GA_BOOTSTRAP__
51
51
  "@type": "FAQPage",
52
52
  "mainEntity": [
53
53
  { "@type": "Question", "name": "What does Pro add over the free CLI?", "acceptedAnswer": { "@type": "Answer", "text": "Free gives you 5 captures/day and 3 active rules, running entirely on your machine. Pro is the hosted layer: unlimited captures, unlimited rules, lesson sync across machines, a dashboard without self-hosting, managed adapter updates, and DPO export. You're paying for infrastructure we run, not features we hide." } },
54
- { "@type": "Question", "name": "Does ThumbGate send my code to the cloud?", "acceptedAnswer": { "@type": "Answer", "text": "No. The CLI is local-first — no data leaves your machine. Pro and Team add hosted sync for dashboards and shared lessons, but your source code stays local." } },
55
- { "@type": "Question", "name": "When should I pick Team over Pro?", "acceptedAnswer": { "@type": "Answer", "text": "When one engineer's correction should protect the whole team. Team shares the lesson database across seats so a fix in one repo prevents the same mistake in every repo." } },
56
- { "@type": "Question", "name": "Can I cancel anytime?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Pro and Team are month-to-month with a 7-day refund window on the first charge. Cancel from the billing portal and your subscription ends at the period close." } }
54
+ { "@type": "Question", "name": "Does ThumbGate send my code to the cloud?", "acceptedAnswer": { "@type": "Answer", "text": "No. The CLI is local-first — no data leaves your machine. Pro and Enterprise add hosted sync for dashboards and shared lessons, but your source code stays local." } },
55
+ { "@type": "Question", "name": "When should I pick Enterprise over Pro?", "acceptedAnswer": { "@type": "Answer", "text": "When one engineer's correction should protect the whole team. Enterprise shares the lesson database across the org so a fix in one repo prevents the same mistake in every repo." } },
56
+ { "@type": "Question", "name": "Can I cancel anytime?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Pro and Enterprise are month-to-month with a 7-day refund window on the first charge. Cancel from the billing portal and your subscription ends at the period close." } }
57
57
  ]
58
58
  }
59
59
  </script>
@@ -251,8 +251,7 @@ __GA_BOOTSTRAP__
251
251
  <div class="tier">Pro</div>
252
252
  <div class="price">$19<span>/mo</span></div>
253
253
  <div class="price-sub">
254
- The free CLI runs your gates locally and never expires.
255
- Pro is what we operate for you: hosted lesson sync across all your machines, adapter matrix kept current as agent runtimes ship breaking changes, and a dashboard you never have to self-host.
254
+ <strong>Don't buy a tool — buy hosted sync + compatibility insurance.</strong> The free CLI runs your gates locally, but Pro is what we operate for you: secure SQLite sync across all your machines (saving you from managing database migrations manually across developer boxes) and active adapter maintenance to stay compatible with weekly breaking updates in Claude Code, Cursor, and Cline.
256
255
  </div>
257
256
  <ul>
258
257
  <li><strong>Hosted lesson sync</strong> — corrections follow you across machines, no manual export</li>
@@ -267,27 +266,29 @@ __GA_BOOTSTRAP__
267
266
  <p class="btn-sub">or $149/year (save 35%)</p>
268
267
  </div>
269
268
 
270
- <div class="price-card team-card" id="team">
271
- <div class="tier">Team</div>
272
- <div class="price">$49<span>/seat/mo</span></div>
273
- <div class="price-sub">Shared enforcement memory for the whole team. One engineer's save protects every agent.</div>
269
+ <div class="price-card enterprise-card" id="enterprise">
270
+ <div class="tier">Enterprise</div>
271
+ <div class="price">Custom<span> / scoped after intake</span></div>
272
+ <div class="price-sub">Shared enforcement for the whole team and regulated workflows. One engineer's save protects every agent.</div>
274
273
  <ul>
275
- <li>Everything in Pro for each seat</li>
274
+ <li>Everything in Pro, for every developer and agent</li>
276
275
  <li><strong>Shared lesson database</strong> — one engineer's fix protects every agent on the team</li>
277
276
  <li><strong>Org dashboard</strong> — visibility across all agent surfaces and developers</li>
278
- <li>Check template library for deploys, publish, and DB operations</li>
279
- <li>Email support during pilot rollout</li>
280
- <li>3-seat minimum after scope; rollout starts only after workflow and proof review are explicit</li>
277
+ <li><strong>Dialogflow CX fulfillment guard</strong> — put ThumbGate's pre-action gate in front of your Dialogflow CX webhook fulfillment, in your own GCP tenant, so risky or repeat turns are blocked before they touch a DB, CRM, or billing system (white-glove design-partner pilot)</li>
278
+ <li><strong>Vertex AI / VPC gating</strong> — route agent checks through Gemini in your own Google Cloud project (<code>npx thumbgate setup-vertex</code>)</li>
279
+ <li><strong>Regulatory gate templates</strong> legal intake, financial compliance, healthcare</li>
280
+ <li>Custom policy layers, compliance audit export, approval boundaries, SSO, and dedicated onboarding with SLA</li>
281
+ <li>Rollout starts only after workflow and proof review are explicit</li>
281
282
  </ul>
282
- <a class="btn-team" href="/?utm_source=pricing&utm_medium=team_card&utm_campaign=team_intake&cta_id=pricing_team_intake&cta_placement=pricing&plan_id=team#workflow-sprint-intake" onclick="try{posthog.capture('pricing_cta_click',{cta:'team_intake',tier:'team',placement:'pricing_page',price:0})}catch(_){};try{plausible('pricing_cta_click',{props:{cta:'team_intake',tier:'team'}})}catch(_){}">Send team workflow first</a>
283
- <p class="btn-sub">Rollout starts through intake so the workflow is scoped before checkout.</p>
283
+ <a class="btn-team" href="/?utm_source=pricing&utm_medium=enterprise_card&utm_campaign=enterprise_intake&cta_id=pricing_enterprise_intake&cta_placement=pricing&plan_id=enterprise#workflow-sprint-intake" onclick="try{posthog.capture('pricing_cta_click',{cta:'enterprise_intake',tier:'enterprise',placement:'pricing_page',price:0})}catch(_){};try{plausible('pricing_cta_click',{props:{cta:'enterprise_intake',tier:'enterprise'}})}catch(_){}">Talk to us</a>
284
+ <p class="btn-sub">Custom pricing, scoped through intake so the workflow is explicit before checkout.</p>
284
285
  </div>
285
286
 
286
287
  </div>
287
288
 
288
289
  <div style="text-align:center;margin:32px 0;color:var(--text-muted);font-size:14px;">
289
290
  Need founder help? Do not buy a blind diagnostic from a pricing table.
290
- <a href="/?utm_source=pricing&utm_medium=scope_first&utm_campaign=team_intake&cta_id=pricing_scope_first&cta_placement=pricing_note&plan_id=team#workflow-sprint-intake" style="color:var(--cyan);text-decoration:none;font-weight:600;" onclick="try{posthog.capture('pricing_cta_click',{cta:'scope_first',tier:'team',price:0})}catch(_){};try{plausible('pricing_cta_click',{props:{cta:'scope_first',tier:'team'}})}catch(_){}">Send the workflow first</a> — then we scope the smallest paid rollout that can prove one repeated failure is blocked.
291
+ <a href="/?utm_source=pricing&utm_medium=scope_first&utm_campaign=enterprise_intake&cta_id=pricing_scope_first&cta_placement=pricing_note&plan_id=enterprise#workflow-sprint-intake" style="color:var(--cyan);text-decoration:none;font-weight:600;" onclick="try{posthog.capture('pricing_cta_click',{cta:'scope_first',tier:'enterprise',price:0})}catch(_){};try{plausible('pricing_cta_click',{props:{cta:'scope_first',tier:'enterprise'}})}catch(_){}">Send the workflow first</a> — then we scope the smallest paid rollout that can prove one repeated failure is blocked.
291
292
  </div>
292
293
  </section>
293
294
 
@@ -299,17 +300,21 @@ __GA_BOOTSTRAP__
299
300
  <div class="faq-q">What does Pro add over the free CLI?</div>
300
301
  <div class="faq-a">Free gives you 5 captures/day and 3 active rules, running entirely on your machine. Pro is the hosted layer: unlimited captures, unlimited rules, lesson sync across machines, a dashboard without self-hosting, managed adapter updates, and DPO export. You're paying for infrastructure we run, not features we hide.</div>
301
302
  </div>
303
+ <div class="faq-item">
304
+ <div class="faq-q">Why not just use an enterprise AI control plane?</div>
305
+ <div class="faq-a">Enterprise control planes govern agents from a server-side gateway, sold to platform teams on a Fortune-500 timeline. ThumbGate runs local-first, in the PreToolUse hook on your machine, and ships enforcement for the coding agents developers actually use today — Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode — with an <code>npm install</code> and minutes to value, not a procurement cycle.</div>
306
+ </div>
302
307
  <div class="faq-item">
303
308
  <div class="faq-q">Does ThumbGate send my code to the cloud?</div>
304
- <div class="faq-a">No. The CLI is local-first and no source code leaves your machine. Pro and Team add hosted sync for dashboards and shared lessons, but your code stays local.</div>
309
+ <div class="faq-a">No. The CLI is local-first and no source code leaves your machine. Pro and Enterprise add hosted sync for dashboards and shared lessons, but your code stays local.</div>
305
310
  </div>
306
311
  <div class="faq-item">
307
- <div class="faq-q">When should I pick Team over Pro?</div>
308
- <div class="faq-a">When one engineer's correction should protect the whole team. Team shares the lesson database across seats so a fix in one repo prevents the same mistake in every repo.</div>
312
+ <div class="faq-q">When should I pick Enterprise over Pro?</div>
313
+ <div class="faq-a">When one engineer's correction should protect the whole team. Enterprise shares the lesson database across the org so a fix in one repo prevents the same mistake in every repo.</div>
309
314
  </div>
310
315
  <div class="faq-item">
311
316
  <div class="faq-q">Can I cancel anytime?</div>
312
- <div class="faq-a">Yes. Pro and Team are month-to-month with a 7-day refund window on the first charge. Cancel from the billing portal and your subscription ends at the period close.</div>
317
+ <div class="faq-a">Yes. Pro and Enterprise are month-to-month with a 7-day refund window on the first charge. Cancel from the billing portal and your subscription ends at the period close.</div>
313
318
  </div>
314
319
  <div class="faq-item">
315
320
  <div class="faq-q">What happens if I stop paying?</div>
package/public/pro.html CHANGED
@@ -924,11 +924,11 @@ __GA_BOOTSTRAP__
924
924
 
925
925
  <div class="pricing-sidebar">
926
926
  <div class="team-card">
927
- <div class="section-label" style="text-align:left;margin-bottom:8px;">When Team is better</div>
927
+ <div class="section-label" style="text-align:left;margin-bottom:8px;">When Enterprise is better</div>
928
928
  <h3>Need shared enforcement?</h3>
929
- <p>Choose Team when one correction must protect multiple developers or agents across shared repositories, CI, approval policies, and audit trails. Team is $49/seat/mo with a 3-seat minimum after qualification.</p>
929
+ <p>Choose Enterprise when one correction must protect multiple developers or agents across shared repositories, CI, approval policies, and audit trails. Enterprise is custom pricing, scoped after intake.</p>
930
930
  <div class="hero-actions" style="margin-top:18px;">
931
- <a class="btn-secondary" href="/#workflow-sprint-intake">Book a Team Pilot Call</a>
931
+ <a class="btn-secondary" href="/#workflow-sprint-intake">Book an Enterprise Pilot Call</a>
932
932
  </div>
933
933
  </div>
934
934
  <div class="team-card">