@carrierllc/sdk 0.2.17 → 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/dist/client.js +1 -1
- package/dist/data/operations.json +340 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/operation-ids.d.ts +1 -1
- package/dist/storefront-domain.d.ts +8 -0
- package/dist/storefront-domain.js +45 -0
- package/dist/storefront-operations.d.ts +32 -0
- package/dist/storefront-operations.js +102 -0
- package/dist/storefront-write.d.ts +9 -0
- package/dist/storefront-write.js +6 -0
- package/dist/types.d.ts +6 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/package.json +9 -1
package/dist/client.js
CHANGED
|
@@ -82,7 +82,7 @@ export class Carrier {
|
|
|
82
82
|
}
|
|
83
83
|
let parsed;
|
|
84
84
|
try {
|
|
85
|
-
parsed = issuance ? JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(await response.arrayBuffer())) : await readJson(response);
|
|
85
|
+
parsed = issuance ? JSON.parse(new TextDecoder("utf-8", { fatal: true, ignoreBOM: false }).decode(await response.arrayBuffer())) : await readJson(response);
|
|
86
86
|
}
|
|
87
87
|
catch (error) {
|
|
88
88
|
if (issuance)
|
|
@@ -2184,6 +2184,287 @@
|
|
|
2184
2184
|
"queryParams": [],
|
|
2185
2185
|
"headerParams": []
|
|
2186
2186
|
},
|
|
2187
|
+
{
|
|
2188
|
+
"id": "create_connectivity_offering",
|
|
2189
|
+
"method": "POST",
|
|
2190
|
+
"path": "/v1/connectivity/offerings",
|
|
2191
|
+
"tag": "Connectivity",
|
|
2192
|
+
"summary": "Save an incomplete connectivity offer",
|
|
2193
|
+
"security": "bearer",
|
|
2194
|
+
"body": true,
|
|
2195
|
+
"bodyRequired": true,
|
|
2196
|
+
"pathParams": [],
|
|
2197
|
+
"queryParams": [],
|
|
2198
|
+
"headerParams": [
|
|
2199
|
+
{
|
|
2200
|
+
"name": "Idempotency-Key",
|
|
2201
|
+
"required": true
|
|
2202
|
+
}
|
|
2203
|
+
]
|
|
2204
|
+
},
|
|
2205
|
+
{
|
|
2206
|
+
"id": "list_connectivity_offerings",
|
|
2207
|
+
"method": "GET",
|
|
2208
|
+
"path": "/v1/connectivity/offerings",
|
|
2209
|
+
"tag": "Connectivity",
|
|
2210
|
+
"summary": "List this organization's drafts",
|
|
2211
|
+
"security": "bearer",
|
|
2212
|
+
"body": false,
|
|
2213
|
+
"bodyRequired": false,
|
|
2214
|
+
"pathParams": [],
|
|
2215
|
+
"queryParams": [
|
|
2216
|
+
{
|
|
2217
|
+
"name": "limit",
|
|
2218
|
+
"required": false
|
|
2219
|
+
},
|
|
2220
|
+
{
|
|
2221
|
+
"name": "after",
|
|
2222
|
+
"required": false
|
|
2223
|
+
}
|
|
2224
|
+
],
|
|
2225
|
+
"headerParams": []
|
|
2226
|
+
},
|
|
2227
|
+
{
|
|
2228
|
+
"id": "list_connectivity_offering_templates",
|
|
2229
|
+
"method": "GET",
|
|
2230
|
+
"path": "/v1/connectivity/offerings/templates",
|
|
2231
|
+
"tag": "Connectivity",
|
|
2232
|
+
"summary": "Choose a versioned connectivity concept starter",
|
|
2233
|
+
"security": "bearer",
|
|
2234
|
+
"body": false,
|
|
2235
|
+
"bodyRequired": false,
|
|
2236
|
+
"pathParams": [],
|
|
2237
|
+
"queryParams": [],
|
|
2238
|
+
"headerParams": []
|
|
2239
|
+
},
|
|
2240
|
+
{
|
|
2241
|
+
"id": "create_connectivity_offering_from_template",
|
|
2242
|
+
"method": "POST",
|
|
2243
|
+
"path": "/v1/connectivity/offerings/from-template",
|
|
2244
|
+
"tag": "Connectivity",
|
|
2245
|
+
"summary": "Start a private draft from a selected template version",
|
|
2246
|
+
"security": "bearer",
|
|
2247
|
+
"body": true,
|
|
2248
|
+
"bodyRequired": true,
|
|
2249
|
+
"pathParams": [],
|
|
2250
|
+
"queryParams": [],
|
|
2251
|
+
"headerParams": [
|
|
2252
|
+
{
|
|
2253
|
+
"name": "Idempotency-Key",
|
|
2254
|
+
"required": true
|
|
2255
|
+
}
|
|
2256
|
+
]
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"id": "get_connectivity_offering_revision",
|
|
2260
|
+
"method": "GET",
|
|
2261
|
+
"path": "/v1/connectivity/offerings/{id}/revisions/{revision}",
|
|
2262
|
+
"tag": "Connectivity",
|
|
2263
|
+
"summary": "Read an immutable concept revision",
|
|
2264
|
+
"security": "bearer",
|
|
2265
|
+
"body": false,
|
|
2266
|
+
"bodyRequired": false,
|
|
2267
|
+
"pathParams": [
|
|
2268
|
+
{
|
|
2269
|
+
"name": "id",
|
|
2270
|
+
"required": true
|
|
2271
|
+
},
|
|
2272
|
+
{
|
|
2273
|
+
"name": "revision",
|
|
2274
|
+
"required": true
|
|
2275
|
+
}
|
|
2276
|
+
],
|
|
2277
|
+
"queryParams": [],
|
|
2278
|
+
"headerParams": []
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"id": "validate_connectivity_offering_revision",
|
|
2282
|
+
"method": "GET",
|
|
2283
|
+
"path": "/v1/connectivity/offerings/{id}/revisions/{revision}/validation",
|
|
2284
|
+
"tag": "Connectivity",
|
|
2285
|
+
"summary": "Check which referenced products exist for this organization",
|
|
2286
|
+
"security": "bearer",
|
|
2287
|
+
"body": false,
|
|
2288
|
+
"bodyRequired": false,
|
|
2289
|
+
"pathParams": [
|
|
2290
|
+
{
|
|
2291
|
+
"name": "id",
|
|
2292
|
+
"required": true
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"name": "revision",
|
|
2296
|
+
"required": true
|
|
2297
|
+
}
|
|
2298
|
+
],
|
|
2299
|
+
"queryParams": [],
|
|
2300
|
+
"headerParams": []
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
"id": "get_connectivity_offering_template_source",
|
|
2304
|
+
"method": "GET",
|
|
2305
|
+
"path": "/v1/connectivity/offerings/{id}/template",
|
|
2306
|
+
"tag": "Connectivity",
|
|
2307
|
+
"summary": "Read the original starter setup and measurement suggestions",
|
|
2308
|
+
"security": "bearer",
|
|
2309
|
+
"body": false,
|
|
2310
|
+
"bodyRequired": false,
|
|
2311
|
+
"pathParams": [
|
|
2312
|
+
{
|
|
2313
|
+
"name": "id",
|
|
2314
|
+
"required": true
|
|
2315
|
+
}
|
|
2316
|
+
],
|
|
2317
|
+
"queryParams": [],
|
|
2318
|
+
"headerParams": []
|
|
2319
|
+
},
|
|
2320
|
+
{
|
|
2321
|
+
"id": "duplicate_connectivity_offering",
|
|
2322
|
+
"method": "POST",
|
|
2323
|
+
"path": "/v1/connectivity/offerings/{id}/duplicate",
|
|
2324
|
+
"tag": "Connectivity",
|
|
2325
|
+
"summary": "Copy a selected revision into a new concept",
|
|
2326
|
+
"security": "bearer",
|
|
2327
|
+
"body": true,
|
|
2328
|
+
"bodyRequired": true,
|
|
2329
|
+
"pathParams": [
|
|
2330
|
+
{
|
|
2331
|
+
"name": "id",
|
|
2332
|
+
"required": true
|
|
2333
|
+
}
|
|
2334
|
+
],
|
|
2335
|
+
"queryParams": [],
|
|
2336
|
+
"headerParams": [
|
|
2337
|
+
{
|
|
2338
|
+
"name": "Idempotency-Key",
|
|
2339
|
+
"required": true
|
|
2340
|
+
}
|
|
2341
|
+
]
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
"id": "get_connectivity_offering",
|
|
2345
|
+
"method": "GET",
|
|
2346
|
+
"path": "/v1/connectivity/offerings/{id}",
|
|
2347
|
+
"tag": "Connectivity",
|
|
2348
|
+
"summary": "Read an offering draft",
|
|
2349
|
+
"security": "bearer",
|
|
2350
|
+
"body": false,
|
|
2351
|
+
"bodyRequired": false,
|
|
2352
|
+
"pathParams": [
|
|
2353
|
+
{
|
|
2354
|
+
"name": "id",
|
|
2355
|
+
"required": true
|
|
2356
|
+
}
|
|
2357
|
+
],
|
|
2358
|
+
"queryParams": [],
|
|
2359
|
+
"headerParams": []
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
"id": "update_connectivity_offering",
|
|
2363
|
+
"method": "PATCH",
|
|
2364
|
+
"path": "/v1/connectivity/offerings/{id}",
|
|
2365
|
+
"tag": "Connectivity",
|
|
2366
|
+
"summary": "Edit a draft with revision protection",
|
|
2367
|
+
"security": "bearer",
|
|
2368
|
+
"body": true,
|
|
2369
|
+
"bodyRequired": true,
|
|
2370
|
+
"pathParams": [
|
|
2371
|
+
{
|
|
2372
|
+
"name": "id",
|
|
2373
|
+
"required": true
|
|
2374
|
+
}
|
|
2375
|
+
],
|
|
2376
|
+
"queryParams": [],
|
|
2377
|
+
"headerParams": []
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
"id": "create_benefit_campaign",
|
|
2381
|
+
"method": "POST",
|
|
2382
|
+
"path": "/v1/connectivity/benefit-campaigns",
|
|
2383
|
+
"tag": "Connectivity",
|
|
2384
|
+
"summary": "Create a sponsored benefit campaign",
|
|
2385
|
+
"security": "bearer",
|
|
2386
|
+
"body": true,
|
|
2387
|
+
"bodyRequired": true,
|
|
2388
|
+
"pathParams": [],
|
|
2389
|
+
"queryParams": [],
|
|
2390
|
+
"headerParams": []
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"id": "set_benefit_campaign_status",
|
|
2394
|
+
"method": "POST",
|
|
2395
|
+
"path": "/v1/connectivity/benefit-campaigns/{id}/status",
|
|
2396
|
+
"tag": "Connectivity",
|
|
2397
|
+
"summary": "Pause or resume a campaign",
|
|
2398
|
+
"security": "bearer",
|
|
2399
|
+
"body": true,
|
|
2400
|
+
"bodyRequired": true,
|
|
2401
|
+
"pathParams": [
|
|
2402
|
+
{
|
|
2403
|
+
"name": "id",
|
|
2404
|
+
"required": true
|
|
2405
|
+
}
|
|
2406
|
+
],
|
|
2407
|
+
"queryParams": [],
|
|
2408
|
+
"headerParams": []
|
|
2409
|
+
},
|
|
2410
|
+
{
|
|
2411
|
+
"id": "claim_benefit",
|
|
2412
|
+
"method": "POST",
|
|
2413
|
+
"path": "/v1/connectivity/benefit-campaigns/{id}/claims",
|
|
2414
|
+
"tag": "Connectivity",
|
|
2415
|
+
"summary": "Reserve one sponsored claim",
|
|
2416
|
+
"security": "bearer",
|
|
2417
|
+
"body": true,
|
|
2418
|
+
"bodyRequired": true,
|
|
2419
|
+
"pathParams": [
|
|
2420
|
+
{
|
|
2421
|
+
"name": "id",
|
|
2422
|
+
"required": true
|
|
2423
|
+
}
|
|
2424
|
+
],
|
|
2425
|
+
"queryParams": [],
|
|
2426
|
+
"headerParams": []
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"id": "record_experiment_event",
|
|
2430
|
+
"method": "POST",
|
|
2431
|
+
"path": "/v1/connectivity/experiment-events",
|
|
2432
|
+
"tag": "Connectivity",
|
|
2433
|
+
"summary": "Store one experiment event",
|
|
2434
|
+
"security": "bearer",
|
|
2435
|
+
"body": true,
|
|
2436
|
+
"bodyRequired": true,
|
|
2437
|
+
"pathParams": [],
|
|
2438
|
+
"queryParams": [],
|
|
2439
|
+
"headerParams": []
|
|
2440
|
+
},
|
|
2441
|
+
{
|
|
2442
|
+
"id": "experiment_report",
|
|
2443
|
+
"method": "GET",
|
|
2444
|
+
"path": "/v1/connectivity/experiment-events/{experimentId}/report",
|
|
2445
|
+
"tag": "Connectivity",
|
|
2446
|
+
"summary": "Counts for one experiment",
|
|
2447
|
+
"security": "bearer",
|
|
2448
|
+
"body": false,
|
|
2449
|
+
"bodyRequired": false,
|
|
2450
|
+
"pathParams": [
|
|
2451
|
+
{
|
|
2452
|
+
"name": "experimentId",
|
|
2453
|
+
"required": true
|
|
2454
|
+
}
|
|
2455
|
+
],
|
|
2456
|
+
"queryParams": [
|
|
2457
|
+
{
|
|
2458
|
+
"name": "from",
|
|
2459
|
+
"required": true
|
|
2460
|
+
},
|
|
2461
|
+
{
|
|
2462
|
+
"name": "to",
|
|
2463
|
+
"required": true
|
|
2464
|
+
}
|
|
2465
|
+
],
|
|
2466
|
+
"headerParams": []
|
|
2467
|
+
},
|
|
2187
2468
|
{
|
|
2188
2469
|
"id": "list_connectivity_products",
|
|
2189
2470
|
"method": "GET",
|
|
@@ -2967,6 +3248,65 @@
|
|
|
2967
3248
|
"queryParams": [],
|
|
2968
3249
|
"headerParams": []
|
|
2969
3250
|
},
|
|
3251
|
+
{
|
|
3252
|
+
"id": "publish_storefront",
|
|
3253
|
+
"method": "POST",
|
|
3254
|
+
"path": "/v1/storefronts/{id}/publish",
|
|
3255
|
+
"tag": "Storefront",
|
|
3256
|
+
"summary": "Publish a hosted storefront. The catalogue and published status commit in one write. Readiness is computed on the server.",
|
|
3257
|
+
"security": "bearer",
|
|
3258
|
+
"body": true,
|
|
3259
|
+
"bodyRequired": true,
|
|
3260
|
+
"pathParams": [
|
|
3261
|
+
{
|
|
3262
|
+
"name": "id",
|
|
3263
|
+
"required": true
|
|
3264
|
+
}
|
|
3265
|
+
],
|
|
3266
|
+
"queryParams": [],
|
|
3267
|
+
"headerParams": [
|
|
3268
|
+
{
|
|
3269
|
+
"name": "Idempotency-Key",
|
|
3270
|
+
"required": true
|
|
3271
|
+
}
|
|
3272
|
+
]
|
|
3273
|
+
},
|
|
3274
|
+
{
|
|
3275
|
+
"id": "plan_storefront_publish",
|
|
3276
|
+
"method": "POST",
|
|
3277
|
+
"path": "/v1/storefronts/{id}/publish-plan",
|
|
3278
|
+
"tag": "Storefront",
|
|
3279
|
+
"summary": "Preview a publish. Reads the shop and returns readiness. Does not write the catalogue or call a probe.",
|
|
3280
|
+
"security": "bearer",
|
|
3281
|
+
"body": true,
|
|
3282
|
+
"bodyRequired": true,
|
|
3283
|
+
"pathParams": [
|
|
3284
|
+
{
|
|
3285
|
+
"name": "id",
|
|
3286
|
+
"required": true
|
|
3287
|
+
}
|
|
3288
|
+
],
|
|
3289
|
+
"queryParams": [],
|
|
3290
|
+
"headerParams": []
|
|
3291
|
+
},
|
|
3292
|
+
{
|
|
3293
|
+
"id": "unpublish_storefront",
|
|
3294
|
+
"method": "POST",
|
|
3295
|
+
"path": "/v1/storefronts/{id}/unpublish",
|
|
3296
|
+
"tag": "Storefront",
|
|
3297
|
+
"summary": "Return a hosted storefront to draft. Orders, plans, the custom domain, and notification settings stay.",
|
|
3298
|
+
"security": "bearer",
|
|
3299
|
+
"body": true,
|
|
3300
|
+
"bodyRequired": true,
|
|
3301
|
+
"pathParams": [
|
|
3302
|
+
{
|
|
3303
|
+
"name": "id",
|
|
3304
|
+
"required": true
|
|
3305
|
+
}
|
|
3306
|
+
],
|
|
3307
|
+
"queryParams": [],
|
|
3308
|
+
"headerParams": []
|
|
3309
|
+
},
|
|
2970
3310
|
{
|
|
2971
3311
|
"id": "health_check",
|
|
2972
3312
|
"method": "GET",
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export { DEFAULT_MCP_URL, Mcp, PROTOCOL_VERSION, type McpOptions } from "./mcp.j
|
|
|
7
7
|
export type { OperationId } from "./operation-ids.js";
|
|
8
8
|
export type { CallParams } from "./operations.js";
|
|
9
9
|
export { SDK_VERSION } from "./version.js";
|
|
10
|
-
export {
|
|
10
|
+
export { normalizeStorefrontDomain } from "./storefront-domain.js";
|
|
11
|
+
export { storefrontRequest, type StorefrontOperation, type StorefrontRequest, } from "./storefront-operations.js";
|
|
12
|
+
export { isStorefrontPlanError, logoFileDataUrl, logoReference, majorToCents, parseCountryInput, parseDataGb, parseValidityDays, parseWholeNumber, completePlanInput, storefrontBrandPatch, storefrontNotificationPatch, storefrontPlanBody, hostedStorefrontUrl, storefrontSlugFrom, type ExistingStorefrontBrand, type StorefrontBrandInput, type StorefrontNotificationInput, type StorefrontPlanBody, type StorefrontPlanInput, type StoredPlanIdentity, } from "./storefront-write.js";
|
|
11
13
|
export type { ConnectivityEsim, ConnectivityIntent, ConnectivityPlan, HostedStorefront, IdempotentRequest, IntentCreateParams, IntentStatus, PlanPrice, ProductCreateParams, StorefrontCreateParams, StorefrontPlanParams, StorefrontPlanUpdateParams, StorefrontUpdateParams, } from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -5,4 +5,6 @@ export { Carrier } from "./client.js";
|
|
|
5
5
|
export { CarrierError } from "./error.js";
|
|
6
6
|
export { DEFAULT_MCP_URL, Mcp, PROTOCOL_VERSION } from "./mcp.js";
|
|
7
7
|
export { SDK_VERSION } from "./version.js";
|
|
8
|
-
export {
|
|
8
|
+
export { normalizeStorefrontDomain } from "./storefront-domain.js";
|
|
9
|
+
export { storefrontRequest, } from "./storefront-operations.js";
|
|
10
|
+
export { isStorefrontPlanError, logoFileDataUrl, logoReference, majorToCents, parseCountryInput, parseDataGb, parseValidityDays, parseWholeNumber, completePlanInput, storefrontBrandPatch, storefrontNotificationPatch, storefrontPlanBody, hostedStorefrontUrl, storefrontSlugFrom, } from "./storefront-write.js";
|
package/dist/operation-ids.d.ts
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Generated by sdks/generate.py. Do not edit by hand.
|
|
4
4
|
*/
|
|
5
|
-
export type OperationId = "list_reseller_accounts" | "get_reseller_info" | "esim_status_per_account" | "list_sponsors" | "list_steering_lists" | "get_subscriber" | "list_subscribers" | "create_subscriber" | "get_sim_provider_status" | "change_sim_status" | "get_subscriber_location" | "hlr_get_bitrate" | "hlr_set_bitrate" | "list_subscriber_packages" | "assign_package" | "clean_all_packages" | "list_package_templates" | "create_package_template" | "list_location_zones" | "create_location_zone" | "list_detailed_location_zones" | "list_destination_prefixes" | "subscriber_usage" | "subscriber_network_events" | "subscriber_active_period" | "get_tariff" | "list_network_profiles" | "modify_subscriber_balance" | "modify_subscriber_status" | "modify_subscriber_contact_info" | "set_subscriber_traffic_restrictions" | "modify_subscriber_steering_list" | "move_subscriber_range_to_account" | "assign_recurring_package" | "modify_package_limits" | "modify_package_expiry" | "modify_package_status" | "stop_resume_recurring_package" | "modify_account_balance" | "delete_subscriber_package" | "modify_template_core" | "modify_template_recurring" | "modify_template_throttling" | "send_sms" | "fleet_health" | "churn_risk" | "audit_network_coverage" | "diagnose_subscriber" | "detect_usage_anomalies" | "optimize_package" | "marketing_intelligence" | "high_cost_subscribers" | "high_cost_subscribers_method_guard" | "detect_country_entry" | "list_intelligence_schedules" | "create_intelligence_schedule" | "delete_intelligence_schedule" | "run_intelligence_schedule" | "get_intelligence_schedule_report" | "get_intelligence_share" | "operator_billing_connect_begin" | "operator_billing_connect_oauth_begin" | "operator_billing_connect_oauth_complete" | "operator_billing_connect_status" | "operator_billing_connect_dashboard_link" | "operator_billing_list_payouts" | "operator_billing_create_manual_payout" | "operator_billing_get_payout_schedule" | "operator_billing_update_payout_schedule" | "operator_billing_list_fees" | "operator_billing_list_charges" | "operator_billing_get_balance" | "operator_billing_list_refunds" | "operator_billing_create_refund" | "operator_billing_list_disputes" | "operator_billing_submit_dispute_evidence" | "operator_billing_list_fraud_reviews" | "operator_billing_approve_fraud_review" | "operator_billing_decline_fraud_review" | "operator_billing_list_value_lists" | "operator_billing_add_value_list_item" | "affiliates_me_get" | "affiliates_me_create" | "affiliates_me_commissions_list" | "affiliates_link" | "operator_identity_status" | "operator_identity_create_session" | "operator_identity_update_session" | "operator_list_promotions" | "operator_create_promotion" | "signup_start" | "signup_verify" | "create_api_key" | "get_onboarding_state" | "onboarding_save_org" | "onboarding_connect_ocs_token" | "onboarding_start_managed_account" | "onboarding_save_plan" | "onboarding_skip_plan" | "onboarding_test_esim" | "onboarding_complete" | "operator_billing_stripe_webhook" | "receive_bridge4ip_webhook" | "affect_subscriber_phone_number" | "modify_subscriber_mobile_plan" | "modify_subscriber_voip_plan" | "push_steering_to_subscriber" | "modify_subscriber_package_active_period" | "get_subscriber_location_by_cell_id" | "reset_subscriber_gz_counter" | "list_destination_lists" | "list_subscriber_voip_tariff" | "list_voip_tariff_rule" | "change_network_profile_of_location_zone" | "get_network_default" | "set_network_default" | "plan_network_default" | "carrier_webhook_config" | "ai_chat" | "ai_insights" | "ai_quota" | "list_invoice_periods" | "get_billing_config" | "update_billing_config" | "stripe_connect_begin" | "stripe_connect_status" | "list_invoices" | "create_invoice" | "get_invoice" | "update_invoice" | "void_invoice" | "get_invoice_document" | "list_connectivity_plans" | "list_connectivity_products" | "create_connectivity_product" | "get_connectivity_product" | "list_connectivity_intents" | "create_connectivity_intent" | "get_connectivity_intent" | "confirm_connectivity_intent" | "create_connectivity_webhook_endpoint" | "list_connectivity_webhook_endpoints" | "delete_connectivity_webhook_endpoint" | "list_connectivity_events" | "get_connectivity_event" | "create_connectivity_usage_record" | "list_connectivity_usage_records" | "retry_connectivity_event" | "issue_esim_from_inventory" | "rollback_esim_issuance" | "subscriber_country_history" | "get_subscriber_notes" | "add_subscriber_note" | "put_subscriber_notes" | "observe_connectivity_event" | "ingest_connectivity_usage" | "ingest_cdr_events" | "aggregate_cdr" | "list_storefront_templates" | "list_storefront_buyer_orders" | "get_storefront_order_usage" | "get_storefront_order_top_up_options" | "cancel_storefront_top_up_checkout" | "cancel_storefront_order" | "get_storefront_order" | "rollback_storefront_order" | "get_hosted_storefront" | "get_hosted_storefront_plan_readiness" | "list_storefronts" | "create_storefront" | "list_storefront_orders" | "get_storefront" | "update_storefront" | "upsert_storefront_plan" | "update_storefront_plan" | "health_check";
|
|
5
|
+
export type OperationId = "list_reseller_accounts" | "get_reseller_info" | "esim_status_per_account" | "list_sponsors" | "list_steering_lists" | "get_subscriber" | "list_subscribers" | "create_subscriber" | "get_sim_provider_status" | "change_sim_status" | "get_subscriber_location" | "hlr_get_bitrate" | "hlr_set_bitrate" | "list_subscriber_packages" | "assign_package" | "clean_all_packages" | "list_package_templates" | "create_package_template" | "list_location_zones" | "create_location_zone" | "list_detailed_location_zones" | "list_destination_prefixes" | "subscriber_usage" | "subscriber_network_events" | "subscriber_active_period" | "get_tariff" | "list_network_profiles" | "modify_subscriber_balance" | "modify_subscriber_status" | "modify_subscriber_contact_info" | "set_subscriber_traffic_restrictions" | "modify_subscriber_steering_list" | "move_subscriber_range_to_account" | "assign_recurring_package" | "modify_package_limits" | "modify_package_expiry" | "modify_package_status" | "stop_resume_recurring_package" | "modify_account_balance" | "delete_subscriber_package" | "modify_template_core" | "modify_template_recurring" | "modify_template_throttling" | "send_sms" | "fleet_health" | "churn_risk" | "audit_network_coverage" | "diagnose_subscriber" | "detect_usage_anomalies" | "optimize_package" | "marketing_intelligence" | "high_cost_subscribers" | "high_cost_subscribers_method_guard" | "detect_country_entry" | "list_intelligence_schedules" | "create_intelligence_schedule" | "delete_intelligence_schedule" | "run_intelligence_schedule" | "get_intelligence_schedule_report" | "get_intelligence_share" | "operator_billing_connect_begin" | "operator_billing_connect_oauth_begin" | "operator_billing_connect_oauth_complete" | "operator_billing_connect_status" | "operator_billing_connect_dashboard_link" | "operator_billing_list_payouts" | "operator_billing_create_manual_payout" | "operator_billing_get_payout_schedule" | "operator_billing_update_payout_schedule" | "operator_billing_list_fees" | "operator_billing_list_charges" | "operator_billing_get_balance" | "operator_billing_list_refunds" | "operator_billing_create_refund" | "operator_billing_list_disputes" | "operator_billing_submit_dispute_evidence" | "operator_billing_list_fraud_reviews" | "operator_billing_approve_fraud_review" | "operator_billing_decline_fraud_review" | "operator_billing_list_value_lists" | "operator_billing_add_value_list_item" | "affiliates_me_get" | "affiliates_me_create" | "affiliates_me_commissions_list" | "affiliates_link" | "operator_identity_status" | "operator_identity_create_session" | "operator_identity_update_session" | "operator_list_promotions" | "operator_create_promotion" | "signup_start" | "signup_verify" | "create_api_key" | "get_onboarding_state" | "onboarding_save_org" | "onboarding_connect_ocs_token" | "onboarding_start_managed_account" | "onboarding_save_plan" | "onboarding_skip_plan" | "onboarding_test_esim" | "onboarding_complete" | "operator_billing_stripe_webhook" | "receive_bridge4ip_webhook" | "affect_subscriber_phone_number" | "modify_subscriber_mobile_plan" | "modify_subscriber_voip_plan" | "push_steering_to_subscriber" | "modify_subscriber_package_active_period" | "get_subscriber_location_by_cell_id" | "reset_subscriber_gz_counter" | "list_destination_lists" | "list_subscriber_voip_tariff" | "list_voip_tariff_rule" | "change_network_profile_of_location_zone" | "get_network_default" | "set_network_default" | "plan_network_default" | "carrier_webhook_config" | "ai_chat" | "ai_insights" | "ai_quota" | "list_invoice_periods" | "get_billing_config" | "update_billing_config" | "stripe_connect_begin" | "stripe_connect_status" | "list_invoices" | "create_invoice" | "get_invoice" | "update_invoice" | "void_invoice" | "get_invoice_document" | "list_connectivity_plans" | "create_connectivity_offering" | "list_connectivity_offerings" | "list_connectivity_offering_templates" | "create_connectivity_offering_from_template" | "get_connectivity_offering_revision" | "validate_connectivity_offering_revision" | "get_connectivity_offering_template_source" | "duplicate_connectivity_offering" | "get_connectivity_offering" | "update_connectivity_offering" | "create_benefit_campaign" | "set_benefit_campaign_status" | "claim_benefit" | "record_experiment_event" | "experiment_report" | "list_connectivity_products" | "create_connectivity_product" | "get_connectivity_product" | "list_connectivity_intents" | "create_connectivity_intent" | "get_connectivity_intent" | "confirm_connectivity_intent" | "create_connectivity_webhook_endpoint" | "list_connectivity_webhook_endpoints" | "delete_connectivity_webhook_endpoint" | "list_connectivity_events" | "get_connectivity_event" | "create_connectivity_usage_record" | "list_connectivity_usage_records" | "retry_connectivity_event" | "issue_esim_from_inventory" | "rollback_esim_issuance" | "subscriber_country_history" | "get_subscriber_notes" | "add_subscriber_note" | "put_subscriber_notes" | "observe_connectivity_event" | "ingest_connectivity_usage" | "ingest_cdr_events" | "aggregate_cdr" | "list_storefront_templates" | "list_storefront_buyer_orders" | "get_storefront_order_usage" | "get_storefront_order_top_up_options" | "cancel_storefront_top_up_checkout" | "cancel_storefront_order" | "get_storefront_order" | "rollback_storefront_order" | "get_hosted_storefront" | "get_hosted_storefront_plan_readiness" | "list_storefronts" | "create_storefront" | "list_storefront_orders" | "get_storefront" | "update_storefront" | "upsert_storefront_plan" | "update_storefront_plan" | "publish_storefront" | "plan_storefront_publish" | "unpublish_storefront" | "health_check";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict, shared storefront custom-domain validator (SDK = single source).
|
|
3
|
+
*
|
|
4
|
+
* Contract: the input must already be a literal ASCII hostname. Nothing is
|
|
5
|
+
* trimmed, decoded, stripped or otherwise repaired; anything else throws.
|
|
6
|
+
* Valid input is lowercased. Punycode (`xn--`) labels are accepted literally.
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeStorefrontDomain(value: string): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict, shared storefront custom-domain validator (SDK = single source).
|
|
3
|
+
*
|
|
4
|
+
* Contract: the input must already be a literal ASCII hostname. Nothing is
|
|
5
|
+
* trimmed, decoded, stripped or otherwise repaired; anything else throws.
|
|
6
|
+
* Valid input is lowercased. Punycode (`xn--`) labels are accepted literally.
|
|
7
|
+
*/
|
|
8
|
+
const LABEL = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
|
|
9
|
+
const NUMERIC_TLD = /^(?:\d+|0x[0-9a-f]*)$/;
|
|
10
|
+
const fail = (message) => {
|
|
11
|
+
throw new Error(message);
|
|
12
|
+
};
|
|
13
|
+
export function normalizeStorefrontDomain(value) {
|
|
14
|
+
if (typeof value !== "string")
|
|
15
|
+
return fail("Enter a hostname as text");
|
|
16
|
+
if (value === "")
|
|
17
|
+
return fail("Enter a hostname");
|
|
18
|
+
if (value !== value.trim() || /[\s\u0000-\u001f\u007f-\u009f]/.test(value)) {
|
|
19
|
+
return fail("Enter a literal hostname without spaces or control characters");
|
|
20
|
+
}
|
|
21
|
+
if (value.endsWith("."))
|
|
22
|
+
return fail("Enter a literal hostname without a trailing dot");
|
|
23
|
+
if (/[^\x21-\x7e]/.test(value)) {
|
|
24
|
+
return fail("Use a valid ASCII hostname; encode international names with IDNA first");
|
|
25
|
+
}
|
|
26
|
+
if (/[:/\\?#@*[\]%]/.test(value))
|
|
27
|
+
return fail("Enter a hostname, not a URL, port, IP literal or wildcard");
|
|
28
|
+
const host = value.toLowerCase();
|
|
29
|
+
if (host.length > 253)
|
|
30
|
+
return fail("Hostname is longer than 253 characters");
|
|
31
|
+
const labels = host.split(".");
|
|
32
|
+
if (labels.length < 2)
|
|
33
|
+
return fail("Enter a fully qualified hostname such as shop.example.com");
|
|
34
|
+
if (labels.some(label => !LABEL.test(label))) {
|
|
35
|
+
return fail("Use a valid ASCII hostname; encode international names with IDNA first");
|
|
36
|
+
}
|
|
37
|
+
if (NUMERIC_TLD.test(labels[labels.length - 1] ?? ""))
|
|
38
|
+
return fail("IP addresses cannot be attached as a customer domain");
|
|
39
|
+
if (host === "localhost" || host.endsWith(".localhost"))
|
|
40
|
+
return fail("This hostname cannot be attached as a customer domain");
|
|
41
|
+
if (host === "carrier.llc" || host.endsWith(".carrier.llc")) {
|
|
42
|
+
return fail("This hostname cannot be attached as a customer domain");
|
|
43
|
+
}
|
|
44
|
+
return host;
|
|
45
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const STOREFRONT_OPERATIONS: {
|
|
2
|
+
readonly list_storefronts: readonly ["GET", "", "read"];
|
|
3
|
+
readonly get_storefront: readonly ["GET", "/{storefront_id}", "read"];
|
|
4
|
+
readonly create_storefront: readonly ["POST", "", "write"];
|
|
5
|
+
readonly update_storefront: readonly ["PATCH", "/{storefront_id}", "write"];
|
|
6
|
+
readonly upsert_storefront_plan: readonly ["POST", "/{storefront_id}/plans", "write"];
|
|
7
|
+
readonly update_storefront_plan: readonly ["PATCH", "/{storefront_id}/plans/{slug}", "write"];
|
|
8
|
+
readonly list_storefront_orders: readonly ["GET", "/orders", "read"];
|
|
9
|
+
readonly plan_storefront_publish: readonly ["POST", "/{storefront_id}/publish-plan", "read"];
|
|
10
|
+
readonly publish_storefront: readonly ["POST", "/{storefront_id}/publish", "write"];
|
|
11
|
+
readonly unpublish_storefront: readonly ["POST", "/{storefront_id}/unpublish", "write"];
|
|
12
|
+
readonly verify_storefront: readonly ["GET", "/{storefront_id}/readiness", "read"];
|
|
13
|
+
readonly list_storefront_domains: readonly ["GET", "/{storefront_id}/domains", "read"];
|
|
14
|
+
readonly plan_storefront_domain: readonly ["POST", "/{storefront_id}/domains/plan", "read"];
|
|
15
|
+
readonly attach_storefront_domain: readonly ["POST", "/{storefront_id}/domains", "write"];
|
|
16
|
+
readonly verify_storefront_domain: readonly ["POST", "/{storefront_id}/domains/{hostname}/verify", "write"];
|
|
17
|
+
readonly detach_storefront_domain: readonly ["DELETE", "/{storefront_id}/domains/{hostname}", "write"];
|
|
18
|
+
readonly plan_storefront_dns: readonly ["POST", "/{storefront_id}/domains/{hostname}/dns-plan", "read"];
|
|
19
|
+
readonly apply_storefront_dns: readonly ["POST", "/{storefront_id}/domains/{hostname}/dns", "write"];
|
|
20
|
+
readonly plan_storefront_generation: readonly ["POST", "/generation-plan", "read"];
|
|
21
|
+
readonly generate_storefront: readonly ["POST", "/generations", "write"];
|
|
22
|
+
readonly get_storefront_generation: readonly ["GET", "/generations/{job_id}", "read"];
|
|
23
|
+
};
|
|
24
|
+
export type StorefrontOperation = keyof typeof STOREFRONT_OPERATIONS;
|
|
25
|
+
export type StorefrontRequest = {
|
|
26
|
+
method: "GET" | "POST" | "PATCH" | "DELETE";
|
|
27
|
+
path: string;
|
|
28
|
+
body?: Record<string, unknown>;
|
|
29
|
+
idempotencyKey?: string;
|
|
30
|
+
confirmToken?: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function storefrontRequest(operation: StorefrontOperation, input: Record<string, unknown>): StorefrontRequest;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// Portable Carrier storefront REST operation contracts.
|
|
2
|
+
//
|
|
3
|
+
// This table is routing only. It is not authorization and not validation:
|
|
4
|
+
// the REST router stays authoritative. The builder never performs network
|
|
5
|
+
// work and never follows a confirmation challenge on its own.
|
|
6
|
+
export const STOREFRONT_OPERATIONS = {
|
|
7
|
+
list_storefronts: ["GET", "", "read"],
|
|
8
|
+
get_storefront: ["GET", "/{storefront_id}", "read"],
|
|
9
|
+
create_storefront: ["POST", "", "write"],
|
|
10
|
+
update_storefront: ["PATCH", "/{storefront_id}", "write"],
|
|
11
|
+
upsert_storefront_plan: ["POST", "/{storefront_id}/plans", "write"],
|
|
12
|
+
update_storefront_plan: ["PATCH", "/{storefront_id}/plans/{slug}", "write"],
|
|
13
|
+
list_storefront_orders: ["GET", "/orders", "read"],
|
|
14
|
+
plan_storefront_publish: ["POST", "/{storefront_id}/publish-plan", "read"],
|
|
15
|
+
publish_storefront: ["POST", "/{storefront_id}/publish", "write"],
|
|
16
|
+
unpublish_storefront: ["POST", "/{storefront_id}/unpublish", "write"],
|
|
17
|
+
verify_storefront: ["GET", "/{storefront_id}/readiness", "read"],
|
|
18
|
+
list_storefront_domains: ["GET", "/{storefront_id}/domains", "read"],
|
|
19
|
+
plan_storefront_domain: ["POST", "/{storefront_id}/domains/plan", "read"],
|
|
20
|
+
attach_storefront_domain: ["POST", "/{storefront_id}/domains", "write"],
|
|
21
|
+
verify_storefront_domain: ["POST", "/{storefront_id}/domains/{hostname}/verify", "write"],
|
|
22
|
+
detach_storefront_domain: ["DELETE", "/{storefront_id}/domains/{hostname}", "write"],
|
|
23
|
+
plan_storefront_dns: ["POST", "/{storefront_id}/domains/{hostname}/dns-plan", "read"],
|
|
24
|
+
apply_storefront_dns: ["POST", "/{storefront_id}/domains/{hostname}/dns", "write"],
|
|
25
|
+
plan_storefront_generation: ["POST", "/generation-plan", "read"],
|
|
26
|
+
generate_storefront: ["POST", "/generations", "write"],
|
|
27
|
+
get_storefront_generation: ["GET", "/generations/{job_id}", "read"],
|
|
28
|
+
};
|
|
29
|
+
const IDEMPOTENCY_REQUIRED = [
|
|
30
|
+
"create_storefront",
|
|
31
|
+
"publish_storefront",
|
|
32
|
+
"attach_storefront_domain",
|
|
33
|
+
"generate_storefront",
|
|
34
|
+
];
|
|
35
|
+
const MAX_METADATA_LENGTH = 200;
|
|
36
|
+
const CONTROL_CHARACTERS = /[\u0000-\u001f\u007f]/;
|
|
37
|
+
function metadataValue(name, value) {
|
|
38
|
+
if (value === undefined)
|
|
39
|
+
return undefined;
|
|
40
|
+
if (typeof value !== "string" || !value.trim() || value.length > MAX_METADATA_LENGTH) {
|
|
41
|
+
throw new Error(`${name} must be a non-empty string of at most ${MAX_METADATA_LENGTH} characters`);
|
|
42
|
+
}
|
|
43
|
+
if (CONTROL_CHARACTERS.test(value))
|
|
44
|
+
throw new Error(`${name} must not contain control characters`);
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
export function storefrontRequest(operation, input) {
|
|
48
|
+
if (!Object.hasOwn(STOREFRONT_OPERATIONS, operation)) {
|
|
49
|
+
throw new Error(`Unknown storefront operation: ${String(operation)}`);
|
|
50
|
+
}
|
|
51
|
+
if (input === null || typeof input !== "object" || Array.isArray(input)) {
|
|
52
|
+
throw new Error("input must be an object");
|
|
53
|
+
}
|
|
54
|
+
const [method, suffix] = STOREFRONT_OPERATIONS[operation];
|
|
55
|
+
const rest = { ...input };
|
|
56
|
+
if (IDEMPOTENCY_REQUIRED.includes(operation) &&
|
|
57
|
+
(typeof rest.idempotency_key !== "string" || !rest.idempotency_key.trim())) {
|
|
58
|
+
throw new Error("idempotency_key_required");
|
|
59
|
+
}
|
|
60
|
+
const path = `/v1/storefronts${suffix.replace(/\{(\w+)\}/g, (_match, key) => {
|
|
61
|
+
const value = rest[key];
|
|
62
|
+
if (typeof value !== "string" || value.length === 0)
|
|
63
|
+
throw new Error(`${key} is required`);
|
|
64
|
+
if (value === "." || value === "..")
|
|
65
|
+
throw new Error(`${key} must not be a dot segment`);
|
|
66
|
+
delete rest[key];
|
|
67
|
+
return encodeURIComponent(value);
|
|
68
|
+
})}`;
|
|
69
|
+
const idempotencyKey = metadataValue("idempotency_key", rest.idempotency_key);
|
|
70
|
+
const confirmToken = metadataValue("confirm_token", rest.confirm_token);
|
|
71
|
+
delete rest.idempotency_key;
|
|
72
|
+
delete rest.confirm_token;
|
|
73
|
+
if (method === "GET") {
|
|
74
|
+
if (confirmToken !== undefined || idempotencyKey !== undefined) {
|
|
75
|
+
throw new Error("Read requests do not accept mutation metadata");
|
|
76
|
+
}
|
|
77
|
+
const params = new URLSearchParams();
|
|
78
|
+
for (const key of Object.keys(rest).sort()) {
|
|
79
|
+
const value = rest[key];
|
|
80
|
+
if (value === undefined || value === null)
|
|
81
|
+
continue;
|
|
82
|
+
const valid = typeof value === "string" ||
|
|
83
|
+
typeof value === "boolean" ||
|
|
84
|
+
(typeof value === "number" && Number.isFinite(value));
|
|
85
|
+
if (!valid)
|
|
86
|
+
throw new Error(`${key} must be a scalar query value`);
|
|
87
|
+
params.set(key, String(value));
|
|
88
|
+
}
|
|
89
|
+
const query = params.toString();
|
|
90
|
+
return { method, path: query ? `${path}?${query}` : path };
|
|
91
|
+
}
|
|
92
|
+
if (method === "DELETE" && Object.values(rest).some(value => value !== undefined)) {
|
|
93
|
+
throw new Error("DELETE does not accept content fields");
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
method,
|
|
97
|
+
path,
|
|
98
|
+
...(method !== "DELETE" ? { body: rest } : {}),
|
|
99
|
+
...(idempotencyKey !== undefined ? { idempotencyKey } : {}),
|
|
100
|
+
...(confirmToken !== undefined ? { confirmToken } : {}),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
@@ -25,6 +25,11 @@ export interface StorefrontBrandInput {
|
|
|
25
25
|
searchHeading?: string;
|
|
26
26
|
searchPlaceholder?: string;
|
|
27
27
|
}
|
|
28
|
+
/** null clears a notification target; undefined leaves the saved value alone. */
|
|
29
|
+
export interface StorefrontNotificationInput {
|
|
30
|
+
orderNotifyEmail?: string | null;
|
|
31
|
+
orderNotifyWebhookUrl?: string | null;
|
|
32
|
+
}
|
|
28
33
|
export interface StorefrontPlanInput {
|
|
29
34
|
productId?: string;
|
|
30
35
|
slug?: string;
|
|
@@ -82,6 +87,10 @@ export declare function storefrontBrandPatch(input: StorefrontBrandInput, existi
|
|
|
82
87
|
theme?: Record<string, unknown>;
|
|
83
88
|
copy?: Record<string, unknown>;
|
|
84
89
|
};
|
|
90
|
+
export declare function storefrontNotificationPatch(input: StorefrontNotificationInput): {
|
|
91
|
+
order_notify_email?: string | null;
|
|
92
|
+
order_notify_webhook_url?: string | null;
|
|
93
|
+
};
|
|
85
94
|
export interface StoredPlanIdentity {
|
|
86
95
|
slug: string;
|
|
87
96
|
name: string;
|
package/dist/storefront-write.js
CHANGED
|
@@ -37,6 +37,12 @@ export function storefrontBrandPatch(input, existing) {
|
|
|
37
37
|
...(copy ? { copy } : {}),
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
+
export function storefrontNotificationPatch(input) {
|
|
41
|
+
return {
|
|
42
|
+
...(input.orderNotifyEmail !== undefined ? { order_notify_email: input.orderNotifyEmail } : {}),
|
|
43
|
+
...(input.orderNotifyWebhookUrl !== undefined ? { order_notify_webhook_url: input.orderNotifyWebhookUrl } : {}),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
40
46
|
/** Fill slug, name, currency, and template id from a saved plan so a price change can omit them. */
|
|
41
47
|
export function completePlanInput(input, plans) {
|
|
42
48
|
if ((input.productId?.trim() ?? "") !== "")
|
package/dist/types.d.ts
CHANGED
|
@@ -64,6 +64,8 @@ export interface HostedStorefront {
|
|
|
64
64
|
updated_at: number;
|
|
65
65
|
theme?: Record<string, unknown>;
|
|
66
66
|
copy?: Record<string, unknown>;
|
|
67
|
+
order_notify_email?: string | null;
|
|
68
|
+
order_notify_webhook_url?: string | null;
|
|
67
69
|
plans?: Array<{
|
|
68
70
|
slug: string;
|
|
69
71
|
name: string;
|
|
@@ -104,6 +106,8 @@ export interface StorefrontCreateParams {
|
|
|
104
106
|
status?: "draft" | "published";
|
|
105
107
|
theme?: Record<string, unknown>;
|
|
106
108
|
copy?: Record<string, unknown>;
|
|
109
|
+
order_notify_email?: string | null;
|
|
110
|
+
order_notify_webhook_url?: string | null;
|
|
107
111
|
}
|
|
108
112
|
export interface StorefrontUpdateParams {
|
|
109
113
|
slug?: string;
|
|
@@ -111,4 +115,6 @@ export interface StorefrontUpdateParams {
|
|
|
111
115
|
status?: "draft" | "published";
|
|
112
116
|
theme?: Record<string, unknown>;
|
|
113
117
|
copy?: Record<string, unknown>;
|
|
118
|
+
order_notify_email?: string | null;
|
|
119
|
+
order_notify_webhook_url?: string | null;
|
|
114
120
|
}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Published version. Keep this equal to package.json. */
|
|
2
|
-
export declare const SDK_VERSION = "0.2.
|
|
3
|
-
export declare const USER_AGENT = "@carrierllc/sdk/0.2.
|
|
2
|
+
export declare const SDK_VERSION = "0.2.20";
|
|
3
|
+
export declare const USER_AGENT = "@carrierllc/sdk/0.2.20";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carrierllc/sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.20",
|
|
4
4
|
"description": "TypeScript client for the Carrier API, MCP server, and CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.js"
|
|
13
13
|
},
|
|
14
|
+
"./storefront-domain": {
|
|
15
|
+
"types": "./dist/storefront-domain.d.ts",
|
|
16
|
+
"import": "./dist/storefront-domain.js"
|
|
17
|
+
},
|
|
18
|
+
"./storefront-operations": {
|
|
19
|
+
"types": "./dist/storefront-operations.d.ts",
|
|
20
|
+
"import": "./dist/storefront-operations.js"
|
|
21
|
+
},
|
|
14
22
|
"./storefront-write": {
|
|
15
23
|
"types": "./dist/storefront-write.d.ts",
|
|
16
24
|
"import": "./dist/storefront-write.js"
|