@capivv/mcp-server 0.2.0 → 0.5.1

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 (108) hide show
  1. package/dist/client.d.ts +52 -1
  2. package/dist/client.js +189 -0
  3. package/dist/tools/approve-change-request.d.ts +3 -0
  4. package/dist/tools/approve-change-request.js +16 -0
  5. package/dist/tools/archive-app.d.ts +3 -0
  6. package/dist/tools/archive-app.js +9 -0
  7. package/dist/tools/check-drift.d.ts +3 -0
  8. package/dist/tools/check-drift.js +21 -0
  9. package/dist/tools/connect-apple-integration.d.ts +3 -0
  10. package/dist/tools/connect-apple-integration.js +27 -0
  11. package/dist/tools/connect-google-integration.d.ts +3 -0
  12. package/dist/tools/connect-google-integration.js +20 -0
  13. package/dist/tools/create-experiment.d.ts +3 -0
  14. package/dist/tools/create-experiment.js +43 -0
  15. package/dist/tools/create-paywall.d.ts +3 -0
  16. package/dist/tools/create-paywall.js +18 -0
  17. package/dist/tools/create-pricing-strategy.d.ts +3 -0
  18. package/dist/tools/create-pricing-strategy.js +49 -0
  19. package/dist/tools/create-product.js +43 -8
  20. package/dist/tools/create-promotion.d.ts +3 -0
  21. package/dist/tools/create-promotion.js +35 -0
  22. package/dist/tools/create-rescue-flow.d.ts +3 -0
  23. package/dist/tools/create-rescue-flow.js +20 -0
  24. package/dist/tools/delete-app.d.ts +3 -0
  25. package/dist/tools/delete-app.js +9 -0
  26. package/dist/tools/delete-entitlement.d.ts +3 -0
  27. package/dist/tools/delete-entitlement.js +11 -0
  28. package/dist/tools/delete-paywall.d.ts +3 -0
  29. package/dist/tools/delete-paywall.js +16 -0
  30. package/dist/tools/delete-promotion.d.ts +3 -0
  31. package/dist/tools/delete-promotion.js +11 -0
  32. package/dist/tools/delete-rescue-flow.d.ts +3 -0
  33. package/dist/tools/delete-rescue-flow.js +11 -0
  34. package/dist/tools/disconnect-integration.d.ts +3 -0
  35. package/dist/tools/disconnect-integration.js +13 -0
  36. package/dist/tools/get-entitlement.d.ts +3 -0
  37. package/dist/tools/get-entitlement.js +9 -0
  38. package/dist/tools/get-experiment-summary.d.ts +3 -0
  39. package/dist/tools/get-experiment-summary.js +9 -0
  40. package/dist/tools/get-offering.d.ts +3 -0
  41. package/dist/tools/get-offering.js +9 -0
  42. package/dist/tools/get-paywall-stats.d.ts +3 -0
  43. package/dist/tools/get-paywall-stats.js +6 -0
  44. package/dist/tools/get-product.d.ts +3 -0
  45. package/dist/tools/get-product.js +9 -0
  46. package/dist/tools/get-rescue-stats.d.ts +3 -0
  47. package/dist/tools/get-rescue-stats.js +12 -0
  48. package/dist/tools/get-rule.d.ts +3 -0
  49. package/dist/tools/get-rule.js +9 -0
  50. package/dist/tools/index.js +115 -0
  51. package/dist/tools/list-change-requests.d.ts +3 -0
  52. package/dist/tools/list-change-requests.js +14 -0
  53. package/dist/tools/list-integrations.d.ts +3 -0
  54. package/dist/tools/list-integrations.js +6 -0
  55. package/dist/tools/list-paywalls.d.ts +3 -0
  56. package/dist/tools/list-paywalls.js +6 -0
  57. package/dist/tools/list-pricing-strategies.d.ts +3 -0
  58. package/dist/tools/list-pricing-strategies.js +8 -0
  59. package/dist/tools/list-promotions.d.ts +3 -0
  60. package/dist/tools/list-promotions.js +6 -0
  61. package/dist/tools/list-rescue-flows.d.ts +3 -0
  62. package/dist/tools/list-rescue-flows.js +6 -0
  63. package/dist/tools/list-rule-versions.d.ts +3 -0
  64. package/dist/tools/list-rule-versions.js +9 -0
  65. package/dist/tools/next-step.js +3 -3
  66. package/dist/tools/preview-pricing.d.ts +3 -0
  67. package/dist/tools/preview-pricing.js +13 -0
  68. package/dist/tools/push-prices-to-stores.d.ts +3 -0
  69. package/dist/tools/push-prices-to-stores.js +9 -0
  70. package/dist/tools/recompute-prices.d.ts +3 -0
  71. package/dist/tools/recompute-prices.js +24 -0
  72. package/dist/tools/resolve-drift.d.ts +3 -0
  73. package/dist/tools/resolve-drift.js +15 -0
  74. package/dist/tools/restore-app.d.ts +3 -0
  75. package/dist/tools/restore-app.js +9 -0
  76. package/dist/tools/revert-app-autopilot.d.ts +3 -0
  77. package/dist/tools/revert-app-autopilot.js +9 -0
  78. package/dist/tools/rollback-rule.d.ts +3 -0
  79. package/dist/tools/rollback-rule.js +10 -0
  80. package/dist/tools/run-app-autopilot.d.ts +3 -0
  81. package/dist/tools/run-app-autopilot.js +9 -0
  82. package/dist/tools/set-country-price-override.d.ts +3 -0
  83. package/dist/tools/set-country-price-override.js +13 -0
  84. package/dist/tools/setup-wizard.js +1 -1
  85. package/dist/tools/start-experiment.d.ts +3 -0
  86. package/dist/tools/start-experiment.js +9 -0
  87. package/dist/tools/stop-experiment.d.ts +3 -0
  88. package/dist/tools/stop-experiment.js +9 -0
  89. package/dist/tools/sync-suggestions-count.d.ts +3 -0
  90. package/dist/tools/sync-suggestions-count.js +6 -0
  91. package/dist/tools/trigger-sync.d.ts +3 -0
  92. package/dist/tools/trigger-sync.js +6 -0
  93. package/dist/tools/update-app.d.ts +3 -0
  94. package/dist/tools/update-app.js +19 -0
  95. package/dist/tools/update-entitlement.d.ts +3 -0
  96. package/dist/tools/update-entitlement.js +13 -0
  97. package/dist/tools/update-experiment.d.ts +3 -0
  98. package/dist/tools/update-experiment.js +22 -0
  99. package/dist/tools/update-offering.d.ts +3 -0
  100. package/dist/tools/update-offering.js +31 -0
  101. package/dist/tools/update-paywall.d.ts +3 -0
  102. package/dist/tools/update-paywall.js +23 -0
  103. package/dist/tools/update-promotion.d.ts +3 -0
  104. package/dist/tools/update-promotion.js +20 -0
  105. package/dist/tools/update-rescue-flow.d.ts +3 -0
  106. package/dist/tools/update-rescue-flow.js +27 -0
  107. package/dist/types.d.ts +336 -0
  108. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -52,6 +52,22 @@ export interface Product {
52
52
  metadata: Record<string, unknown>;
53
53
  created_at: string;
54
54
  updated_at: string;
55
+ /**
56
+ * Present only when the create call also wrote to the connected store
57
+ * (App Store Connect / Google Play). Carries the store-side product ID
58
+ * and the snapped-price audit so the AI can communicate tier deltas.
59
+ */
60
+ store_create?: StoreCreateSummary;
61
+ }
62
+ export interface StoreCreateSummary {
63
+ store: 'apple' | 'google';
64
+ store_product_id: string;
65
+ snapped_prices: Array<{
66
+ currency: string;
67
+ requested_cents: number;
68
+ actual_cents: number;
69
+ price_point_id?: string;
70
+ }>;
55
71
  }
56
72
  export interface Entitlement {
57
73
  id: string;
@@ -217,4 +233,324 @@ export interface CreateProductRequest {
217
233
  amount_cents: number;
218
234
  is_default?: boolean;
219
235
  }>;
236
+ /**
237
+ * V8 Phase A: when true (default) and a store integration is connected
238
+ * for the app's platform, the API also creates the matching product in
239
+ * App Store Connect / Google Play. Send false to opt out.
240
+ */
241
+ also_create_in_store?: boolean;
242
+ /** Default product locale for store-side localizations. Defaults to "en-US". */
243
+ default_locale?: string;
244
+ }
245
+ export interface Paywall {
246
+ id: string;
247
+ name: string;
248
+ identifier: string;
249
+ paywall_type: string;
250
+ status: string;
251
+ template: string | null;
252
+ total_views: number;
253
+ total_conversions: number;
254
+ conversion_rate: number;
255
+ config: Record<string, unknown>;
256
+ generated_by?: string | null;
257
+ created_at: string;
258
+ }
259
+ export interface CreatePaywallRequest {
260
+ app_id: string;
261
+ name: string;
262
+ identifier: string;
263
+ paywall_type: string;
264
+ }
265
+ export interface UpdatePaywallRequest {
266
+ name?: string;
267
+ template?: string;
268
+ config?: Record<string, unknown>;
269
+ metadata?: Record<string, unknown>;
270
+ }
271
+ export interface PaywallStats {
272
+ total_views: number;
273
+ total_conversions: number;
274
+ average_conversion_rate: number;
275
+ }
276
+ export interface Promotion {
277
+ id: string;
278
+ name: string;
279
+ description: string | null;
280
+ campaign_type: string;
281
+ status: string;
282
+ discount_percent: number;
283
+ starts_at: string;
284
+ ends_at: string;
285
+ max_redemptions: number | null;
286
+ current_redemptions: number;
287
+ revenue_micros: number;
288
+ generated_by?: string | null;
289
+ created_at: string;
290
+ }
291
+ export interface CreatePromotionRequest {
292
+ name: string;
293
+ identifier?: string;
294
+ description?: string;
295
+ campaign_type: string;
296
+ discount_percent?: number;
297
+ starts_at?: string;
298
+ ends_at?: string;
299
+ max_redemptions?: number;
300
+ }
301
+ export interface UpdatePromotionRequest {
302
+ name?: string;
303
+ description?: string;
304
+ discount_percent?: number;
305
+ max_redemptions?: number;
306
+ }
307
+ export interface RescueFlow {
308
+ id: string;
309
+ name: string;
310
+ identifier: string;
311
+ description: string | null;
312
+ status: string;
313
+ priority: number;
314
+ conditions: Record<string, unknown>;
315
+ steps: Record<string, unknown>;
316
+ metadata: Record<string, unknown>;
317
+ generated_by?: string | null;
318
+ created_at: string;
319
+ }
320
+ export interface CreateRescueFlowRequest {
321
+ name: string;
322
+ identifier: string;
323
+ description?: string;
324
+ priority?: number;
325
+ }
326
+ export interface UpdateRescueFlowRequest {
327
+ name?: string;
328
+ description?: string;
329
+ priority?: number;
330
+ conditions?: Record<string, unknown>;
331
+ steps?: Record<string, unknown>;
332
+ metadata?: Record<string, unknown>;
333
+ }
334
+ export interface RescueStats {
335
+ total_rescue_attempts: number;
336
+ successful_rescues: number;
337
+ rescue_rate: number;
338
+ total_recovered_revenue_micros: number;
339
+ total_recovered_revenue_formatted: string;
340
+ }
341
+ export interface PricingStrategy {
342
+ id: string;
343
+ app_id: string;
344
+ name: string;
345
+ w_ppp?: number;
346
+ w_bigmac?: number;
347
+ w_fx_neutral?: number;
348
+ max_auto_change_pct?: number;
349
+ max_auto_decrease_pct?: number;
350
+ excluded_countries?: string[];
351
+ created_at: string;
352
+ updated_at: string;
353
+ }
354
+ export interface CreatePricingStrategyRequest {
355
+ app_id: string;
356
+ name: string;
357
+ w_ppp?: number;
358
+ w_bigmac?: number;
359
+ w_fx_neutral?: number;
360
+ tier1_min_aff?: number;
361
+ tier1_max_aff?: number;
362
+ tier2_min_aff?: number;
363
+ tier2_max_aff?: number;
364
+ tier3_min_aff?: number;
365
+ tier3_max_aff?: number;
366
+ tier4_min_aff?: number;
367
+ tier4_max_aff?: number;
368
+ anti_arbitrage_floor_factor?: number;
369
+ max_auto_change_pct?: number;
370
+ max_auto_decrease_pct?: number;
371
+ excluded_countries?: string[];
372
+ }
373
+ export interface PricingPreviewResult {
374
+ [key: string]: unknown;
375
+ }
376
+ export interface PricingRecomputeRequest {
377
+ product_id?: string;
378
+ strategy_id?: string;
379
+ reason?: string;
380
+ }
381
+ export interface PricingRecomputeResult {
382
+ prices_applied?: number;
383
+ approval_required?: number;
384
+ change_request_ids?: string[];
385
+ skipped?: number;
386
+ products_processed?: number;
387
+ }
388
+ export interface PricingPushResult {
389
+ pushed: number;
390
+ failed: number;
391
+ skipped: number;
392
+ }
393
+ export interface PricingChangeRequest {
394
+ id: string;
395
+ product_id: string;
396
+ app_id: string;
397
+ status: string;
398
+ country_code: string;
399
+ store: string;
400
+ currency: string;
401
+ old_amount_cents: number | null;
402
+ new_amount_cents: number;
403
+ delta_pct: number;
404
+ reason: string;
405
+ created_at: string;
406
+ }
407
+ export interface SetCountryPriceOverrideRequest {
408
+ product_id: string;
409
+ country_code: string;
410
+ store: string;
411
+ currency: string;
412
+ amount_cents: number;
413
+ }
414
+ export interface ExperimentWithVariants {
415
+ id: string;
416
+ name: string;
417
+ description: string | null;
418
+ status: string;
419
+ target_metric: string;
420
+ start_date: string | null;
421
+ end_date: string | null;
422
+ confidence_level: number;
423
+ variants: ExperimentVariant[];
424
+ generated_by?: string | null;
425
+ created_at: string;
426
+ }
427
+ export interface ExperimentVariant {
428
+ id: string;
429
+ name: string;
430
+ is_control: boolean;
431
+ traffic_percent: number;
432
+ sample_size: number;
433
+ conversion_count: number;
434
+ conversion_rate: number | null;
435
+ uplift_percent: number | null;
436
+ status: string;
437
+ p_value: number | null;
438
+ confidence_level: number | null;
439
+ confidence_interval_low: number | null;
440
+ confidence_interval_high: number | null;
441
+ is_statistically_significant: boolean;
442
+ recommendation: string | null;
443
+ z_score: number | null;
444
+ }
445
+ export interface CreateExperimentRequest {
446
+ name: string;
447
+ description?: string;
448
+ target_metric: string;
449
+ entity_type?: string;
450
+ entity_id?: string;
451
+ start_date?: string;
452
+ end_date?: string;
453
+ sample_size_target?: number;
454
+ confidence_level?: number;
455
+ metadata?: Record<string, unknown>;
456
+ variants: Array<{
457
+ name: string;
458
+ is_control: boolean;
459
+ traffic_percent: number;
460
+ config?: Record<string, unknown>;
461
+ }>;
462
+ }
463
+ export interface UpdateExperimentRequest {
464
+ name?: string;
465
+ description?: string;
466
+ status?: string;
467
+ target_metric?: string;
468
+ start_date?: string;
469
+ end_date?: string;
470
+ sample_size_target?: number;
471
+ confidence_level?: number;
472
+ metadata?: Record<string, unknown>;
473
+ }
474
+ export interface UpdateAppRequest {
475
+ name?: string;
476
+ bundle_id?: string;
477
+ settings?: Record<string, unknown>;
478
+ }
479
+ export interface UpdateEntitlementRequest {
480
+ identifier?: string;
481
+ display_name?: string;
482
+ description?: string;
483
+ }
484
+ export interface UpdateOfferingRequest {
485
+ display_name?: string;
486
+ description?: string;
487
+ is_default?: boolean;
488
+ packages?: Array<{
489
+ identifier: string;
490
+ product_id: string;
491
+ display_name: string;
492
+ description?: string;
493
+ package_type: string;
494
+ position: number;
495
+ }>;
496
+ metadata?: Record<string, unknown>;
497
+ }
498
+ export interface AutopilotRunResult {
499
+ [key: string]: unknown;
500
+ }
501
+ export interface SyncSuggestion {
502
+ id: string;
503
+ suggestion_type: string;
504
+ status: string;
505
+ store_product_id: string;
506
+ store_product_name?: string | null;
507
+ store_product_type?: string | null;
508
+ store_price?: string | null;
509
+ store_group_name?: string | null;
510
+ store_source: string;
511
+ product_id?: string | null;
512
+ diff_details: Record<string, unknown>;
513
+ resolved_at?: string | null;
514
+ created_at: string;
515
+ }
516
+ export interface SyncSuggestionsCount {
517
+ pending: number;
518
+ }
519
+ export interface TriggerSyncResult {
520
+ triggered: number;
521
+ message: string;
522
+ }
523
+ export interface IntegrationSummary {
524
+ provider: string;
525
+ provider_name: string;
526
+ status: string;
527
+ is_connected: boolean;
528
+ last_sync_at?: string | null;
529
+ has_error: boolean;
530
+ error_message?: string | null;
531
+ }
532
+ export interface ConnectAppleIntegrationRequest {
533
+ issuer_id: string;
534
+ key_id: string;
535
+ /** PEM-encoded App Store Connect API private key (.p8 contents). */
536
+ private_key: string;
537
+ /** Optional legacy shared secret for verifyReceipt fallback. */
538
+ shared_secret?: string;
539
+ }
540
+ export interface ConnectAppleIntegrationResult {
541
+ status: string;
542
+ app_count: number;
543
+ }
544
+ export interface ConnectGoogleIntegrationRequest {
545
+ /** Service account JSON key (raw contents, not a file path). */
546
+ service_account_json: string;
547
+ package_names: string[];
548
+ }
549
+ export interface ConnectGoogleIntegrationResult {
550
+ status: string;
551
+ validated_packages: string[];
552
+ errors: Array<{
553
+ package_name: string;
554
+ error: string;
555
+ }>;
220
556
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capivv/mcp-server",
3
- "version": "0.2.0",
3
+ "version": "0.5.1",
4
4
  "description": "MCP server for managing Capivv subscription platform via AI assistants",
5
5
  "type": "module",
6
6
  "bin": {