@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.
- package/README.md +22 -1
- package/dist/chunk-NHQDO2E7.js +461 -0
- package/dist/chunk-NHQDO2E7.js.map +1 -0
- package/dist/cli.js +877 -148
- package/dist/cli.js.map +1 -1
- package/dist/index.js +148 -297
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/plugin/carrier/commands/storefront.md +24 -12
- package/plugin/carrier/skills/carrier-operations/SKILL.md +4 -1
- package/templates/storefront/{next.config.ts → next.config.mjs} +2 -6
- package/templates/storefront/package-lock.json +12722 -0
- package/templates/storefront/package.json +3 -3
- package/templates/storefront/public/brand/logo.svg +13 -0
- package/templates/storefront/src/app/activate/[orderId]/ActivateClient.tsx +12 -12
- package/templates/storefront/src/app/checkout/[templateId]/CheckoutClient.tsx +5 -5
- package/templates/storefront/src/app/checkout/success/CheckoutSuccessClient.tsx +29 -29
- package/templates/storefront/src/app/checkout/success/page.tsx +1 -1
- package/templates/storefront/src/app/contact/page.tsx +33 -25
- package/templates/storefront/src/app/dashboard/page.tsx +7 -4
- package/templates/storefront/src/app/globals.css +72 -82
- package/templates/storefront/src/app/help/page.tsx +22 -17
- package/templates/storefront/src/app/layout.tsx +15 -4
- package/templates/storefront/src/app/page.tsx +16 -7
- package/templates/storefront/src/app/shop/ShopClient.tsx +7 -3
- package/templates/storefront/src/app/sign-in/[[...sign-in]]/page.tsx +1 -1
- package/templates/storefront/src/app/sign-up/[[...sign-up]]/StorefrontSignUpClient.tsx +16 -16
- package/templates/storefront/src/app/sign-up/[[...sign-up]]/page.tsx +1 -1
- package/templates/storefront/src/brand.config.ts +3 -3
- package/templates/storefront/src/components/faq/FaqSection.tsx +23 -26
- package/templates/storefront/src/components/footer/StorefrontFooter.tsx +37 -22
- package/templates/storefront/src/components/landing/FinalCTA.tsx +28 -0
- package/templates/storefront/src/components/landing/HeroSection.tsx +57 -24
- package/templates/storefront/src/components/landing/HowItWorks.tsx +44 -0
- package/templates/storefront/src/components/landing/PlanCard.tsx +58 -28
- package/templates/storefront/src/components/nav/StorefrontNav.tsx +59 -24
- package/templates/storefront/src/components/theme/BrandStyles.tsx +8 -0
- package/templates/storefront/src/components/theme/ThemeToggle.tsx +27 -0
- package/templates/storefront/src/components/theme/clerk-appearance.ts +33 -35
- package/templates/storefront/src/components/theme/theme-provider.tsx +25 -32
- package/templates/storefront/src/components/theme/theme-script.tsx +4 -7
- package/templates/storefront/src/lib/checkout-order-claim.ts +16 -2
- package/templates/storefront/src/lib/complete-email-sign-up.ts +3 -3
- package/templates/storefront/src/lib/verify-checkout-session.ts +19 -2
- 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.
|
|
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.
|
|
30
|
-
"@modelcontextprotocol/ext-apps": "^1.7.
|
|
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": "^
|
|
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": "^
|
|
41
|
+
"@types/node": "^26.1.2",
|
|
42
42
|
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
43
|
-
"@typescript-eslint/parser": "^8.
|
|
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)
|
|
8
|
+
Roll out the customer-facing eSIM storefront (Mango template, white-labeled) on top of your Carrier fleet.
|
|
9
9
|
|
|
10
|
-
|
|
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** →
|
|
13
|
-
|
|
14
|
-
- **
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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;
|