@happyvertical/smrt-subscriptions 0.54.1 → 0.54.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.
- package/dist/index.js +47 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +3 -2
- package/dist/smrt-knowledge.json +3 -3
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ObjectRegistry, SmrtCollection, SmrtObject, crossPackageRef, field, for
|
|
|
2
2
|
import { TenantIsolationError, TenantScoped, getTenantId, isSuperAdminBypass, isSystemContext, tenantId, withSystemContext } from "@happyvertical/smrt-tenancy";
|
|
3
3
|
import { preflightMinorUnitsRescale, rescaleMoneyColumnsToMinorUnits } from "@happyvertical/smrt-core/migrations";
|
|
4
4
|
//#region src/__smrt-register__.ts
|
|
5
|
-
ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-subscriptions\",\"packageVersion\":\"0.54.1\",\"objects\":{\"@happyvertical/smrt-subscriptions:SubscriptionPlanCollection\":{\"name\":\"subscriptionplancollection\",\"className\":\"SubscriptionPlanCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:SubscriptionPlanCollection\",\"collection\":\"subscriptionplans\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/SubscriptionPlanCollection.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{\"findByPlanKey\":{\"name\":\"findByPlanKey\",\"async\":true,\"parameters\":[{\"name\":\"planKey\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SubscriptionPlan | null>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<SubscriptionPlan[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStripePriceId\":{\"name\":\"findByStripePriceId\",\"async\":true,\"parameters\":[{\"name\":\"stripePriceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SubscriptionPlan | null>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_subscription_plans\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"SubscriptionPlan\",\"exportName\":\"SubscriptionPlanCollection\",\"collectionExportName\":\"SubscriptionPlanCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_subscription_plans\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_subscription_plans\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"plan_key\\\" TEXT DEFAULT '',\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT DEFAULT 'active',\\n \\\"sort_order\\\" INTEGER DEFAULT 0,\\n \\\"price_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"billing_interval\\\" TEXT DEFAULT 'month',\\n \\\"external_provider\\\" TEXT DEFAULT 'stripe',\\n \\\"stripe_product_id\\\" TEXT DEFAULT '',\\n \\\"stripe_price_id\\\" TEXT DEFAULT '',\\n \\\"features\\\" TEXT DEFAULT '[]',\\n \\\"thresholds\\\" TEXT DEFAULT '[]',\\n \\\"metadata\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"plan_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"active\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"billing_interval\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"month\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"stripe\"},\"stripe_product_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_price_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"features\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"[]\"},\"thresholds\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"[]\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_subscription_plans_plan_key_idx\",\"columns\":[\"plan_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_subscription_plans_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_subscription_plans_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"65765fd0\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:TenantSubscriptionCollection\":{\"name\":\"tenantsubscriptioncollection\",\"className\":\"TenantSubscriptionCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:TenantSubscriptionCollection\",\"collection\":\"tenantsubscriptions\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/TenantSubscriptionCollection.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<TenantSubscription[]>\",\"isStatic\":false,\"isPublic\":true},\"findCurrentForTenant\":{\"name\":\"findCurrentForTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false},{\"name\":\"now\",\"type\":\"any\",\"optional\":true}],\"returnType\":\"Promise<TenantSubscription | null>\",\"isStatic\":false,\"isPublic\":true},\"findCurrentForSubscriber\":{\"name\":\"findCurrentForSubscriber\",\"async\":true,\"parameters\":[{\"name\":\"subscriber\",\"type\":\"Subscriber\",\"optional\":false},{\"name\":\"now\",\"type\":\"any\",\"optional\":true}],\"returnType\":\"Promise<TenantSubscription | null>\",\"isStatic\":false,\"isPublic\":true},\"findByStripeSubscriptionId\":{\"name\":\"findByStripeSubscriptionId\",\"async\":true,\"parameters\":[{\"name\":\"stripeSubscriptionId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<TenantSubscription | null>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_tenant_subscriptions\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"TenantSubscription\",\"exportName\":\"TenantSubscriptionCollection\",\"collectionExportName\":\"TenantSubscriptionCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_tenant_subscriptions\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_tenant_subscriptions\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"plan_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'incomplete',\\n \\\"started_at\\\" TIMESTAMP,\\n \\\"current_period_start\\\" TIMESTAMP,\\n \\\"current_period_end\\\" TIMESTAMP,\\n \\\"trial_ends_at\\\" TIMESTAMP,\\n \\\"cancel_at_period_end\\\" BOOLEAN DEFAULT FALSE,\\n \\\"canceled_at\\\" TIMESTAMP,\\n \\\"external_provider\\\" TEXT DEFAULT 'stripe',\\n \\\"stripe_customer_id\\\" TEXT DEFAULT '',\\n \\\"stripe_subscription_id\\\" TEXT DEFAULT '',\\n \\\"stripe_checkout_session_id\\\" TEXT DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"plan_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_subscription_plans\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"incomplete\"},\"started_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"current_period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"current_period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"trial_ends_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancel_at_period_end\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"canceled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"stripe\"},\"stripe_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_subscription_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_checkout_session_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_tenant_subscriptions_tenant_id_subscriber_kind_idx\",\"columns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_tenant_subscriptions_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_tenant_subscriptions_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_tenant_subscriptions_plan_id_idx\",\"columns\":[\"plan_id\"]}],\"version\":\"ac93fb43\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:TenantUsageMetricCollection\":{\"name\":\"tenantusagemetriccollection\",\"className\":\"TenantUsageMetricCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:TenantUsageMetricCollection\",\"collection\":\"tenantusagemetrics\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/TenantUsageMetricCollection.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{\"recordUsage\":{\"name\":\"recordUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"RecordUsageOptions\",\"optional\":false}],\"returnType\":\"Promise<TenantUsageMetric>\",\"isStatic\":false,\"isPublic\":true},\"findByTenantAndMetric\":{\"name\":\"findByTenantAndMetric\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false},{\"name\":\"metricKey\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<TenantUsageMetric[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeUsage\":{\"name\":\"summarizeUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"SummarizeUsageOptions\",\"optional\":false}],\"returnType\":\"Promise<UsageSummary>\",\"isStatic\":false,\"isPublic\":true},\"summarizeUsageBatch\":{\"name\":\"summarizeUsageBatch\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"SummarizeUsageBatchOptions\",\"optional\":false}],\"returnType\":\"Promise<UsageSummary[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeTenantAiUsage\":{\"name\":\"summarizeTenantAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"SummarizeAiUsageOptions\",\"optional\":false}],\"returnType\":\"Promise<AiUsageSummary>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_tenant_usage_metrics\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"TenantUsageMetric\",\"exportName\":\"TenantUsageMetricCollection\",\"collectionExportName\":\"TenantUsageMetricCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_tenant_usage_metrics\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_tenant_usage_metrics\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"window_start\\\" TIMESTAMP,\\n \\\"window_end\\\" TIMESTAMP,\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"dimensions\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"window_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"window_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_tenant_usage_metrics_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_tenant_usage_metrics_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"b799c746\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:SubscriptionPlan\":{\"name\":\"subscriptionplan\",\"className\":\"SubscriptionPlan\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:SubscriptionPlan\",\"collection\":\"subscriptionplans\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/SubscriptionPlan.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"planKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"active\"},\"sortOrder\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"priceAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"billingInterval\":{\"type\":\"text\",\"required\":false,\"default\":\"month\"},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"stripe\"},\"stripeProductId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"stripePriceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"features\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"thresholds\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getFeatureGrants\":{\"name\":\"getFeatureGrants\",\"async\":false,\"parameters\":[],\"returnType\":\"PlanFeatureGrant[]\",\"isStatic\":false,\"isPublic\":true},\"setFeatureGrants\":{\"name\":\"setFeatureGrants\",\"async\":false,\"parameters\":[{\"name\":\"grants\",\"type\":\"Array<string | PlanFeatureGrant>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFeatureKeys\":{\"name\":\"getFeatureKeys\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"getThresholds\":{\"name\":\"getThresholds\",\"async\":false,\"parameters\":[],\"returnType\":\"PlanThreshold[]\",\"isStatic\":false,\"isPublic\":true},\"setThresholds\":{\"name\":\"setThresholds\",\"async\":false,\"parameters\":[{\"name\":\"thresholds\",\"type\":\"PlanThreshold[]\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"JsonObject\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"metadata\",\"type\":\"JsonObject\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_subscription_plans\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"cli\":{\"skipApiCheck\":true},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"plan_key\"],\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"SubscriptionPlan\",\"collectionExportName\":\"SubscriptionPlanCollection\",\"schema\":{\"tableName\":\"_smrt_subscription_plans\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_subscription_plans\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"plan_key\\\" TEXT DEFAULT '',\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT DEFAULT 'active',\\n \\\"sort_order\\\" INTEGER DEFAULT 0,\\n \\\"price_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"billing_interval\\\" TEXT DEFAULT 'month',\\n \\\"external_provider\\\" TEXT DEFAULT 'stripe',\\n \\\"stripe_product_id\\\" TEXT DEFAULT '',\\n \\\"stripe_price_id\\\" TEXT DEFAULT '',\\n \\\"features\\\" TEXT DEFAULT '[]',\\n \\\"thresholds\\\" TEXT DEFAULT '[]',\\n \\\"metadata\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"plan_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"active\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"billing_interval\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"month\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"stripe\"},\"stripe_product_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_price_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"features\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"[]\"},\"thresholds\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"[]\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_subscription_plans_plan_key_idx\",\"columns\":[\"plan_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_subscription_plans_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_subscription_plans_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"65765fd0\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:TenantSubscription\":{\"name\":\"tenantsubscription\",\"className\":\"TenantSubscription\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:TenantSubscription\",\"collection\":\"tenantsubscriptions\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/TenantSubscription.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"subscriberKind\":{\"type\":\"text\",\"required\":false,\"default\":\"tenant\"},\"subscriberExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"planId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"SubscriptionPlan\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"incomplete\"},\"startedAt\":{\"type\":\"datetime\",\"required\":false},\"currentPeriodStart\":{\"type\":\"datetime\",\"required\":false},\"currentPeriodEnd\":{\"type\":\"datetime\",\"required\":false},\"trialEndsAt\":{\"type\":\"datetime\",\"required\":false},\"cancelAtPeriodEnd\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"canceledAt\":{\"type\":\"datetime\",\"required\":false},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"stripe\"},\"stripeCustomerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"stripeSubscriptionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"stripeCheckoutSessionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"}},\"methods\":{\"isEntitled\":{\"name\":\"isEntitled\",\"async\":false,\"parameters\":[{\"name\":\"now\",\"type\":\"any\",\"optional\":true}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getSubscriber\":{\"name\":\"getSubscriber\",\"async\":false,\"parameters\":[],\"returnType\":\"Subscriber | null\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"JsonObject\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"metadata\",\"type\":\"JsonObject\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_tenant_subscriptions\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"cli\":{\"skipApiCheck\":true},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"TenantSubscription\",\"collectionExportName\":\"TenantSubscriptionCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_tenant_subscriptions\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_tenant_subscriptions\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"plan_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'incomplete',\\n \\\"started_at\\\" TIMESTAMP,\\n \\\"current_period_start\\\" TIMESTAMP,\\n \\\"current_period_end\\\" TIMESTAMP,\\n \\\"trial_ends_at\\\" TIMESTAMP,\\n \\\"cancel_at_period_end\\\" BOOLEAN DEFAULT FALSE,\\n \\\"canceled_at\\\" TIMESTAMP,\\n \\\"external_provider\\\" TEXT DEFAULT 'stripe',\\n \\\"stripe_customer_id\\\" TEXT DEFAULT '',\\n \\\"stripe_subscription_id\\\" TEXT DEFAULT '',\\n \\\"stripe_checkout_session_id\\\" TEXT DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"plan_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_subscription_plans\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"incomplete\"},\"started_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"current_period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"current_period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"trial_ends_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancel_at_period_end\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"canceled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"stripe\"},\"stripe_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_subscription_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"stripe_checkout_session_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_tenant_subscriptions_tenant_id_subscriber_kind_idx\",\"columns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_tenant_subscriptions_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_tenant_subscriptions_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_tenant_subscriptions_plan_id_idx\",\"columns\":[\"plan_id\"]}],\"version\":\"ac93fb43\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:TenantUsageMetric\":{\"name\":\"tenantusagemetric\",\"className\":\"TenantUsageMetric\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:TenantUsageMetric\",\"collection\":\"tenantusagemetrics\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/TenantUsageMetric.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"subscriberKind\":{\"type\":\"text\",\"required\":false,\"default\":\"tenant\"},\"subscriberExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"windowStart\":{\"type\":\"datetime\",\"required\":false},\"windowEnd\":{\"type\":\"datetime\",\"required\":false},\"source\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"projectId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"}},\"methods\":{\"getSubscriber\":{\"name\":\"getSubscriber\",\"async\":false,\"parameters\":[],\"returnType\":\"Subscriber | null\",\"isStatic\":false,\"isPublic\":true},\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"JsonObject\",\"isStatic\":false,\"isPublic\":true},\"setDimensions\":{\"name\":\"setDimensions\",\"async\":false,\"parameters\":[{\"name\":\"dimensions\",\"type\":\"JsonObject\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_tenant_usage_metrics\",\"api\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"include\":[\"list\",\"get\",\"create\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"required\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"TenantUsageMetric\",\"collectionExportName\":\"TenantUsageMetricCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_tenant_usage_metrics\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_tenant_usage_metrics\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"window_start\\\" TIMESTAMP,\\n \\\"window_end\\\" TIMESTAMP,\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"dimensions\\\" TEXT DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"window_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"window_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"_smrt_tenant_usage_metrics_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_tenant_usage_metrics_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"b799c746\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PricingRule\":{\"name\":\"pricingrule\",\"className\":\"PricingRule\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PricingRule\",\"collection\":\"pricingrules\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"ruleKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"strategy\":{\"type\":\"text\",\"required\":false,\"default\":\"fixed_unit\"},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"effectiveFrom\":{\"type\":\"datetime\",\"required\":false},\"effectiveTo\":{\"type\":\"datetime\",\"required\":false},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"},\"active\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"priceBookId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PriceBook\"}},\"methods\":{\"getTerms\":{\"name\":\"getTerms\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setTerms\":{\"name\":\"setTerms\",\"async\":false,\"parameters\":[{\"name\":\"value\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_pricing_rules\",\"api\":true,\"cli\":true,\"mcp\":true,\"tenantScoped\":{\"mode\":\"required\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"PricingRule\",\"collectionExportName\":\"PricingRuleCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_pricing_rules\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_pricing_rules\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"rule_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"strategy\\\" TEXT DEFAULT 'fixed_unit',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"effective_from\\\" TIMESTAMP,\\n \\\"effective_to\\\" TIMESTAMP,\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"terms\\\" TEXT DEFAULT '{}',\\n \\\"active\\\" BOOLEAN DEFAULT TRUE,\\n \\\"price_book_id\\\" UUID\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"rule_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"strategy\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"fixed_unit\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"effective_from\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"effective_to\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}}},\"indexes\":[{\"name\":\"_smrt_pricing_rules_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_pricing_rules_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_pricing_rules_price_book_id_idx\",\"columns\":[\"price_book_id\"]}],\"version\":\"65ce9b3f\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:ClientCharge\":{\"name\":\"clientcharge\",\"className\":\"ClientCharge\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:ClientCharge\",\"collection\":\"clientcharges\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"usageEventId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"TenantUsageMetric\"},\"usageTenantId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:Tenant\"},\"subscriberKind\":{\"type\":\"text\",\"required\":false,\"default\":\"tenant\"},\"subscriberExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"projectId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"pricingRuleId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PricingRule\"},\"priceBookId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PriceBook\"},\"pricingSnapshot\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"draft\"},\"approvedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getPricingSnapshot\":{\"name\":\"getPricingSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_client_charges\",\"api\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"usage_event_id\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"ClientCharge\",\"collectionExportName\":\"ClientChargeCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_client_charges\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_client_charges\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"usage_event_id\\\" UUID,\\n \\\"usage_tenant_id\\\" UUID,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"pricing_rule_id\\\" UUID,\\n \\\"price_book_id\\\" UUID,\\n \\\"pricing_snapshot\\\" TEXT DEFAULT '{}',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"approved_at\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"usage_event_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_tenant_usage_metrics\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"usage_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"pricing_rule_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_pricing_rules\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_snapshot\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"approved_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_client_charges_usage_event_id_idx\",\"columns\":[\"usage_event_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_client_charges_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_client_charges_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_client_charges_usage_tenant_id_idx\",\"columns\":[\"usage_tenant_id\"]},{\"name\":\"_smrt_client_charges_pricing_rule_id_idx\",\"columns\":[\"pricing_rule_id\"]},{\"name\":\"_smrt_client_charges_price_book_id_idx\",\"columns\":[\"price_book_id\"]}],\"version\":\"e542be95\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:BillingAdjustment\":{\"name\":\"billingadjustment\",\"className\":\"BillingAdjustment\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:BillingAdjustment\",\"collection\":\"billingadjustments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"clientChargeId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"ClientCharge\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"source\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"createdBy\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_adjustments\",\"api\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"required\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"BillingAdjustment\",\"collectionExportName\":\"BillingAdjustmentCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_billing_adjustments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_adjustments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"client_charge_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"reason\\\" TEXT DEFAULT '',\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"created_by\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"client_charge_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_client_charges\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"created_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_adjustments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_billing_adjustments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_billing_adjustments_client_charge_id_idx\",\"columns\":[\"client_charge_id\"]}],\"version\":\"cded0b52\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:SpendingPolicy\":{\"name\":\"spendingpolicy\",\"className\":\"SpendingPolicy\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:SpendingPolicy\",\"collection\":\"spendingpolicies\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"subscriberKind\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"subscriberExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"projectId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"period\":{\"type\":\"text\",\"required\":false,\"default\":\"month\"},\"rollingSeconds\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"limitAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"behavior\":{\"type\":\"text\",\"required\":false,\"default\":\"observe\"},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"active\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"basis\":{\"type\":\"text\",\"required\":false,\"default\":\"billed\"},\"setByTenantId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:Tenant\"},\"balanceFrom\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_spending_policies\",\"conflictColumns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\",\"project_id\",\"service_key\",\"metric_key\",\"period\",\"name\"],\"api\":true,\"cli\":true,\"mcp\":true,\"hooks\":{\"beforeDelete\":\"assertDelegationAuthority\"},\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"SpendingPolicy\",\"collectionExportName\":\"SpendingPolicyCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_spending_policies\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_spending_policies\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"subscriber_kind\\\" TEXT DEFAULT '',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"period\\\" TEXT DEFAULT 'month',\\n \\\"rolling_seconds\\\" INTEGER DEFAULT 0,\\n \\\"limit_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"behavior\\\" TEXT DEFAULT 'observe',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"active\\\" BOOLEAN DEFAULT TRUE,\\n \\\"basis\\\" TEXT DEFAULT 'billed',\\n \\\"set_by_tenant_id\\\" UUID,\\n \\\"balance_from\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"month\"},\"rolling_seconds\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"limit_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"behavior\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"observe\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"basis\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"billed\"},\"set_by_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"balance_from\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_spending_policies_tenant_id_subscriber_kind_idx\",\"columns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\",\"project_id\",\"service_key\",\"metric_key\",\"period\",\"name\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_spending_policies_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_spending_policies_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_spending_policies_set_by_tenant_id_idx\",\"columns\":[\"set_by_tenant_id\"]}],\"version\":\"c4ac2f49\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PricingRuleCollection\":{\"name\":\"pricingrulecollection\",\"className\":\"PricingRuleCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PricingRuleCollection\",\"collection\":\"pricingrules\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_pricing_rules\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PricingRule\",\"exportName\":\"PricingRuleCollection\",\"collectionExportName\":\"PricingRuleCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_pricing_rules\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_pricing_rules\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"rule_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"strategy\\\" TEXT DEFAULT 'fixed_unit',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"effective_from\\\" TIMESTAMP,\\n \\\"effective_to\\\" TIMESTAMP,\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"terms\\\" TEXT DEFAULT '{}',\\n \\\"active\\\" BOOLEAN DEFAULT TRUE,\\n \\\"price_book_id\\\" UUID\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"rule_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"strategy\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"fixed_unit\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"effective_from\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"effective_to\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}}},\"indexes\":[{\"name\":\"_smrt_pricing_rules_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_pricing_rules_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_pricing_rules_price_book_id_idx\",\"columns\":[\"price_book_id\"]}],\"version\":\"65ce9b3f\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:ClientChargeCollection\":{\"name\":\"clientchargecollection\",\"className\":\"ClientChargeCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:ClientChargeCollection\",\"collection\":\"clientcharges\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_client_charges\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"ClientCharge\",\"exportName\":\"ClientChargeCollection\",\"collectionExportName\":\"ClientChargeCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_client_charges\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_client_charges\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"usage_event_id\\\" UUID,\\n \\\"usage_tenant_id\\\" UUID,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"pricing_rule_id\\\" UUID,\\n \\\"price_book_id\\\" UUID,\\n \\\"pricing_snapshot\\\" TEXT DEFAULT '{}',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"approved_at\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"usage_event_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_tenant_usage_metrics\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"usage_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"pricing_rule_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_pricing_rules\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_snapshot\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"approved_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_client_charges_usage_event_id_idx\",\"columns\":[\"usage_event_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_client_charges_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_client_charges_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_client_charges_usage_tenant_id_idx\",\"columns\":[\"usage_tenant_id\"]},{\"name\":\"_smrt_client_charges_pricing_rule_id_idx\",\"columns\":[\"pricing_rule_id\"]},{\"name\":\"_smrt_client_charges_price_book_id_idx\",\"columns\":[\"price_book_id\"]}],\"version\":\"e542be95\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:BillingAdjustmentCollection\":{\"name\":\"billingadjustmentcollection\",\"className\":\"BillingAdjustmentCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:BillingAdjustmentCollection\",\"collection\":\"billingadjustments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_adjustments\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingAdjustment\",\"exportName\":\"BillingAdjustmentCollection\",\"collectionExportName\":\"BillingAdjustmentCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_adjustments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_adjustments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"client_charge_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"reason\\\" TEXT DEFAULT '',\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"created_by\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"client_charge_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_client_charges\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"created_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_adjustments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_billing_adjustments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_billing_adjustments_client_charge_id_idx\",\"columns\":[\"client_charge_id\"]}],\"version\":\"cded0b52\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:SpendingPolicyCollection\":{\"name\":\"spendingpolicycollection\",\"className\":\"SpendingPolicyCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:SpendingPolicyCollection\",\"collection\":\"spendingpolicies\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_spending_policies\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"SpendingPolicy\",\"exportName\":\"SpendingPolicyCollection\",\"collectionExportName\":\"SpendingPolicyCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_spending_policies\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_spending_policies\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"subscriber_kind\\\" TEXT DEFAULT '',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"period\\\" TEXT DEFAULT 'month',\\n \\\"rolling_seconds\\\" INTEGER DEFAULT 0,\\n \\\"limit_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"behavior\\\" TEXT DEFAULT 'observe',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"active\\\" BOOLEAN DEFAULT TRUE,\\n \\\"basis\\\" TEXT DEFAULT 'billed',\\n \\\"set_by_tenant_id\\\" UUID,\\n \\\"balance_from\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"month\"},\"rolling_seconds\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"limit_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"behavior\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"observe\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"basis\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"billed\"},\"set_by_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"balance_from\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_spending_policies_tenant_id_subscriber_kind_idx\",\"columns\":[\"tenant_id\",\"subscriber_kind\",\"subscriber_external_id\",\"project_id\",\"service_key\",\"metric_key\",\"period\",\"name\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_spending_policies_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_spending_policies_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_spending_policies_set_by_tenant_id_idx\",\"columns\":[\"set_by_tenant_id\"]}],\"version\":\"c4ac2f49\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PriceBook\":{\"name\":\"pricebook\",\"className\":\"PriceBook\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PriceBook\",\"collection\":\"pricebooks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"bookKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"kind\":{\"type\":\"text\",\"required\":false,\"default\":\"retail\"},\"active\":{\"type\":\"boolean\",\"required\":false,\"default\":true}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_price_books\",\"conflictColumns\":[\"tenant_id\",\"book_key\"],\"api\":false,\"cli\":false,\"mcp\":false,\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"PriceBook\",\"collectionExportName\":\"PriceBookCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_price_books\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_price_books\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"book_key\\\" TEXT DEFAULT '',\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"kind\\\" TEXT DEFAULT 'retail',\\n \\\"active\\\" BOOLEAN DEFAULT TRUE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"book_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"retail\"},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true}},\"indexes\":[{\"name\":\"_smrt_price_books_tenant_id_book_key_idx\",\"columns\":[\"tenant_id\",\"book_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_price_books_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_price_books_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c7e5f5e0\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PriceBookAssignment\":{\"name\":\"pricebookassignment\",\"className\":\"PriceBookAssignment\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PriceBookAssignment\",\"collection\":\"pricebookassignments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"childTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"resellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"wholesalePriceBookId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PriceBook\"},\"wholesaleCurrency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"retailPriceBookId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PriceBook\"},\"retailCurrency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_price_book_assignments\",\"conflictColumns\":[\"child_tenant_id\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"PriceBookAssignment\",\"collectionExportName\":\"PriceBookAssignmentCollection\",\"validationRules\":[{\"field\":\"childTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"resellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_price_book_assignments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_price_book_assignments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"child_tenant_id\\\" UUID NOT NULL,\\n \\\"reseller_tenant_id\\\" UUID NOT NULL,\\n \\\"wholesale_price_book_id\\\" UUID,\\n \\\"wholesale_currency\\\" TEXT DEFAULT '',\\n \\\"retail_price_book_id\\\" UUID,\\n \\\"retail_currency\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"child_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"reseller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"wholesale_price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"wholesale_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"retail_price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"retail_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_price_book_assignments_child_tenant_id_idx\",\"columns\":[\"child_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_price_book_assignments_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_price_book_assignments_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_price_book_assignments_reseller_tenant_id_idx\",\"columns\":[\"reseller_tenant_id\"]},{\"name\":\"_smrt_price_book_assignments_wholesale_price_book_id_idx\",\"columns\":[\"wholesale_price_book_id\"]},{\"name\":\"_smrt_price_book_assignments_retail_price_book_id_idx\",\"columns\":[\"retail_price_book_id\"]}],\"version\":\"f24f020e\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:RetailCharge\":{\"name\":\"retailcharge\",\"className\":\"RetailCharge\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:RetailCharge\",\"collection\":\"retailcharges\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"resellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:Tenant\"},\"usageEventId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"TenantUsageMetric\"},\"clientChargeId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"ClientCharge\"},\"subscriberKind\":{\"type\":\"text\",\"required\":false,\"default\":\"tenant\"},\"subscriberExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"projectId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"workRefId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"priceBookId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PriceBook\"},\"pricingRuleId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"PricingRule\"},\"pricingSnapshot\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"draft\"},\"approvedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getPricingSnapshot\":{\"name\":\"getPricingSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_retail_charges\",\"api\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"usage_event_id\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"RetailCharge\",\"collectionExportName\":\"RetailChargeCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_retail_charges\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_retail_charges\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"reseller_tenant_id\\\" UUID,\\n \\\"usage_event_id\\\" UUID,\\n \\\"client_charge_id\\\" UUID,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"price_book_id\\\" UUID,\\n \\\"pricing_rule_id\\\" UUID,\\n \\\"pricing_snapshot\\\" TEXT DEFAULT '{}',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"approved_at\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"reseller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"usage_event_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_tenant_usage_metrics\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"client_charge_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_client_charges\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_rule_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_pricing_rules\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_snapshot\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"approved_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_retail_charges_usage_event_id_idx\",\"columns\":[\"usage_event_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_retail_charges_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_retail_charges_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_retail_charges_reseller_tenant_id_idx\",\"columns\":[\"reseller_tenant_id\"]},{\"name\":\"_smrt_retail_charges_client_charge_id_idx\",\"columns\":[\"client_charge_id\"]},{\"name\":\"_smrt_retail_charges_price_book_id_idx\",\"columns\":[\"price_book_id\"]},{\"name\":\"_smrt_retail_charges_pricing_rule_id_idx\",\"columns\":[\"pricing_rule_id\"]}],\"version\":\"1c1ae3c8\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:CreditGrant\":{\"name\":\"creditgrant\",\"className\":\"CreditGrant\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:CreditGrant\",\"collection\":\"creditgrants\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"spendingPolicyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"SpendingPolicy\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"source\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"grantedByTenantId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:Tenant\"}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_credit_grants\",\"api\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"hooks\":{\"beforeDelete\":\"refuseDelete\"},\"tenantScoped\":{\"mode\":\"required\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"CreditGrant\",\"collectionExportName\":\"CreditGrantCollection\",\"validationRules\":[],\"schema\":{\"tableName\":\"_smrt_credit_grants\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_credit_grants\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"spending_policy_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"reason\\\" TEXT DEFAULT '',\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"granted_by_tenant_id\\\" UUID\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"spending_policy_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_spending_policies\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"granted_by_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_credit_grants_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_credit_grants_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_credit_grants_spending_policy_id_idx\",\"columns\":[\"spending_policy_id\"]},{\"name\":\"_smrt_credit_grants_granted_by_tenant_id_idx\",\"columns\":[\"granted_by_tenant_id\"]}],\"version\":\"602c4e02\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PriceBookCollection\":{\"name\":\"pricebookcollection\",\"className\":\"PriceBookCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PriceBookCollection\",\"collection\":\"pricebooks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_price_books\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PriceBook\",\"exportName\":\"PriceBookCollection\",\"collectionExportName\":\"PriceBookCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_price_books\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_price_books\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"book_key\\\" TEXT DEFAULT '',\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"kind\\\" TEXT DEFAULT 'retail',\\n \\\"active\\\" BOOLEAN DEFAULT TRUE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"book_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"retail\"},\"active\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true}},\"indexes\":[{\"name\":\"_smrt_price_books_tenant_id_book_key_idx\",\"columns\":[\"tenant_id\",\"book_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_price_books_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_price_books_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c7e5f5e0\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:PriceBookAssignmentCollection\":{\"name\":\"pricebookassignmentcollection\",\"className\":\"PriceBookAssignmentCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:PriceBookAssignmentCollection\",\"collection\":\"pricebookassignments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_price_book_assignments\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PriceBookAssignment\",\"exportName\":\"PriceBookAssignmentCollection\",\"collectionExportName\":\"PriceBookAssignmentCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_price_book_assignments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_price_book_assignments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"child_tenant_id\\\" UUID NOT NULL,\\n \\\"reseller_tenant_id\\\" UUID NOT NULL,\\n \\\"wholesale_price_book_id\\\" UUID,\\n \\\"wholesale_currency\\\" TEXT DEFAULT '',\\n \\\"retail_price_book_id\\\" UUID,\\n \\\"retail_currency\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"child_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"reseller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"wholesale_price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"wholesale_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"retail_price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"retail_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_price_book_assignments_child_tenant_id_idx\",\"columns\":[\"child_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_price_book_assignments_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_price_book_assignments_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_price_book_assignments_reseller_tenant_id_idx\",\"columns\":[\"reseller_tenant_id\"]},{\"name\":\"_smrt_price_book_assignments_wholesale_price_book_id_idx\",\"columns\":[\"wholesale_price_book_id\"]},{\"name\":\"_smrt_price_book_assignments_retail_price_book_id_idx\",\"columns\":[\"retail_price_book_id\"]}],\"version\":\"f24f020e\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:RetailChargeCollection\":{\"name\":\"retailchargecollection\",\"className\":\"RetailChargeCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:RetailChargeCollection\",\"collection\":\"retailcharges\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_retail_charges\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"RetailCharge\",\"exportName\":\"RetailChargeCollection\",\"collectionExportName\":\"RetailChargeCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_retail_charges\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_retail_charges\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"reseller_tenant_id\\\" UUID,\\n \\\"usage_event_id\\\" UUID,\\n \\\"client_charge_id\\\" UUID,\\n \\\"subscriber_kind\\\" TEXT DEFAULT 'tenant',\\n \\\"subscriber_external_id\\\" TEXT DEFAULT '',\\n \\\"project_id\\\" TEXT DEFAULT '',\\n \\\"work_ref_type\\\" TEXT DEFAULT '',\\n \\\"work_ref_id\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"service_key\\\" TEXT DEFAULT '',\\n \\\"metric_key\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"price_book_id\\\" UUID,\\n \\\"pricing_rule_id\\\" UUID,\\n \\\"pricing_snapshot\\\" TEXT DEFAULT '{}',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"approved_at\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"reseller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"usage_event_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_tenant_usage_metrics\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"client_charge_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_client_charges\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subscriber_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"tenant\"},\"subscriber_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"project_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"work_ref_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"service_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metric_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"price_book_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_price_books\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_rule_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_pricing_rules\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"pricing_snapshot\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"{}\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"approved_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_retail_charges_usage_event_id_idx\",\"columns\":[\"usage_event_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_retail_charges_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_retail_charges_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_retail_charges_reseller_tenant_id_idx\",\"columns\":[\"reseller_tenant_id\"]},{\"name\":\"_smrt_retail_charges_client_charge_id_idx\",\"columns\":[\"client_charge_id\"]},{\"name\":\"_smrt_retail_charges_price_book_id_idx\",\"columns\":[\"price_book_id\"]},{\"name\":\"_smrt_retail_charges_pricing_rule_id_idx\",\"columns\":[\"pricing_rule_id\"]}],\"version\":\"1c1ae3c8\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"},\"@happyvertical/smrt-subscriptions:CreditGrantCollection\":{\"name\":\"creditgrantcollection\",\"className\":\"CreditGrantCollection\",\"qualifiedName\":\"@happyvertical/smrt-subscriptions:CreditGrantCollection\",\"collection\":\"creditgrants\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts\",\"packageName\":\"@happyvertical/smrt-subscriptions\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_credit_grants\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"CreditGrant\",\"exportName\":\"CreditGrantCollection\",\"collectionExportName\":\"CreditGrantCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_credit_grants\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_credit_grants\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"spending_policy_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"reason\\\" TEXT DEFAULT '',\\n \\\"source\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"granted_by_tenant_id\\\" UUID\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"spending_policy_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_spending_policies\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"granted_by_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_credit_grants_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_credit_grants_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_credit_grants_spending_policy_id_idx\",\"columns\":[\"spending_policy_id\"]},{\"name\":\"_smrt_credit_grants_granted_by_tenant_id_idx\",\"columns\":[\"granted_by_tenant_id\"]}],\"version\":\"602c4e02\"},\"importPath\":\"@happyvertical/smrt-subscriptions\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
|
|
5
|
+
ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-subscriptions","packageVersion":"0.54.3","objects":{"@happyvertical/smrt-subscriptions:SubscriptionPlanCollection":{"name":"subscriptionplancollection","className":"SubscriptionPlanCollection","qualifiedName":"@happyvertical/smrt-subscriptions:SubscriptionPlanCollection","collection":"subscriptionplans","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/SubscriptionPlanCollection.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{"findByPlanKey":{"name":"findByPlanKey","async":true,"parameters":[{"name":"planKey","type":"string","optional":false}],"returnType":"Promise<SubscriptionPlan | null>","isStatic":false,"isPublic":true},"findActive":{"name":"findActive","async":true,"parameters":[],"returnType":"Promise<SubscriptionPlan[]>","isStatic":false,"isPublic":true},"findByStripePriceId":{"name":"findByStripePriceId","async":true,"parameters":[{"name":"stripePriceId","type":"string","optional":false}],"returnType":"Promise<SubscriptionPlan | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_subscription_plans"},"extends":"SmrtCollection","extendsTypeArg":"SubscriptionPlan","exportName":"SubscriptionPlanCollection","collectionExportName":"SubscriptionPlanCollectionCollection","schema":{"tableName":"_smrt_subscription_plans","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_subscription_plans\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"plan_key\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT DEFAULT '',\\n \\"status\\" TEXT DEFAULT 'active',\\n \\"sort_order\\" INTEGER DEFAULT 0,\\n \\"price_amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"billing_interval\\" TEXT DEFAULT 'month',\\n \\"external_provider\\" TEXT DEFAULT 'stripe',\\n \\"stripe_product_id\\" TEXT DEFAULT '',\\n \\"stripe_price_id\\" TEXT DEFAULT '',\\n \\"features\\" TEXT DEFAULT '[]',\\n \\"thresholds\\" TEXT DEFAULT '[]',\\n \\"metadata\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"plan_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"active"},"sort_order":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"price_amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"billing_interval":{"type":"TEXT","notNull":false,"unique":false,"default":"month"},"external_provider":{"type":"TEXT","notNull":false,"unique":false,"default":"stripe"},"stripe_product_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_price_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"features":{"type":"TEXT","notNull":false,"unique":false,"default":"[]"},"thresholds":{"type":"TEXT","notNull":false,"unique":false,"default":"[]"},"metadata":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_subscription_plans_plan_key_idx","columns":["plan_key"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_subscription_plans_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_subscription_plans_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"65765fd0"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:TenantSubscriptionCollection":{"name":"tenantsubscriptioncollection","className":"TenantSubscriptionCollection","qualifiedName":"@happyvertical/smrt-subscriptions:TenantSubscriptionCollection","collection":"tenantsubscriptions","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/TenantSubscriptionCollection.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<TenantSubscription[]>","isStatic":false,"isPublic":true},"findCurrentForTenant":{"name":"findCurrentForTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"now","type":"any","optional":true}],"returnType":"Promise<TenantSubscription | null>","isStatic":false,"isPublic":true},"findCurrentForSubscriber":{"name":"findCurrentForSubscriber","async":true,"parameters":[{"name":"subscriber","type":"Subscriber","optional":false},{"name":"now","type":"any","optional":true}],"returnType":"Promise<TenantSubscription | null>","isStatic":false,"isPublic":true},"findByStripeSubscriptionId":{"name":"findByStripeSubscriptionId","async":true,"parameters":[{"name":"stripeSubscriptionId","type":"string","optional":false}],"returnType":"Promise<TenantSubscription | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_tenant_subscriptions"},"extends":"SmrtCollection","extendsTypeArg":"TenantSubscription","exportName":"TenantSubscriptionCollection","collectionExportName":"TenantSubscriptionCollectionCollection","schema":{"tableName":"_smrt_tenant_subscriptions","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_tenant_subscriptions\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"plan_id\\" UUID,\\n \\"status\\" TEXT DEFAULT 'incomplete',\\n \\"started_at\\" TIMESTAMP,\\n \\"current_period_start\\" TIMESTAMP,\\n \\"current_period_end\\" TIMESTAMP,\\n \\"trial_ends_at\\" TIMESTAMP,\\n \\"cancel_at_period_end\\" BOOLEAN DEFAULT FALSE,\\n \\"canceled_at\\" TIMESTAMP,\\n \\"external_provider\\" TEXT DEFAULT 'stripe',\\n \\"stripe_customer_id\\" TEXT DEFAULT '',\\n \\"stripe_subscription_id\\" TEXT DEFAULT '',\\n \\"stripe_checkout_session_id\\" TEXT DEFAULT '',\\n \\"metadata\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"plan_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_subscription_plans","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"incomplete"},"started_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"current_period_start":{"type":"TIMESTAMP","notNull":false,"unique":false},"current_period_end":{"type":"TIMESTAMP","notNull":false,"unique":false},"trial_ends_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"cancel_at_period_end":{"type":"BOOLEAN","notNull":false,"unique":false,"default":false},"canceled_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"external_provider":{"type":"TEXT","notNull":false,"unique":false,"default":"stripe"},"stripe_customer_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_subscription_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_checkout_session_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metadata":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_tenant_subscriptions_tenant_id_subscriber_kind_idx","columns":["tenant_id","subscriber_kind","subscriber_external_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_tenant_subscriptions_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_tenant_subscriptions_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_tenant_subscriptions_plan_id_idx","columns":["plan_id"]}],"version":"ac93fb43"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:TenantUsageMetricCollection":{"name":"tenantusagemetriccollection","className":"TenantUsageMetricCollection","qualifiedName":"@happyvertical/smrt-subscriptions:TenantUsageMetricCollection","collection":"tenantusagemetrics","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/collections/TenantUsageMetricCollection.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{"recordUsage":{"name":"recordUsage","async":true,"parameters":[{"name":"options","type":"RecordUsageOptions","optional":false}],"returnType":"Promise<TenantUsageMetric>","isStatic":false,"isPublic":true},"findByTenantAndMetric":{"name":"findByTenantAndMetric","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"metricKey","type":"string","optional":false}],"returnType":"Promise<TenantUsageMetric[]>","isStatic":false,"isPublic":true},"summarizeUsage":{"name":"summarizeUsage","async":true,"parameters":[{"name":"options","type":"SummarizeUsageOptions","optional":false}],"returnType":"Promise<UsageSummary>","isStatic":false,"isPublic":true},"summarizeUsageBatch":{"name":"summarizeUsageBatch","async":true,"parameters":[{"name":"options","type":"SummarizeUsageBatchOptions","optional":false}],"returnType":"Promise<UsageSummary[]>","isStatic":false,"isPublic":true},"summarizeTenantAiUsage":{"name":"summarizeTenantAiUsage","async":true,"parameters":[{"name":"options","type":"SummarizeAiUsageOptions","optional":false}],"returnType":"Promise<AiUsageSummary>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_tenant_usage_metrics"},"extends":"SmrtCollection","extendsTypeArg":"TenantUsageMetric","exportName":"TenantUsageMetricCollection","collectionExportName":"TenantUsageMetricCollectionCollection","schema":{"tableName":"_smrt_tenant_usage_metrics","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_tenant_usage_metrics\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"window_start\\" TIMESTAMP,\\n \\"window_end\\" TIMESTAMP,\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"dimensions\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"window_start":{"type":"TIMESTAMP","notNull":false,"unique":false},"window_end":{"type":"TIMESTAMP","notNull":false,"unique":false},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"dimensions":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_tenant_usage_metrics_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_tenant_usage_metrics_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"b799c746"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:SubscriptionPlan":{"name":"subscriptionplan","className":"SubscriptionPlan","qualifiedName":"@happyvertical/smrt-subscriptions:SubscriptionPlan","collection":"subscriptionplans","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/SubscriptionPlan.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"planKey":{"type":"text","required":false,"default":""},"name":{"type":"text","required":false,"default":""},"description":{"type":"text","required":false,"default":""},"status":{"type":"text","required":false,"default":"active"},"sortOrder":{"type":"integer","required":false,"default":0},"priceAmount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"billingInterval":{"type":"text","required":false,"default":"month"},"externalProvider":{"type":"text","required":false,"default":"stripe"},"stripeProductId":{"type":"text","required":false,"default":""},"stripePriceId":{"type":"text","required":false,"default":""},"features":{"type":"text","required":false,"default":"[]"},"thresholds":{"type":"text","required":false,"default":"[]"},"metadata":{"type":"text","required":false,"default":"{}"}},"methods":{"isActive":{"name":"isActive","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getFeatureGrants":{"name":"getFeatureGrants","async":false,"parameters":[],"returnType":"PlanFeatureGrant[]","isStatic":false,"isPublic":true},"setFeatureGrants":{"name":"setFeatureGrants","async":false,"parameters":[{"name":"grants","type":"Array<string | PlanFeatureGrant>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getFeatureKeys":{"name":"getFeatureKeys","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"getThresholds":{"name":"getThresholds","async":false,"parameters":[],"returnType":"PlanThreshold[]","isStatic":false,"isPublic":true},"setThresholds":{"name":"setThresholds","async":false,"parameters":[{"name":"thresholds","type":"PlanThreshold[]","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"JsonObject","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"JsonObject","optional":false}],"returnType":"void","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_subscription_plans","api":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true},"mcp":{"include":["list","get"]},"conflictColumns":["plan_key"],"tenantScoped":{"mode":"optional"}},"extends":"SmrtObject","exportName":"SubscriptionPlan","collectionExportName":"SubscriptionPlanCollection","schema":{"tableName":"_smrt_subscription_plans","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_subscription_plans\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"plan_key\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT DEFAULT '',\\n \\"status\\" TEXT DEFAULT 'active',\\n \\"sort_order\\" INTEGER DEFAULT 0,\\n \\"price_amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"billing_interval\\" TEXT DEFAULT 'month',\\n \\"external_provider\\" TEXT DEFAULT 'stripe',\\n \\"stripe_product_id\\" TEXT DEFAULT '',\\n \\"stripe_price_id\\" TEXT DEFAULT '',\\n \\"features\\" TEXT DEFAULT '[]',\\n \\"thresholds\\" TEXT DEFAULT '[]',\\n \\"metadata\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"plan_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"active"},"sort_order":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"price_amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"billing_interval":{"type":"TEXT","notNull":false,"unique":false,"default":"month"},"external_provider":{"type":"TEXT","notNull":false,"unique":false,"default":"stripe"},"stripe_product_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_price_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"features":{"type":"TEXT","notNull":false,"unique":false,"default":"[]"},"thresholds":{"type":"TEXT","notNull":false,"unique":false,"default":"[]"},"metadata":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_subscription_plans_plan_key_idx","columns":["plan_key"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_subscription_plans_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_subscription_plans_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"65765fd0"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:TenantSubscription":{"name":"tenantsubscription","className":"TenantSubscription","qualifiedName":"@happyvertical/smrt-subscriptions:TenantSubscription","collection":"tenantsubscriptions","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/TenantSubscription.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"subscriberKind":{"type":"text","required":false,"default":"tenant"},"subscriberExternalId":{"type":"text","required":false,"default":""},"planId":{"type":"foreignKey","required":false,"related":"SubscriptionPlan"},"status":{"type":"text","required":false,"default":"incomplete"},"startedAt":{"type":"datetime","required":false},"currentPeriodStart":{"type":"datetime","required":false},"currentPeriodEnd":{"type":"datetime","required":false},"trialEndsAt":{"type":"datetime","required":false},"cancelAtPeriodEnd":{"type":"boolean","required":false,"default":false},"canceledAt":{"type":"datetime","required":false},"externalProvider":{"type":"text","required":false,"default":"stripe"},"stripeCustomerId":{"type":"text","required":false,"default":""},"stripeSubscriptionId":{"type":"text","required":false,"default":""},"stripeCheckoutSessionId":{"type":"text","required":false,"default":""},"metadata":{"type":"text","required":false,"default":"{}"}},"methods":{"isEntitled":{"name":"isEntitled","async":false,"parameters":[{"name":"now","type":"any","optional":true}],"returnType":"boolean","isStatic":false,"isPublic":true},"getSubscriber":{"name":"getSubscriber","async":false,"parameters":[],"returnType":"Subscriber | null","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"JsonObject","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"JsonObject","optional":false}],"returnType":"void","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_tenant_subscriptions","api":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true},"mcp":{"include":["list","get"]},"conflictColumns":["tenant_id","subscriber_kind","subscriber_external_id"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"TenantSubscription","collectionExportName":"TenantSubscriptionCollection","validationRules":[],"schema":{"tableName":"_smrt_tenant_subscriptions","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_tenant_subscriptions\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"plan_id\\" UUID,\\n \\"status\\" TEXT DEFAULT 'incomplete',\\n \\"started_at\\" TIMESTAMP,\\n \\"current_period_start\\" TIMESTAMP,\\n \\"current_period_end\\" TIMESTAMP,\\n \\"trial_ends_at\\" TIMESTAMP,\\n \\"cancel_at_period_end\\" BOOLEAN DEFAULT FALSE,\\n \\"canceled_at\\" TIMESTAMP,\\n \\"external_provider\\" TEXT DEFAULT 'stripe',\\n \\"stripe_customer_id\\" TEXT DEFAULT '',\\n \\"stripe_subscription_id\\" TEXT DEFAULT '',\\n \\"stripe_checkout_session_id\\" TEXT DEFAULT '',\\n \\"metadata\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"plan_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_subscription_plans","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"incomplete"},"started_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"current_period_start":{"type":"TIMESTAMP","notNull":false,"unique":false},"current_period_end":{"type":"TIMESTAMP","notNull":false,"unique":false},"trial_ends_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"cancel_at_period_end":{"type":"BOOLEAN","notNull":false,"unique":false,"default":false},"canceled_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"external_provider":{"type":"TEXT","notNull":false,"unique":false,"default":"stripe"},"stripe_customer_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_subscription_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"stripe_checkout_session_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metadata":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_tenant_subscriptions_tenant_id_subscriber_kind_idx","columns":["tenant_id","subscriber_kind","subscriber_external_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_tenant_subscriptions_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_tenant_subscriptions_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_tenant_subscriptions_plan_id_idx","columns":["plan_id"]}],"version":"ac93fb43"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:TenantUsageMetric":{"name":"tenantusagemetric","className":"TenantUsageMetric","qualifiedName":"@happyvertical/smrt-subscriptions:TenantUsageMetric","collection":"tenantusagemetrics","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/TenantUsageMetric.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"subscriberKind":{"type":"text","required":false,"default":"tenant"},"subscriberExternalId":{"type":"text","required":false,"default":""},"metricKey":{"type":"text","required":false,"default":""},"quantity":{"type":"decimal","required":false,"default":0},"windowStart":{"type":"datetime","required":false},"windowEnd":{"type":"datetime","required":false},"source":{"type":"text","required":false,"default":""},"sourceId":{"type":"text","required":false,"default":""},"projectId":{"type":"text","required":false,"default":""},"workRefType":{"type":"text","required":false,"default":""},"workRefId":{"type":"text","required":false,"default":""},"provider":{"type":"text","required":false,"default":""},"dimensions":{"type":"text","required":false,"default":"{}"}},"methods":{"getSubscriber":{"name":"getSubscriber","async":false,"parameters":[],"returnType":"Subscriber | null","isStatic":false,"isPublic":true},"getDimensions":{"name":"getDimensions","async":false,"parameters":[],"returnType":"JsonObject","isStatic":false,"isPublic":true},"setDimensions":{"name":"setDimensions","async":false,"parameters":[{"name":"dimensions","type":"JsonObject","optional":false}],"returnType":"void","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_tenant_usage_metrics","api":{"include":["list","get","create"]},"cli":{"include":["list","get","create"]},"mcp":{"include":["list","get"]},"tenantScoped":{"mode":"required"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"TenantUsageMetric","collectionExportName":"TenantUsageMetricCollection","validationRules":[],"schema":{"tableName":"_smrt_tenant_usage_metrics","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_tenant_usage_metrics\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"window_start\\" TIMESTAMP,\\n \\"window_end\\" TIMESTAMP,\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"dimensions\\" TEXT DEFAULT '{}'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"window_start":{"type":"TIMESTAMP","notNull":false,"unique":false},"window_end":{"type":"TIMESTAMP","notNull":false,"unique":false},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"dimensions":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"}},"indexes":[{"name":"_smrt_tenant_usage_metrics_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_tenant_usage_metrics_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"b799c746"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PricingRule":{"name":"pricingrule","className":"PricingRule","qualifiedName":"@happyvertical/smrt-subscriptions:PricingRule","collection":"pricingrules","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"ruleKey":{"type":"text","required":false,"default":""},"metricKey":{"type":"text","required":false,"default":""},"serviceKey":{"type":"text","required":false,"default":""},"strategy":{"type":"text","required":false,"default":"fixed_unit"},"currency":{"type":"text","required":false,"default":"USD"},"effectiveFrom":{"type":"datetime","required":false},"effectiveTo":{"type":"datetime","required":false},"priority":{"type":"integer","required":false,"default":0},"terms":{"type":"text","required":false,"default":"{}"},"active":{"type":"boolean","required":false,"default":true},"priceBookId":{"type":"foreignKey","required":false,"related":"PriceBook"}},"methods":{"getTerms":{"name":"getTerms","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setTerms":{"name":"setTerms","async":false,"parameters":[{"name":"value","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_pricing_rules","api":true,"cli":true,"mcp":true,"tenantScoped":{"mode":"required"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"PricingRule","collectionExportName":"PricingRuleCollection","validationRules":[],"schema":{"tableName":"_smrt_pricing_rules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_pricing_rules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"rule_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"strategy\\" TEXT DEFAULT 'fixed_unit',\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"effective_from\\" TIMESTAMP,\\n \\"effective_to\\" TIMESTAMP,\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"terms\\" TEXT DEFAULT '{}',\\n \\"active\\" BOOLEAN DEFAULT TRUE,\\n \\"price_book_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"rule_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"strategy":{"type":"TEXT","notNull":false,"unique":false,"default":"fixed_unit"},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"effective_from":{"type":"TIMESTAMP","notNull":false,"unique":false},"effective_to":{"type":"TIMESTAMP","notNull":false,"unique":false},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"terms":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"_smrt_pricing_rules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_pricing_rules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_pricing_rules_price_book_id_idx","columns":["price_book_id"]}],"version":"65ce9b3f"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:ClientCharge":{"name":"clientcharge","className":"ClientCharge","qualifiedName":"@happyvertical/smrt-subscriptions:ClientCharge","collection":"clientcharges","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"usageEventId":{"type":"foreignKey","required":false,"related":"TenantUsageMetric"},"usageTenantId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:Tenant"},"subscriberKind":{"type":"text","required":false,"default":"tenant"},"subscriberExternalId":{"type":"text","required":false,"default":""},"projectId":{"type":"text","required":false,"default":""},"workRefType":{"type":"text","required":false,"default":""},"workRefId":{"type":"text","required":false,"default":""},"provider":{"type":"text","required":false,"default":""},"serviceKey":{"type":"text","required":false,"default":""},"metricKey":{"type":"text","required":false,"default":""},"quantity":{"type":"decimal","required":false,"default":0},"amount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"pricingRuleId":{"type":"foreignKey","required":false,"related":"PricingRule"},"priceBookId":{"type":"foreignKey","required":false,"related":"PriceBook"},"pricingSnapshot":{"type":"text","required":false,"default":"{}"},"status":{"type":"text","required":false,"default":"draft"},"approvedAt":{"type":"datetime","required":false}},"methods":{"getPricingSnapshot":{"name":"getPricingSnapshot","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_client_charges","api":{"include":["list","get"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"conflictColumns":["usage_event_id"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"ClientCharge","collectionExportName":"ClientChargeCollection","validationRules":[],"schema":{"tableName":"_smrt_client_charges","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_client_charges\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"usage_event_id\\" UUID,\\n \\"usage_tenant_id\\" UUID,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"pricing_rule_id\\" UUID,\\n \\"price_book_id\\" UUID,\\n \\"pricing_snapshot\\" TEXT DEFAULT '{}',\\n \\"status\\" TEXT DEFAULT 'draft',\\n \\"approved_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"usage_event_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_tenant_usage_metrics","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"usage_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"pricing_rule_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_pricing_rules","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_snapshot":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"draft"},"approved_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_client_charges_usage_event_id_idx","columns":["usage_event_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_client_charges_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_client_charges_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_client_charges_usage_tenant_id_idx","columns":["usage_tenant_id"]},{"name":"_smrt_client_charges_pricing_rule_id_idx","columns":["pricing_rule_id"]},{"name":"_smrt_client_charges_price_book_id_idx","columns":["price_book_id"]}],"version":"e542be95"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:BillingAdjustment":{"name":"billingadjustment","className":"BillingAdjustment","qualifiedName":"@happyvertical/smrt-subscriptions:BillingAdjustment","collection":"billingadjustments","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"clientChargeId":{"type":"foreignKey","required":false,"related":"ClientCharge"},"amount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"reason":{"type":"text","required":false,"default":""},"source":{"type":"text","required":false,"default":""},"sourceId":{"type":"text","required":false,"default":""},"createdBy":{"type":"text","required":false,"default":""}},"methods":{},"decoratorConfig":{"tableName":"_smrt_billing_adjustments","api":{"include":["list","get"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"tenantScoped":{"mode":"required"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"BillingAdjustment","collectionExportName":"BillingAdjustmentCollection","validationRules":[],"schema":{"tableName":"_smrt_billing_adjustments","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_billing_adjustments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"client_charge_id\\" UUID,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"created_by\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"client_charge_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_client_charges","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"created_by":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"_smrt_billing_adjustments_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_billing_adjustments_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_billing_adjustments_client_charge_id_idx","columns":["client_charge_id"]}],"version":"cded0b52"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:SpendingPolicy":{"name":"spendingpolicy","className":"SpendingPolicy","qualifiedName":"@happyvertical/smrt-subscriptions:SpendingPolicy","collection":"spendingpolicies","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":false,"default":""},"subscriberKind":{"type":"text","required":false,"default":""},"subscriberExternalId":{"type":"text","required":false,"default":""},"projectId":{"type":"text","required":false,"default":""},"serviceKey":{"type":"text","required":false,"default":""},"metricKey":{"type":"text","required":false,"default":""},"period":{"type":"text","required":false,"default":"month"},"rollingSeconds":{"type":"integer","required":false,"default":0},"limitAmount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"behavior":{"type":"text","required":false,"default":"observe"},"priority":{"type":"integer","required":false,"default":0},"active":{"type":"boolean","required":false,"default":true},"basis":{"type":"text","required":false,"default":"billed"},"setByTenantId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:Tenant"},"balanceFrom":{"type":"datetime","required":false}},"methods":{},"decoratorConfig":{"tableName":"_smrt_spending_policies","conflictColumns":["tenant_id","subscriber_kind","subscriber_external_id","project_id","service_key","metric_key","period","name"],"api":true,"cli":true,"mcp":true,"hooks":{"beforeDelete":"assertDelegationAuthority"},"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"SpendingPolicy","collectionExportName":"SpendingPolicyCollection","validationRules":[],"schema":{"tableName":"_smrt_spending_policies","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_spending_policies\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"name\\" TEXT DEFAULT '',\\n \\"subscriber_kind\\" TEXT DEFAULT '',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"period\\" TEXT DEFAULT 'month',\\n \\"rolling_seconds\\" INTEGER DEFAULT 0,\\n \\"limit_amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"behavior\\" TEXT DEFAULT 'observe',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"active\\" BOOLEAN DEFAULT TRUE,\\n \\"basis\\" TEXT DEFAULT 'billed',\\n \\"set_by_tenant_id\\" UUID,\\n \\"balance_from\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":""},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"period":{"type":"TEXT","notNull":false,"unique":false,"default":"month"},"rolling_seconds":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"limit_amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"behavior":{"type":"TEXT","notNull":false,"unique":false,"default":"observe"},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"basis":{"type":"TEXT","notNull":false,"unique":false,"default":"billed"},"set_by_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"balance_from":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_spending_policies_tenant_id_subscriber_kind_idx","columns":["tenant_id","subscriber_kind","subscriber_external_id","project_id","service_key","metric_key","period","name"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_spending_policies_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_spending_policies_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_spending_policies_set_by_tenant_id_idx","columns":["set_by_tenant_id"]}],"version":"c4ac2f49"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PricingRuleCollection":{"name":"pricingrulecollection","className":"PricingRuleCollection","qualifiedName":"@happyvertical/smrt-subscriptions:PricingRuleCollection","collection":"pricingrules","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_pricing_rules"},"extends":"SmrtCollection","extendsTypeArg":"PricingRule","exportName":"PricingRuleCollection","collectionExportName":"PricingRuleCollectionCollection","schema":{"tableName":"_smrt_pricing_rules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_pricing_rules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"rule_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"strategy\\" TEXT DEFAULT 'fixed_unit',\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"effective_from\\" TIMESTAMP,\\n \\"effective_to\\" TIMESTAMP,\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"terms\\" TEXT DEFAULT '{}',\\n \\"active\\" BOOLEAN DEFAULT TRUE,\\n \\"price_book_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"rule_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"strategy":{"type":"TEXT","notNull":false,"unique":false,"default":"fixed_unit"},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"effective_from":{"type":"TIMESTAMP","notNull":false,"unique":false},"effective_to":{"type":"TIMESTAMP","notNull":false,"unique":false},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"terms":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"_smrt_pricing_rules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_pricing_rules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_pricing_rules_price_book_id_idx","columns":["price_book_id"]}],"version":"65ce9b3f"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:ClientChargeCollection":{"name":"clientchargecollection","className":"ClientChargeCollection","qualifiedName":"@happyvertical/smrt-subscriptions:ClientChargeCollection","collection":"clientcharges","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_client_charges"},"extends":"SmrtCollection","extendsTypeArg":"ClientCharge","exportName":"ClientChargeCollection","collectionExportName":"ClientChargeCollectionCollection","schema":{"tableName":"_smrt_client_charges","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_client_charges\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"usage_event_id\\" UUID,\\n \\"usage_tenant_id\\" UUID,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"pricing_rule_id\\" UUID,\\n \\"price_book_id\\" UUID,\\n \\"pricing_snapshot\\" TEXT DEFAULT '{}',\\n \\"status\\" TEXT DEFAULT 'draft',\\n \\"approved_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"usage_event_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_tenant_usage_metrics","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"usage_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"pricing_rule_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_pricing_rules","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_snapshot":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"draft"},"approved_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_client_charges_usage_event_id_idx","columns":["usage_event_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_client_charges_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_client_charges_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_client_charges_usage_tenant_id_idx","columns":["usage_tenant_id"]},{"name":"_smrt_client_charges_pricing_rule_id_idx","columns":["pricing_rule_id"]},{"name":"_smrt_client_charges_price_book_id_idx","columns":["price_book_id"]}],"version":"e542be95"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:BillingAdjustmentCollection":{"name":"billingadjustmentcollection","className":"BillingAdjustmentCollection","qualifiedName":"@happyvertical/smrt-subscriptions:BillingAdjustmentCollection","collection":"billingadjustments","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_billing_adjustments"},"extends":"SmrtCollection","extendsTypeArg":"BillingAdjustment","exportName":"BillingAdjustmentCollection","collectionExportName":"BillingAdjustmentCollectionCollection","schema":{"tableName":"_smrt_billing_adjustments","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_billing_adjustments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"client_charge_id\\" UUID,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"created_by\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"client_charge_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_client_charges","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"created_by":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"_smrt_billing_adjustments_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_billing_adjustments_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_billing_adjustments_client_charge_id_idx","columns":["client_charge_id"]}],"version":"cded0b52"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:SpendingPolicyCollection":{"name":"spendingpolicycollection","className":"SpendingPolicyCollection","qualifiedName":"@happyvertical/smrt-subscriptions:SpendingPolicyCollection","collection":"spendingpolicies","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/commercial.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_spending_policies"},"extends":"SmrtCollection","extendsTypeArg":"SpendingPolicy","exportName":"SpendingPolicyCollection","collectionExportName":"SpendingPolicyCollectionCollection","schema":{"tableName":"_smrt_spending_policies","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_spending_policies\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"name\\" TEXT DEFAULT '',\\n \\"subscriber_kind\\" TEXT DEFAULT '',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"period\\" TEXT DEFAULT 'month',\\n \\"rolling_seconds\\" INTEGER DEFAULT 0,\\n \\"limit_amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"behavior\\" TEXT DEFAULT 'observe',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"active\\" BOOLEAN DEFAULT TRUE,\\n \\"basis\\" TEXT DEFAULT 'billed',\\n \\"set_by_tenant_id\\" UUID,\\n \\"balance_from\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":""},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"period":{"type":"TEXT","notNull":false,"unique":false,"default":"month"},"rolling_seconds":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"limit_amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"behavior":{"type":"TEXT","notNull":false,"unique":false,"default":"observe"},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"basis":{"type":"TEXT","notNull":false,"unique":false,"default":"billed"},"set_by_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"balance_from":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_spending_policies_tenant_id_subscriber_kind_idx","columns":["tenant_id","subscriber_kind","subscriber_external_id","project_id","service_key","metric_key","period","name"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_spending_policies_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_spending_policies_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_spending_policies_set_by_tenant_id_idx","columns":["set_by_tenant_id"]}],"version":"c4ac2f49"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PriceBook":{"name":"pricebook","className":"PriceBook","qualifiedName":"@happyvertical/smrt-subscriptions:PriceBook","collection":"pricebooks","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"bookKey":{"type":"text","required":false,"default":""},"name":{"type":"text","required":false,"default":""},"kind":{"type":"text","required":false,"default":"retail"},"active":{"type":"boolean","required":false,"default":true}},"methods":{},"decoratorConfig":{"tableName":"_smrt_price_books","conflictColumns":["tenant_id","book_key"],"api":false,"cli":false,"mcp":false,"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"PriceBook","collectionExportName":"PriceBookCollection","validationRules":[],"schema":{"tableName":"_smrt_price_books","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_price_books\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"book_key\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"kind\\" TEXT DEFAULT 'retail',\\n \\"active\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"book_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"kind":{"type":"TEXT","notNull":false,"unique":false,"default":"retail"},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true}},"indexes":[{"name":"_smrt_price_books_tenant_id_book_key_idx","columns":["tenant_id","book_key"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_price_books_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_price_books_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c7e5f5e0"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PriceBookAssignment":{"name":"pricebookassignment","className":"PriceBookAssignment","qualifiedName":"@happyvertical/smrt-subscriptions:PriceBookAssignment","collection":"pricebookassignments","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"childTenantId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-users:Tenant","_meta":{"required":true}},"resellerTenantId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-users:Tenant","_meta":{"required":true}},"wholesalePriceBookId":{"type":"foreignKey","required":false,"related":"PriceBook"},"wholesaleCurrency":{"type":"text","required":false,"default":""},"retailPriceBookId":{"type":"foreignKey","required":false,"related":"PriceBook"},"retailCurrency":{"type":"text","required":false,"default":""}},"methods":{},"decoratorConfig":{"tableName":"_smrt_price_book_assignments","conflictColumns":["child_tenant_id"],"api":false,"cli":false,"mcp":false},"extends":"SmrtObject","exportName":"PriceBookAssignment","collectionExportName":"PriceBookAssignmentCollection","validationRules":[{"field":"childTenantId","rule":"required","fieldType":"crossPackageRef"},{"field":"resellerTenantId","rule":"required","fieldType":"crossPackageRef"}],"schema":{"tableName":"_smrt_price_book_assignments","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_price_book_assignments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"child_tenant_id\\" UUID NOT NULL,\\n \\"reseller_tenant_id\\" UUID NOT NULL,\\n \\"wholesale_price_book_id\\" UUID,\\n \\"wholesale_currency\\" TEXT DEFAULT '',\\n \\"retail_price_book_id\\" UUID,\\n \\"retail_currency\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"child_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"reseller_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"wholesale_price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"wholesale_currency":{"type":"TEXT","notNull":false,"unique":false,"default":""},"retail_price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"retail_currency":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"_smrt_price_book_assignments_child_tenant_id_idx","columns":["child_tenant_id"],"unique":true},{"name":"_smrt_price_book_assignments_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_price_book_assignments_created_at_idx","columns":["created_at"]},{"name":"_smrt_price_book_assignments_reseller_tenant_id_idx","columns":["reseller_tenant_id"]},{"name":"_smrt_price_book_assignments_wholesale_price_book_id_idx","columns":["wholesale_price_book_id"]},{"name":"_smrt_price_book_assignments_retail_price_book_id_idx","columns":["retail_price_book_id"]}],"version":"f24f020e"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:RetailCharge":{"name":"retailcharge","className":"RetailCharge","qualifiedName":"@happyvertical/smrt-subscriptions:RetailCharge","collection":"retailcharges","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"resellerTenantId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:Tenant"},"usageEventId":{"type":"foreignKey","required":false,"related":"TenantUsageMetric"},"clientChargeId":{"type":"foreignKey","required":false,"related":"ClientCharge"},"subscriberKind":{"type":"text","required":false,"default":"tenant"},"subscriberExternalId":{"type":"text","required":false,"default":""},"projectId":{"type":"text","required":false,"default":""},"workRefType":{"type":"text","required":false,"default":""},"workRefId":{"type":"text","required":false,"default":""},"provider":{"type":"text","required":false,"default":""},"serviceKey":{"type":"text","required":false,"default":""},"metricKey":{"type":"text","required":false,"default":""},"quantity":{"type":"decimal","required":false,"default":0},"amount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"priceBookId":{"type":"foreignKey","required":false,"related":"PriceBook"},"pricingRuleId":{"type":"foreignKey","required":false,"related":"PricingRule"},"pricingSnapshot":{"type":"text","required":false,"default":"{}"},"status":{"type":"text","required":false,"default":"draft"},"approvedAt":{"type":"datetime","required":false}},"methods":{"getPricingSnapshot":{"name":"getPricingSnapshot","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_retail_charges","api":{"include":["list","get"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"conflictColumns":["usage_event_id"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"RetailCharge","collectionExportName":"RetailChargeCollection","validationRules":[],"schema":{"tableName":"_smrt_retail_charges","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_retail_charges\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"reseller_tenant_id\\" UUID,\\n \\"usage_event_id\\" UUID,\\n \\"client_charge_id\\" UUID,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"price_book_id\\" UUID,\\n \\"pricing_rule_id\\" UUID,\\n \\"pricing_snapshot\\" TEXT DEFAULT '{}',\\n \\"status\\" TEXT DEFAULT 'draft',\\n \\"approved_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"reseller_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"usage_event_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_tenant_usage_metrics","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"client_charge_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_client_charges","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_rule_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_pricing_rules","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_snapshot":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"draft"},"approved_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_retail_charges_usage_event_id_idx","columns":["usage_event_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_retail_charges_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_retail_charges_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_retail_charges_reseller_tenant_id_idx","columns":["reseller_tenant_id"]},{"name":"_smrt_retail_charges_client_charge_id_idx","columns":["client_charge_id"]},{"name":"_smrt_retail_charges_price_book_id_idx","columns":["price_book_id"]},{"name":"_smrt_retail_charges_pricing_rule_id_idx","columns":["pricing_rule_id"]}],"version":"1c1ae3c8"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:CreditGrant":{"name":"creditgrant","className":"CreditGrant","qualifiedName":"@happyvertical/smrt-subscriptions:CreditGrant","collection":"creditgrants","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"spendingPolicyId":{"type":"foreignKey","required":false,"related":"SpendingPolicy"},"amount":{"type":"integer","required":false,"default":0},"currency":{"type":"text","required":false,"default":"USD"},"reason":{"type":"text","required":false,"default":""},"source":{"type":"text","required":false,"default":""},"sourceId":{"type":"text","required":false,"default":""},"grantedByTenantId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:Tenant"}},"methods":{},"decoratorConfig":{"tableName":"_smrt_credit_grants","api":{"include":["list","get"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"hooks":{"beforeDelete":"refuseDelete"},"tenantScoped":{"mode":"required"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"CreditGrant","collectionExportName":"CreditGrantCollection","validationRules":[],"schema":{"tableName":"_smrt_credit_grants","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_credit_grants\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"spending_policy_id\\" UUID,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"granted_by_tenant_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"spending_policy_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_spending_policies","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"granted_by_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_credit_grants_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_credit_grants_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_credit_grants_spending_policy_id_idx","columns":["spending_policy_id"]},{"name":"_smrt_credit_grants_granted_by_tenant_id_idx","columns":["granted_by_tenant_id"]}],"version":"602c4e02"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PriceBookCollection":{"name":"pricebookcollection","className":"PriceBookCollection","qualifiedName":"@happyvertical/smrt-subscriptions:PriceBookCollection","collection":"pricebooks","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_price_books","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"PriceBook","exportName":"PriceBookCollection","collectionExportName":"PriceBookCollectionCollection","schema":{"tableName":"_smrt_price_books","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_price_books\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"book_key\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"kind\\" TEXT DEFAULT 'retail',\\n \\"active\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"book_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"kind":{"type":"TEXT","notNull":false,"unique":false,"default":"retail"},"active":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true}},"indexes":[{"name":"_smrt_price_books_tenant_id_book_key_idx","columns":["tenant_id","book_key"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_price_books_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_price_books_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c7e5f5e0"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:PriceBookAssignmentCollection":{"name":"pricebookassignmentcollection","className":"PriceBookAssignmentCollection","qualifiedName":"@happyvertical/smrt-subscriptions:PriceBookAssignmentCollection","collection":"pricebookassignments","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_price_book_assignments","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"PriceBookAssignment","exportName":"PriceBookAssignmentCollection","collectionExportName":"PriceBookAssignmentCollectionCollection","schema":{"tableName":"_smrt_price_book_assignments","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_price_book_assignments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"child_tenant_id\\" UUID NOT NULL,\\n \\"reseller_tenant_id\\" UUID NOT NULL,\\n \\"wholesale_price_book_id\\" UUID,\\n \\"wholesale_currency\\" TEXT DEFAULT '',\\n \\"retail_price_book_id\\" UUID,\\n \\"retail_currency\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"child_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"reseller_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"wholesale_price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"wholesale_currency":{"type":"TEXT","notNull":false,"unique":false,"default":""},"retail_price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"retail_currency":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"_smrt_price_book_assignments_child_tenant_id_idx","columns":["child_tenant_id"],"unique":true},{"name":"_smrt_price_book_assignments_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_price_book_assignments_created_at_idx","columns":["created_at"]},{"name":"_smrt_price_book_assignments_reseller_tenant_id_idx","columns":["reseller_tenant_id"]},{"name":"_smrt_price_book_assignments_wholesale_price_book_id_idx","columns":["wholesale_price_book_id"]},{"name":"_smrt_price_book_assignments_retail_price_book_id_idx","columns":["retail_price_book_id"]}],"version":"f24f020e"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:RetailChargeCollection":{"name":"retailchargecollection","className":"RetailChargeCollection","qualifiedName":"@happyvertical/smrt-subscriptions:RetailChargeCollection","collection":"retailcharges","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_retail_charges"},"extends":"SmrtCollection","extendsTypeArg":"RetailCharge","exportName":"RetailChargeCollection","collectionExportName":"RetailChargeCollectionCollection","schema":{"tableName":"_smrt_retail_charges","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_retail_charges\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"reseller_tenant_id\\" UUID,\\n \\"usage_event_id\\" UUID,\\n \\"client_charge_id\\" UUID,\\n \\"subscriber_kind\\" TEXT DEFAULT 'tenant',\\n \\"subscriber_external_id\\" TEXT DEFAULT '',\\n \\"project_id\\" TEXT DEFAULT '',\\n \\"work_ref_type\\" TEXT DEFAULT '',\\n \\"work_ref_id\\" TEXT DEFAULT '',\\n \\"provider\\" TEXT DEFAULT '',\\n \\"service_key\\" TEXT DEFAULT '',\\n \\"metric_key\\" TEXT DEFAULT '',\\n \\"quantity\\" REAL DEFAULT 0,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"price_book_id\\" UUID,\\n \\"pricing_rule_id\\" UUID,\\n \\"pricing_snapshot\\" TEXT DEFAULT '{}',\\n \\"status\\" TEXT DEFAULT 'draft',\\n \\"approved_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"reseller_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"usage_event_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_tenant_usage_metrics","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"client_charge_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_client_charges","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"subscriber_kind":{"type":"TEXT","notNull":false,"unique":false,"default":"tenant"},"subscriber_external_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"project_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"work_ref_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"provider":{"type":"TEXT","notNull":false,"unique":false,"default":""},"service_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"metric_key":{"type":"TEXT","notNull":false,"unique":false,"default":""},"quantity":{"type":"REAL","notNull":false,"unique":false,"default":0},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"price_book_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_price_books","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_rule_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_pricing_rules","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pricing_snapshot":{"type":"TEXT","notNull":false,"unique":false,"default":"{}"},"status":{"type":"TEXT","notNull":false,"unique":false,"default":"draft"},"approved_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_retail_charges_usage_event_id_idx","columns":["usage_event_id"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_retail_charges_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_retail_charges_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_retail_charges_reseller_tenant_id_idx","columns":["reseller_tenant_id"]},{"name":"_smrt_retail_charges_client_charge_id_idx","columns":["client_charge_id"]},{"name":"_smrt_retail_charges_price_book_id_idx","columns":["price_book_id"]},{"name":"_smrt_retail_charges_pricing_rule_id_idx","columns":["pricing_rule_id"]}],"version":"1c1ae3c8"},"importPath":"@happyvertical/smrt-subscriptions"},"@happyvertical/smrt-subscriptions:CreditGrantCollection":{"name":"creditgrantcollection","className":"CreditGrantCollection","qualifiedName":"@happyvertical/smrt-subscriptions:CreditGrantCollection","collection":"creditgrants","filePath":"/home/runner/work/smrt/smrt/packages/subscriptions/src/models/reseller.ts","packageName":"@happyvertical/smrt-subscriptions","fields":{},"methods":{},"decoratorConfig":{"tableName":"_smrt_credit_grants"},"extends":"SmrtCollection","extendsTypeArg":"CreditGrant","exportName":"CreditGrantCollection","collectionExportName":"CreditGrantCollectionCollection","schema":{"tableName":"_smrt_credit_grants","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_credit_grants\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"spending_policy_id\\" UUID,\\n \\"amount\\" INTEGER DEFAULT 0,\\n \\"currency\\" TEXT DEFAULT 'USD',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"source\\" TEXT DEFAULT '',\\n \\"source_id\\" TEXT DEFAULT '',\\n \\"granted_by_tenant_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"spending_policy_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"_smrt_spending_policies","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"amount":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"currency":{"type":"TEXT","notNull":false,"unique":false,"default":"USD"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source":{"type":"TEXT","notNull":false,"unique":false,"default":""},"source_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"granted_by_tenant_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_credit_grants_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"_smrt_credit_grants_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_credit_grants_spending_policy_id_idx","columns":["spending_policy_id"]},{"name":"_smrt_credit_grants_granted_by_tenant_id_idx","columns":["granted_by_tenant_id"]}],"version":"602c4e02"},"importPath":"@happyvertical/smrt-subscriptions"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-core","@happyvertical/smrt-tenancy"],"stampsConstructors":true}`));
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/utils.ts
|
|
8
8
|
var THRESHOLD_WINDOWS = [
|
|
@@ -162,12 +162,19 @@ function tenantKey(value) {
|
|
|
162
162
|
//#region src/models/SubscriptionPlan.ts
|
|
163
163
|
var __defProp$4 = Object.defineProperty;
|
|
164
164
|
var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
|
|
165
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
configurable: true,
|
|
168
|
+
writable: true,
|
|
169
|
+
value
|
|
170
|
+
}) : obj[key] = value;
|
|
165
171
|
var __decorateClass$4 = (decorators, target, key, kind) => {
|
|
166
172
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
|
|
167
173
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
168
174
|
if (kind && result) __defProp$4(target, key, result);
|
|
169
175
|
return result;
|
|
170
176
|
};
|
|
177
|
+
var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
171
178
|
var SubscriptionPlan = class extends SmrtObject {
|
|
172
179
|
tenantId = null;
|
|
173
180
|
planKey = "";
|
|
@@ -232,6 +239,7 @@ var SubscriptionPlan = class extends SmrtObject {
|
|
|
232
239
|
this.metadata = stringifyJson(metadata);
|
|
233
240
|
}
|
|
234
241
|
};
|
|
242
|
+
__publicField$4(SubscriptionPlan, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
235
243
|
__decorateClass$4([tenantId({ nullable: true })], SubscriptionPlan.prototype, "tenantId", 2);
|
|
236
244
|
SubscriptionPlan = __decorateClass$4([TenantScoped({ mode: "optional" }), smrt({
|
|
237
245
|
tableName: "_smrt_subscription_plans",
|
|
@@ -272,12 +280,19 @@ var SubscriptionPlanCollection = class extends SmrtCollection {
|
|
|
272
280
|
//#region src/models/TenantSubscription.ts
|
|
273
281
|
var __defProp$3 = Object.defineProperty;
|
|
274
282
|
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
283
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, {
|
|
284
|
+
enumerable: true,
|
|
285
|
+
configurable: true,
|
|
286
|
+
writable: true,
|
|
287
|
+
value
|
|
288
|
+
}) : obj[key] = value;
|
|
275
289
|
var __decorateClass$3 = (decorators, target, key, kind) => {
|
|
276
290
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
|
277
291
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
278
292
|
if (kind && result) __defProp$3(target, key, result);
|
|
279
293
|
return result;
|
|
280
294
|
};
|
|
295
|
+
var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
281
296
|
var TenantSubscription = class extends SmrtObject {
|
|
282
297
|
tenantId;
|
|
283
298
|
/**
|
|
@@ -383,6 +398,7 @@ var TenantSubscription = class extends SmrtObject {
|
|
|
383
398
|
this.metadata = stringifyJson(metadata);
|
|
384
399
|
}
|
|
385
400
|
};
|
|
401
|
+
__publicField$3(TenantSubscription, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
386
402
|
__decorateClass$3([tenantId()], TenantSubscription.prototype, "tenantId", 2);
|
|
387
403
|
__decorateClass$3([foreignKey("SubscriptionPlan")], TenantSubscription.prototype, "planId", 2);
|
|
388
404
|
TenantSubscription = __decorateClass$3([TenantScoped({ mode: "required" }), smrt({
|
|
@@ -458,12 +474,19 @@ var TenantSubscriptionCollection = class extends SmrtCollection {
|
|
|
458
474
|
//#region src/models/TenantUsageMetric.ts
|
|
459
475
|
var __defProp$2 = Object.defineProperty;
|
|
460
476
|
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
477
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {
|
|
478
|
+
enumerable: true,
|
|
479
|
+
configurable: true,
|
|
480
|
+
writable: true,
|
|
481
|
+
value
|
|
482
|
+
}) : obj[key] = value;
|
|
461
483
|
var __decorateClass$2 = (decorators, target, key, kind) => {
|
|
462
484
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
|
|
463
485
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
464
486
|
if (kind && result) __defProp$2(target, key, result);
|
|
465
487
|
return result;
|
|
466
488
|
};
|
|
489
|
+
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
467
490
|
var TenantUsageMetric = class extends SmrtObject {
|
|
468
491
|
tenantId;
|
|
469
492
|
/**
|
|
@@ -581,6 +604,7 @@ var TenantUsageMetric = class extends SmrtObject {
|
|
|
581
604
|
this.dimensions = stringifyJson(dimensions);
|
|
582
605
|
}
|
|
583
606
|
};
|
|
607
|
+
__publicField$2(TenantUsageMetric, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
584
608
|
__decorateClass$2([tenantId()], TenantUsageMetric.prototype, "tenantId", 2);
|
|
585
609
|
TenantUsageMetric = __decorateClass$2([TenantScoped({ mode: "required" }), smrt({
|
|
586
610
|
tableName: "_smrt_tenant_usage_metrics",
|
|
@@ -835,12 +859,19 @@ function migrateSubscriptionsMoneyToMinorUnits(db, options = {}) {
|
|
|
835
859
|
//#region src/models/commercial.ts
|
|
836
860
|
var __defProp$1 = Object.defineProperty;
|
|
837
861
|
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
862
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {
|
|
863
|
+
enumerable: true,
|
|
864
|
+
configurable: true,
|
|
865
|
+
writable: true,
|
|
866
|
+
value
|
|
867
|
+
}) : obj[key] = value;
|
|
838
868
|
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
839
869
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
|
|
840
870
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
841
871
|
if (kind && result) __defProp$1(target, key, result);
|
|
842
872
|
return result;
|
|
843
873
|
};
|
|
874
|
+
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
844
875
|
var PricingRule = class extends SmrtObject {
|
|
845
876
|
tenantId;
|
|
846
877
|
ruleKey = "";
|
|
@@ -865,6 +896,7 @@ var PricingRule = class extends SmrtObject {
|
|
|
865
896
|
this.terms = JSON.stringify(value);
|
|
866
897
|
}
|
|
867
898
|
};
|
|
899
|
+
__publicField$1(PricingRule, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
868
900
|
__decorateClass$1([tenantId()], PricingRule.prototype, "tenantId", 2);
|
|
869
901
|
__decorateClass$1([foreignKey("PriceBook")], PricingRule.prototype, "priceBookId", 2);
|
|
870
902
|
PricingRule = __decorateClass$1([TenantScoped({ mode: "required" }), smrt({
|
|
@@ -961,6 +993,7 @@ var ClientCharge = class extends SmrtObject {
|
|
|
961
993
|
if (persisted.some((value, index) => normalizeSnapshot(value) !== normalizeSnapshot(current[index]))) throw new Error("Approved client charges are immutable; append a BillingAdjustment instead.");
|
|
962
994
|
}
|
|
963
995
|
};
|
|
996
|
+
__publicField$1(ClientCharge, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
964
997
|
__decorateClass$1([tenantId()], ClientCharge.prototype, "tenantId", 2);
|
|
965
998
|
__decorateClass$1([foreignKey("TenantUsageMetric")], ClientCharge.prototype, "usageEventId", 2);
|
|
966
999
|
__decorateClass$1([crossPackageRef("@happyvertical/smrt-users:Tenant")], ClientCharge.prototype, "usageTenantId", 2);
|
|
@@ -994,6 +1027,7 @@ var BillingAdjustment = class extends SmrtObject {
|
|
|
994
1027
|
if (await this.db.get(this.tableName, { id: this.id })) throw new Error("Billing adjustments are append-only; create a new adjustment instead.");
|
|
995
1028
|
}
|
|
996
1029
|
};
|
|
1030
|
+
__publicField$1(BillingAdjustment, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
997
1031
|
__decorateClass$1([tenantId()], BillingAdjustment.prototype, "tenantId", 2);
|
|
998
1032
|
__decorateClass$1([foreignKey("ClientCharge")], BillingAdjustment.prototype, "clientChargeId", 2);
|
|
999
1033
|
BillingAdjustment = __decorateClass$1([TenantScoped({ mode: "required" }), smrt({
|
|
@@ -1094,6 +1128,7 @@ var SpendingPolicy = class extends SmrtObject {
|
|
|
1094
1128
|
throw new TenantIsolationError("Delegated spending policies can be changed only by the parent that set them.");
|
|
1095
1129
|
}
|
|
1096
1130
|
};
|
|
1131
|
+
__publicField$1(SpendingPolicy, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
1097
1132
|
__decorateClass$1([tenantId()], SpendingPolicy.prototype, "tenantId", 2);
|
|
1098
1133
|
__decorateClass$1([crossPackageRef("@happyvertical/smrt-users:Tenant")], SpendingPolicy.prototype, "setByTenantId", 2);
|
|
1099
1134
|
SpendingPolicy = __decorateClass$1([TenantScoped({ mode: "required" }), smrt({
|
|
@@ -1137,12 +1172,19 @@ function normalizeSnapshot(value) {
|
|
|
1137
1172
|
//#region src/models/reseller.ts
|
|
1138
1173
|
var __defProp = Object.defineProperty;
|
|
1139
1174
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
1175
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
|
|
1176
|
+
enumerable: true,
|
|
1177
|
+
configurable: true,
|
|
1178
|
+
writable: true,
|
|
1179
|
+
value
|
|
1180
|
+
}) : obj[key] = value;
|
|
1140
1181
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
1141
1182
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
1142
1183
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
1143
1184
|
if (kind && result) __defProp(target, key, result);
|
|
1144
1185
|
return result;
|
|
1145
1186
|
};
|
|
1187
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
1146
1188
|
var PRICE_BOOK_KINDS = ["wholesale", "retail"];
|
|
1147
1189
|
var CURRENCY_PATTERN = /^[A-Z]{3}$/;
|
|
1148
1190
|
function isPriceBookKind(value) {
|
|
@@ -1163,6 +1205,7 @@ var PriceBook = class extends SmrtObject {
|
|
|
1163
1205
|
if (!isPriceBookKind(this.kind)) throw new Error("Price book kind must be wholesale or retail.");
|
|
1164
1206
|
}
|
|
1165
1207
|
};
|
|
1208
|
+
__publicField(PriceBook, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
1166
1209
|
__decorateClass([tenantId()], PriceBook.prototype, "tenantId", 2);
|
|
1167
1210
|
PriceBook = __decorateClass([TenantScoped({ mode: "required" }), smrt({
|
|
1168
1211
|
tableName: "_smrt_price_books",
|
|
@@ -1179,6 +1222,7 @@ var PriceBookAssignment = class extends SmrtObject {
|
|
|
1179
1222
|
retailPriceBookId = "";
|
|
1180
1223
|
retailCurrency = "";
|
|
1181
1224
|
};
|
|
1225
|
+
__publicField(PriceBookAssignment, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
1182
1226
|
__decorateClass([crossPackageRef("@happyvertical/smrt-users:Tenant"), field({ required: true })], PriceBookAssignment.prototype, "childTenantId", 2);
|
|
1183
1227
|
__decorateClass([crossPackageRef("@happyvertical/smrt-users:Tenant"), field({ required: true })], PriceBookAssignment.prototype, "resellerTenantId", 2);
|
|
1184
1228
|
__decorateClass([foreignKey("PriceBook")], PriceBookAssignment.prototype, "wholesalePriceBookId", 2);
|
|
@@ -1272,6 +1316,7 @@ var RetailCharge = class extends SmrtObject {
|
|
|
1272
1316
|
if (persisted.some((value, index) => normalizeLedgerValue(value) !== normalizeLedgerValue(current[index]))) throw new Error("Approved retail charges are immutable.");
|
|
1273
1317
|
}
|
|
1274
1318
|
};
|
|
1319
|
+
__publicField(RetailCharge, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
1275
1320
|
__decorateClass([tenantId()], RetailCharge.prototype, "tenantId", 2);
|
|
1276
1321
|
__decorateClass([crossPackageRef("@happyvertical/smrt-users:Tenant")], RetailCharge.prototype, "resellerTenantId", 2);
|
|
1277
1322
|
__decorateClass([foreignKey("TenantUsageMetric")], RetailCharge.prototype, "usageEventId", 2);
|
|
@@ -1313,6 +1358,7 @@ var CreditGrant = class extends SmrtObject {
|
|
|
1313
1358
|
if (!isSystemContext() && !isSuperAdminBypass() && tenantKey(getTenantId()) !== setBy) throw new TenantIsolationError("Only the parent that set a delegated policy can grant it credit.");
|
|
1314
1359
|
}
|
|
1315
1360
|
};
|
|
1361
|
+
__publicField(CreditGrant, "__smrtPackage__", "@happyvertical/smrt-subscriptions");
|
|
1316
1362
|
__decorateClass([tenantId()], CreditGrant.prototype, "tenantId", 2);
|
|
1317
1363
|
__decorateClass([foreignKey("SpendingPolicy")], CreditGrant.prototype, "spendingPolicyId", 2);
|
|
1318
1364
|
__decorateClass([crossPackageRef("@happyvertical/smrt-users:Tenant")], CreditGrant.prototype, "grantedByTenantId", 2);
|