@happyvertical/smrt-ads 0.54.0 → 0.54.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.54.0\",\"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\"]}"));
4
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-ads\",\"packageVersion\":\"0.54.1\",\"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.54.0",
5
+ "packageVersion": "0.54.1",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-ads:AdDeliveryTierCollection": {
8
8
  "name": "addeliverytiercollection",
@@ -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.54.0",
6
+ "packageVersion": "0.54.1",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "e8d940858a2a26cae752caffefbf0cc4f94956c08281c46d9ea3efd9f42283a9",
11
- "packageJson": "af7cbd99d22b5b674dac7e91e96c8ab8ec3681bd68214028198f70bd101f2eb1",
10
+ "manifest": "f0317cc4d211dcc9b53ce9c7b64ee6378a6f27b29e3944523ade9fc23388b8d5",
11
+ "packageJson": "471ac7d5ce4eb63c38169f75ceacbcd424e276a8b0dbcb3873f01c75f3ebb57e",
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.54.0",
3
+ "version": "0.54.1",
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.54.0",
23
- "@happyvertical/smrt-tenancy": "0.54.0"
22
+ "@happyvertical/smrt-core": "0.54.1",
23
+ "@happyvertical/smrt-tenancy": "0.54.1"
24
24
  },
25
25
  "devDependencies": {
26
- "@happyvertical/smrt-commerce": "0.54.0",
27
- "@happyvertical/smrt-vitest": "0.54.0",
26
+ "@happyvertical/smrt-commerce": "0.54.1",
27
+ "@happyvertical/smrt-vitest": "0.54.1",
28
28
  "@happyvertical/sql": "^0.100.3",
29
29
  "@types/node": "24.13.6",
30
30
  "fast-glob": "3.3.3",