@carrierllc/mcp 0.2.1 → 0.2.3

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 (129) hide show
  1. package/dist/index.d.ts +0 -13
  2. package/dist/index.js +9374 -77
  3. package/dist/index.js.map +1 -1
  4. package/package.json +11 -10
  5. package/dist/apps/app-state.d.ts +0 -19
  6. package/dist/apps/app-state.d.ts.map +0 -1
  7. package/dist/apps/app-state.js +0 -28
  8. package/dist/apps/app-state.js.map +0 -1
  9. package/dist/apps/balance-topup.d.ts +0 -19
  10. package/dist/apps/balance-topup.d.ts.map +0 -1
  11. package/dist/apps/balance-topup.js +0 -121
  12. package/dist/apps/balance-topup.js.map +0 -1
  13. package/dist/apps/fleet-health-app.d.ts +0 -29
  14. package/dist/apps/fleet-health-app.d.ts.map +0 -1
  15. package/dist/apps/fleet-health-app.js +0 -152
  16. package/dist/apps/fleet-health-app.js.map +0 -1
  17. package/dist/apps/index.d.ts +0 -37
  18. package/dist/apps/index.d.ts.map +0 -1
  19. package/dist/apps/index.js +0 -42
  20. package/dist/apps/index.js.map +0 -1
  21. package/dist/apps/provisioning-wizard.d.ts +0 -11
  22. package/dist/apps/provisioning-wizard.d.ts.map +0 -1
  23. package/dist/apps/provisioning-wizard.js +0 -345
  24. package/dist/apps/provisioning-wizard.js.map +0 -1
  25. package/dist/audit.d.ts +0 -31
  26. package/dist/audit.d.ts.map +0 -1
  27. package/dist/audit.js +0 -42
  28. package/dist/audit.js.map +0 -1
  29. package/dist/billing-thresholds.d.ts +0 -71
  30. package/dist/billing-thresholds.d.ts.map +0 -1
  31. package/dist/billing-thresholds.js +0 -238
  32. package/dist/billing-thresholds.js.map +0 -1
  33. package/dist/billing.d.ts +0 -95
  34. package/dist/billing.d.ts.map +0 -1
  35. package/dist/billing.js +0 -239
  36. package/dist/billing.js.map +0 -1
  37. package/dist/clerk.d.ts +0 -125
  38. package/dist/clerk.d.ts.map +0 -1
  39. package/dist/clerk.js +0 -389
  40. package/dist/clerk.js.map +0 -1
  41. package/dist/client.d.ts +0 -35
  42. package/dist/client.d.ts.map +0 -1
  43. package/dist/client.js +0 -85
  44. package/dist/client.js.map +0 -1
  45. package/dist/credits.d.ts +0 -165
  46. package/dist/credits.d.ts.map +0 -1
  47. package/dist/credits.js +0 -483
  48. package/dist/credits.js.map +0 -1
  49. package/dist/index.d.ts.map +0 -1
  50. package/dist/intelligence.d.ts +0 -4
  51. package/dist/intelligence.d.ts.map +0 -1
  52. package/dist/intelligence.js +0 -977
  53. package/dist/intelligence.js.map +0 -1
  54. package/dist/list-recent-ocs-events.d.ts +0 -48
  55. package/dist/list-recent-ocs-events.d.ts.map +0 -1
  56. package/dist/list-recent-ocs-events.js +0 -160
  57. package/dist/list-recent-ocs-events.js.map +0 -1
  58. package/dist/manus-client.d.ts +0 -429
  59. package/dist/manus-client.d.ts.map +0 -1
  60. package/dist/manus-client.js +0 -401
  61. package/dist/manus-client.js.map +0 -1
  62. package/dist/manus-common.d.ts +0 -5
  63. package/dist/manus-common.d.ts.map +0 -1
  64. package/dist/manus-common.js +0 -5
  65. package/dist/manus-common.js.map +0 -1
  66. package/dist/manus-schedule.d.ts +0 -74
  67. package/dist/manus-schedule.d.ts.map +0 -1
  68. package/dist/manus-schedule.js +0 -213
  69. package/dist/manus-schedule.js.map +0 -1
  70. package/dist/manus-usage.d.ts +0 -32
  71. package/dist/manus-usage.d.ts.map +0 -1
  72. package/dist/manus-usage.js +0 -120
  73. package/dist/manus-usage.js.map +0 -1
  74. package/dist/manus-webhook.d.ts +0 -60
  75. package/dist/manus-webhook.d.ts.map +0 -1
  76. package/dist/manus-webhook.js +0 -361
  77. package/dist/manus-webhook.js.map +0 -1
  78. package/dist/pricing-tools.d.ts +0 -26
  79. package/dist/pricing-tools.d.ts.map +0 -1
  80. package/dist/pricing-tools.js +0 -428
  81. package/dist/pricing-tools.js.map +0 -1
  82. package/dist/projects-tools.d.ts +0 -39
  83. package/dist/projects-tools.d.ts.map +0 -1
  84. package/dist/projects-tools.js +0 -545
  85. package/dist/projects-tools.js.map +0 -1
  86. package/dist/prompts.d.ts +0 -7
  87. package/dist/prompts.d.ts.map +0 -1
  88. package/dist/prompts.js +0 -151
  89. package/dist/prompts.js.map +0 -1
  90. package/dist/stripe-connect-tools.d.ts +0 -33
  91. package/dist/stripe-connect-tools.d.ts.map +0 -1
  92. package/dist/stripe-connect-tools.js +0 -504
  93. package/dist/stripe-connect-tools.js.map +0 -1
  94. package/dist/timing-safe-equal.d.ts +0 -5
  95. package/dist/timing-safe-equal.d.ts.map +0 -1
  96. package/dist/timing-safe-equal.js +0 -13
  97. package/dist/timing-safe-equal.js.map +0 -1
  98. package/dist/tools-backlog.d.ts +0 -37
  99. package/dist/tools-backlog.d.ts.map +0 -1
  100. package/dist/tools-backlog.js +0 -410
  101. package/dist/tools-backlog.js.map +0 -1
  102. package/dist/tools-carrier-ask.d.ts +0 -138
  103. package/dist/tools-carrier-ask.d.ts.map +0 -1
  104. package/dist/tools-carrier-ask.js +0 -913
  105. package/dist/tools-carrier-ask.js.map +0 -1
  106. package/dist/tools-pricing.d.ts +0 -18
  107. package/dist/tools-pricing.d.ts.map +0 -1
  108. package/dist/tools-pricing.js +0 -172
  109. package/dist/tools-pricing.js.map +0 -1
  110. package/dist/tools-ui-agent-ask.d.ts +0 -29
  111. package/dist/tools-ui-agent-ask.d.ts.map +0 -1
  112. package/dist/tools-ui-agent-ask.js +0 -272
  113. package/dist/tools-ui-agent-ask.js.map +0 -1
  114. package/dist/tools-ui-agent-schedule.d.ts +0 -29
  115. package/dist/tools-ui-agent-schedule.d.ts.map +0 -1
  116. package/dist/tools-ui-agent-schedule.js +0 -517
  117. package/dist/tools-ui-agent-schedule.js.map +0 -1
  118. package/dist/tools-ui-agent.d.ts +0 -40
  119. package/dist/tools-ui-agent.d.ts.map +0 -1
  120. package/dist/tools-ui-agent.js +0 -508
  121. package/dist/tools-ui-agent.js.map +0 -1
  122. package/dist/tools.d.ts +0 -60
  123. package/dist/tools.d.ts.map +0 -1
  124. package/dist/tools.js +0 -1384
  125. package/dist/tools.js.map +0 -1
  126. package/dist/types.d.ts +0 -298
  127. package/dist/types.d.ts.map +0 -1
  128. package/dist/types.js +0 -5
  129. package/dist/types.js.map +0 -1
@@ -1,545 +0,0 @@
1
- /**
2
- * Carrier MCP — Projects Tools (Stripe Projects CLI Pattern)
3
- *
4
- * Implements the Stripe Projects CLI paradigm for Carrier:
5
- * - Service catalog browsing (carrier ecosystem services)
6
- * - Credential vault management (API token rotation, env sync)
7
- * - Billing management via natural language (upgrade/downgrade)
8
- * - LLM context generation for AI agent workflows
9
- * - Multi-environment management (dev/staging/prod)
10
- *
11
- * These tools enable AI agents to:
12
- * 1. Discover and provision Carrier services
13
- * 2. Manage credentials securely
14
- * 3. Handle billing operations programmatically
15
- * 4. Generate context for downstream AI workflows
16
- *
17
- * Inspired by: `stripe projects init`, `stripe projects add`, `stripe projects catalog`
18
- */
19
- import { TIER_CREDIT_ALLOTMENTS, SCOPE_CREDIT_COSTS } from "./credits.js";
20
- const CARRIER_SERVICE_CATALOG = [
21
- {
22
- id: "mcp",
23
- name: "Carrier MCP",
24
- category: "connectivity",
25
- description: "Model Context Protocol server — 103 natural-language tools for MVNO/eSIM fleet management",
26
- tier_required: "free",
27
- scopes_required: ["read"],
28
- endpoints: ["https://mcp.carrier.llc/mcp"],
29
- docs_url: "https://mcp.carrier.llc/docs",
30
- },
31
- {
32
- id: "api",
33
- name: "Carrier REST API",
34
- category: "connectivity",
35
- description: "RESTful HTTP API for programmatic OCS access — same tool surface as MCP over standard REST",
36
- tier_required: "pro",
37
- scopes_required: ["read", "write"],
38
- endpoints: ["https://api.carrier.llc/v1"],
39
- docs_url: "https://api.carrier.llc/docs",
40
- },
41
- {
42
- id: "intelligence",
43
- name: "Carrier Intelligence",
44
- category: "analytics",
45
- description: "AI-powered fleet analytics — churn prediction, usage anomalies, coverage optimization, revenue intelligence",
46
- tier_required: "pro",
47
- scopes_required: ["read"],
48
- endpoints: ["https://mcp.carrier.llc/mcp"],
49
- docs_url: "https://mcp.carrier.llc/docs#intelligence",
50
- },
51
- {
52
- id: "connect",
53
- name: "Carrier Connect",
54
- category: "marketplace",
55
- description: "MNO/MVNO network marketplace — browse operators, coverage maps, steering list management",
56
- tier_required: "pro",
57
- scopes_required: ["read", "write"],
58
- endpoints: ["https://app.carrier.llc/connect"],
59
- docs_url: "https://mcp.carrier.llc/docs#connect",
60
- },
61
- {
62
- id: "atlas",
63
- name: "Carrier Atlas",
64
- category: "coverage",
65
- description: "Global coverage intelligence — real-time network quality, latency maps, operator benchmarks",
66
- tier_required: "enterprise",
67
- scopes_required: ["read"],
68
- endpoints: ["https://atlas.carrier.llc/api/v1"],
69
- docs_url: "https://atlas.carrier.llc/docs",
70
- },
71
- {
72
- id: "billing",
73
- name: "Carrier Billing",
74
- category: "billing",
75
- description: "Operator billing engine — CDR ingestion, invoice generation, Stripe Connect payouts",
76
- tier_required: "pro",
77
- scopes_required: ["read", "write"],
78
- endpoints: ["https://api.carrier.llc/v1/billing"],
79
- docs_url: "https://api.carrier.llc/docs#billing",
80
- },
81
- {
82
- id: "webhooks",
83
- name: "Carrier Webhooks",
84
- category: "integration",
85
- description: "Real-time event delivery — OCS events, billing alerts, threshold notifications via HTTP webhooks",
86
- tier_required: "pro",
87
- scopes_required: ["read"],
88
- endpoints: ["https://api.carrier.llc/v1/webhooks"],
89
- docs_url: "https://api.carrier.llc/docs#webhooks",
90
- },
91
- {
92
- id: "console",
93
- name: "Carrier Console",
94
- category: "dashboard",
95
- description: "Visual operator dashboard — fleet management, analytics, billing, onboarding for non-technical operators",
96
- tier_required: "free",
97
- scopes_required: ["read"],
98
- endpoints: ["https://app.carrier.llc"],
99
- docs_url: "https://app.carrier.llc/docs",
100
- },
101
- ];
102
- export const PROJECTS_TOOLS = [
103
- // -------------------------------------------------------------------------
104
- // service_catalog — Browse available Carrier services
105
- // -------------------------------------------------------------------------
106
- {
107
- name: "service_catalog",
108
- description: "Browse the Carrier service catalog — discover available services, their " +
109
- "requirements, endpoints, and documentation. Filter by category or tier. " +
110
- "Similar to `stripe projects catalog`.",
111
- scope: "read",
112
- inputSchema: {
113
- type: "object",
114
- properties: {
115
- category: {
116
- type: "string",
117
- enum: ["connectivity", "analytics", "marketplace", "coverage", "billing", "integration", "dashboard"],
118
- description: "Filter services by category",
119
- },
120
- tier: {
121
- type: "string",
122
- enum: ["free", "pro", "enterprise"],
123
- description: "Filter services accessible at this tier level",
124
- },
125
- },
126
- required: [],
127
- },
128
- handler: async (_env, props, args) => {
129
- let services = [...CARRIER_SERVICE_CATALOG];
130
- if (typeof args.category === "string") {
131
- services = services.filter((s) => s.category === args.category);
132
- }
133
- if (typeof args.tier === "string") {
134
- const tierOrder = { free: 0, pro: 1, enterprise: 2 };
135
- const maxTier = tierOrder[args.tier] ?? 0;
136
- services = services.filter((s) => (tierOrder[s.tier_required] ?? 0) <= maxTier);
137
- }
138
- // Mark which services are accessible with current tier
139
- const currentTierOrder = { free: 0, pro: 1, enterprise: 2 };
140
- const userTierLevel = currentTierOrder[props.tier] ?? 0;
141
- return {
142
- services: services.map((s) => ({
143
- ...s,
144
- accessible: (currentTierOrder[s.tier_required] ?? 0) <= userTierLevel,
145
- })),
146
- total: services.length,
147
- current_tier: props.tier,
148
- upgrade_url: "https://mcp.carrier.llc/upgrade",
149
- };
150
- },
151
- },
152
- // -------------------------------------------------------------------------
153
- // credential_status — Check credential health and rotation status
154
- // -------------------------------------------------------------------------
155
- {
156
- name: "credential_status",
157
- description: "Check the health and status of your Carrier credentials — API token validity, " +
158
- "encryption status, last rotation date, and expiry warnings. " +
159
- "Similar to `stripe projects env --pull` status check.",
160
- scope: "read",
161
- inputSchema: {
162
- type: "object",
163
- properties: {},
164
- required: [],
165
- },
166
- handler: async (env, props) => {
167
- const sub = props.sub;
168
- const orgId = props.org_id;
169
- // Check token status
170
- const tokenKey = orgId ? `org:${orgId}` : `user:${sub}`;
171
- const record = await env.CARRIER_USERS.get(tokenKey, "json").catch(() => null);
172
- const hasToken = !!(record && (("esimvault_token_enc" in record && record.esimvault_token_enc) ||
173
- (orgId && "esimvault_token_enc" in (record ?? {}))));
174
- // Check OAuth grant status
175
- const oauthKey = `oauth:grant:${sub}`;
176
- const oauthGrant = await env.OAUTH_KV.get(oauthKey, "json").catch(() => null);
177
- const updatedAt = record && "updated_at" in record
178
- ? record.updated_at
179
- : null;
180
- // Calculate token age
181
- let tokenAgeDays = null;
182
- if (updatedAt) {
183
- const updated = new Date(updatedAt);
184
- tokenAgeDays = Math.floor((Date.now() - updated.getTime()) / (1000 * 60 * 60 * 24));
185
- }
186
- return {
187
- credentials: {
188
- esimvault_token: {
189
- present: hasToken,
190
- encrypted: hasToken, // All tokens are AES-256-GCM encrypted
191
- last_updated: updatedAt,
192
- age_days: tokenAgeDays,
193
- rotation_recommended: tokenAgeDays !== null && tokenAgeDays > 90,
194
- },
195
- oauth: {
196
- active: !!oauthGrant,
197
- method: props.auth_method ?? "oauth",
198
- },
199
- },
200
- environment: {
201
- org_id: orgId ?? null,
202
- reseller_id: props.reseller_id,
203
- reseller_name: props.reseller_name,
204
- },
205
- recommendations: generateCredentialRecommendations(hasToken, tokenAgeDays),
206
- };
207
- },
208
- },
209
- // -------------------------------------------------------------------------
210
- // rotate_credentials — Initiate credential rotation
211
- // -------------------------------------------------------------------------
212
- {
213
- name: "rotate_credentials",
214
- description: "Initiate rotation of your eSIMVault API credentials. Generates a new " +
215
- "encrypted token and invalidates the old one. Requires write scope. " +
216
- "Similar to `stripe projects rotate <service>`.",
217
- scope: "write",
218
- inputSchema: {
219
- type: "object",
220
- properties: {
221
- new_token: {
222
- type: "string",
223
- description: "New eSIMVault API token to encrypt and store. Get from eSIMVault dashboard.",
224
- },
225
- confirm: {
226
- type: "boolean",
227
- description: "Confirm rotation — this will replace the current token immediately",
228
- },
229
- },
230
- required: ["new_token", "confirm"],
231
- },
232
- handler: async (env, props, args) => {
233
- if (!args.confirm) {
234
- return {
235
- status: "cancelled",
236
- message: "Rotation cancelled — set confirm: true to proceed",
237
- };
238
- }
239
- const newToken = args.new_token;
240
- if (!newToken || newToken.length < 10) {
241
- return {
242
- error: "Invalid token — must be at least 10 characters",
243
- };
244
- }
245
- // Encrypt the new token
246
- const encryptionKey = env
247
- .CARRIER_TOKEN_ENCRYPTION_KEY;
248
- if (!encryptionKey) {
249
- return { error: "Encryption key not configured — contact support" };
250
- }
251
- const encrypted = await encryptToken(newToken, encryptionKey);
252
- const orgId = props.org_id;
253
- const recordKey = orgId ? `org:${orgId}` : `user:${props.sub}`;
254
- // Update the record
255
- const existing = await env.CARRIER_USERS.get(recordKey, "json").catch(() => null);
256
- if (!existing) {
257
- return { error: "User record not found" };
258
- }
259
- const updated = {
260
- ...existing,
261
- esimvault_token_enc: encrypted,
262
- updated_at: new Date().toISOString(),
263
- };
264
- await env.CARRIER_USERS.put(recordKey, JSON.stringify(updated));
265
- return {
266
- status: "rotated",
267
- message: "Credentials rotated successfully. New token is active immediately.",
268
- encrypted: true,
269
- rotated_at: new Date().toISOString(),
270
- next_rotation_recommended: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toISOString(),
271
- };
272
- },
273
- },
274
- // -------------------------------------------------------------------------
275
- // llm_context — Generate LLM context for AI agent workflows
276
- // -------------------------------------------------------------------------
277
- {
278
- name: "llm_context",
279
- description: "Generate a comprehensive LLM context document describing your Carrier " +
280
- "environment, available tools, current tier, usage patterns, and best " +
281
- "practices. Designed for AI agents that need to understand your setup. " +
282
- "Similar to `stripe projects llm-context`.",
283
- scope: "read",
284
- inputSchema: {
285
- type: "object",
286
- properties: {
287
- format: {
288
- type: "string",
289
- enum: ["markdown", "json", "yaml"],
290
- description: "Output format for the context document (default: markdown)",
291
- },
292
- include_examples: {
293
- type: "boolean",
294
- description: "Include example tool invocations (default: true)",
295
- },
296
- },
297
- required: [],
298
- },
299
- handler: async (env, props, args) => {
300
- void env; // used for future expansion
301
- const format = args.format ?? "markdown";
302
- const includeExamples = args.include_examples !== false;
303
- const tier = props.tier;
304
- // Build context
305
- const context = {
306
- project: {
307
- name: "Carrier MCP",
308
- description: "Programmable connectivity API control plane for MVNO/eSIM fleet management",
309
- version: "2.0",
310
- transport: "StreamableHTTP",
311
- endpoint: "https://mcp.carrier.llc/mcp",
312
- },
313
- environment: {
314
- tier,
315
- scopes: props.scope,
316
- reseller_id: props.reseller_id,
317
- reseller_name: props.reseller_name,
318
- org_id: props.org_id ?? null,
319
- auth_method: props.auth_method ?? "oauth",
320
- },
321
- capabilities: {
322
- total_tools: 103, // full tool count
323
- read_tools: 35,
324
- write_tools: 20,
325
- admin_tools: 10,
326
- intelligence_tools: 8,
327
- pricing_tools: 5,
328
- projects_tools: 5,
329
- prompts: 5,
330
- },
331
- billing: {
332
- credits_monthly: TIER_CREDIT_ALLOTMENTS[tier],
333
- credit_costs: SCOPE_CREDIT_COSTS,
334
- overages_available: tier !== "free",
335
- volume_discounts_available: tier !== "free",
336
- },
337
- available_services: CARRIER_SERVICE_CATALOG.filter((s) => {
338
- const tierOrder = { free: 0, pro: 1, enterprise: 2 };
339
- return (tierOrder[s.tier_required] ?? 0) <= (tierOrder[tier] ?? 0);
340
- }).map((s) => ({ id: s.id, name: s.name, category: s.category })),
341
- best_practices: [
342
- "Always check credit_balance before batch operations",
343
- "Use intelligence tools for fleet diagnostics before manual investigation",
344
- "Configure billing thresholds to prevent bill shock on overage-enabled plans",
345
- "Rotate credentials every 90 days for security",
346
- "Use carrier_ask when unsure which tool to call",
347
- "Prefer read-scope tools (1 credit) over write-scope (2 credits) when possible",
348
- ],
349
- examples: includeExamples
350
- ? [
351
- {
352
- task: "Check fleet health",
353
- tool: "fleet_health",
354
- description: "Aggregates eSIM status counts and low-balance accounts",
355
- },
356
- {
357
- task: "Diagnose offline subscriber",
358
- tool: "diagnose_subscriber",
359
- args: { iccid: "8944..." },
360
- description: "Chains multiple API calls to analyze connectivity issues",
361
- },
362
- {
363
- task: "Check billing status",
364
- tool: "credit_balance",
365
- description: "View current credits, overages, and volume discounts",
366
- },
367
- {
368
- task: "Browse available services",
369
- tool: "service_catalog",
370
- description: "Discover Carrier ecosystem services and their requirements",
371
- },
372
- ]
373
- : [],
374
- };
375
- if (format === "json") {
376
- return context;
377
- }
378
- if (format === "yaml") {
379
- return { format: "yaml", content: jsonToYaml(context) };
380
- }
381
- // Markdown format
382
- return {
383
- format: "markdown",
384
- content: generateMarkdownContext(context),
385
- };
386
- },
387
- },
388
- // -------------------------------------------------------------------------
389
- // environment_info — View environment configuration
390
- // -------------------------------------------------------------------------
391
- {
392
- name: "environment_info",
393
- description: "View your Carrier environment configuration — active organization, " +
394
- "reseller details, connected services, and deployment environment. " +
395
- "Similar to `stripe projects status`.",
396
- scope: "read",
397
- inputSchema: {
398
- type: "object",
399
- properties: {},
400
- required: [],
401
- },
402
- handler: async (env, props) => {
403
- const sub = props.sub;
404
- const orgId = props.org_id;
405
- // Get org details if available
406
- let orgDetails = null;
407
- if (orgId) {
408
- orgDetails = await env.CARRIER_USERS.get(`org:${orgId}`, "json").catch(() => null);
409
- }
410
- // Check connected services
411
- const hasStripe = !!(await env.CARRIER_USERS.get(`stripe_customer_id:${sub}`));
412
- const hasWebhook = !!(await env.CARRIER_USERS.get(`webhook_url:${sub}`));
413
- return {
414
- environment: {
415
- user_sub: sub,
416
- org_id: orgId ?? null,
417
- org_name: orgDetails?.name ?? null,
418
- org_slug: orgDetails?.slug ?? null,
419
- reseller_id: props.reseller_id,
420
- reseller_name: props.reseller_name,
421
- tier: props.tier,
422
- scopes: props.scope,
423
- auth_method: props.auth_method ?? "oauth",
424
- },
425
- connected_services: {
426
- esimvault: true, // Always connected (required for operation)
427
- stripe_billing: hasStripe,
428
- webhooks: hasWebhook,
429
- carrier_console: true,
430
- carrier_api: props.tier !== "free",
431
- },
432
- endpoints: {
433
- mcp: "https://mcp.carrier.llc/mcp",
434
- api: "https://api.carrier.llc/v1",
435
- console: "https://app.carrier.llc",
436
- billing_portal: "https://accounts.carrier.llc/user/billing",
437
- },
438
- configuration: {
439
- ocs_base_url: "https://ocs.esimvault.cloud",
440
- admin_enabled: props.scope.includes("admin"),
441
- intelligence_enabled: props.tier !== "free",
442
- },
443
- };
444
- },
445
- },
446
- ];
447
- // ---------------------------------------------------------------------------
448
- // Helpers
449
- // ---------------------------------------------------------------------------
450
- function generateCredentialRecommendations(hasToken, tokenAgeDays) {
451
- const recommendations = [];
452
- if (!hasToken) {
453
- recommendations.push("No eSIMVault token configured. Complete setup at https://app.carrier.llc/setup");
454
- }
455
- if (tokenAgeDays !== null && tokenAgeDays > 90) {
456
- recommendations.push(`Token is ${tokenAgeDays} days old. Rotate credentials for security (recommended every 90 days).`);
457
- }
458
- if (tokenAgeDays !== null && tokenAgeDays > 180) {
459
- recommendations.push("URGENT: Token is over 180 days old. Immediate rotation strongly recommended.");
460
- }
461
- if (recommendations.length === 0) {
462
- recommendations.push("All credentials are healthy. No action needed.");
463
- }
464
- return recommendations;
465
- }
466
- async function encryptToken(token, hexKey) {
467
- const keyBytes = hexToBytes(hexKey);
468
- const iv = crypto.getRandomValues(new Uint8Array(12));
469
- const key = await crypto.subtle.importKey("raw", keyBytes.buffer, { name: "AES-GCM" }, false, ["encrypt"]);
470
- const encoded = new TextEncoder().encode(token);
471
- const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, encoded);
472
- // Format: base64(iv:ciphertext+tag)
473
- const combined = new Uint8Array(iv.length + ciphertext.byteLength);
474
- combined.set(iv, 0);
475
- combined.set(new Uint8Array(ciphertext), iv.length);
476
- return btoa(String.fromCharCode(...combined));
477
- }
478
- function hexToBytes(hex) {
479
- const bytes = new Uint8Array(hex.length / 2);
480
- for (let i = 0; i < hex.length; i += 2) {
481
- bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
482
- }
483
- return bytes;
484
- }
485
- function jsonToYaml(obj, indent = 0) {
486
- const spaces = " ".repeat(indent);
487
- if (obj === null || obj === undefined)
488
- return `${spaces}null`;
489
- if (typeof obj === "string")
490
- return `${spaces}${obj}`;
491
- if (typeof obj === "number" || typeof obj === "boolean")
492
- return `${spaces}${obj}`;
493
- if (Array.isArray(obj)) {
494
- return obj.map((item) => `${spaces}- ${typeof item === "object" ? "\n" + jsonToYaml(item, indent + 1) : item}`).join("\n");
495
- }
496
- if (typeof obj === "object") {
497
- return Object.entries(obj)
498
- .map(([key, val]) => {
499
- if (typeof val === "object" && val !== null) {
500
- return `${spaces}${key}:\n${jsonToYaml(val, indent + 1)}`;
501
- }
502
- return `${spaces}${key}: ${val}`;
503
- })
504
- .join("\n");
505
- }
506
- return String(obj);
507
- }
508
- function generateMarkdownContext(context) {
509
- const proj = context.project;
510
- const envInfo = context.environment;
511
- const caps = context.capabilities;
512
- const billing = context.billing;
513
- const practices = context.best_practices;
514
- return `# Carrier MCP — LLM Context
515
-
516
- ## Project
517
- - **Name:** ${proj.name}
518
- - **Description:** ${proj.description}
519
- - **Version:** ${proj.version}
520
- - **Transport:** ${proj.transport}
521
- - **Endpoint:** ${proj.endpoint}
522
-
523
- ## Environment
524
- - **Tier:** ${envInfo.tier}
525
- - **Scopes:** ${envInfo.scopes.join(", ")}
526
- - **Reseller:** ${envInfo.reseller_name} (ID: ${envInfo.reseller_id})
527
- - **Auth:** ${envInfo.auth_method}
528
-
529
- ## Capabilities
530
- - Total tools: ${caps.total_tools}
531
- - Read: ${caps.read_tools} | Write: ${caps.write_tools} | Admin: ${caps.admin_tools}
532
- - Intelligence: ${caps.intelligence_tools} | Pricing: ${caps.pricing_tools} | Projects: ${caps.projects_tools}
533
- - Prompts: ${caps.prompts}
534
-
535
- ## Billing
536
- - Monthly credits: ${billing.credits_monthly}
537
- - Credit costs: read=1, write=2, admin=5, intelligence=3
538
- - Overages: ${billing.overages_available ? "enabled" : "disabled"}
539
- - Volume discounts: ${billing.volume_discounts_available ? "available" : "not available"}
540
-
541
- ## Best Practices
542
- ${practices.map((p) => `- ${p}`).join("\n")}
543
- `;
544
- }
545
- //# sourceMappingURL=projects-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects-tools.js","sourceRoot":"","sources":["../src/projects-tools.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- /**
3
- * Carrier MCP business prompts (5).
4
- * Renamed from registerPrompts → registerAllPrompts for consistency.
5
- */
6
- export declare function registerAllPrompts(server: McpServer): void;
7
- //# sourceMappingURL=prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6K1D"}