@burdenoff/microfe-billing 2026.825.1 → 2026.825.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.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","names":[],"sources":["../../../../src/billing/shared/types/graphql.ts"],"sourcesContent":["/**\n * GraphQL Types for Billing Module\n * Auto-generated types matching the backend billing service schema\n */\n\n// ============================================================================\n// Enums\n// ============================================================================\n\nexport enum SubscriptionStatus {\n ACTIVE = 'active',\n CANCELED = 'canceled',\n EXPIRED = 'expired',\n UPGRADED = 'upgraded',\n}\n\nexport enum InvoiceStatus {\n DRAFT = 'DRAFT',\n OPEN = 'OPEN',\n PAID = 'PAID',\n VOID = 'VOID',\n UNCOLLECTIBLE = 'UNCOLLECTIBLE',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n CANCELED = 'CANCELED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum ChargeStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum RefundStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n CANCELED = 'CANCELED',\n}\n\nexport enum PaymentMethodType {\n CREDIT_CARD = 'CREDIT_CARD',\n DEBIT_CARD = 'DEBIT_CARD',\n BANK_TRANSFER = 'BANK_TRANSFER',\n PAYPAL = 'PAYPAL',\n CRYPTO = 'CRYPTO',\n WALLET = 'WALLET',\n NETBANKING = 'NETBANKING',\n}\n\nexport enum PlanDuration {\n MONTHLY = 'monthly',\n YEARLY = 'yearly',\n}\n\nexport enum PricingModel {\n FLAT_RATE = 'FLAT_RATE',\n PER_SEAT = 'PER_SEAT',\n}\n\nexport enum QuotaType {\n POOLED = 'POOLED',\n PRODUCT_SPECIFIC = 'PRODUCT_SPECIFIC',\n}\n\nexport enum QuotaScope {\n WORKSPACE = 'WORKSPACE',\n GLOBAL = 'GLOBAL',\n}\n\nexport enum QuotaResetPeriod {\n NEVER = 'NEVER',\n DAILY = 'DAILY',\n MONTHLY = 'MONTHLY',\n}\n\nexport enum QuotaStatus {\n HEALTHY = 'HEALTHY',\n WARNING = 'WARNING',\n CRITICAL = 'CRITICAL',\n EXHAUSTED = 'EXHAUSTED',\n INACTIVE = 'INACTIVE',\n}\n\nexport enum TransactionType {\n PAYMENT = 'payment',\n REFUND = 'refund',\n ADJUSTMENT = 'adjustment',\n}\n\nexport enum TransactionStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n}\n\nexport enum CreditTransactionType {\n PURCHASE = 'purchase',\n USAGE = 'usage',\n ADJUSTMENT = 'adjustment',\n GRANTED = 'granted',\n}\n\nexport enum CreditTransactionStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n REFUND = 'refund',\n}\n\nexport enum EntitlementAccessType {\n FREE_ACCESS = 'FREE_ACCESS',\n DISCOUNT = 'DISCOUNT',\n}\n\nexport enum PurchaseType {\n PLAN = 'PLAN',\n ADDON = 'ADDON',\n CREDITS = 'CREDITS',\n}\n\nexport enum PaymentProviderPreference {\n AUTO = 'AUTO',\n STRIPE = 'STRIPE',\n RAZORPAY = 'RAZORPAY',\n}\n\nexport enum AnalyticsPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n LAST_MONTH = 'LAST_MONTH',\n CURRENT_MONTH = 'CURRENT_MONTH',\n}\n\nexport enum UsageMetricType {\n USERS = 'USERS',\n STORAGE = 'STORAGE',\n API_CALLS = 'API_CALLS',\n BANDWIDTH = 'BANDWIDTH',\n REQUESTS = 'REQUESTS',\n COMPUTE_HOURS = 'COMPUTE_HOURS',\n TRANSACTIONS = 'TRANSACTIONS',\n CUSTOM = 'CUSTOM',\n}\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\nexport interface BillingAccount {\n id: string;\n orgId: string;\n name: string;\n email: string;\n billingEmail?: string;\n currency: string;\n creditAmount: number;\n stripeCustomerId?: string;\n razorpayCustomerId?: string;\n defaultPaymentMethod?: string;\n taxId?: string;\n isActive: boolean;\n isDefault?: boolean;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n subscriptions?: BillingSubscription[];\n paymentMethods?: PaymentMethod[];\n creditTransactions?: CreditTransaction[];\n quotaAssignments?: QuotaAssignment[];\n billingAddresses?: BillingAddress[];\n transactions?: Transaction[];\n}\n\nexport interface BillingAddress {\n id: string;\n billingAccountId: string;\n orgId: string;\n line1: string;\n line2?: string;\n city: string;\n state?: string;\n postalCode: string;\n country: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Plan Types\n// ============================================================================\n\nexport interface Plan {\n id: string;\n productID: string;\n name: string;\n price: number;\n currency: string;\n currencyPrices?: Record<string, number>;\n geoPricingOverrides?: GeoPricingOverrideInput[];\n duration: PlanDuration;\n pricingModel?: PricingModel;\n pricePerSeat?: number;\n minSeats?: number;\n maxSeats?: number;\n isActive: boolean;\n isPurchasable: boolean;\n features?: SubscriptionFeatures[];\n itemEntitlements?: SubscriptionEntitlement[];\n subscriptions?: BillingSubscription[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n product?: Product;\n}\n\nexport interface SubscriptionFeatures {\n id: string;\n planId?: string;\n addonId?: string;\n quotaId?: string;\n plan?: Plan;\n addon?: Addon;\n quota?: Quota;\n context?: Record<string, unknown>;\n}\n\nexport interface SubscriptionEntitlement {\n id: string;\n planId: string;\n itemId: string;\n accessType: EntitlementAccessType;\n discountPercentage?: number;\n plan?: Plan;\n item?: { id: string };\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Subscription Types\n// ============================================================================\n\nexport interface BillingSubscription {\n id: string;\n billingAccountId: string;\n planId: string;\n status: SubscriptionStatus;\n startDate: string;\n endDate: string;\n autoRenewal: boolean;\n recurrence: boolean;\n seatCount?: number;\n lastSeatChangeAt?: string;\n lastBillingDate?: string;\n nextBillingDate?: string;\n lastRenewalDate?: string;\n canceledAt?: string;\n canceledBy?: string;\n cancellationReason?: string;\n stripeSubscriptionId?: string;\n razorpaySubscriptionId?: string;\n paymentGateway?: string;\n assignedWorkspaceId?: string | null;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n plan?: Plan;\n billingAccount?: BillingAccount;\n addonSubscriptions?: AddonSubscription[];\n quotas?: QuotaAssignment[];\n transactions?: Transaction[];\n history?: SubscriptionHistory[];\n}\n\nexport interface SubscriptionHistory {\n id: string;\n subscriptionId: string;\n fromStatus: SubscriptionStatus;\n toStatus: SubscriptionStatus;\n reason?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\n// ============================================================================\n// Addon Types\n// ============================================================================\n\nexport interface Addon {\n id: string;\n productID: string;\n name: string;\n price: number;\n currency: string;\n currencyPrices?: Record<string, number>;\n geoPricingOverrides?: GeoPricingOverrideInput[];\n duration: PlanDuration;\n isActive: boolean;\n features?: SubscriptionFeatures[];\n addonSubscriptions?: AddonSubscription[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n product?: Product;\n}\n\nexport interface AddonSubscription {\n id: string;\n addonId: string;\n currentSubscriptionId: string;\n quantity: number;\n startDate: string;\n endDate: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n addon?: Addon;\n currentSubscription?: BillingSubscription;\n}\n\n// ============================================================================\n// Invoice Types\n// ============================================================================\n\nexport interface Invoice {\n id: string;\n orgId: string;\n billingAccountId?: string;\n subscriptionId?: string;\n paymentId?: string;\n invoiceNumber: string;\n status: InvoiceStatus;\n subtotal: number;\n tax: number;\n total: number;\n amountPaid: number;\n currency: string;\n dueDate?: string;\n paidAt?: string;\n gatewayInvoiceId?: string;\n invoiceUrl?: string;\n pdfUrl?: string;\n itemDescription?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n items: InvoiceItem[];\n subscription?: BillingSubscription;\n payment?: Payment;\n}\n\nexport interface InvoiceItem {\n id: string;\n invoiceId: string;\n description: string;\n quantity: number;\n unitPrice: number;\n amount: number;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Payment Types\n// ============================================================================\n\nexport interface Payment {\n id: string;\n orgId: string;\n transactionId?: string;\n amount: number;\n currency: string;\n status: PaymentStatus;\n method: PaymentMethodType;\n provider?: string;\n gatewayPaymentId?: string;\n gatewayOrderId?: string;\n failureReason?: string;\n paidAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n invoice?: Invoice;\n}\n\nexport interface PaymentMethod {\n id: string;\n orgId: string;\n billingAccountId?: string;\n type: PaymentMethodType;\n brand?: string;\n last4?: string;\n expiryMonth?: number;\n expiryYear?: number;\n isDefault: boolean;\n isVerified: boolean;\n verifiedAt?: string;\n stripeCustomerId?: string;\n stripePaymentMethodId?: string;\n razorpayCustomerId?: string;\n razorpayPaymentMethodId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n billingAccount?: BillingAccount;\n transactions?: Transaction[];\n}\n\nexport interface Charge {\n id: string;\n orgId: string;\n amount: number;\n currency: string;\n status: ChargeStatus;\n description?: string;\n provider?: string;\n gatewayChargeId?: string;\n gatewayPaymentId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n refunds: Refund[];\n}\n\nexport interface Refund {\n id: string;\n chargeId: string;\n amount: number;\n currency: string;\n status: RefundStatus;\n reason?: string;\n provider?: string;\n gatewayRefundId?: string;\n processedAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n charge?: Charge;\n}\n\n// ============================================================================\n// Transaction Types\n// ============================================================================\n\nexport interface Transaction {\n id: string;\n billingAccountId: string;\n amount: number;\n currency: string;\n type: TransactionType;\n status: TransactionStatus;\n description?: string;\n stripePaymentId?: string;\n razorpayPaymentId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Credit Types\n// ============================================================================\n\nexport interface CreditTransaction {\n id: string;\n billingAccountId: string;\n productId: string;\n amount: number;\n type: CreditTransactionType;\n status: CreditTransactionStatus;\n fromType?: CreditTransactionType | null;\n payoutRequestId?: string | null;\n entityType?: string;\n entityId?: string;\n transactionId?: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n billingAccount?: BillingAccount;\n transaction?: Transaction;\n}\n\nexport interface CreditBalanceByType {\n purchased: number;\n earned: number;\n granted: number;\n withdrawable: number;\n total: number;\n}\n\nexport interface CreditNote {\n id: string;\n orgId: string;\n invoiceId?: string;\n number: string;\n amount: number;\n currency: string;\n reason?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface CreditRate {\n id: string;\n rateUSD: number;\n effectiveFrom: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Quota Types\n// ============================================================================\n\nexport interface Quota {\n id: string;\n name: string;\n limits: Record<string, unknown>;\n quotaType: QuotaType;\n reusable: boolean;\n resetPeriod: QuotaResetPeriod;\n isActive: boolean;\n scope?: QuotaScope;\n subscriptions?: SubscriptionFeatures[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface QuotaAssignment {\n id: string;\n billingAccountId?: string;\n subscriptionId?: string;\n name: string;\n limits: Record<string, unknown>;\n quotaType: QuotaType;\n reusable: boolean;\n currentUsageSum: number;\n totalUsageCount: number;\n endtime: string;\n context?: Record<string, unknown>;\n createdAt: string;\n // Relations\n billingAccount?: BillingAccount;\n subscription?: BillingSubscription;\n usages?: Usage[];\n recentUsages?: Usage[];\n usageAnalytics?: QuotaUsageAnalytics;\n}\n\nexport interface QuotaAssignmentWithAnalytics extends QuotaAssignment {\n status: QuotaStatus;\n healthScore: number;\n usagePercentage: number;\n limitLeft: number;\n analytics: QuotaUsageAnalytics;\n}\n\nexport interface QuotaAssignmentUsageSummary {\n id: string;\n name: string;\n quotaType: QuotaType;\n reusable: boolean;\n limit: number;\n limitLeft: number;\n used: number;\n usagePercentage: number;\n noLimit: boolean;\n subscriptionId?: string;\n recentUsages: Usage[];\n createdAt: string;\n endtime: string;\n}\n\n// ============================================================================\n// Usage Types\n// ============================================================================\n\nexport interface Usage {\n id: string;\n quotaAssignmentId: string;\n userId?: string;\n productId?: string;\n amount: number;\n description?: string;\n tags?: Record<string, unknown>;\n timestamp: string;\n lastUpdated: string;\n context?: Record<string, unknown>;\n // Relations\n quotaAssignment?: QuotaAssignment;\n user?: { id: string };\n}\n\nexport interface UsageRecord {\n id: string;\n orgId: string;\n subscriptionId?: string;\n metricType: UsageMetricType;\n quantity: number;\n unitCost?: number;\n totalCost?: number;\n timestamp: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\nexport interface DailyUsage {\n date: string;\n usage: number;\n count: number;\n}\n\nexport interface PeakUsage {\n peakDate: string;\n maxDailyUsage: number;\n peakHour?: number;\n}\n\nexport interface UsageTrends {\n averageDailyUsage?: number;\n growthRate?: number;\n predictedUsage?: number;\n}\n\nexport interface UsageByType {\n resourceType: string;\n usage: number;\n count: number;\n percentage: number;\n}\n\nexport interface QuotaUsageAnalytics {\n dailyUsage: DailyUsage[];\n usageByType: UsageByType[];\n peakUsage?: PeakUsage;\n trends?: UsageTrends;\n}\n\nexport interface QuotaUsageSummary {\n quotaId: string;\n quotaName: string;\n usage: number;\n limit: number;\n percentage: number;\n status: QuotaStatus;\n}\n\nexport interface UsageActivity {\n id: string;\n quotaName: string;\n amount: number;\n description: string;\n tags?: Record<string, unknown>;\n timestamp: string;\n}\n\nexport interface UsageDashboard {\n totalUsage: number;\n totalQuotas: number;\n activeQuotas: number;\n healthyQuotas: number;\n warningQuotas: number;\n criticalQuotas: number;\n exhaustedQuotas: number;\n topUsageByQuota: QuotaUsageSummary[];\n recentActivities: UsageActivity[];\n overallTrends: UsageTrends;\n}\n\nexport interface BillingAccountQuotasSummary {\n billingAccountId: string;\n totalUsage: number;\n totalLimit: number;\n pooledQuotas: QuotaAssignmentUsageSummary[];\n subscriptionQuotas: QuotaAssignmentUsageSummary[];\n}\n\n// ============================================================================\n// Other Types\n// ============================================================================\n\nexport interface Product {\n id: string;\n name: string;\n url?: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface Discount {\n id: string;\n code: string;\n type: string;\n value: number;\n currency?: string;\n maxUses?: number;\n usedCount: number;\n validFrom: string;\n validUntil?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n transactions?: Transaction[];\n}\n\nexport interface TaxRate {\n id: string;\n country: string;\n state?: string;\n rate: number;\n description?: string;\n active: boolean;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface BillingNotification {\n id: string;\n orgId: string;\n type: string;\n message: string;\n sentAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\n// ============================================================================\n// Payment Initiation Types\n// ============================================================================\n\nexport interface InitiatePaymentInput {\n billingAccountId: string;\n purchaseType: PurchaseType;\n amount: number;\n currency: string;\n planId?: string;\n addonId?: string;\n quantity?: number;\n // Multiple addons support (cart checkout)\n addonIds?: string[];\n quantities?: number[];\n creditAmount?: number;\n productId?: string;\n provider?: PaymentProviderPreference;\n // Saved card support\n paymentMethodId?: string;\n saveCard?: boolean;\n // Plan change/upgrade support\n upgradeFromSubscriptionId?: string;\n // Plan downgrade — old sub auto-renewal cancelled, runs to natural expiry\n downgradeFromSubscriptionId?: string;\n metadata?: Record<string, unknown>;\n // Auto-renewal (for plan purchases)\n autoRenew?: boolean;\n autoRenewPaymentMethodId?: string;\n}\n\nexport interface InitiatePaymentResponse {\n success: boolean;\n provider: string;\n paymentId?: string;\n clientSecret?: string;\n orderId?: string;\n razorpayKeyId?: string;\n razorpayCustomerId?: string;\n prefillName?: string;\n prefillEmail?: string;\n prefillContact?: string;\n subtotal: number;\n taxAmount: number;\n taxRate: number;\n taxType: string;\n taxBreakdown?: Record<string, unknown>;\n jurisdiction: string;\n total: number;\n currency: string;\n error?: string;\n}\n\nexport interface VerifyPaymentMethodInput {\n billingAccountId: string;\n currency: string;\n provider?: PaymentProviderPreference;\n setAsDefault?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface VerifyPaymentMethodResponse {\n success: boolean;\n provider: string;\n orderId?: string;\n razorpayKeyId?: string;\n razorpayCustomerId?: string;\n clientSecret?: string;\n amount: number;\n currency: string;\n prefillName?: string;\n prefillEmail?: string;\n prefillContact?: string;\n error?: string;\n}\n\n// ============================================================================\n// Pagination Types\n// ============================================================================\n\nexport interface PaginationInput {\n page?: number;\n limit?: number;\n offset?: number;\n cursor?: string;\n}\n\nexport interface PaginatedResponse<T> {\n items: T[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n hasMore: boolean;\n}\n\nexport interface PaginatedCreditTransactions {\n creditTransactions: CreditTransaction[];\n page: number;\n pageSize: number;\n totalCount: number;\n hasMore: boolean;\n}\n\nexport interface PaginatedQuotaAssignments {\n quotaAssignments: QuotaAssignment[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\nexport interface PaginatedQuotaAssignmentsWithAnalytics {\n quotaAssignments: QuotaAssignmentWithAnalytics[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\nexport interface PaginatedUsages {\n usages: Usage[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\n// ============================================================================\n// Input Types\n// ============================================================================\n\nexport interface CreateBillingAccountInput {\n name: string;\n email: string;\n billingEmail?: string;\n currency?: string;\n taxId?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface UpdateBillingAccountInput {\n id: string;\n name?: string;\n email?: string;\n billingEmail?: string;\n currency?: string;\n taxId?: string;\n isActive?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreatePaymentMethodInput {\n billingAccountId: string;\n type: PaymentMethodType;\n brand?: string;\n last4?: string;\n expiryMonth?: number;\n expiryYear?: number;\n isDefault?: boolean;\n stripePaymentMethodId?: string;\n razorpayPaymentMethodId?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface SetBillingAddressInput {\n billingAccountId: string;\n line1: string;\n line2?: string;\n city: string;\n state?: string;\n postalCode: string;\n country: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreatePlanInput {\n productId: string;\n name: string;\n price: number;\n currency?: string;\n duration: PlanDuration;\n isPurchasable?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface UpdatePlanInput {\n id: string;\n name?: string;\n price?: number;\n currency?: string;\n duration?: PlanDuration;\n isActive?: boolean;\n isPurchasable?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface GeoPricingOverrideInput {\n country?: string;\n state?: string;\n region?: string;\n currency: string;\n amount?: number;\n perSeatAmount?: number;\n}\n\nexport interface CurrencyPriceOverrideInput {\n currency: string;\n amount: number;\n perSeatAmount?: number;\n}\n\nexport interface CreateAddonInput {\n productId: string;\n name: string;\n price: number;\n currency: string;\n duration: PlanDuration;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface UpdateAddonInput {\n id: string;\n name?: string;\n price?: number;\n currency?: string;\n duration?: PlanDuration;\n isActive?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface CreateQuotaInput {\n name: string;\n limits: Record<string, unknown>;\n quotaType?: QuotaType;\n reusable: boolean;\n resetPeriod?: QuotaResetPeriod;\n context?: Record<string, unknown>;\n}\n\nexport interface UpdateQuotaInput {\n id: string;\n name?: string;\n limits?: Record<string, unknown>;\n reusable?: boolean;\n isActive: boolean;\n resetPeriod?: QuotaResetPeriod;\n context?: Record<string, unknown>;\n}\n\nexport interface SpendCreditsInput {\n billingAccountId: string;\n planId?: string;\n storeItemId?: string;\n isAnnual?: boolean;\n addOnIds?: { id: string; quantity?: number }[];\n upgradeFromSubscriptionId?: string;\n subscriptionId?: string;\n /** Seat count for PER_SEAT plans. Credits charged = pricePerSeat × seatCount. */\n seatCount?: number;\n}\n\nexport interface CancelSubscriptionInput {\n billingAccountId: string;\n subscriptionId: string;\n reason?: string;\n canceledBy?: string;\n}\n\nexport interface UpdateSubscriptionSeatsInput {\n subscriptionId: string;\n seatCount: number;\n}\n\nexport interface CreateEntitlementInput {\n planId: string;\n itemId: string;\n accessType: EntitlementAccessType;\n discountPercentage?: number;\n}\n\nexport interface UpdateEntitlementInput {\n id: string;\n accessType?: EntitlementAccessType;\n discountPercentage?: number;\n}\n\n// ============================================================================\n// Filter & Sort Types\n// ============================================================================\n\nexport interface DateRangeInput {\n from?: string;\n to?: string;\n}\n\nexport interface AmountRangeInput {\n min?: number;\n max?: number;\n}\n\nexport interface ContextFilterInput {\n orgId?: string;\n userId?: string;\n workspaceId?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport interface ContextInput {\n orgId?: string;\n userId?: string;\n workspaceId?: string;\n organizationId?: string;\n projectId?: string;\n custom?: Record<string, unknown>;\n}\n"],"mappings":";AASA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,UAAA,WACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA,GAkCY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,YAAA,aACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,mBAAA;AACF,EAAA,CAAA,CAAA,GAOY,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,WAAA,YACA,EAAA,YAAA,aACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAQY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,WAAA,YACA,EAAA,QAAA,SACA,EAAA,aAAA,cACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,SAAA,UACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAaY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,cAAA,eACA,EAAA,eAAA,gBACA,EAAA,eAAA,gBACA,EAAA,aAAA,cACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"graphql.js","names":[],"sources":["../../../../src/billing/shared/types/graphql.ts"],"sourcesContent":["/**\n * GraphQL Types for Billing Module\n * Auto-generated types matching the backend billing service schema\n */\n\n// ============================================================================\n// Enums\n// ============================================================================\n\nexport enum SubscriptionStatus {\n ACTIVE = 'active',\n CANCELED = 'canceled',\n EXPIRED = 'expired',\n UPGRADED = 'upgraded',\n}\n\nexport enum InvoiceStatus {\n DRAFT = 'DRAFT',\n OPEN = 'OPEN',\n PAID = 'PAID',\n VOID = 'VOID',\n UNCOLLECTIBLE = 'UNCOLLECTIBLE',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n CANCELED = 'CANCELED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum ChargeStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum RefundStatus {\n PENDING = 'PENDING',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n CANCELED = 'CANCELED',\n}\n\nexport enum PaymentMethodType {\n CREDIT_CARD = 'CREDIT_CARD',\n DEBIT_CARD = 'DEBIT_CARD',\n BANK_TRANSFER = 'BANK_TRANSFER',\n PAYPAL = 'PAYPAL',\n CRYPTO = 'CRYPTO',\n WALLET = 'WALLET',\n NETBANKING = 'NETBANKING',\n}\n\nexport enum PlanDuration {\n MONTHLY = 'monthly',\n YEARLY = 'yearly',\n}\n\nexport enum PricingModel {\n FLAT_RATE = 'FLAT_RATE',\n PER_SEAT = 'PER_SEAT',\n}\n\nexport enum QuotaType {\n POOLED = 'POOLED',\n PRODUCT_SPECIFIC = 'PRODUCT_SPECIFIC',\n}\n\nexport enum QuotaScope {\n WORKSPACE = 'WORKSPACE',\n GLOBAL = 'GLOBAL',\n}\n\nexport enum QuotaResetPeriod {\n NEVER = 'NEVER',\n DAILY = 'DAILY',\n MONTHLY = 'MONTHLY',\n}\n\nexport enum QuotaStatus {\n HEALTHY = 'HEALTHY',\n WARNING = 'WARNING',\n CRITICAL = 'CRITICAL',\n EXHAUSTED = 'EXHAUSTED',\n INACTIVE = 'INACTIVE',\n}\n\nexport enum TransactionType {\n PAYMENT = 'payment',\n REFUND = 'refund',\n ADJUSTMENT = 'adjustment',\n}\n\nexport enum TransactionStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n}\n\nexport enum CreditTransactionType {\n PURCHASE = 'purchase',\n USAGE = 'usage',\n ADJUSTMENT = 'adjustment',\n GRANTED = 'granted',\n}\n\nexport enum CreditTransactionStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n REFUND = 'refund',\n}\n\nexport enum EntitlementAccessType {\n FREE_ACCESS = 'FREE_ACCESS',\n DISCOUNT = 'DISCOUNT',\n}\n\nexport enum PurchaseType {\n PLAN = 'PLAN',\n ADDON = 'ADDON',\n CREDITS = 'CREDITS',\n}\n\nexport enum PaymentProviderPreference {\n AUTO = 'AUTO',\n STRIPE = 'STRIPE',\n RAZORPAY = 'RAZORPAY',\n}\n\nexport enum AnalyticsPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n LAST_MONTH = 'LAST_MONTH',\n CURRENT_MONTH = 'CURRENT_MONTH',\n}\n\nexport enum UsageMetricType {\n USERS = 'USERS',\n STORAGE = 'STORAGE',\n API_CALLS = 'API_CALLS',\n BANDWIDTH = 'BANDWIDTH',\n REQUESTS = 'REQUESTS',\n COMPUTE_HOURS = 'COMPUTE_HOURS',\n TRANSACTIONS = 'TRANSACTIONS',\n CUSTOM = 'CUSTOM',\n}\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\nexport interface BillingAccount {\n id: string;\n orgId: string;\n name: string;\n email: string;\n billingEmail?: string;\n currency: string;\n creditAmount: number;\n stripeCustomerId?: string;\n razorpayCustomerId?: string;\n defaultPaymentMethod?: string;\n taxId?: string;\n isActive: boolean;\n isDefault?: boolean;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n subscriptions?: BillingSubscription[];\n paymentMethods?: PaymentMethod[];\n creditTransactions?: CreditTransaction[];\n quotaAssignments?: QuotaAssignment[];\n billingAddresses?: BillingAddress[];\n transactions?: Transaction[];\n}\n\nexport interface BillingAddress {\n id: string;\n billingAccountId: string;\n orgId: string;\n line1: string;\n line2?: string;\n city: string;\n state?: string;\n postalCode: string;\n country: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Plan Types\n// ============================================================================\n\nexport interface Plan {\n id: string;\n productID: string;\n name: string;\n price: number;\n currency: string;\n currencyPrices?: Record<string, number>;\n geoPricingOverrides?: GeoPricingOverrideInput[];\n duration: PlanDuration;\n pricingModel?: PricingModel;\n pricePerSeat?: number;\n minSeats?: number;\n maxSeats?: number;\n isActive: boolean;\n isPurchasable: boolean;\n features?: SubscriptionFeatures[];\n itemEntitlements?: SubscriptionEntitlement[];\n subscriptions?: BillingSubscription[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n product?: Product;\n}\n\nexport interface SubscriptionFeatures {\n id: string;\n planId?: string;\n addonId?: string;\n quotaId?: string;\n plan?: Plan;\n addon?: Addon;\n quota?: Quota;\n context?: Record<string, unknown>;\n}\n\nexport interface SubscriptionEntitlement {\n id: string;\n planId: string;\n itemId: string;\n accessType: EntitlementAccessType;\n discountPercentage?: number;\n plan?: Plan;\n item?: { id: string };\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Subscription Types\n// ============================================================================\n\nexport interface BillingSubscription {\n id: string;\n billingAccountId: string;\n planId: string;\n status: SubscriptionStatus;\n startDate: string;\n endDate: string;\n autoRenewal: boolean;\n recurrence: boolean;\n seatCount?: number;\n lastSeatChangeAt?: string;\n lastBillingDate?: string;\n nextBillingDate?: string;\n lastRenewalDate?: string;\n canceledAt?: string;\n canceledBy?: string;\n cancellationReason?: string;\n stripeSubscriptionId?: string;\n razorpaySubscriptionId?: string;\n paymentGateway?: string;\n assignedWorkspaceId?: string | null;\n activatedWorkspaceIds?: string[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n plan?: Plan;\n billingAccount?: BillingAccount;\n addonSubscriptions?: AddonSubscription[];\n quotas?: QuotaAssignment[];\n transactions?: Transaction[];\n history?: SubscriptionHistory[];\n}\n\nexport interface SubscriptionHistory {\n id: string;\n subscriptionId: string;\n fromStatus: SubscriptionStatus;\n toStatus: SubscriptionStatus;\n reason?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\n// ============================================================================\n// Addon Types\n// ============================================================================\n\nexport interface Addon {\n id: string;\n productID: string;\n name: string;\n price: number;\n currency: string;\n currencyPrices?: Record<string, number>;\n geoPricingOverrides?: GeoPricingOverrideInput[];\n duration: PlanDuration;\n isActive: boolean;\n features?: SubscriptionFeatures[];\n addonSubscriptions?: AddonSubscription[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n product?: Product;\n}\n\nexport interface AddonSubscription {\n id: string;\n addonId: string;\n currentSubscriptionId: string;\n quantity: number;\n startDate: string;\n endDate: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n addon?: Addon;\n currentSubscription?: BillingSubscription;\n}\n\n// ============================================================================\n// Invoice Types\n// ============================================================================\n\nexport interface Invoice {\n id: string;\n orgId: string;\n billingAccountId?: string;\n subscriptionId?: string;\n paymentId?: string;\n invoiceNumber: string;\n status: InvoiceStatus;\n subtotal: number;\n tax: number;\n total: number;\n amountPaid: number;\n currency: string;\n dueDate?: string;\n paidAt?: string;\n gatewayInvoiceId?: string;\n invoiceUrl?: string;\n pdfUrl?: string;\n itemDescription?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n items: InvoiceItem[];\n subscription?: BillingSubscription;\n payment?: Payment;\n}\n\nexport interface InvoiceItem {\n id: string;\n invoiceId: string;\n description: string;\n quantity: number;\n unitPrice: number;\n amount: number;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Payment Types\n// ============================================================================\n\nexport interface Payment {\n id: string;\n orgId: string;\n transactionId?: string;\n amount: number;\n currency: string;\n status: PaymentStatus;\n method: PaymentMethodType;\n provider?: string;\n gatewayPaymentId?: string;\n gatewayOrderId?: string;\n failureReason?: string;\n paidAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n invoice?: Invoice;\n}\n\nexport interface PaymentMethod {\n id: string;\n orgId: string;\n billingAccountId?: string;\n type: PaymentMethodType;\n brand?: string;\n last4?: string;\n expiryMonth?: number;\n expiryYear?: number;\n isDefault: boolean;\n isVerified: boolean;\n verifiedAt?: string;\n stripeCustomerId?: string;\n stripePaymentMethodId?: string;\n razorpayCustomerId?: string;\n razorpayPaymentMethodId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n billingAccount?: BillingAccount;\n transactions?: Transaction[];\n}\n\nexport interface Charge {\n id: string;\n orgId: string;\n amount: number;\n currency: string;\n status: ChargeStatus;\n description?: string;\n provider?: string;\n gatewayChargeId?: string;\n gatewayPaymentId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n refunds: Refund[];\n}\n\nexport interface Refund {\n id: string;\n chargeId: string;\n amount: number;\n currency: string;\n status: RefundStatus;\n reason?: string;\n provider?: string;\n gatewayRefundId?: string;\n processedAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n charge?: Charge;\n}\n\n// ============================================================================\n// Transaction Types\n// ============================================================================\n\nexport interface Transaction {\n id: string;\n billingAccountId: string;\n amount: number;\n currency: string;\n type: TransactionType;\n status: TransactionStatus;\n description?: string;\n stripePaymentId?: string;\n razorpayPaymentId?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Credit Types\n// ============================================================================\n\nexport interface CreditTransaction {\n id: string;\n billingAccountId: string;\n productId: string;\n amount: number;\n type: CreditTransactionType;\n status: CreditTransactionStatus;\n fromType?: CreditTransactionType | null;\n payoutRequestId?: string | null;\n entityType?: string;\n entityId?: string;\n transactionId?: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n // Relations\n billingAccount?: BillingAccount;\n transaction?: Transaction;\n}\n\nexport interface CreditBalanceByType {\n purchased: number;\n earned: number;\n granted: number;\n withdrawable: number;\n total: number;\n}\n\nexport interface CreditNote {\n id: string;\n orgId: string;\n invoiceId?: string;\n number: string;\n amount: number;\n currency: string;\n reason?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface CreditRate {\n id: string;\n rateUSD: number;\n effectiveFrom: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// Quota Types\n// ============================================================================\n\nexport interface Quota {\n id: string;\n name: string;\n limits: Record<string, unknown>;\n quotaType: QuotaType;\n reusable: boolean;\n resetPeriod: QuotaResetPeriod;\n isActive: boolean;\n scope?: QuotaScope;\n subscriptions?: SubscriptionFeatures[];\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface QuotaAssignment {\n id: string;\n billingAccountId?: string;\n subscriptionId?: string;\n name: string;\n limits: Record<string, unknown>;\n quotaType: QuotaType;\n reusable: boolean;\n currentUsageSum: number;\n totalUsageCount: number;\n endtime: string;\n context?: Record<string, unknown>;\n createdAt: string;\n // Relations\n billingAccount?: BillingAccount;\n subscription?: BillingSubscription;\n usages?: Usage[];\n recentUsages?: Usage[];\n usageAnalytics?: QuotaUsageAnalytics;\n}\n\nexport interface QuotaAssignmentWithAnalytics extends QuotaAssignment {\n status: QuotaStatus;\n healthScore: number;\n usagePercentage: number;\n limitLeft: number;\n analytics: QuotaUsageAnalytics;\n}\n\nexport interface QuotaAssignmentUsageSummary {\n id: string;\n name: string;\n quotaType: QuotaType;\n reusable: boolean;\n limit: number;\n limitLeft: number;\n used: number;\n usagePercentage: number;\n noLimit: boolean;\n subscriptionId?: string;\n recentUsages: Usage[];\n createdAt: string;\n endtime: string;\n}\n\n// ============================================================================\n// Usage Types\n// ============================================================================\n\nexport interface Usage {\n id: string;\n quotaAssignmentId: string;\n userId?: string;\n productId?: string;\n amount: number;\n description?: string;\n tags?: Record<string, unknown>;\n timestamp: string;\n lastUpdated: string;\n context?: Record<string, unknown>;\n // Relations\n quotaAssignment?: QuotaAssignment;\n user?: { id: string };\n}\n\nexport interface UsageRecord {\n id: string;\n orgId: string;\n subscriptionId?: string;\n metricType: UsageMetricType;\n quantity: number;\n unitCost?: number;\n totalCost?: number;\n timestamp: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\nexport interface DailyUsage {\n date: string;\n usage: number;\n count: number;\n}\n\nexport interface PeakUsage {\n peakDate: string;\n maxDailyUsage: number;\n peakHour?: number;\n}\n\nexport interface UsageTrends {\n averageDailyUsage?: number;\n growthRate?: number;\n predictedUsage?: number;\n}\n\nexport interface UsageByType {\n resourceType: string;\n usage: number;\n count: number;\n percentage: number;\n}\n\nexport interface QuotaUsageAnalytics {\n dailyUsage: DailyUsage[];\n usageByType: UsageByType[];\n peakUsage?: PeakUsage;\n trends?: UsageTrends;\n}\n\nexport interface QuotaUsageSummary {\n quotaId: string;\n quotaName: string;\n usage: number;\n limit: number;\n percentage: number;\n status: QuotaStatus;\n}\n\nexport interface UsageActivity {\n id: string;\n quotaName: string;\n amount: number;\n description: string;\n tags?: Record<string, unknown>;\n timestamp: string;\n}\n\nexport interface UsageDashboard {\n totalUsage: number;\n totalQuotas: number;\n activeQuotas: number;\n healthyQuotas: number;\n warningQuotas: number;\n criticalQuotas: number;\n exhaustedQuotas: number;\n topUsageByQuota: QuotaUsageSummary[];\n recentActivities: UsageActivity[];\n overallTrends: UsageTrends;\n}\n\nexport interface BillingAccountQuotasSummary {\n billingAccountId: string;\n totalUsage: number;\n totalLimit: number;\n pooledQuotas: QuotaAssignmentUsageSummary[];\n subscriptionQuotas: QuotaAssignmentUsageSummary[];\n}\n\n// ============================================================================\n// Other Types\n// ============================================================================\n\nexport interface Product {\n id: string;\n name: string;\n url?: string;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface Discount {\n id: string;\n code: string;\n type: string;\n value: number;\n currency?: string;\n maxUses?: number;\n usedCount: number;\n validFrom: string;\n validUntil?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n transactions?: Transaction[];\n}\n\nexport interface TaxRate {\n id: string;\n country: string;\n state?: string;\n rate: number;\n description?: string;\n active: boolean;\n context?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface BillingNotification {\n id: string;\n orgId: string;\n type: string;\n message: string;\n sentAt?: string;\n metadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n createdAt: string;\n}\n\n// ============================================================================\n// Payment Initiation Types\n// ============================================================================\n\nexport interface InitiatePaymentInput {\n billingAccountId: string;\n purchaseType: PurchaseType;\n amount: number;\n currency: string;\n planId?: string;\n addonId?: string;\n quantity?: number;\n // Multiple addons support (cart checkout)\n addonIds?: string[];\n quantities?: number[];\n creditAmount?: number;\n productId?: string;\n provider?: PaymentProviderPreference;\n // Saved card support\n paymentMethodId?: string;\n saveCard?: boolean;\n // Plan change/upgrade support\n upgradeFromSubscriptionId?: string;\n // Plan downgrade — old sub auto-renewal cancelled, runs to natural expiry\n downgradeFromSubscriptionId?: string;\n metadata?: Record<string, unknown>;\n // Auto-renewal (for plan purchases)\n autoRenew?: boolean;\n autoRenewPaymentMethodId?: string;\n}\n\nexport interface InitiatePaymentResponse {\n success: boolean;\n provider: string;\n paymentId?: string;\n clientSecret?: string;\n orderId?: string;\n razorpayKeyId?: string;\n razorpayCustomerId?: string;\n prefillName?: string;\n prefillEmail?: string;\n prefillContact?: string;\n subtotal: number;\n taxAmount: number;\n taxRate: number;\n taxType: string;\n taxBreakdown?: Record<string, unknown>;\n jurisdiction: string;\n total: number;\n currency: string;\n error?: string;\n}\n\nexport interface VerifyPaymentMethodInput {\n billingAccountId: string;\n currency: string;\n provider?: PaymentProviderPreference;\n setAsDefault?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface VerifyPaymentMethodResponse {\n success: boolean;\n provider: string;\n orderId?: string;\n razorpayKeyId?: string;\n razorpayCustomerId?: string;\n clientSecret?: string;\n amount: number;\n currency: string;\n prefillName?: string;\n prefillEmail?: string;\n prefillContact?: string;\n error?: string;\n}\n\n// ============================================================================\n// Pagination Types\n// ============================================================================\n\nexport interface PaginationInput {\n page?: number;\n limit?: number;\n offset?: number;\n cursor?: string;\n}\n\nexport interface PaginatedResponse<T> {\n items: T[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n hasMore: boolean;\n}\n\nexport interface PaginatedCreditTransactions {\n creditTransactions: CreditTransaction[];\n page: number;\n pageSize: number;\n totalCount: number;\n hasMore: boolean;\n}\n\nexport interface PaginatedQuotaAssignments {\n quotaAssignments: QuotaAssignment[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\nexport interface PaginatedQuotaAssignmentsWithAnalytics {\n quotaAssignments: QuotaAssignmentWithAnalytics[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\nexport interface PaginatedUsages {\n usages: Usage[];\n page: number;\n pageSize: number;\n totalCount: number;\n totalPages: number;\n}\n\n// ============================================================================\n// Input Types\n// ============================================================================\n\nexport interface CreateBillingAccountInput {\n name: string;\n email: string;\n billingEmail?: string;\n currency?: string;\n taxId?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface UpdateBillingAccountInput {\n id: string;\n name?: string;\n email?: string;\n billingEmail?: string;\n currency?: string;\n taxId?: string;\n isActive?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreatePaymentMethodInput {\n billingAccountId: string;\n type: PaymentMethodType;\n brand?: string;\n last4?: string;\n expiryMonth?: number;\n expiryYear?: number;\n isDefault?: boolean;\n stripePaymentMethodId?: string;\n razorpayPaymentMethodId?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface SetBillingAddressInput {\n billingAccountId: string;\n line1: string;\n line2?: string;\n city: string;\n state?: string;\n postalCode: string;\n country: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreatePlanInput {\n productId: string;\n name: string;\n price: number;\n currency?: string;\n duration: PlanDuration;\n isPurchasable?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface UpdatePlanInput {\n id: string;\n name?: string;\n price?: number;\n currency?: string;\n duration?: PlanDuration;\n isActive?: boolean;\n isPurchasable?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface GeoPricingOverrideInput {\n country?: string;\n state?: string;\n region?: string;\n currency: string;\n amount?: number;\n perSeatAmount?: number;\n}\n\nexport interface CurrencyPriceOverrideInput {\n currency: string;\n amount: number;\n perSeatAmount?: number;\n}\n\nexport interface CreateAddonInput {\n productId: string;\n name: string;\n price: number;\n currency: string;\n duration: PlanDuration;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface UpdateAddonInput {\n id: string;\n name?: string;\n price?: number;\n currency?: string;\n duration?: PlanDuration;\n isActive?: boolean;\n quotas: { quotaId: string; quantity: number }[];\n geoPricingOverrides?: GeoPricingOverrideInput[];\n currencyPriceOverrides?: CurrencyPriceOverrideInput[];\n}\n\nexport interface CreateQuotaInput {\n name: string;\n limits: Record<string, unknown>;\n quotaType?: QuotaType;\n reusable: boolean;\n resetPeriod?: QuotaResetPeriod;\n context?: Record<string, unknown>;\n}\n\nexport interface UpdateQuotaInput {\n id: string;\n name?: string;\n limits?: Record<string, unknown>;\n reusable?: boolean;\n isActive: boolean;\n resetPeriod?: QuotaResetPeriod;\n context?: Record<string, unknown>;\n}\n\nexport interface SpendCreditsInput {\n billingAccountId: string;\n planId?: string;\n storeItemId?: string;\n isAnnual?: boolean;\n addOnIds?: { id: string; quantity?: number }[];\n upgradeFromSubscriptionId?: string;\n subscriptionId?: string;\n /** Seat count for PER_SEAT plans. Credits charged = pricePerSeat × seatCount. */\n seatCount?: number;\n}\n\nexport interface CancelSubscriptionInput {\n billingAccountId: string;\n subscriptionId: string;\n reason?: string;\n canceledBy?: string;\n}\n\nexport interface UpdateSubscriptionSeatsInput {\n subscriptionId: string;\n seatCount: number;\n}\n\nexport interface CreateEntitlementInput {\n planId: string;\n itemId: string;\n accessType: EntitlementAccessType;\n discountPercentage?: number;\n}\n\nexport interface UpdateEntitlementInput {\n id: string;\n accessType?: EntitlementAccessType;\n discountPercentage?: number;\n}\n\n// ============================================================================\n// Filter & Sort Types\n// ============================================================================\n\nexport interface DateRangeInput {\n from?: string;\n to?: string;\n}\n\nexport interface AmountRangeInput {\n min?: number;\n max?: number;\n}\n\nexport interface ContextFilterInput {\n orgId?: string;\n userId?: string;\n workspaceId?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport interface ContextInput {\n orgId?: string;\n userId?: string;\n workspaceId?: string;\n organizationId?: string;\n projectId?: string;\n custom?: Record<string, unknown>;\n}\n"],"mappings":";AASA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,UAAA,WACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA,GAkCY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,YAAA,aACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,mBAAA;AACF,EAAA,CAAA,CAAA,GAOY,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,WAAA,YACA,EAAA,YAAA,aACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAQY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,WAAA,YACA,EAAA,QAAA,SACA,EAAA,aAAA,cACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,SAAA,UACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAaY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GAEY,IAAL,yBAAA,GAAA;QACL,EAAA,cAAA,eACA,EAAA,eAAA,gBACA,EAAA,eAAA,gBACA,EAAA,aAAA,cACA,EAAA,gBAAA;AACF,EAAA,CAAA,CAAA"}
@@ -543,6 +543,7 @@ var y = t`
543
543
  razorpaySubscriptionId
544
544
  paymentGateway
545
545
  assignedWorkspaceId
546
+ activatedWorkspaceIds
546
547
  context
547
548
  createdAt
548
549
  updatedAt
@@ -3660,6 +3661,8 @@ var Br = t`
3660
3661
  id
3661
3662
  status
3662
3663
  createdAt
3664
+ planName
3665
+ productId
3663
3666
  quotas {
3664
3667
  id
3665
3668
  name
@@ -3750,6 +3753,8 @@ var Hr = t`
3750
3753
  id
3751
3754
  status
3752
3755
  createdAt
3756
+ planName
3757
+ productId
3753
3758
  quotas {
3754
3759
  id
3755
3760
  name