@happyvertical/smrt-ads 0.56.1 → 0.57.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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +78 -5
- package/dist/smrt-knowledge.json +315 -1398
- package/package.json +5 -5
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.56.1","objects":{"@happyvertical/smrt-ads:AdDeliveryTierCollection":{"name":"addeliverytiercollection","className":"AdDeliveryTierCollection","qualifiedName":"@happyvertical/smrt-ads:AdDeliveryTierCollection","collection":"addeliverytiers","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdDeliveryTierCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByPriority":{"name":"findByPriority","async":true,"parameters":[],"returnType":"Promise<AdDeliveryTier[]>","isStatic":false,"isPublic":true},"findByPricingModel":{"name":"findByPricingModel","async":true,"parameters":[{"name":"pricingModel","type":"PricingModel","optional":false}],"returnType":"Promise<AdDeliveryTier[]>","isStatic":false,"isPublic":true},"getHighestPriority":{"name":"getHighestPriority","async":true,"parameters":[],"returnType":"Promise<AdDeliveryTier | null>","isStatic":false,"isPublic":true},"findFixedPricing":{"name":"findFixedPricing","async":true,"parameters":[],"returnType":"Promise<AdDeliveryTier[]>","isStatic":false,"isPublic":true},"findCPM":{"name":"findCPM","async":true,"parameters":[],"returnType":"Promise<AdDeliveryTier[]>","isStatic":false,"isPublic":true},"findPerformanceBased":{"name":"findPerformanceBased","async":true,"parameters":[],"returnType":"Promise<AdDeliveryTier[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"AdDeliveryTier","exportName":"AdDeliveryTierCollection","collectionExportName":"AdDeliveryTierCollectionCollection","schema":{"tableName":"ad_delivery_tiers","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_delivery_tiers\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"pricing_model\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"pricing_model":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_delivery_tiers_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_delivery_tiers_created_at_idx","columns":["created_at"]}],"version":"df0ec0ff"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdEventCollection":{"name":"adeventcollection","className":"AdEventCollection","qualifiedName":"@happyvertical/smrt-ads:AdEventCollection","collection":"adevents","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdEventCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByVariation":{"name":"findByVariation","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByZone":{"name":"findByZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findBySite":{"name":"findBySite","async":true,"parameters":[{"name":"siteId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByDateRange":{"name":"findByDateRange","async":true,"parameters":[{"name":"start","type":"Date","optional":false},{"name":"end","type":"Date","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"eventType","type":"AdEventType","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"countByType":{"name":"countByType","async":true,"parameters":[{"name":"variationId","type":"string","optional":false},{"name":"eventType","type":"AdEventType","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countImpressions":{"name":"countImpressions","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countClicks":{"name":"countClicks","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countConversions":{"name":"countConversions","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"findImpressions":{"name":"findImpressions","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findClicks":{"name":"findClicks","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findConversions":{"name":"findConversions","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"getVariationStats":{"name":"getVariationStats","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"cli":false},"extends":"SmrtCollection","extendsTypeArg":"AdEvent","exportName":"AdEventCollection","collectionExportName":"AdEventCollectionCollection","schema":{"tableName":"ad_events","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_events\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"variation_id\\" UUID,\\n \\"zone_id\\" UUID,\\n \\"site_id\\" TEXT DEFAULT '',\\n \\"event_type\\" TEXT,\\n \\"timestamp\\" TIMESTAMP,\\n \\"metadata\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"variation_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_variations","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"zone_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"site_id":{"type":"TEXT","notNull":false,"default":""},"event_type":{"type":"TEXT","notNull":false},"timestamp":{"type":"TIMESTAMP","notNull":false},"metadata":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"ad_events_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_events_meta_type_idx","columns":["_meta_type"]},{"name":"ad_events_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_events_variation_id_idx","columns":["variation_id"]},{"name":"ad_events_zone_id_idx","columns":["zone_id"]}],"version":"306d8050"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdFormatCollection":{"name":"adformatcollection","className":"AdFormatCollection","qualifiedName":"@happyvertical/smrt-ads:AdFormatCollection","collection":"adformats","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdFormatCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByDimensions":{"name":"findByDimensions","async":true,"parameters":[{"name":"width","type":"number","optional":false},{"name":"height","type":"number","optional":false}],"returnType":"Promise<AdFormat | null>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"formatType","type":"AdFormatType","optional":false}],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findBanners":{"name":"findBanners","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findNative":{"name":"findNative","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findVideo":{"name":"findVideo","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"AdFormat","exportName":"AdFormatCollection","collectionExportName":"AdFormatCollectionCollection","schema":{"tableName":"ad_formats","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_formats\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"width\\" INTEGER DEFAULT 0,\\n \\"height\\" INTEGER DEFAULT 0,\\n \\"format_type\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"width":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"height":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"format_type":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_formats_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_formats_created_at_idx","columns":["created_at"]}],"version":"df40cc03"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdGroupCollection":{"name":"adgroupcollection","className":"AdGroupCollection","qualifiedName":"@happyvertical/smrt-ads:AdGroupCollection","collection":"adgroups","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdGroupCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByContract":{"name":"findByContract","async":true,"parameters":[{"name":"contractId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByTier":{"name":"findByTier","async":true,"parameters":[{"name":"tierId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByStatus":{"name":"findByStatus","async":true,"parameters":[{"name":"status","type":"AdGroupStatus","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findActive":{"name":"findActive","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByVertical":{"name":"findByVertical","async":true,"parameters":[{"name":"verticalSlug","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByZone":{"name":"findByZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findEligibleForZone":{"name":"findEligibleForZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findDrafts":{"name":"findDrafts","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findPaused":{"name":"findPaused","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findCompleted":{"name":"findCompleted","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"AdGroup","exportName":"AdGroupCollection","collectionExportName":"AdGroupCollectionCollection","schema":{"tableName":"ad_groups","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_groups\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"contract_id\\" UUID,\\n \\"tier_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"vertical_slug\\" TEXT DEFAULT '',\\n \\"targeting\\" TEXT DEFAULT '',\\n \\"zone_ids\\" TEXT DEFAULT '',\\n \\"start_date\\" TIMESTAMP,\\n \\"end_date\\" TIMESTAMP,\\n \\"daily_budget\\" REAL DEFAULT 0,\\n \\"total_budget\\" REAL DEFAULT 0,\\n \\"status\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"contract_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"tier_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_delivery_tiers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"default":""},"vertical_slug":{"type":"TEXT","notNull":false,"default":""},"targeting":{"type":"TEXT","notNull":false,"default":""},"zone_ids":{"type":"TEXT","notNull":false,"default":""},"start_date":{"type":"TIMESTAMP","notNull":false},"end_date":{"type":"TIMESTAMP","notNull":false},"daily_budget":{"type":"REAL","notNull":false,"default":0},"total_budget":{"type":"REAL","notNull":false,"default":0},"status":{"type":"TEXT","notNull":false}},"indexes":[{"name":"ad_groups_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_groups_meta_type_idx","columns":["_meta_type"]},{"name":"ad_groups_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_groups_contract_id_idx","columns":["contract_id"]},{"name":"ad_groups_tier_id_idx","columns":["tier_id"]}],"version":"3f8a3fea"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdVariationCollection":{"name":"advariationcollection","className":"AdVariationCollection","qualifiedName":"@happyvertical/smrt-ads:AdVariationCollection","collection":"advariations","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdVariationCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByGroup":{"name":"findByGroup","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findByFormat":{"name":"findByFormat","async":true,"parameters":[{"name":"formatId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findActiveByGroup":{"name":"findActiveByGroup","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"selectByWeight":{"name":"selectByWeight","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation | null>","isStatic":false,"isPublic":true},"findByStatus":{"name":"findByStatus","async":true,"parameters":[{"name":"status","type":"AdVariationStatus","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findActive":{"name":"findActive","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findDrafts":{"name":"findDrafts","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findPaused":{"name":"findPaused","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findTopPerformers":{"name":"findTopPerformers","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"AdVariation","exportName":"AdVariationCollection","collectionExportName":"AdVariationCollectionCollection","schema":{"tableName":"ad_variations","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_variations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"group_id\\" UUID,\\n \\"format_id\\" UUID,\\n \\"asset_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"click_url\\" TEXT DEFAULT '',\\n \\"alt_text\\" TEXT DEFAULT '',\\n \\"weight\\" INTEGER DEFAULT 1,\\n \\"status\\" TEXT,\\n \\"impressions\\" INTEGER DEFAULT 0,\\n \\"clicks\\" INTEGER DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"group_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_groups","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"format_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_formats","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"click_url":{"type":"TEXT","notNull":false,"default":""},"alt_text":{"type":"TEXT","notNull":false,"default":""},"weight":{"type":"INTEGER","notNull":false,"default":1},"status":{"type":"TEXT","notNull":false},"impressions":{"type":"INTEGER","notNull":false,"default":0},"clicks":{"type":"INTEGER","notNull":false,"default":0}},"indexes":[{"name":"ad_variations_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_variations_meta_type_idx","columns":["_meta_type"]},{"name":"ad_variations_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_variations_group_id_idx","columns":["group_id"]},{"name":"ad_variations_format_id_idx","columns":["format_id"]},{"name":"ad_variations_asset_id_idx","columns":["asset_id"]}],"version":"e8fb6233"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdDeliveryTier":{"name":"addeliverytier","className":"AdDeliveryTier","qualifiedName":"@happyvertical/smrt-ads:AdDeliveryTier","collection":"addeliverytiers","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts","packageName":"@happyvertical/smrt-ads","fields":{"name":{"type":"text","required":false,"default":""},"priority":{"type":"integer","required":false,"default":0},"pricingModel":{"type":"text","required":false,"enum":["fixed","cpm","cpc","cpa"]},"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","displayLabelField":"name","schema":{"tableName":"ad_delivery_tiers","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_delivery_tiers\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"pricing_model\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"pricing_model":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_delivery_tiers_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_delivery_tiers_created_at_idx","columns":["created_at"]}],"version":"df0ec0ff"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdEvent":{"name":"adevent","className":"AdEvent","qualifiedName":"@happyvertical/smrt-ads:AdEvent","collection":"adevents","description":"AdEvent tracks ad impressions, clicks, and conversions. Events are immutable (append-only, no update/delete).","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,"enum":["impression","click","conversion"]},"timestamp":{"type":"datetime","required":false},"metadata":{"type":"text","required":false,"default":""}},"methods":{"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"isImpression":{"name":"isImpression","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isClick":{"name":"isClick","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isConversion":{"name":"isConversion","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["create","list"]},"mcp":{"include":["create"]},"cli":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"AdEvent","collectionExportName":"AdEventCollection","schema":{"tableName":"ad_events","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_events\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"variation_id\\" UUID,\\n \\"zone_id\\" UUID,\\n \\"site_id\\" TEXT DEFAULT '',\\n \\"event_type\\" TEXT,\\n \\"timestamp\\" TIMESTAMP,\\n \\"metadata\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"variation_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_variations","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"zone_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"site_id":{"type":"TEXT","notNull":false,"default":""},"event_type":{"type":"TEXT","notNull":false},"timestamp":{"type":"TIMESTAMP","notNull":false},"metadata":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"ad_events_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_events_meta_type_idx","columns":["_meta_type"]},{"name":"ad_events_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_events_variation_id_idx","columns":["variation_id"]},{"name":"ad_events_zone_id_idx","columns":["zone_id"]}],"version":"306d8050"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdFormat":{"name":"adformat","className":"AdFormat","qualifiedName":"@happyvertical/smrt-ads:AdFormat","collection":"adformats","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts","packageName":"@happyvertical/smrt-ads","fields":{"name":{"type":"text","required":false,"default":""},"width":{"type":"integer","required":false,"default":0},"height":{"type":"integer","required":false,"default":0},"formatType":{"type":"text","required":false,"enum":["banner","native","video"]},"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","displayLabelField":"name","schema":{"tableName":"ad_formats","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_formats\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"width\\" INTEGER DEFAULT 0,\\n \\"height\\" INTEGER DEFAULT 0,\\n \\"format_type\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"width":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"height":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"format_type":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_formats_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_formats_created_at_idx","columns":["created_at"]}],"version":"df40cc03"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdGroup":{"name":"adgroup","className":"AdGroup","qualifiedName":"@happyvertical/smrt-ads:AdGroup","collection":"adgroups","description":"AdGroup organizes ad creatives with targeting and budget controls.","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:SalesContract","_meta":{"validateSubtype":true}},"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,"enum":["draft","active","paused","completed"]}},"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","displayLabelField":"name","schema":{"tableName":"ad_groups","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_groups\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"contract_id\\" UUID,\\n \\"tier_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"vertical_slug\\" TEXT DEFAULT '',\\n \\"targeting\\" TEXT DEFAULT '',\\n \\"zone_ids\\" TEXT DEFAULT '',\\n \\"start_date\\" TIMESTAMP,\\n \\"end_date\\" TIMESTAMP,\\n \\"daily_budget\\" REAL DEFAULT 0,\\n \\"total_budget\\" REAL DEFAULT 0,\\n \\"status\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"contract_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"tier_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_delivery_tiers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"default":""},"vertical_slug":{"type":"TEXT","notNull":false,"default":""},"targeting":{"type":"TEXT","notNull":false,"default":""},"zone_ids":{"type":"TEXT","notNull":false,"default":""},"start_date":{"type":"TIMESTAMP","notNull":false},"end_date":{"type":"TIMESTAMP","notNull":false},"daily_budget":{"type":"REAL","notNull":false,"default":0},"total_budget":{"type":"REAL","notNull":false,"default":0},"status":{"type":"TEXT","notNull":false}},"indexes":[{"name":"ad_groups_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_groups_meta_type_idx","columns":["_meta_type"]},{"name":"ad_groups_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_groups_contract_id_idx","columns":["contract_id"]},{"name":"ad_groups_tier_id_idx","columns":["tier_id"]}],"version":"3f8a3fea"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdVariation":{"name":"advariation","className":"AdVariation","qualifiedName":"@happyvertical/smrt-ads:AdVariation","collection":"advariations","description":"AdVariation represents a creative asset within an ad group. Supports A/B testing via weighted selection.","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,"enum":["draft","active","paused"]},"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","displayLabelField":"name","schema":{"tableName":"ad_variations","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_variations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"group_id\\" UUID,\\n \\"format_id\\" UUID,\\n \\"asset_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"click_url\\" TEXT DEFAULT '',\\n \\"alt_text\\" TEXT DEFAULT '',\\n \\"weight\\" INTEGER DEFAULT 1,\\n \\"status\\" TEXT,\\n \\"impressions\\" INTEGER DEFAULT 0,\\n \\"clicks\\" INTEGER DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"group_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_groups","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"format_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_formats","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"click_url":{"type":"TEXT","notNull":false,"default":""},"alt_text":{"type":"TEXT","notNull":false,"default":""},"weight":{"type":"INTEGER","notNull":false,"default":1},"status":{"type":"TEXT","notNull":false},"impressions":{"type":"INTEGER","notNull":false,"default":0},"clicks":{"type":"INTEGER","notNull":false,"default":0}},"indexes":[{"name":"ad_variations_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_variations_meta_type_idx","columns":["_meta_type"]},{"name":"ad_variations_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_variations_group_id_idx","columns":["group_id"]},{"name":"ad_variations_format_id_idx","columns":["format_id"]},{"name":"ad_variations_asset_id_idx","columns":["asset_id"]}],"version":"e8fb6233"},"importPath":"@happyvertical/smrt-ads"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-commerce","@happyvertical/smrt-core","@happyvertical/smrt-tenancy"],"browser":{"status":"server-only","issues":["#3624"],"via":["@happyvertical/smrt-tenancy"]},"stampsConstructors":true}`));
|
|
4
|
+
ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-ads","packageVersion":"0.57.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":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"AdDeliveryTier","exportName":"AdDeliveryTierCollection","collectionExportName":"AdDeliveryTierCollectionCollection","schema":{"tableName":"ad_delivery_tiers","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_delivery_tiers\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"pricing_model\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"pricing_model":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_delivery_tiers_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_delivery_tiers_created_at_idx","columns":["created_at"]}],"version":"df0ec0ff"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdEventCollection":{"name":"adeventcollection","className":"AdEventCollection","qualifiedName":"@happyvertical/smrt-ads:AdEventCollection","collection":"adevents","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdEventCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByVariation":{"name":"findByVariation","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByZone":{"name":"findByZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findBySite":{"name":"findBySite","async":true,"parameters":[{"name":"siteId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByDateRange":{"name":"findByDateRange","async":true,"parameters":[{"name":"start","type":"Date","optional":false},{"name":"end","type":"Date","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"eventType","type":"AdEventType","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"countByType":{"name":"countByType","async":true,"parameters":[{"name":"variationId","type":"string","optional":false},{"name":"eventType","type":"AdEventType","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countImpressions":{"name":"countImpressions","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countClicks":{"name":"countClicks","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countConversions":{"name":"countConversions","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"findImpressions":{"name":"findImpressions","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findClicks":{"name":"findClicks","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findConversions":{"name":"findConversions","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"getVariationStats":{"name":"getVariationStats","async":true,"parameters":[{"name":"variationId","type":"string","optional":false}],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdEvent[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["create","list"]},"mcp":{"include":["create"]},"cli":false},"extends":"SmrtCollection","extendsTypeArg":"AdEvent","exportName":"AdEventCollection","collectionExportName":"AdEventCollectionCollection","schema":{"tableName":"ad_events","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_events\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"variation_id\\" UUID,\\n \\"zone_id\\" UUID,\\n \\"site_id\\" TEXT DEFAULT '',\\n \\"event_type\\" TEXT,\\n \\"timestamp\\" TIMESTAMP,\\n \\"metadata\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"variation_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_variations","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"zone_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"site_id":{"type":"TEXT","notNull":false,"default":""},"event_type":{"type":"TEXT","notNull":false},"timestamp":{"type":"TIMESTAMP","notNull":false},"metadata":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"ad_events_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_events_meta_type_idx","columns":["_meta_type"]},{"name":"ad_events_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_events_variation_id_idx","columns":["variation_id"]},{"name":"ad_events_zone_id_idx","columns":["zone_id"]}],"version":"306d8050"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdFormatCollection":{"name":"adformatcollection","className":"AdFormatCollection","qualifiedName":"@happyvertical/smrt-ads:AdFormatCollection","collection":"adformats","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdFormatCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByDimensions":{"name":"findByDimensions","async":true,"parameters":[{"name":"width","type":"number","optional":false},{"name":"height","type":"number","optional":false}],"returnType":"Promise<AdFormat | null>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"formatType","type":"AdFormatType","optional":false}],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findBanners":{"name":"findBanners","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findNative":{"name":"findNative","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true},"findVideo":{"name":"findVideo","async":true,"parameters":[],"returnType":"Promise<AdFormat[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"AdFormat","exportName":"AdFormatCollection","collectionExportName":"AdFormatCollectionCollection","schema":{"tableName":"ad_formats","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_formats\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"width\\" INTEGER DEFAULT 0,\\n \\"height\\" INTEGER DEFAULT 0,\\n \\"format_type\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"width":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"height":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"format_type":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_formats_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_formats_created_at_idx","columns":["created_at"]}],"version":"df40cc03"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdGroupCollection":{"name":"adgroupcollection","className":"AdGroupCollection","qualifiedName":"@happyvertical/smrt-ads:AdGroupCollection","collection":"adgroups","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdGroupCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByContract":{"name":"findByContract","async":true,"parameters":[{"name":"contractId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByTier":{"name":"findByTier","async":true,"parameters":[{"name":"tierId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByStatus":{"name":"findByStatus","async":true,"parameters":[{"name":"status","type":"AdGroupStatus","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findActive":{"name":"findActive","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByVertical":{"name":"findByVertical","async":true,"parameters":[{"name":"verticalSlug","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByZone":{"name":"findByZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findEligibleForZone":{"name":"findEligibleForZone","async":true,"parameters":[{"name":"zoneId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findDrafts":{"name":"findDrafts","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findPaused":{"name":"findPaused","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findCompleted":{"name":"findCompleted","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdGroup[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get","create"]}},"extends":"SmrtCollection","extendsTypeArg":"AdGroup","exportName":"AdGroupCollection","collectionExportName":"AdGroupCollectionCollection","schema":{"tableName":"ad_groups","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_groups\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"contract_id\\" UUID,\\n \\"tier_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"vertical_slug\\" TEXT DEFAULT '',\\n \\"targeting\\" TEXT DEFAULT '',\\n \\"zone_ids\\" TEXT DEFAULT '',\\n \\"start_date\\" TIMESTAMP,\\n \\"end_date\\" TIMESTAMP,\\n \\"daily_budget\\" REAL DEFAULT 0,\\n \\"total_budget\\" REAL DEFAULT 0,\\n \\"status\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"contract_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"tier_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_delivery_tiers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"default":""},"vertical_slug":{"type":"TEXT","notNull":false,"default":""},"targeting":{"type":"TEXT","notNull":false,"default":""},"zone_ids":{"type":"TEXT","notNull":false,"default":""},"start_date":{"type":"TIMESTAMP","notNull":false},"end_date":{"type":"TIMESTAMP","notNull":false},"daily_budget":{"type":"REAL","notNull":false,"default":0},"total_budget":{"type":"REAL","notNull":false,"default":0},"status":{"type":"TEXT","notNull":false}},"indexes":[{"name":"ad_groups_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_groups_meta_type_idx","columns":["_meta_type"]},{"name":"ad_groups_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_groups_contract_id_idx","columns":["contract_id"]},{"name":"ad_groups_tier_id_idx","columns":["tier_id"]}],"version":"3f8a3fea"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdVariationCollection":{"name":"advariationcollection","className":"AdVariationCollection","qualifiedName":"@happyvertical/smrt-ads:AdVariationCollection","collection":"advariations","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/collections/AdVariationCollection.ts","packageName":"@happyvertical/smrt-ads","fields":{},"methods":{"findByGroup":{"name":"findByGroup","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findByFormat":{"name":"findByFormat","async":true,"parameters":[{"name":"formatId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findActiveByGroup":{"name":"findActiveByGroup","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"selectByWeight":{"name":"selectByWeight","async":true,"parameters":[{"name":"groupId","type":"string","optional":false}],"returnType":"Promise<AdVariation | null>","isStatic":false,"isPublic":true},"findByStatus":{"name":"findByStatus","async":true,"parameters":[{"name":"status","type":"AdVariationStatus","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findActive":{"name":"findActive","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findDrafts":{"name":"findDrafts","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findPaused":{"name":"findPaused","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findTopPerformers":{"name":"findTopPerformers","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AdVariation[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get","create"]}},"extends":"SmrtCollection","extendsTypeArg":"AdVariation","exportName":"AdVariationCollection","collectionExportName":"AdVariationCollectionCollection","schema":{"tableName":"ad_variations","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_variations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"group_id\\" UUID,\\n \\"format_id\\" UUID,\\n \\"asset_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"click_url\\" TEXT DEFAULT '',\\n \\"alt_text\\" TEXT DEFAULT '',\\n \\"weight\\" INTEGER DEFAULT 1,\\n \\"status\\" TEXT,\\n \\"impressions\\" INTEGER DEFAULT 0,\\n \\"clicks\\" INTEGER DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"group_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_groups","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"format_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_formats","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"click_url":{"type":"TEXT","notNull":false,"default":""},"alt_text":{"type":"TEXT","notNull":false,"default":""},"weight":{"type":"INTEGER","notNull":false,"default":1},"status":{"type":"TEXT","notNull":false},"impressions":{"type":"INTEGER","notNull":false,"default":0},"clicks":{"type":"INTEGER","notNull":false,"default":0}},"indexes":[{"name":"ad_variations_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_variations_meta_type_idx","columns":["_meta_type"]},{"name":"ad_variations_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_variations_group_id_idx","columns":["group_id"]},{"name":"ad_variations_format_id_idx","columns":["format_id"]},{"name":"ad_variations_asset_id_idx","columns":["asset_id"]}],"version":"e8fb6233"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdDeliveryTier":{"name":"addeliverytier","className":"AdDeliveryTier","qualifiedName":"@happyvertical/smrt-ads:AdDeliveryTier","collection":"addeliverytiers","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/models/AdDeliveryTier.ts","packageName":"@happyvertical/smrt-ads","fields":{"name":{"type":"text","required":false,"default":""},"priority":{"type":"integer","required":false,"default":0},"pricingModel":{"type":"text","required":false,"enum":["fixed","cpm","cpc","cpa"]},"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","displayLabelField":"name","schema":{"tableName":"ad_delivery_tiers","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_delivery_tiers\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"priority\\" INTEGER DEFAULT 0,\\n \\"pricing_model\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"priority":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"pricing_model":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_delivery_tiers_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_delivery_tiers_created_at_idx","columns":["created_at"]}],"version":"df0ec0ff"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdEvent":{"name":"adevent","className":"AdEvent","qualifiedName":"@happyvertical/smrt-ads:AdEvent","collection":"adevents","description":"AdEvent tracks ad impressions, clicks, and conversions. Events are immutable (append-only, no update/delete).","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,"enum":["impression","click","conversion"]},"timestamp":{"type":"datetime","required":false},"metadata":{"type":"text","required":false,"default":""}},"methods":{"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"isImpression":{"name":"isImpression","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isClick":{"name":"isClick","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isConversion":{"name":"isConversion","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["create","list"]},"mcp":{"include":["create"]},"cli":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"AdEvent","collectionExportName":"AdEventCollection","schema":{"tableName":"ad_events","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_events\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"variation_id\\" UUID,\\n \\"zone_id\\" UUID,\\n \\"site_id\\" TEXT DEFAULT '',\\n \\"event_type\\" TEXT,\\n \\"timestamp\\" TIMESTAMP,\\n \\"metadata\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"variation_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_variations","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"zone_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"site_id":{"type":"TEXT","notNull":false,"default":""},"event_type":{"type":"TEXT","notNull":false},"timestamp":{"type":"TIMESTAMP","notNull":false},"metadata":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"ad_events_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_events_meta_type_idx","columns":["_meta_type"]},{"name":"ad_events_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_events_variation_id_idx","columns":["variation_id"]},{"name":"ad_events_zone_id_idx","columns":["zone_id"]}],"version":"306d8050"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdFormat":{"name":"adformat","className":"AdFormat","qualifiedName":"@happyvertical/smrt-ads:AdFormat","collection":"adformats","filePath":"/home/runner/work/smrt/smrt/packages/ads/src/models/AdFormat.ts","packageName":"@happyvertical/smrt-ads","fields":{"name":{"type":"text","required":false,"default":""},"width":{"type":"integer","required":false,"default":0},"height":{"type":"integer","required":false,"default":0},"formatType":{"type":"text","required":false,"enum":["banner","native","video"]},"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","displayLabelField":"name","schema":{"tableName":"ad_formats","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_formats\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"width\\" INTEGER DEFAULT 0,\\n \\"height\\" INTEGER DEFAULT 0,\\n \\"format_type\\" TEXT,\\n \\"description\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"width":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"height":{"type":"INTEGER","notNull":false,"unique":false,"default":0},"format_type":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"ad_formats_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"ad_formats_created_at_idx","columns":["created_at"]}],"version":"df40cc03"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdGroup":{"name":"adgroup","className":"AdGroup","qualifiedName":"@happyvertical/smrt-ads:AdGroup","collection":"adgroups","description":"AdGroup organizes ad creatives with targeting and budget controls.","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:SalesContract","_meta":{"validateSubtype":true}},"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,"enum":["draft","active","paused","completed"]}},"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","displayLabelField":"name","schema":{"tableName":"ad_groups","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_groups\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"contract_id\\" UUID,\\n \\"tier_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"vertical_slug\\" TEXT DEFAULT '',\\n \\"targeting\\" TEXT DEFAULT '',\\n \\"zone_ids\\" TEXT DEFAULT '',\\n \\"start_date\\" TIMESTAMP,\\n \\"end_date\\" TIMESTAMP,\\n \\"daily_budget\\" REAL DEFAULT 0,\\n \\"total_budget\\" REAL DEFAULT 0,\\n \\"status\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"contract_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"tier_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_delivery_tiers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"default":""},"vertical_slug":{"type":"TEXT","notNull":false,"default":""},"targeting":{"type":"TEXT","notNull":false,"default":""},"zone_ids":{"type":"TEXT","notNull":false,"default":""},"start_date":{"type":"TIMESTAMP","notNull":false},"end_date":{"type":"TIMESTAMP","notNull":false},"daily_budget":{"type":"REAL","notNull":false,"default":0},"total_budget":{"type":"REAL","notNull":false,"default":0},"status":{"type":"TEXT","notNull":false}},"indexes":[{"name":"ad_groups_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_groups_meta_type_idx","columns":["_meta_type"]},{"name":"ad_groups_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_groups_contract_id_idx","columns":["contract_id"]},{"name":"ad_groups_tier_id_idx","columns":["tier_id"]}],"version":"3f8a3fea"},"importPath":"@happyvertical/smrt-ads"},"@happyvertical/smrt-ads:AdVariation":{"name":"advariation","className":"AdVariation","qualifiedName":"@happyvertical/smrt-ads:AdVariation","collection":"advariations","description":"AdVariation represents a creative asset within an ad group. Supports A/B testing via weighted selection.","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,"enum":["draft","active","paused"]},"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","displayLabelField":"name","schema":{"tableName":"ad_variations","ddl":"CREATE TABLE IF NOT EXISTS \\"ad_variations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"group_id\\" UUID,\\n \\"format_id\\" UUID,\\n \\"asset_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"click_url\\" TEXT DEFAULT '',\\n \\"alt_text\\" TEXT DEFAULT '',\\n \\"weight\\" INTEGER DEFAULT 1,\\n \\"status\\" TEXT,\\n \\"impressions\\" INTEGER DEFAULT 0,\\n \\"clicks\\" INTEGER DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"group_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_groups","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"format_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"ad_formats","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"click_url":{"type":"TEXT","notNull":false,"default":""},"alt_text":{"type":"TEXT","notNull":false,"default":""},"weight":{"type":"INTEGER","notNull":false,"default":1},"status":{"type":"TEXT","notNull":false},"impressions":{"type":"INTEGER","notNull":false,"default":0},"clicks":{"type":"INTEGER","notNull":false,"default":0}},"indexes":[{"name":"ad_variations_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"ad_variations_meta_type_idx","columns":["_meta_type"]},{"name":"ad_variations_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"ad_variations_group_id_idx","columns":["group_id"]},{"name":"ad_variations_format_id_idx","columns":["format_id"]},{"name":"ad_variations_asset_id_idx","columns":["asset_id"]}],"version":"e8fb6233"},"importPath":"@happyvertical/smrt-ads"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-commerce","@happyvertical/smrt-core","@happyvertical/smrt-tenancy"],"browser":{"status":"server-only","issues":["#3624"],"via":["@happyvertical/smrt-tenancy"]},"stampsConstructors":true}`));
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/types/index.ts
|
|
7
7
|
var AdFormatType = /* @__PURE__ */ ((AdFormatType2) => {
|