@carrierllc/mcp 0.13.39 → 0.13.40
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 +11 -1
- package/dist/{chunk-I3Z5WYDG.js → chunk-WVXII7ZR.js} +13 -6
- package/dist/{chunk-I3Z5WYDG.js.map → chunk-WVXII7ZR.js.map} +1 -1
- package/dist/cli.js +28 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.js +155 -63
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,14 @@ Natural language control of your MVNO/eSIM fleet. 43 OCS tools + 9 intelligence
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## Durable inventory issuance
|
|
11
|
+
|
|
12
|
+
`assign_package` with `account_for_subs` (or no ICCID) calls the authenticated Carrier API's `/v1/subscribers/issue-from-inventory` route. Supply a stable `request_key`: 1–200 characters, first character alphanumeric, remaining characters alphanumeric, `_`, `.`, `:`, or `-`. No key is generated. Optional `business_reference` identifies an existing storefront order; the API must authorize it, it is not proof of ownership.
|
|
13
|
+
|
|
14
|
+
Set `CARRIER_API_TOKEN` to your own Carrier credential. Hosted MCP and `carrier packages assign --account-id … --template-id … --request-key … --commit` forward the current authenticated session credential. Explicit ICCID assignment remains the scoped OCS subscriber path, mutually exclusive with inventory/business reference.
|
|
15
|
+
|
|
16
|
+
Unknown response/transport outcomes preserve `request_key` and never trigger an automatic second dispatch. Reconcile using the same key; do not mint a replacement. Dry-run validates without allocating or resolving credentials.
|
|
17
|
+
|
|
10
18
|
## Quick start
|
|
11
19
|
|
|
12
20
|
### Interactive CLI (non-developers)
|
|
@@ -304,7 +312,9 @@ For multi-user deployments with OAuth 2.1 + PKCE, use the remote endpoint:
|
|
|
304
312
|
|
|
305
313
|
| Variable | Required | Default | Description |
|
|
306
314
|
|----------|----------|---------|-------------|
|
|
307
|
-
| `
|
|
315
|
+
| `CARRIER_API_TOKEN` | Inventory issuance | — | Your own authenticated Carrier API credential. Required for durable `assign_package` inventory; never falls back to an OCS token. |
|
|
316
|
+
| `CARRIER_API_BASE_URL` | No | `https://api.carrier.llc` | Carrier REST API origin for durable inventory. Do not use the OCS provider URL. |
|
|
317
|
+
| `ESIMVAULT_API_TOKEN` | Explicit OCS tools | — | Your eSIMVault OCS API token; not a Carrier API credential |
|
|
308
318
|
| `CARRIER_OCS_API_TOKEN` | Alternative | — | Alias for `ESIMVAULT_API_TOKEN` |
|
|
309
319
|
| `CARRIER_OCS_BASE_URL` | No | `https://ocs.esimvault.cloud` | OCS base URL (no trailing slash) |
|
|
310
320
|
| `BROWSER_USE_API_KEY` | No | — | Browser Use Cloud key. Enables the browsing agent (`ui_agent_ask`). Runs are billed to this key at roughly **$0.20–1.00 each** |
|
|
@@ -1855,7 +1855,7 @@ function storefrontScreen(input) {
|
|
|
1855
1855
|
// package.json
|
|
1856
1856
|
var package_default = {
|
|
1857
1857
|
name: "@carrierllc/mcp",
|
|
1858
|
-
version: "0.13.
|
|
1858
|
+
version: "0.13.40",
|
|
1859
1859
|
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).",
|
|
1860
1860
|
license: "MIT",
|
|
1861
1861
|
author: "Carrier (Lifecycle Innovations Limited)",
|
|
@@ -3097,7 +3097,7 @@ async function runWithBudget(method, attempt, budget = ocsBudgetFor(method)) {
|
|
|
3097
3097
|
throw lastTimeout ?? new OcsTimeoutError(method, budget.attemptMs, budget.totalMs, Math.max(attempts, 1));
|
|
3098
3098
|
}
|
|
3099
3099
|
|
|
3100
|
-
// ../../packages/ocs-client/dist/chunk-
|
|
3100
|
+
// ../../packages/ocs-client/dist/chunk-IU7WF2BY.js
|
|
3101
3101
|
var RATE_LIMIT = 10;
|
|
3102
3102
|
var WINDOW_MS = 1e3;
|
|
3103
3103
|
var windows = /* @__PURE__ */ new Map();
|
|
@@ -3563,9 +3563,16 @@ var OcsClient = class {
|
|
|
3563
3563
|
}
|
|
3564
3564
|
throw err;
|
|
3565
3565
|
}
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3566
|
+
const status = json !== null && typeof json === "object" && !Array.isArray(json) ? json.status : void 0;
|
|
3567
|
+
const ocsCode = status !== null && typeof status === "object" && !Array.isArray(status) ? status.code : void 0;
|
|
3568
|
+
if (typeof ocsCode !== "number" || !Number.isFinite(ocsCode)) {
|
|
3569
|
+
throw new OcsContractError(method, [{
|
|
3570
|
+
path: "status.code",
|
|
3571
|
+
message: "Expected a finite numeric OCS status code"
|
|
3572
|
+
}], json);
|
|
3573
|
+
}
|
|
3574
|
+
if (ocsCode !== 0) {
|
|
3575
|
+
const rawMsg = typeof status?.msg === "string" ? status.msg : "Unknown error";
|
|
3569
3576
|
const rawBody = json;
|
|
3570
3577
|
const { message, details } = ocsErrorMessage(ocsCode, rawMsg, rawBody);
|
|
3571
3578
|
throw new OcsApiError(ocsCode, message, method, details);
|
|
@@ -5534,4 +5541,4 @@ export {
|
|
|
5534
5541
|
package_default,
|
|
5535
5542
|
CARRIER_VERSION
|
|
5536
5543
|
};
|
|
5537
|
-
//# sourceMappingURL=chunk-
|
|
5544
|
+
//# sourceMappingURL=chunk-WVXII7ZR.js.map
|