@carrierllc/mcp 0.13.15 → 0.13.16
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/cli.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carrierllc/mcp",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.16",
|
|
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)",
|
|
@@ -72,6 +72,18 @@ const MOCK_TEMPLATES: SkuTemplate[] = [
|
|
|
72
72
|
},
|
|
73
73
|
];
|
|
74
74
|
|
|
75
|
+
/**
|
|
76
|
+
* How long the storefront may keep serving a catalog it already fetched.
|
|
77
|
+
*
|
|
78
|
+
* A price or bundle change made in Carrier must be visible within the agreed
|
|
79
|
+
* ceiling (CAR-281: 3600s ISR). The unscoped `/api/templates` answer also
|
|
80
|
+
* carries `public, max-age=60` upstream, so revalidate + 60s is the real
|
|
81
|
+
* worst case. It used to be 3600 for the unscoped read, which put the worst
|
|
82
|
+
* case at 3660s. Keep one value for both reads and keep it well under the
|
|
83
|
+
* ceiling; the scoped read is also busted by tag on save.
|
|
84
|
+
*/
|
|
85
|
+
export const CATALOG_REVALIDATE_SECONDS = 60;
|
|
86
|
+
|
|
75
87
|
/** Why the catalog is not live. Absent when `source` is "live". */
|
|
76
88
|
export type CatalogDegradedReason = "unconfigured" | "upstream-error" | "network-error";
|
|
77
89
|
|
|
@@ -109,8 +121,8 @@ export async function fetchTemplateCatalog(): Promise<TemplateCatalog> {
|
|
|
109
121
|
: "/api/templates";
|
|
110
122
|
const res = await fetch(`${base}${templatesPath}`, {
|
|
111
123
|
next: slug
|
|
112
|
-
? { revalidate:
|
|
113
|
-
: { revalidate:
|
|
124
|
+
? { revalidate: CATALOG_REVALIDATE_SECONDS, tags: [`storefront:${slug}`] }
|
|
125
|
+
: { revalidate: CATALOG_REVALIDATE_SECONDS },
|
|
114
126
|
});
|
|
115
127
|
if (!res.ok) return sampleCatalog("upstream-error");
|
|
116
128
|
const templates = (await res.json()) as SkuTemplate[];
|