@happyvertical/smrt-ads 0.49.5 → 0.49.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ObjectRegistry, SmrtCollection, SmrtObject, crossPackageRef, foreignKey, smrt } from "@happyvertical/smrt-core";
2
2
  import { TenantScoped, queryGlobal, queryWithGlobals, tenantId } from "@happyvertical/smrt-tenancy";
3
3
  //#region src/__smrt-register__.ts
4
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-ads\",\"packageVersion\":\"0.49.5\",\"objects\":{\"@happyvertical/smrt-ads:AdDeliveryTierCollection\":{\"name\":\"addeliverytiercollection\",\"className\":\"AdDeliveryTierCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTierCollection\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdDeliveryTierCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByPriority\":{\"name\":\"findByPriority\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findByPricingModel\":{\"name\":\"findByPricingModel\",\"async\":true,\"parameters\":[{\"name\":\"pricingModel\",\"type\":\"PricingModel\",\"optional\":false}],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"getHighestPriority\":{\"name\":\"getHighestPriority\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier | null>\",\"isStatic\":false,\"isPublic\":true},\"findFixedPricing\":{\"name\":\"findFixedPricing\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findCPM\":{\"name\":\"findCPM\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findPerformanceBased\":{\"name\":\"findPerformanceBased\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdDeliveryTier\",\"exportName\":\"AdDeliveryTierCollection\",\"collectionExportName\":\"AdDeliveryTierCollectionCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"}},\"@happyvertical/smrt-ads:AdEventCollection\":{\"name\":\"adeventcollection\",\"className\":\"AdEventCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEventCollection\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdEventCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByVariation\":{\"name\":\"findByVariation\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByZone\":{\"name\":\"findByZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySite\":{\"name\":\"findBySite\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"start\",\"type\":\"Date\",\"optional\":false},{\"name\":\"end\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"eventType\",\"type\":\"AdEventType\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"countByType\":{\"name\":\"countByType\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false},{\"name\":\"eventType\",\"type\":\"AdEventType\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countImpressions\":{\"name\":\"countImpressions\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countClicks\":{\"name\":\"countClicks\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countConversions\":{\"name\":\"countConversions\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findImpressions\":{\"name\":\"findImpressions\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findClicks\":{\"name\":\"findClicks\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findConversions\":{\"name\":\"findConversions\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"getVariationStats\":{\"name\":\"getVariationStats\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdEvent\",\"exportName\":\"AdEventCollection\",\"collectionExportName\":\"AdEventCollectionCollection\",\"schema\":{\"tableName\":\"ad_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_events\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"variation_id\\\" UUID,\\n \\\"zone_id\\\" UUID,\\n \\\"site_id\\\" TEXT DEFAULT '',\\n \\\"event_type\\\" TEXT,\\n \\\"timestamp\\\" TIMESTAMP,\\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\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"variation_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_variations\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"zone_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"site_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"event_type\":{\"type\":\"TEXT\",\"notNull\":false},\"timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"}},\"@happyvertical/smrt-ads:AdFormatCollection\":{\"name\":\"adformatcollection\",\"className\":\"AdFormatCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormatCollection\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdFormatCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByDimensions\":{\"name\":\"findByDimensions\",\"async\":true,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<AdFormat | null>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"formatType\",\"type\":\"AdFormatType\",\"optional\":false}],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findBanners\":{\"name\":\"findBanners\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findNative\":{\"name\":\"findNative\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findVideo\":{\"name\":\"findVideo\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdFormat\",\"exportName\":\"AdFormatCollection\",\"collectionExportName\":\"AdFormatCollectionCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"}},\"@happyvertical/smrt-ads:AdGroupCollection\":{\"name\":\"adgroupcollection\",\"className\":\"AdGroupCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroupCollection\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdGroupCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTier\":{\"name\":\"findByTier\",\"async\":true,\"parameters\":[{\"name\":\"tierId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AdGroupStatus\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVertical\":{\"name\":\"findByVertical\",\"async\":true,\"parameters\":[{\"name\":\"verticalSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByZone\":{\"name\":\"findByZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findEligibleForZone\":{\"name\":\"findEligibleForZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaused\":{\"name\":\"findPaused\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdGroup\",\"exportName\":\"AdGroupCollection\",\"collectionExportName\":\"AdGroupCollectionCollection\",\"schema\":{\"tableName\":\"ad_groups\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_groups\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"tier_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"vertical_slug\\\" TEXT DEFAULT '',\\n \\\"targeting\\\" TEXT DEFAULT '',\\n \\\"zone_ids\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"daily_budget\\\" REAL DEFAULT 0,\\n \\\"total_budget\\\" REAL DEFAULT 0,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"tier_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_delivery_tiers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"vertical_slug\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"targeting\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"zone_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"daily_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false}},\"indexes\":[{\"name\":\"ad_groups_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"}},\"@happyvertical/smrt-ads:AdVariationCollection\":{\"name\":\"advariationcollection\",\"className\":\"AdVariationCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariationCollection\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdVariationCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByGroup\":{\"name\":\"findByGroup\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByFormat\":{\"name\":\"findByFormat\",\"async\":true,\"parameters\":[{\"name\":\"formatId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByGroup\":{\"name\":\"findActiveByGroup\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"selectByWeight\":{\"name\":\"selectByWeight\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation | null>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AdVariationStatus\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaused\":{\"name\":\"findPaused\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findTopPerformers\":{\"name\":\"findTopPerformers\",\"async\":true,\"parameters\":[{\"name\":\"limit\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdVariation\",\"exportName\":\"AdVariationCollection\",\"collectionExportName\":\"AdVariationCollectionCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"}},\"@happyvertical/smrt-ads:AdDeliveryTier\":{\"name\":\"addeliverytier\",\"className\":\"AdDeliveryTier\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTier\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"pricingModel\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isHigherPriorityThan\":{\"name\":\"isHigherPriorityThan\",\"async\":false,\"parameters\":[{\"name\":\"other\",\"type\":\"AdDeliveryTier\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFixedPricing\":{\"name\":\"isFixedPricing\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPerformanceBased\":{\"name\":\"isPerformanceBased\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdDeliveryTier\",\"collectionExportName\":\"AdDeliveryTierCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"}},\"@happyvertical/smrt-ads:AdEvent\":{\"name\":\"adevent\",\"className\":\"AdEvent\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEvent\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdEvent.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"variationId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdVariation\"},\"zoneId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-properties:Zone\"},\"siteId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"eventType\":{\"type\":\"text\",\"required\":false},\"timestamp\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isImpression\":{\"name\":\"isImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isClick\":{\"name\":\"isClick\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConversion\":{\"name\":\"isConversion\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"create\",\"list\"]},\"mcp\":{\"include\":[\"create\"]},\"cli\":false,\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdEvent\",\"collectionExportName\":\"AdEventCollection\",\"schema\":{\"tableName\":\"ad_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_events\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"variation_id\\\" UUID,\\n \\\"zone_id\\\" UUID,\\n \\\"site_id\\\" TEXT DEFAULT '',\\n \\\"event_type\\\" TEXT,\\n \\\"timestamp\\\" TIMESTAMP,\\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\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"variation_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_variations\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"zone_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"site_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"event_type\":{\"type\":\"TEXT\",\"notNull\":false},\"timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"}},\"@happyvertical/smrt-ads:AdFormat\":{\"name\":\"adformat\",\"className\":\"AdFormat\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormat\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"width\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"height\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"formatType\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"matchesDimensions\":{\"name\":\"matchesDimensions\",\"async\":false,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdFormat\",\"collectionExportName\":\"AdFormatCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"}},\"@happyvertical/smrt-ads:AdGroup\":{\"name\":\"adgroup\",\"className\":\"AdGroup\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroup\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdGroup.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"contractId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-commerce:Contract\"},\"tierId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdDeliveryTier\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"verticalSlug\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"targeting\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"zoneIds\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"dailyBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"getZoneIds\":{\"name\":\"getZoneIds\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"setZoneIds\":{\"name\":\"setZoneIds\",\"async\":false,\"parameters\":[{\"name\":\"ids\",\"type\":\"string[]\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addZoneId\":{\"name\":\"addZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"removeZoneId\":{\"name\":\"removeZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"hasZoneId\":{\"name\":\"hasZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getTargeting\":{\"name\":\"getTargeting\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setTargeting\":{\"name\":\"setTargeting\",\"async\":false,\"parameters\":[{\"name\":\"rules\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasEnded\":{\"name\":\"hasEnded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasStarted\":{\"name\":\"hasStarted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdGroup\",\"collectionExportName\":\"AdGroupCollection\",\"schema\":{\"tableName\":\"ad_groups\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_groups\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"tier_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"vertical_slug\\\" TEXT DEFAULT '',\\n \\\"targeting\\\" TEXT DEFAULT '',\\n \\\"zone_ids\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"daily_budget\\\" REAL DEFAULT 0,\\n \\\"total_budget\\\" REAL DEFAULT 0,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"tier_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_delivery_tiers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"vertical_slug\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"targeting\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"zone_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"daily_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false}},\"indexes\":[{\"name\":\"ad_groups_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"}},\"@happyvertical/smrt-ads:AdVariation\":{\"name\":\"advariation\",\"className\":\"AdVariation\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariation\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdVariation.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"groupId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdGroup\"},\"formatId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdFormat\"},\"assetId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-assets:Asset\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clickUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"altText\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"weight\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"status\":{\"type\":\"text\",\"required\":false},\"impressions\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"clicks\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getCTR\":{\"name\":\"getCTR\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"recordImpression\":{\"name\":\"recordImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recordClick\":{\"name\":\"recordClick\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdVariation\",\"collectionExportName\":\"AdVariationCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-commerce\",\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
4
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-ads\",\"packageVersion\":\"0.49.6\",\"objects\":{\"@happyvertical/smrt-ads:AdDeliveryTierCollection\":{\"name\":\"addeliverytiercollection\",\"className\":\"AdDeliveryTierCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTierCollection\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdDeliveryTierCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByPriority\":{\"name\":\"findByPriority\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findByPricingModel\":{\"name\":\"findByPricingModel\",\"async\":true,\"parameters\":[{\"name\":\"pricingModel\",\"type\":\"PricingModel\",\"optional\":false}],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"getHighestPriority\":{\"name\":\"getHighestPriority\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier | null>\",\"isStatic\":false,\"isPublic\":true},\"findFixedPricing\":{\"name\":\"findFixedPricing\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findCPM\":{\"name\":\"findCPM\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true},\"findPerformanceBased\":{\"name\":\"findPerformanceBased\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdDeliveryTier[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdDeliveryTier\",\"exportName\":\"AdDeliveryTierCollection\",\"collectionExportName\":\"AdDeliveryTierCollectionCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdEventCollection\":{\"name\":\"adeventcollection\",\"className\":\"AdEventCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEventCollection\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdEventCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByVariation\":{\"name\":\"findByVariation\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByZone\":{\"name\":\"findByZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySite\":{\"name\":\"findBySite\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"start\",\"type\":\"Date\",\"optional\":false},{\"name\":\"end\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"eventType\",\"type\":\"AdEventType\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"countByType\":{\"name\":\"countByType\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false},{\"name\":\"eventType\",\"type\":\"AdEventType\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countImpressions\":{\"name\":\"countImpressions\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countClicks\":{\"name\":\"countClicks\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"countConversions\":{\"name\":\"countConversions\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findImpressions\":{\"name\":\"findImpressions\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findClicks\":{\"name\":\"findClicks\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findConversions\":{\"name\":\"findConversions\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"getVariationStats\":{\"name\":\"getVariationStats\",\"async\":true,\"parameters\":[{\"name\":\"variationId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdEvent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdEvent\",\"exportName\":\"AdEventCollection\",\"collectionExportName\":\"AdEventCollectionCollection\",\"schema\":{\"tableName\":\"ad_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_events\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"variation_id\\\" UUID,\\n \\\"zone_id\\\" UUID,\\n \\\"site_id\\\" TEXT DEFAULT '',\\n \\\"event_type\\\" TEXT,\\n \\\"timestamp\\\" TIMESTAMP,\\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\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"variation_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_variations\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"zone_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"site_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"event_type\":{\"type\":\"TEXT\",\"notNull\":false},\"timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdFormatCollection\":{\"name\":\"adformatcollection\",\"className\":\"AdFormatCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormatCollection\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdFormatCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByDimensions\":{\"name\":\"findByDimensions\",\"async\":true,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<AdFormat | null>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"formatType\",\"type\":\"AdFormatType\",\"optional\":false}],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findBanners\":{\"name\":\"findBanners\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findNative\":{\"name\":\"findNative\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true},\"findVideo\":{\"name\":\"findVideo\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdFormat[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdFormat\",\"exportName\":\"AdFormatCollection\",\"collectionExportName\":\"AdFormatCollectionCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdGroupCollection\":{\"name\":\"adgroupcollection\",\"className\":\"AdGroupCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroupCollection\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdGroupCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTier\":{\"name\":\"findByTier\",\"async\":true,\"parameters\":[{\"name\":\"tierId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AdGroupStatus\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVertical\":{\"name\":\"findByVertical\",\"async\":true,\"parameters\":[{\"name\":\"verticalSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByZone\":{\"name\":\"findByZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findEligibleForZone\":{\"name\":\"findEligibleForZone\",\"async\":true,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaused\":{\"name\":\"findPaused\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdGroup[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdGroup\",\"exportName\":\"AdGroupCollection\",\"collectionExportName\":\"AdGroupCollectionCollection\",\"schema\":{\"tableName\":\"ad_groups\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_groups\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"tier_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"vertical_slug\\\" TEXT DEFAULT '',\\n \\\"targeting\\\" TEXT DEFAULT '',\\n \\\"zone_ids\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"daily_budget\\\" REAL DEFAULT 0,\\n \\\"total_budget\\\" REAL DEFAULT 0,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"tier_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_delivery_tiers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"vertical_slug\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"targeting\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"zone_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"daily_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false}},\"indexes\":[{\"name\":\"ad_groups_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdVariationCollection\":{\"name\":\"advariationcollection\",\"className\":\"AdVariationCollection\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariationCollection\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdVariationCollection.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{},\"methods\":{\"findByGroup\":{\"name\":\"findByGroup\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByFormat\":{\"name\":\"findByFormat\",\"async\":true,\"parameters\":[{\"name\":\"formatId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByGroup\":{\"name\":\"findActiveByGroup\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"selectByWeight\":{\"name\":\"selectByWeight\",\"async\":true,\"parameters\":[{\"name\":\"groupId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation | null>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AdVariationStatus\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaused\":{\"name\":\"findPaused\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findTopPerformers\":{\"name\":\"findTopPerformers\",\"async\":true,\"parameters\":[{\"name\":\"limit\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AdVariation[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdVariation\",\"exportName\":\"AdVariationCollection\",\"collectionExportName\":\"AdVariationCollectionCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdDeliveryTier\":{\"name\":\"addeliverytier\",\"className\":\"AdDeliveryTier\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTier\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"pricingModel\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isHigherPriorityThan\":{\"name\":\"isHigherPriorityThan\",\"async\":false,\"parameters\":[{\"name\":\"other\",\"type\":\"AdDeliveryTier\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFixedPricing\":{\"name\":\"isFixedPricing\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPerformanceBased\":{\"name\":\"isPerformanceBased\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdDeliveryTier\",\"collectionExportName\":\"AdDeliveryTierCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdEvent\":{\"name\":\"adevent\",\"className\":\"AdEvent\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEvent\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdEvent.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"variationId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdVariation\"},\"zoneId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-properties:Zone\"},\"siteId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"eventType\":{\"type\":\"text\",\"required\":false},\"timestamp\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isImpression\":{\"name\":\"isImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isClick\":{\"name\":\"isClick\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConversion\":{\"name\":\"isConversion\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"create\",\"list\"]},\"mcp\":{\"include\":[\"create\"]},\"cli\":false,\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdEvent\",\"collectionExportName\":\"AdEventCollection\",\"schema\":{\"tableName\":\"ad_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_events\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"variation_id\\\" UUID,\\n \\\"zone_id\\\" UUID,\\n \\\"site_id\\\" TEXT DEFAULT '',\\n \\\"event_type\\\" TEXT,\\n \\\"timestamp\\\" TIMESTAMP,\\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\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"variation_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_variations\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"zone_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"site_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"event_type\":{\"type\":\"TEXT\",\"notNull\":false},\"timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdFormat\":{\"name\":\"adformat\",\"className\":\"AdFormat\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormat\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"width\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"height\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"formatType\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"matchesDimensions\":{\"name\":\"matchesDimensions\",\"async\":false,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdFormat\",\"collectionExportName\":\"AdFormatCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" 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\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdGroup\":{\"name\":\"adgroup\",\"className\":\"AdGroup\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroup\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdGroup.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"contractId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-commerce:Contract\"},\"tierId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdDeliveryTier\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"verticalSlug\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"targeting\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"zoneIds\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"dailyBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"getZoneIds\":{\"name\":\"getZoneIds\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"setZoneIds\":{\"name\":\"setZoneIds\",\"async\":false,\"parameters\":[{\"name\":\"ids\",\"type\":\"string[]\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addZoneId\":{\"name\":\"addZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"removeZoneId\":{\"name\":\"removeZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"hasZoneId\":{\"name\":\"hasZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getTargeting\":{\"name\":\"getTargeting\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setTargeting\":{\"name\":\"setTargeting\",\"async\":false,\"parameters\":[{\"name\":\"rules\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasEnded\":{\"name\":\"hasEnded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasStarted\":{\"name\":\"hasStarted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdGroup\",\"collectionExportName\":\"AdGroupCollection\",\"schema\":{\"tableName\":\"ad_groups\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_groups\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"tier_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"vertical_slug\\\" TEXT DEFAULT '',\\n \\\"targeting\\\" TEXT DEFAULT '',\\n \\\"zone_ids\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"daily_budget\\\" REAL DEFAULT 0,\\n \\\"total_budget\\\" REAL DEFAULT 0,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"tier_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_delivery_tiers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"vertical_slug\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"targeting\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"zone_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"daily_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false}},\"indexes\":[{\"name\":\"ad_groups_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"},\"importPath\":\"@happyvertical/smrt-ads\"},\"@happyvertical/smrt-ads:AdVariation\":{\"name\":\"advariation\",\"className\":\"AdVariation\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariation\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdVariation.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"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}}},\"groupId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdGroup\"},\"formatId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdFormat\"},\"assetId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-assets:Asset\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clickUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"altText\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"weight\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"status\":{\"type\":\"text\",\"required\":false},\"impressions\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"clicks\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getCTR\":{\"name\":\"getCTR\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"recordImpression\":{\"name\":\"recordImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recordClick\":{\"name\":\"recordClick\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdVariation\",\"collectionExportName\":\"AdVariationCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"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},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"},\"importPath\":\"@happyvertical/smrt-ads\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-commerce\",\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
5
5
  //#endregion
6
6
  //#region src/types/index.ts
7
7
  var AdFormatType = /* @__PURE__ */ ((AdFormatType2) => {
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-ads",
5
- "packageVersion": "0.49.5",
5
+ "packageVersion": "0.49.6",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-ads:AdDeliveryTierCollection": {
8
8
  "name": "addeliverytiercollection",
@@ -143,7 +143,8 @@
143
143
  }
144
144
  ],
145
145
  "version": "df0ec0ff"
146
- }
146
+ },
147
+ "importPath": "@happyvertical/smrt-ads"
147
148
  },
148
149
  "@happyvertical/smrt-ads:AdEventCollection": {
149
150
  "name": "adeventcollection",
@@ -488,7 +489,8 @@
488
489
  }
489
490
  ],
490
491
  "version": "306d8050"
491
- }
492
+ },
493
+ "importPath": "@happyvertical/smrt-ads"
492
494
  },
493
495
  "@happyvertical/smrt-ads:AdFormatCollection": {
494
496
  "name": "adformatcollection",
@@ -638,7 +640,8 @@
638
640
  }
639
641
  ],
640
642
  "version": "df40cc03"
641
- }
643
+ },
644
+ "importPath": "@happyvertical/smrt-ads"
642
645
  },
643
646
  "@happyvertical/smrt-ads:AdGroupCollection": {
644
647
  "name": "adgroupcollection",
@@ -947,7 +950,8 @@
947
950
  }
948
951
  ],
949
952
  "version": "3f8a3fea"
950
- }
953
+ },
954
+ "importPath": "@happyvertical/smrt-ads"
951
955
  },
952
956
  "@happyvertical/smrt-ads:AdVariationCollection": {
953
957
  "name": "advariationcollection",
@@ -1257,7 +1261,8 @@
1257
1261
  }
1258
1262
  ],
1259
1263
  "version": "e8fb6233"
1260
- }
1264
+ },
1265
+ "importPath": "@happyvertical/smrt-ads"
1261
1266
  },
1262
1267
  "@happyvertical/smrt-ads:AdDeliveryTier": {
1263
1268
  "name": "addeliverytier",
@@ -1411,7 +1416,8 @@
1411
1416
  }
1412
1417
  ],
1413
1418
  "version": "df0ec0ff"
1414
- }
1419
+ },
1420
+ "importPath": "@happyvertical/smrt-ads"
1415
1421
  },
1416
1422
  "@happyvertical/smrt-ads:AdEvent": {
1417
1423
  "name": "adevent",
@@ -1667,7 +1673,8 @@
1667
1673
  }
1668
1674
  ],
1669
1675
  "version": "306d8050"
1670
- }
1676
+ },
1677
+ "importPath": "@happyvertical/smrt-ads"
1671
1678
  },
1672
1679
  "@happyvertical/smrt-ads:AdFormat": {
1673
1680
  "name": "adformat",
@@ -1829,7 +1836,8 @@
1829
1836
  }
1830
1837
  ],
1831
1838
  "version": "df40cc03"
1832
- }
1839
+ },
1840
+ "importPath": "@happyvertical/smrt-ads"
1833
1841
  },
1834
1842
  "@happyvertical/smrt-ads:AdGroup": {
1835
1843
  "name": "adgroup",
@@ -2227,7 +2235,8 @@
2227
2235
  }
2228
2236
  ],
2229
2237
  "version": "3f8a3fea"
2230
- }
2238
+ },
2239
+ "importPath": "@happyvertical/smrt-ads"
2231
2240
  },
2232
2241
  "@happyvertical/smrt-ads:AdVariation": {
2233
2242
  "name": "advariation",
@@ -2545,7 +2554,8 @@
2545
2554
  }
2546
2555
  ],
2547
2556
  "version": "e8fb6233"
2548
- }
2557
+ },
2558
+ "importPath": "@happyvertical/smrt-ads"
2549
2559
  }
2550
2560
  },
2551
2561
  "moduleType": "smrt",
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-ads",
6
- "packageVersion": "0.49.5",
6
+ "packageVersion": "0.49.6",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "0c2b5b69ea4b66fae5a1a28e4963b11f4b1c8b6ba57da84ad9d84a931a25df99",
11
- "packageJson": "660b1b2649bd537cfe86fe9a8cf8d1727b2772acb3a7f20db2d682c8e67249fc",
10
+ "manifest": "c96f4af161d8a80dc277f28fa80d7b67659a1af93fc13106d453e4483408cf38",
11
+ "packageJson": "f14388d6e66237438824d31f4c8def5536a41bc92b2260590412975558a74168",
12
12
  "agents": "38d00ca384af711a76359907e4d9806733168d7b4b31f7610cd0c418fc72d566"
13
13
  },
14
14
  "exports": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-ads",
3
- "version": "0.49.5",
3
+ "version": "0.49.6",
4
4
  "description": "Advertising delivery and tracking models for SMRT framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,12 +19,12 @@
19
19
  "./manifest.json": "./dist/manifest.json"
20
20
  },
21
21
  "dependencies": {
22
- "@happyvertical/smrt-core": "0.49.5",
23
- "@happyvertical/smrt-tenancy": "0.49.5"
22
+ "@happyvertical/smrt-core": "0.49.6",
23
+ "@happyvertical/smrt-tenancy": "0.49.6"
24
24
  },
25
25
  "devDependencies": {
26
- "@happyvertical/smrt-commerce": "0.49.5",
27
- "@happyvertical/smrt-vitest": "0.49.5",
26
+ "@happyvertical/smrt-commerce": "0.49.6",
27
+ "@happyvertical/smrt-vitest": "0.49.6",
28
28
  "@happyvertical/sql": "^0.89.6",
29
29
  "@types/node": "24.13.2",
30
30
  "fast-glob": "3.3.3",