@carrierllc/mcp 0.2.18 → 0.2.20

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 (45) hide show
  1. package/README.md +22 -1
  2. package/dist/chunk-NHQDO2E7.js +461 -0
  3. package/dist/chunk-NHQDO2E7.js.map +1 -0
  4. package/dist/cli.js +877 -148
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.js +148 -297
  7. package/dist/index.js.map +1 -1
  8. package/package.json +6 -6
  9. package/plugin/carrier/commands/storefront.md +24 -12
  10. package/plugin/carrier/skills/carrier-operations/SKILL.md +4 -1
  11. package/templates/storefront/{next.config.ts → next.config.mjs} +2 -6
  12. package/templates/storefront/package-lock.json +12722 -0
  13. package/templates/storefront/package.json +3 -3
  14. package/templates/storefront/public/brand/logo.svg +13 -0
  15. package/templates/storefront/src/app/activate/[orderId]/ActivateClient.tsx +12 -12
  16. package/templates/storefront/src/app/checkout/[templateId]/CheckoutClient.tsx +5 -5
  17. package/templates/storefront/src/app/checkout/success/CheckoutSuccessClient.tsx +29 -29
  18. package/templates/storefront/src/app/checkout/success/page.tsx +1 -1
  19. package/templates/storefront/src/app/contact/page.tsx +33 -25
  20. package/templates/storefront/src/app/dashboard/page.tsx +7 -4
  21. package/templates/storefront/src/app/globals.css +72 -82
  22. package/templates/storefront/src/app/help/page.tsx +22 -17
  23. package/templates/storefront/src/app/layout.tsx +15 -4
  24. package/templates/storefront/src/app/page.tsx +16 -7
  25. package/templates/storefront/src/app/shop/ShopClient.tsx +7 -3
  26. package/templates/storefront/src/app/sign-in/[[...sign-in]]/page.tsx +1 -1
  27. package/templates/storefront/src/app/sign-up/[[...sign-up]]/StorefrontSignUpClient.tsx +16 -16
  28. package/templates/storefront/src/app/sign-up/[[...sign-up]]/page.tsx +1 -1
  29. package/templates/storefront/src/brand.config.ts +3 -3
  30. package/templates/storefront/src/components/faq/FaqSection.tsx +23 -26
  31. package/templates/storefront/src/components/footer/StorefrontFooter.tsx +37 -22
  32. package/templates/storefront/src/components/landing/FinalCTA.tsx +28 -0
  33. package/templates/storefront/src/components/landing/HeroSection.tsx +57 -24
  34. package/templates/storefront/src/components/landing/HowItWorks.tsx +44 -0
  35. package/templates/storefront/src/components/landing/PlanCard.tsx +58 -28
  36. package/templates/storefront/src/components/nav/StorefrontNav.tsx +59 -24
  37. package/templates/storefront/src/components/theme/BrandStyles.tsx +8 -0
  38. package/templates/storefront/src/components/theme/ThemeToggle.tsx +27 -0
  39. package/templates/storefront/src/components/theme/clerk-appearance.ts +33 -35
  40. package/templates/storefront/src/components/theme/theme-provider.tsx +25 -32
  41. package/templates/storefront/src/components/theme/theme-script.tsx +4 -7
  42. package/templates/storefront/src/lib/checkout-order-claim.ts +16 -2
  43. package/templates/storefront/src/lib/complete-email-sign-up.ts +3 -3
  44. package/templates/storefront/src/lib/verify-checkout-session.ts +19 -2
  45. package/templates/storefront/src/vendor/ui/brand.ts +6 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrierllc/mcp",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "Carrier MCP \u2014 natural-language control of MVNO/eSIM fleets via eSIMVault OCS. Stdio mode for direct integration with Claude Desktop, Cursor, Windsurf, and MCP-compatible clients. Ships the `carrier` CLI (plugin install + white-label eSIM storefront scaffold).",
5
5
  "license": "MIT",
6
6
  "author": "Carrier (Lifecycle Innovations Limited)",
@@ -26,21 +26,21 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@clack/prompts": "^0.7.0",
29
- "@clerk/backend": "^3.11.3",
30
- "@modelcontextprotocol/ext-apps": "^1.7.4",
29
+ "@clerk/backend": "^3.14.0",
30
+ "@modelcontextprotocol/ext-apps": "^1.7.5",
31
31
  "@modelcontextprotocol/sdk": "^1.29.0",
32
32
  "@noble/hashes": "^1.8.0",
33
33
  "@sentry/cloudflare": "^10.65.0",
34
34
  "aws4fetch": "^1.0.20",
35
- "commander": "^12.1.0",
35
+ "commander": "^15.0.0",
36
36
  "picocolors": "^1.1.1",
37
37
  "zod": "^4.4.3"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@cloudflare/workers-types": "^4.20260521.1",
41
- "@types/node": "^22.19.19",
41
+ "@types/node": "^26.1.2",
42
42
  "@typescript-eslint/eslint-plugin": "^8.59.4",
43
- "@typescript-eslint/parser": "^8.59.4",
43
+ "@typescript-eslint/parser": "^8.67.0",
44
44
  "eslint": "^9.39.4",
45
45
  "tsup": "^8.5.1",
46
46
  "typescript": "^5.9.3",
@@ -1,21 +1,33 @@
1
1
  ---
2
- description: Scaffold, white-label, and deploy your eSIM storefront
3
- argument-hint: "[create|deploy|rebrand] [dir]"
2
+ description: Scaffold, white-label, logo, and deploy your eSIM storefront
3
+ argument-hint: "[create|logo|deploy|rebrand] [dir]"
4
4
  ---
5
5
 
6
6
  # Storefront
7
7
 
8
- Roll out the customer-facing eSIM storefront (Mango template, white-labeled) that sits on top of your Carrier fleet.
8
+ Roll out the customer-facing eSIM storefront (Mango template, white-labeled) on top of your Carrier fleet.
9
9
 
10
- This wraps the `@carrierllc/cli` scaffolder.
10
+ Works for **any developer** with Carrier MCP (`https://mcp.carrier.llc/mcp`) or the `carrier` CLI. You do not need an image-API key on your laptop.
11
11
 
12
- - **create** → run `npx @carrierllc/cli site create <dir>` (or `carrier site create`). Capture brand name, domain, accent color, support email; it generates `src/brand.config.ts` and a buildable Next.js storefront.
13
- - **rebrand** edit `src/brand.config.ts` in the storefront dir (name, colors, tagline, domain, support, social) — the single white-label surface — then rebuild.
14
- - **deploy** → `npx @carrierllc/cli site deploy <dir>` builds and pushes to Cloudflare Pages. Requires `wrangler login`.
12
+ - **create** → `carrier site create <dir>`
13
+ Captures brand name, domain, accent, support email. Writes `src/brand.config.ts` **and** `public/brand/logo.svg` (unique mark from the brand name + accent).
14
+ - **logo** → `carrier site logo <dir>` or MCP tool `generate_storefront_logo`
15
+ Regenerates the mark. SVG always. PNG is added only when Carrier (or this box) has an OpenAI image key — optional, never required.
16
+ - **rebrand** → edit `src/brand.config.ts`, then `carrier site logo <dir>` and rebuild.
17
+ - **deploy** → `carrier site deploy <dir>` (Cloudflare Workers). Requires `wrangler login`.
15
18
 
16
- Wire-up notes:
17
- - The storefront talks to your control plane via `NEXT_PUBLIC_CARRIER_API_URL` (`.env.local`).
18
- - Plans shown to customers come from `pricing_plans` / `list_package_templates`; keep them in sync.
19
- - Checkout provisions through the same fleet — confirm `credential_status` is healthy before going live.
19
+ MCP (any authenticated Carrier user):
20
20
 
21
- After deploy, verify the live URL renders and the plans match `pricing_plans`.
21
+ ```
22
+ generate_storefront_logo
23
+ name: Bananas
24
+ accent: #FF8A00
25
+ tagline: Travel eSIM that just works.
26
+ ```
27
+
28
+ Write the returned `svg` to `public/brand/logo.svg`. Nav and icons read that path.
29
+
30
+ Wire-up:
31
+ - `NEXT_PUBLIC_CARRIER_API_URL` in `.env.local`
32
+ - Plans from `list_package_templates` / `pricing_plans`
33
+ - Confirm `credential_status` before going live
@@ -30,6 +30,9 @@ Carrier is a programmable connectivity control plane (the "Stripe of telecom") e
30
30
  ## Fleet & platform
31
31
  `fleet_health` · `fleet_health_app` · `list_recent_ocs_events` · `rate_limit_status` · `carrier_ocs_calls_per_min` · `environment_info` · `credential_status` · `rotate_credentials` · `list_reseller_accounts` · `get_reseller_info` · `send_sms`
32
32
 
33
+ ## Storefront
34
+ `generate_storefront_logo` (any authenticated MCP user) · CLI `carrier site create` writes `public/brand/logo.svg` · `carrier site logo` regenerates. Optional PNG if Carrier/worker has `OPENAI_API_KEY`.
35
+
33
36
  ## Gated surfaces (not free-tier defaults)
34
37
  - **Steel ui_agent_*** — requires `STEEL_API_KEY` / ops config; UI-only OCS ops.
35
38
  - **`stripe_proxy_call`** — Pro/Enterprise Stripe Agent Toolkit multiplexer.
@@ -40,4 +43,4 @@ Carrier is a programmable connectivity control plane (the "Stripe of telecom") e
40
43
  2. **Confirm money & live-service changes** — status changes, balance/package mutations, wallet top-ups, `clean_all_packages`, `rotate_credentials`, outbound `send_sms`.
41
44
  3. **Right quantity only** — never over-provision; check `credit_balance` and (managed mode) `wallet_balance` first.
42
45
  4. **Diagnose, don't guess** — use `diagnose_subscriber` + event tools for faults.
43
- 5. The storefront layer (white-label Mango template) is scaffolded/deployed via `@carrierllc/cli`; keep its plans synced with `pricing_plans`.
46
+ 5. Storefront: `carrier site create` / `carrier site logo`, or MCP `generate_storefront_logo`. SVG mark is generated for every operator no local image-API key required. Keep plans synced with `pricing_plans`.
@@ -1,4 +1,3 @@
1
- import type { NextConfig } from "next";
2
1
  import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare";
3
2
  import { fileURLToPath } from "url";
4
3
  import { dirname } from "path";
@@ -8,15 +7,12 @@ initOpenNextCloudflareForDev();
8
7
  const __filename = fileURLToPath(import.meta.url);
9
8
  const __dirname = dirname(__filename);
10
9
 
11
- const nextConfig: NextConfig = {
10
+ /** @type {import("next").NextConfig} */
11
+ const nextConfig = {
12
12
  images: {
13
13
  unoptimized: true,
14
14
  },
15
15
  outputFileTracingRoot: __dirname,
16
- eslint: {
17
- // Template ships with a minimal ESLint config; lint separately via `pnpm lint`
18
- ignoreDuringBuilds: true,
19
- },
20
16
  };
21
17
 
22
18
  export default nextConfig;