@happyvertical/smrt-ads 0.45.3 → 0.47.0

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.45.3\",\"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_tier_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tier_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_delivery_tier_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tier_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"fcb1bac2\"}},\"@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\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdEvent\",\"exportName\":\"AdEventCollection\",\"collectionExportName\":\"AdEventCollectionCollection\",\"schema\":{\"tableName\":\"ad_event_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_event_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_event_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_event_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"f21d5055\"}},\"@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_format_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_format_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_format_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_format_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"e2df1b16\"}},\"@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_group_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_group_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_group_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_group_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"95b87ec7\"}},\"@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_variation_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variation_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_variation_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_variation_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"6d2b9bb0\"}},\"@happyvertical/smrt-ads:AdDeliveryTier\":{\"name\":\"addeliverytier\",\"className\":\"AdDeliveryTier\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTier\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"pricingModel\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isHigherPriorityThan\":{\"name\":\"isHigherPriorityThan\",\"async\":false,\"parameters\":[{\"name\":\"other\",\"type\":\"AdDeliveryTier\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFixedPricing\":{\"name\":\"isFixedPricing\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPerformanceBased\":{\"name\":\"isPerformanceBased\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdDeliveryTier\",\"collectionExportName\":\"AdDeliveryTierCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"}},\"@happyvertical/smrt-ads:AdEvent\":{\"name\":\"adevent\",\"className\":\"AdEvent\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEvent\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdEvent.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"variationId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdVariation\"},\"zoneId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-properties:Zone\"},\"siteId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"eventType\":{\"type\":\"text\",\"required\":false},\"timestamp\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"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},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"}},\"@happyvertical/smrt-ads:AdFormat\":{\"name\":\"adformat\",\"className\":\"AdFormat\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormat\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"width\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"height\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"formatType\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"matchesDimensions\":{\"name\":\"matchesDimensions\",\"async\":false,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdFormat\",\"collectionExportName\":\"AdFormatCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"}},\"@happyvertical/smrt-ads:AdGroup\":{\"name\":\"adgroup\",\"className\":\"AdGroup\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroup\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdGroup.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-commerce:Contract\"},\"tierId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdDeliveryTier\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"verticalSlug\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"targeting\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"zoneIds\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"dailyBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"getZoneIds\":{\"name\":\"getZoneIds\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"setZoneIds\":{\"name\":\"setZoneIds\",\"async\":false,\"parameters\":[{\"name\":\"ids\",\"type\":\"string[]\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addZoneId\":{\"name\":\"addZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"removeZoneId\":{\"name\":\"removeZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"hasZoneId\":{\"name\":\"hasZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getTargeting\":{\"name\":\"getTargeting\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"setTargeting\":{\"name\":\"setTargeting\",\"async\":false,\"parameters\":[{\"name\":\"rules\",\"type\":\"Record<string>\",\"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},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"}},\"@happyvertical/smrt-ads:AdVariation\":{\"name\":\"advariation\",\"className\":\"AdVariation\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariation\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdVariation.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"groupId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdGroup\"},\"formatId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdFormat\"},\"assetId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-assets:Asset\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clickUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"altText\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"weight\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"status\":{\"type\":\"text\",\"required\":false},\"impressions\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"clicks\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getCTR\":{\"name\":\"getCTR\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"recordImpression\":{\"name\":\"recordImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recordClick\":{\"name\":\"recordClick\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdVariation\",\"collectionExportName\":\"AdVariationCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-commerce\",\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
4
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-ads\",\"packageVersion\":\"0.47.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_tier_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tier_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_delivery_tier_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tier_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"fcb1bac2\"}},\"@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\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AdEvent\",\"exportName\":\"AdEventCollection\",\"collectionExportName\":\"AdEventCollectionCollection\",\"schema\":{\"tableName\":\"ad_event_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_event_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_event_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_event_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"f21d5055\"}},\"@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_format_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_format_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_format_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_format_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"e2df1b16\"}},\"@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_group_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_group_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_group_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_group_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"95b87ec7\"}},\"@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_variation_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variation_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"ad_variation_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_variation_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"6d2b9bb0\"}},\"@happyvertical/smrt-ads:AdDeliveryTier\":{\"name\":\"addeliverytier\",\"className\":\"AdDeliveryTier\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdDeliveryTier\",\"collection\":\"addeliverytiers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"pricingModel\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isHigherPriorityThan\":{\"name\":\"isHigherPriorityThan\",\"async\":false,\"parameters\":[{\"name\":\"other\",\"type\":\"AdDeliveryTier\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFixedPricing\":{\"name\":\"isFixedPricing\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPerformanceBased\":{\"name\":\"isPerformanceBased\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdDeliveryTier\",\"collectionExportName\":\"AdDeliveryTierCollection\",\"schema\":{\"tableName\":\"ad_delivery_tiers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_delivery_tiers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"priority\\\" INTEGER DEFAULT 0,\\n \\\"pricing_model\\\" TEXT,\\n \\\"description\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"pricing_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_delivery_tiers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_delivery_tiers_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df0ec0ff\"}},\"@happyvertical/smrt-ads:AdEvent\":{\"name\":\"adevent\",\"className\":\"AdEvent\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdEvent\",\"collection\":\"adevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdEvent.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"variationId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdVariation\"},\"zoneId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-properties:Zone\"},\"siteId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"eventType\":{\"type\":\"text\",\"required\":false},\"timestamp\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isImpression\":{\"name\":\"isImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isClick\":{\"name\":\"isClick\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConversion\":{\"name\":\"isConversion\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"create\",\"list\"]},\"mcp\":{\"include\":[\"create\"]},\"cli\":false,\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdEvent\",\"collectionExportName\":\"AdEventCollection\",\"schema\":{\"tableName\":\"ad_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_events\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"variation_id\\\" UUID,\\n \\\"zone_id\\\" UUID,\\n \\\"site_id\\\" TEXT DEFAULT '',\\n \\\"event_type\\\" TEXT,\\n \\\"timestamp\\\" TIMESTAMP,\\n \\\"metadata\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"variation_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_variations\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"zone_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"site_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"event_type\":{\"type\":\"TEXT\",\"notNull\":false},\"timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"ad_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_events_variation_id_idx\",\"columns\":[\"variation_id\"]},{\"name\":\"ad_events_zone_id_idx\",\"columns\":[\"zone_id\"]}],\"version\":\"306d8050\"}},\"@happyvertical/smrt-ads:AdFormat\":{\"name\":\"adformat\",\"className\":\"AdFormat\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdFormat\",\"collection\":\"adformats\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"width\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"height\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"formatType\":{\"type\":\"text\",\"required\":false},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"matchesDimensions\":{\"name\":\"matchesDimensions\",\"async\":false,\"parameters\":[{\"name\":\"width\",\"type\":\"number\",\"optional\":false},{\"name\":\"height\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true}},\"extends\":\"SmrtObject\",\"exportName\":\"AdFormat\",\"collectionExportName\":\"AdFormatCollection\",\"schema\":{\"tableName\":\"ad_formats\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_formats\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"width\\\" INTEGER DEFAULT 0,\\n \\\"height\\\" INTEGER DEFAULT 0,\\n \\\"format_type\\\" TEXT,\\n \\\"description\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"width\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"height\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"format_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"ad_formats_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"ad_formats_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"df40cc03\"}},\"@happyvertical/smrt-ads:AdGroup\":{\"name\":\"adgroup\",\"className\":\"AdGroup\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdGroup\",\"collection\":\"adgroups\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdGroup.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-commerce:Contract\"},\"tierId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdDeliveryTier\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"verticalSlug\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"targeting\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"zoneIds\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"dailyBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalBudget\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"getZoneIds\":{\"name\":\"getZoneIds\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"setZoneIds\":{\"name\":\"setZoneIds\",\"async\":false,\"parameters\":[{\"name\":\"ids\",\"type\":\"string[]\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addZoneId\":{\"name\":\"addZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"removeZoneId\":{\"name\":\"removeZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"hasZoneId\":{\"name\":\"hasZoneId\",\"async\":false,\"parameters\":[{\"name\":\"zoneId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getTargeting\":{\"name\":\"getTargeting\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setTargeting\":{\"name\":\"setTargeting\",\"async\":false,\"parameters\":[{\"name\":\"rules\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasEnded\":{\"name\":\"hasEnded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasStarted\":{\"name\":\"hasStarted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdGroup\",\"collectionExportName\":\"AdGroupCollection\",\"schema\":{\"tableName\":\"ad_groups\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_groups\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"tier_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"vertical_slug\\\" TEXT DEFAULT '',\\n \\\"targeting\\\" TEXT DEFAULT '',\\n \\\"zone_ids\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"daily_budget\\\" REAL DEFAULT 0,\\n \\\"total_budget\\\" REAL DEFAULT 0,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"tier_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_delivery_tiers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"vertical_slug\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"targeting\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"zone_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"daily_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_budget\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false}},\"indexes\":[{\"name\":\"ad_groups_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"ad_groups_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_groups_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_groups_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"ad_groups_tier_id_idx\",\"columns\":[\"tier_id\"]}],\"version\":\"3f8a3fea\"}},\"@happyvertical/smrt-ads:AdVariation\":{\"name\":\"advariation\",\"className\":\"AdVariation\",\"qualifiedName\":\"@happyvertical/smrt-ads:AdVariation\",\"collection\":\"advariations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/ads/src/models/AdVariation.ts\",\"packageName\":\"@happyvertical/smrt-ads\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"groupId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdGroup\"},\"formatId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AdFormat\"},\"assetId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-assets:Asset\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clickUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"altText\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"weight\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"status\":{\"type\":\"text\",\"required\":false},\"impressions\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"clicks\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaused\":{\"name\":\"isPaused\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getCTR\":{\"name\":\"getCTR\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"recordImpression\":{\"name\":\"recordImpression\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recordClick\":{\"name\":\"recordClick\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AdVariation\",\"collectionExportName\":\"AdVariationCollection\",\"schema\":{\"tableName\":\"ad_variations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"ad_variations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"group_id\\\" UUID,\\n \\\"format_id\\\" UUID,\\n \\\"asset_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"click_url\\\" TEXT DEFAULT '',\\n \\\"alt_text\\\" TEXT DEFAULT '',\\n \\\"weight\\\" INTEGER DEFAULT 1,\\n \\\"status\\\" TEXT,\\n \\\"impressions\\\" INTEGER DEFAULT 0,\\n \\\"clicks\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"group_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_groups\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"format_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"ad_formats\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"asset_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"click_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"alt_text\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"weight\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":1},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"impressions\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"clicks\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"ad_variations_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"ad_variations_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"ad_variations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"ad_variations_group_id_idx\",\"columns\":[\"group_id\"]},{\"name\":\"ad_variations_format_id_idx\",\"columns\":[\"format_id\"]},{\"name\":\"ad_variations_asset_id_idx\",\"columns\":[\"asset_id\"]}],\"version\":\"e8fb6233\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-commerce\",\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
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.45.3",
5
+ "packageVersion": "0.47.0",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-ads:AdDeliveryTierCollection": {
8
8
  "name": "addeliverytiercollection",
@@ -1163,7 +1163,7 @@
1163
1163
  "name": "getMetadata",
1164
1164
  "async": false,
1165
1165
  "parameters": [],
1166
- "returnType": "Record<string>",
1166
+ "returnType": "Record<string, unknown>",
1167
1167
  "isStatic": false,
1168
1168
  "isPublic": true
1169
1169
  },
@@ -1173,7 +1173,7 @@
1173
1173
  "parameters": [
1174
1174
  {
1175
1175
  "name": "data",
1176
- "type": "Record<string>",
1176
+ "type": "Record<string, unknown>",
1177
1177
  "optional": false
1178
1178
  }
1179
1179
  ],
@@ -1668,7 +1668,7 @@
1668
1668
  "name": "getTargeting",
1669
1669
  "async": false,
1670
1670
  "parameters": [],
1671
- "returnType": "Record<string>",
1671
+ "returnType": "Record<string, unknown>",
1672
1672
  "isStatic": false,
1673
1673
  "isPublic": true
1674
1674
  },
@@ -1678,7 +1678,7 @@
1678
1678
  "parameters": [
1679
1679
  {
1680
1680
  "name": "rules",
1681
- "type": "Record<string>",
1681
+ "type": "Record<string, unknown>",
1682
1682
  "optional": false
1683
1683
  }
1684
1684
  ],
@@ -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.45.3",
6
+ "packageVersion": "0.47.0",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "0f587f4556f064767da84c44ec2cd82e9b4d2166844afc3487ece46381fbbc17",
11
- "packageJson": "e056572c92f9b3a59a686600b2ad88666d1bc8395301caea807a8607dea733ee",
10
+ "manifest": "93f319e8206df94bb2da5f437066fc1a1fb72b5c61706de8ea652f07fa8adfcc",
11
+ "packageJson": "cf5c904c4edf379f3740438f6bdb97c5ef486488c2c0b1115546f8ba260e51dc",
12
12
  "agents": "38d00ca384af711a76359907e4d9806733168d7b4b31f7610cd0c418fc72d566"
13
13
  },
14
14
  "exports": [
@@ -1746,6 +1746,29 @@
1746
1746
  "objectName": "@happyvertical/smrt-ads:AdDeliveryTier"
1747
1747
  }
1748
1748
  ],
1749
+ "withheldSurfaces": [
1750
+ {
1751
+ "kind": "api",
1752
+ "operation": "isFixedPricing",
1753
+ "code": "not-included",
1754
+ "reason": "not listed in api.include",
1755
+ "objectName": "@happyvertical/smrt-ads:AdDeliveryTier"
1756
+ },
1757
+ {
1758
+ "kind": "api",
1759
+ "operation": "isHigherPriorityThan",
1760
+ "code": "not-included",
1761
+ "reason": "not listed in api.include",
1762
+ "objectName": "@happyvertical/smrt-ads:AdDeliveryTier"
1763
+ },
1764
+ {
1765
+ "kind": "api",
1766
+ "operation": "isPerformanceBased",
1767
+ "code": "not-included",
1768
+ "reason": "not listed in api.include",
1769
+ "objectName": "@happyvertical/smrt-ads:AdDeliveryTier"
1770
+ }
1771
+ ],
1749
1772
  "relationshipFeatures": [
1750
1773
  "uuidColumns"
1751
1774
  ],
@@ -1845,7 +1868,7 @@
1845
1868
  "methodSignatures": [
1846
1869
  {
1847
1870
  "name": "getMetadata",
1848
- "returns": "Record<string>"
1871
+ "returns": "Record<string, unknown>"
1849
1872
  },
1850
1873
  {
1851
1874
  "name": "isClick",
@@ -1862,7 +1885,7 @@
1862
1885
  {
1863
1886
  "name": "setMetadata",
1864
1887
  "params": [
1865
- "data: Record<string>"
1888
+ "data: Record<string, unknown>"
1866
1889
  ],
1867
1890
  "returns": "void"
1868
1891
  }
@@ -1903,6 +1926,43 @@
1903
1926
  "objectName": "@happyvertical/smrt-ads:AdEvent"
1904
1927
  }
1905
1928
  ],
1929
+ "withheldSurfaces": [
1930
+ {
1931
+ "kind": "api",
1932
+ "operation": "getMetadata",
1933
+ "code": "not-included",
1934
+ "reason": "not listed in api.include",
1935
+ "objectName": "@happyvertical/smrt-ads:AdEvent"
1936
+ },
1937
+ {
1938
+ "kind": "api",
1939
+ "operation": "isClick",
1940
+ "code": "not-included",
1941
+ "reason": "not listed in api.include",
1942
+ "objectName": "@happyvertical/smrt-ads:AdEvent"
1943
+ },
1944
+ {
1945
+ "kind": "api",
1946
+ "operation": "isConversion",
1947
+ "code": "not-included",
1948
+ "reason": "not listed in api.include",
1949
+ "objectName": "@happyvertical/smrt-ads:AdEvent"
1950
+ },
1951
+ {
1952
+ "kind": "api",
1953
+ "operation": "isImpression",
1954
+ "code": "not-included",
1955
+ "reason": "not listed in api.include",
1956
+ "objectName": "@happyvertical/smrt-ads:AdEvent"
1957
+ },
1958
+ {
1959
+ "kind": "api",
1960
+ "operation": "setMetadata",
1961
+ "code": "not-included",
1962
+ "reason": "not listed in api.include",
1963
+ "objectName": "@happyvertical/smrt-ads:AdEvent"
1964
+ }
1965
+ ],
1906
1966
  "relationshipFeatures": [
1907
1967
  "crossPackageRef",
1908
1968
  "foreignKey",
@@ -2061,6 +2121,22 @@
2061
2121
  "objectName": "@happyvertical/smrt-ads:AdFormat"
2062
2122
  }
2063
2123
  ],
2124
+ "withheldSurfaces": [
2125
+ {
2126
+ "kind": "api",
2127
+ "operation": "getDimensions",
2128
+ "code": "not-included",
2129
+ "reason": "not listed in api.include",
2130
+ "objectName": "@happyvertical/smrt-ads:AdFormat"
2131
+ },
2132
+ {
2133
+ "kind": "api",
2134
+ "operation": "matchesDimensions",
2135
+ "code": "not-included",
2136
+ "reason": "not listed in api.include",
2137
+ "objectName": "@happyvertical/smrt-ads:AdFormat"
2138
+ }
2139
+ ],
2064
2140
  "relationshipFeatures": [
2065
2141
  "uuidColumns"
2066
2142
  ],
@@ -2209,7 +2285,7 @@
2209
2285
  },
2210
2286
  {
2211
2287
  "name": "getTargeting",
2212
- "returns": "Record<string>"
2288
+ "returns": "Record<string, unknown>"
2213
2289
  },
2214
2290
  {
2215
2291
  "name": "getZoneIds",
@@ -2256,7 +2332,7 @@
2256
2332
  {
2257
2333
  "name": "setTargeting",
2258
2334
  "params": [
2259
- "rules: Record<string>"
2335
+ "rules: Record<string, unknown>"
2260
2336
  ],
2261
2337
  "returns": "void"
2262
2338
  },
@@ -2440,6 +2516,99 @@
2440
2516
  "objectName": "@happyvertical/smrt-ads:AdGroup"
2441
2517
  }
2442
2518
  ],
2519
+ "withheldSurfaces": [
2520
+ {
2521
+ "kind": "api",
2522
+ "operation": "addZoneId",
2523
+ "code": "not-included",
2524
+ "reason": "not listed in api.include",
2525
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2526
+ },
2527
+ {
2528
+ "kind": "api",
2529
+ "operation": "getTargeting",
2530
+ "code": "not-included",
2531
+ "reason": "not listed in api.include",
2532
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2533
+ },
2534
+ {
2535
+ "kind": "api",
2536
+ "operation": "getZoneIds",
2537
+ "code": "not-included",
2538
+ "reason": "not listed in api.include",
2539
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2540
+ },
2541
+ {
2542
+ "kind": "api",
2543
+ "operation": "hasEnded",
2544
+ "code": "not-included",
2545
+ "reason": "not listed in api.include",
2546
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2547
+ },
2548
+ {
2549
+ "kind": "api",
2550
+ "operation": "hasStarted",
2551
+ "code": "not-included",
2552
+ "reason": "not listed in api.include",
2553
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2554
+ },
2555
+ {
2556
+ "kind": "api",
2557
+ "operation": "hasZoneId",
2558
+ "code": "not-included",
2559
+ "reason": "not listed in api.include",
2560
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2561
+ },
2562
+ {
2563
+ "kind": "api",
2564
+ "operation": "isActive",
2565
+ "code": "not-included",
2566
+ "reason": "not listed in api.include",
2567
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2568
+ },
2569
+ {
2570
+ "kind": "api",
2571
+ "operation": "isCompleted",
2572
+ "code": "not-included",
2573
+ "reason": "not listed in api.include",
2574
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2575
+ },
2576
+ {
2577
+ "kind": "api",
2578
+ "operation": "isDraft",
2579
+ "code": "not-included",
2580
+ "reason": "not listed in api.include",
2581
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2582
+ },
2583
+ {
2584
+ "kind": "api",
2585
+ "operation": "isPaused",
2586
+ "code": "not-included",
2587
+ "reason": "not listed in api.include",
2588
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2589
+ },
2590
+ {
2591
+ "kind": "api",
2592
+ "operation": "removeZoneId",
2593
+ "code": "not-included",
2594
+ "reason": "not listed in api.include",
2595
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2596
+ },
2597
+ {
2598
+ "kind": "api",
2599
+ "operation": "setTargeting",
2600
+ "code": "not-included",
2601
+ "reason": "not listed in api.include",
2602
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2603
+ },
2604
+ {
2605
+ "kind": "api",
2606
+ "operation": "setZoneIds",
2607
+ "code": "not-included",
2608
+ "reason": "not listed in api.include",
2609
+ "objectName": "@happyvertical/smrt-ads:AdGroup"
2610
+ }
2611
+ ],
2443
2612
  "relationshipFeatures": [
2444
2613
  "crossPackageRef",
2445
2614
  "foreignKey",
@@ -2731,6 +2900,50 @@
2731
2900
  "objectName": "@happyvertical/smrt-ads:AdVariation"
2732
2901
  }
2733
2902
  ],
2903
+ "withheldSurfaces": [
2904
+ {
2905
+ "kind": "api",
2906
+ "operation": "getCTR",
2907
+ "code": "not-included",
2908
+ "reason": "not listed in api.include",
2909
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2910
+ },
2911
+ {
2912
+ "kind": "api",
2913
+ "operation": "isActive",
2914
+ "code": "not-included",
2915
+ "reason": "not listed in api.include",
2916
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2917
+ },
2918
+ {
2919
+ "kind": "api",
2920
+ "operation": "isDraft",
2921
+ "code": "not-included",
2922
+ "reason": "not listed in api.include",
2923
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2924
+ },
2925
+ {
2926
+ "kind": "api",
2927
+ "operation": "isPaused",
2928
+ "code": "not-included",
2929
+ "reason": "not listed in api.include",
2930
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2931
+ },
2932
+ {
2933
+ "kind": "api",
2934
+ "operation": "recordClick",
2935
+ "code": "not-included",
2936
+ "reason": "not listed in api.include",
2937
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2938
+ },
2939
+ {
2940
+ "kind": "api",
2941
+ "operation": "recordImpression",
2942
+ "code": "not-included",
2943
+ "reason": "not listed in api.include",
2944
+ "objectName": "@happyvertical/smrt-ads:AdVariation"
2945
+ }
2946
+ ],
2734
2947
  "relationshipFeatures": [
2735
2948
  "crossPackageRef",
2736
2949
  "foreignKey",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-ads",
3
- "version": "0.45.3",
3
+ "version": "0.47.0",
4
4
  "description": "Advertising delivery and tracking models for SMRT framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,18 +19,18 @@
19
19
  "./manifest.json": "./dist/manifest.json"
20
20
  },
21
21
  "dependencies": {
22
- "@happyvertical/smrt-core": "0.45.3",
23
- "@happyvertical/smrt-tenancy": "0.45.3"
22
+ "@happyvertical/smrt-core": "0.47.0",
23
+ "@happyvertical/smrt-tenancy": "0.47.0"
24
24
  },
25
25
  "devDependencies": {
26
+ "@happyvertical/smrt-commerce": "0.47.0",
27
+ "@happyvertical/smrt-vitest": "0.47.0",
26
28
  "@happyvertical/sql": "^0.89.4",
27
29
  "@types/node": "24.13.2",
28
30
  "fast-glob": "3.3.3",
29
31
  "typescript": "5.9.3",
30
32
  "vite": "8.1.4",
31
- "vitest": "4.1.10",
32
- "@happyvertical/smrt-commerce": "0.45.3",
33
- "@happyvertical/smrt-vitest": "0.45.3"
33
+ "vitest": "4.1.10"
34
34
  },
35
35
  "keywords": [
36
36
  "ai",