@carrierllc/mcp 0.11.17 → 0.12.0
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/dist/{chunk-EHGZRVSO.js → chunk-J52VP7E7.js} +14 -2
- package/dist/chunk-J52VP7E7.js.map +1 -0
- package/dist/cli.js +13 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/plugin/carrier/agents/carrier-storefront-builder.md +3 -3
- package/plugin/carrier/skills/storefront/SKILL.md +2 -2
- package/templates/storefront/src/app/activate/[orderId]/ActivateClient.tsx +145 -14
- package/templates/storefront/src/app/activate/[orderId]/page.tsx +1 -1
- package/templates/storefront/src/app/api/checkout/guest/route.ts +72 -9
- package/templates/storefront/src/app/api/orders/[orderId]/cancel/route.ts +33 -0
- package/templates/storefront/src/app/api/orders/[orderId]/top-up-options/route.ts +28 -0
- package/templates/storefront/src/app/api/orders/[orderId]/usage/route.ts +25 -0
- package/templates/storefront/src/app/api/profile/phone/route.ts +1 -1
- package/templates/storefront/src/app/checkout/[templateId]/CheckoutClient.tsx +142 -39
- package/templates/storefront/src/app/checkout/success/CheckoutSuccessClient.tsx +1 -1
- package/templates/storefront/src/app/checkout/success/page.tsx +1 -1
- package/templates/storefront/src/app/dashboard/EsimControls.tsx +293 -0
- package/templates/storefront/src/app/dashboard/page.tsx +12 -1
- package/templates/storefront/src/app/shop/ShopClient.tsx +126 -5
- package/templates/storefront/src/app/sign-up/[[...sign-up]]/StorefrontSignUpClient.tsx +1 -1
- package/templates/storefront/src/app/sign-up/[[...sign-up]]/page.tsx +1 -1
- package/templates/storefront/src/brand.config.ts +19 -0
- package/templates/storefront/src/components/checkout/EmbeddedStripeCheckout.tsx +191 -0
- package/templates/storefront/src/components/landing/PlanCard.tsx +12 -4
- package/templates/storefront/src/lib/checkout-order-claim.ts +68 -4
- package/templates/storefront/src/lib/order-route-guard.ts +85 -0
- package/templates/storefront/src/middleware.ts +1 -1
- package/templates/storefront/src/vendor/carrier/client.ts +86 -1
- package/templates/storefront/src/vendor/carrier/types.ts +34 -0
- package/templates/storefront/src/vendor/geo/index.ts +45 -0
- package/templates/storefront/src/vendor/ui/brand.ts +8 -1
- package/dist/chunk-EHGZRVSO.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
verifyStorefront,
|
|
40
40
|
walletScreen,
|
|
41
41
|
which
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-J52VP7E7.js";
|
|
43
43
|
import {
|
|
44
44
|
copyTree,
|
|
45
45
|
exists,
|
|
@@ -210,10 +210,8 @@ async function scaffoldStorefront(target, brand) {
|
|
|
210
210
|
await copyTree(template, target);
|
|
211
211
|
await pruneTree(template, target);
|
|
212
212
|
const subs = [
|
|
213
|
-
|
|
214
|
-
["\u{1F96D}", ""]
|
|
213
|
+
...deriveAccentPaletteSubs(brand.colors.accent, brand.colors.accentDark)
|
|
215
214
|
];
|
|
216
|
-
subs.push(...deriveAccentPaletteSubs(brand.colors.accent, brand.colors.accentDark));
|
|
217
215
|
if (brand.colors.bg.toUpperCase() !== "#080C16") subs.push(["#080C16", brand.colors.bg]);
|
|
218
216
|
if (brand.colors.text.toUpperCase() !== "#F5F1EA") subs.push(["#F5F1EA", brand.colors.text]);
|
|
219
217
|
await replaceInTree(target, subs);
|
|
@@ -236,6 +234,10 @@ async function patchBrandConfig(path, brand) {
|
|
|
236
234
|
setField("supportUrl", brand.supportUrl);
|
|
237
235
|
setField("supportEmail", brand.supportEmail);
|
|
238
236
|
setField("supportWhatsapp", brand.supportWhatsapp);
|
|
237
|
+
setField("description", brand.description);
|
|
238
|
+
setField("emailFromName", brand.emailFromName);
|
|
239
|
+
setField("emailFromMailbox", brand.emailFromMailbox);
|
|
240
|
+
setField("appUrl", brand.appUrl);
|
|
239
241
|
setField("accent", brand.colors.accent);
|
|
240
242
|
setField("accentDark", brand.colors.accentDark);
|
|
241
243
|
setField("accentLight", deriveAccentLight(brand.colors.accent));
|
|
@@ -4266,10 +4268,13 @@ async function promptBrand(seed) {
|
|
|
4266
4268
|
name,
|
|
4267
4269
|
legalName: name,
|
|
4268
4270
|
tagline: isCarrier ? seed.tagline : `Mobile connectivity by ${name}.`,
|
|
4271
|
+
description: isCarrier ? seed.description : `Mobile data from ${name}. Instant QR activation, no contract.`,
|
|
4269
4272
|
domain,
|
|
4270
4273
|
supportEmail,
|
|
4271
4274
|
supportUrl: `https://${domain}/help`,
|
|
4272
4275
|
supportWhatsapp: isCarrier ? seed.supportWhatsapp : "",
|
|
4276
|
+
emailFromName: name,
|
|
4277
|
+
appUrl: `https://${domain}`,
|
|
4273
4278
|
social: isCarrier ? seed.social : {},
|
|
4274
4279
|
colors: { ...seed.colors, accent, accentDark }
|
|
4275
4280
|
};
|
|
@@ -5032,7 +5037,7 @@ program.command("dash [domain]").description(`Render a status screen in the term
|
|
|
5032
5037
|
);
|
|
5033
5038
|
});
|
|
5034
5039
|
var site = program.command("site").description("Scaffold and deploy a white-labeled storefront.");
|
|
5035
|
-
site.command("create [dir]").description("Scaffold a white-labeled storefront from the
|
|
5040
|
+
site.command("create [dir]").description("Scaffold a white-labeled storefront from the bundled template.").option("--name <name>", "Brand name").option("--domain <domain>", "Domain").option("--accent <hex>", "Accent color").option("--yes", "Carrier defaults, no prompts").action(async (dir, o) => {
|
|
5036
5041
|
header();
|
|
5037
5042
|
let brand = { ...CARRIER_BRAND };
|
|
5038
5043
|
if (o.name || o.domain || o.accent) {
|
|
@@ -5045,9 +5050,12 @@ site.command("create [dir]").description("Scaffold a white-labeled storefront fr
|
|
|
5045
5050
|
domain,
|
|
5046
5051
|
legalName: o.name ?? brand.legalName,
|
|
5047
5052
|
tagline: o.name ? `Mobile connectivity by ${o.name}.` : brand.tagline,
|
|
5053
|
+
description: o.name ? `Mobile data from ${o.name}. Instant QR activation, no contract.` : brand.description,
|
|
5048
5054
|
supportEmail: `support@${domain}`,
|
|
5049
5055
|
supportUrl: `https://${domain}/help`,
|
|
5050
5056
|
supportWhatsapp: isCarrier ? brand.supportWhatsapp : "",
|
|
5057
|
+
emailFromName: name,
|
|
5058
|
+
appUrl: `https://${domain}`,
|
|
5051
5059
|
social: isCarrier ? brand.social : {},
|
|
5052
5060
|
colors: {
|
|
5053
5061
|
...brand.colors,
|