@happyvertical/smrt-analytics 0.46.0 → 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
@@ -2,7 +2,7 @@ import { ObjectRegistry, SmrtCollection, SmrtObject, field, foreignKey, smrt } f
2
2
  import { definePrompt, resolvePrompt } from "@happyvertical/smrt-prompts";
3
3
  import { TenantScoped, tenantId } from "@happyvertical/smrt-tenancy";
4
4
  //#region src/__smrt-register__.ts
5
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-analytics\",\"packageVersion\":\"0.46.0\",\"objects\":{\"@happyvertical/smrt-analytics:AnalyticsDataStreamCollection\":{\"name\":\"analyticsdatastreamcollection\",\"className\":\"AnalyticsDataStreamCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsDataStreamCollection\",\"collection\":\"analyticsdatastreams\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsDataStreamCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream | null>\",\"isStatic\":false,\"isPublic\":true},\"findByMeasurementId\":{\"name\":\"findByMeasurementId\",\"async\":true,\"parameters\":[{\"name\":\"measurementId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream | null>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"streamType\",\"type\":\"DataStreamType\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findWebStreams\":{\"name\":\"findWebStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findIOSStreams\":{\"name\":\"findIOSStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findAndroidStreams\":{\"name\":\"findAndroidStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findMobileStreams\":{\"name\":\"findMobileStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"DataStreamStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByProperty\":{\"name\":\"findActiveByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsDataStream\",\"exportName\":\"AnalyticsDataStreamCollection\",\"collectionExportName\":\"AnalyticsDataStreamCollectionCollection\",\"schema\":{\"tableName\":\"analytics_data_stream_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_data_stream_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\":\"analytics_data_stream_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_data_stream_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"12ef5a9a\"}},\"@happyvertical/smrt-analytics:AnalyticsEventCollection\":{\"name\":\"analyticseventcollection\",\"className\":\"AnalyticsEventCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsEventCollection\",\"collection\":\"analyticsevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsEventCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByEventName\":{\"name\":\"findByEventName\",\"async\":true,\"parameters\":[{\"name\":\"eventName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByClientId\":{\"name\":\"findByClientId\",\"async\":true,\"parameters\":[{\"name\":\"clientId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByUserId\":{\"name\":\"findByUserId\",\"async\":true,\"parameters\":[{\"name\":\"userId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"TrackingEventStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findSent\":{\"name\":\"findSent\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findForRetry\":{\"name\":\"findForRetry\",\"async\":true,\"parameters\":[{\"name\":\"maxRetries\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPendingByProperty\":{\"name\":\"findPendingByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findConversions\":{\"name\":\"findConversions\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPageviews\":{\"name\":\"findPageviews\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"countByEventName\":{\"name\":\"countByEventName\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Map<string, number>>\",\"isStatic\":false,\"isPublic\":true},\"getPropertyStats\":{\"name\":\"getPropertyStats\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"getPropertyStatsWithTrend\":{\"name\":\"getPropertyStatsWithTrend\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false},{\"name\":\"now\",\"type\":\"Date\",\"optional\":true},{\"name\":\"timeZone\",\"type\":\"string\",\"optional\":true,\"default\":\"UTC\"}],\"returnType\":\"Promise<PropertyStatsWithTrend>\",\"isStatic\":false,\"isPublic\":true},\"getBatchPropertyStats\":{\"name\":\"getBatchPropertyStats\",\"async\":true,\"parameters\":[{\"name\":\"propertyIds\",\"type\":\"string[]\",\"optional\":false},{\"name\":\"now\",\"type\":\"Date\",\"optional\":true},{\"name\":\"timeZone\",\"type\":\"string\",\"optional\":true,\"default\":\"UTC\"}],\"returnType\":\"Promise<Map<string, PropertyStatsWithTrend>>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsEvent\",\"exportName\":\"AnalyticsEventCollection\",\"collectionExportName\":\"AnalyticsEventCollectionCollection\",\"schema\":{\"tableName\":\"analytics_event_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_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\":\"analytics_event_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_event_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"13d03b2a\"}},\"@happyvertical/smrt-analytics:AnalyticsPropertyCollection\":{\"name\":\"analyticspropertycollection\",\"className\":\"AnalyticsPropertyCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsPropertyCollection\",\"collection\":\"analyticsproperties\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsPropertyCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findByMeasurementId\":{\"name\":\"findByMeasurementId\",\"async\":true,\"parameters\":[{\"name\":\"measurementId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findBySiteDomain\":{\"name\":\"findBySiteDomain\",\"async\":true,\"parameters\":[{\"name\":\"siteDomain\",\"type\":\"string\",\"optional\":false},{\"name\":\"provider\",\"type\":\"AnalyticsProvider\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findByProvider\":{\"name\":\"findByProvider\",\"async\":true,\"parameters\":[{\"name\":\"provider\",\"type\":\"AnalyticsProvider\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findGA4Properties\":{\"name\":\"findGA4Properties\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findPlausibleSites\":{\"name\":\"findPlausibleSites\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findMatomoSites\":{\"name\":\"findMatomoSites\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AnalyticsPropertyStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findNeedingSync\":{\"name\":\"findNeedingSync\",\"async\":true,\"parameters\":[{\"name\":\"hoursAgo\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsProperty\",\"exportName\":\"AnalyticsPropertyCollection\",\"collectionExportName\":\"AnalyticsPropertyCollectionCollection\",\"schema\":{\"tableName\":\"analytics_property_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_property_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\":\"analytics_property_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_property_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"a1c264b1\"}},\"@happyvertical/smrt-analytics:AnalyticsReportCollection\":{\"name\":\"analyticsreportcollection\",\"className\":\"AnalyticsReportCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsReportCollection\",\"collection\":\"analyticsreports\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsReportCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"ReportStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findScheduled\":{\"name\":\"findScheduled\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByFrequency\":{\"name\":\"findByFrequency\",\"async\":true,\"parameters\":[{\"name\":\"frequency\",\"type\":\"ReportFrequency\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findRecurring\":{\"name\":\"findRecurring\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findDue\":{\"name\":\"findDue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByPropertyAndStatus\":{\"name\":\"findByPropertyAndStatus\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false},{\"name\":\"status\",\"type\":\"ReportStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findRecentlyRun\":{\"name\":\"findRecentlyRun\",\"async\":true,\"parameters\":[{\"name\":\"hoursAgo\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsReport\",\"exportName\":\"AnalyticsReportCollection\",\"collectionExportName\":\"AnalyticsReportCollectionCollection\",\"schema\":{\"tableName\":\"analytics_report_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_report_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\":\"analytics_report_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_report_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"74445ee1\"}},\"@happyvertical/smrt-analytics:AnalyticsDataStream\":{\"name\":\"analyticsdatastream\",\"className\":\"AnalyticsDataStream\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsDataStream\",\"collection\":\"analyticsdatastreams\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsDataStream.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"displayName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"streamType\":{\"type\":\"text\",\"required\":false},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"measurementId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"firebaseAppId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"defaultUri\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"bundleId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"packageName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"enhancedMeasurement\":{\"type\":\"boolean\",\"required\":false,\"default\":true}},\"methods\":{\"isWeb\":{\"name\":\"isWeb\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isIOS\":{\"name\":\"isIOS\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAndroid\":{\"name\":\"isAndroid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isMobileApp\":{\"name\":\"isMobileApp\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPlatformId\":{\"name\":\"getPlatformId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsDataStream\",\"collectionExportName\":\"AnalyticsDataStreamCollection\",\"schema\":{\"tableName\":\"analytics_data_streams\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_data_streams\\\" (\\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 \\\"property_id\\\" UUID,\\n \\\"display_name\\\" TEXT DEFAULT '',\\n \\\"stream_type\\\" TEXT,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"measurement_id\\\" TEXT DEFAULT '',\\n \\\"firebase_app_id\\\" TEXT DEFAULT '',\\n \\\"default_uri\\\" TEXT DEFAULT '',\\n \\\"bundle_id\\\" TEXT DEFAULT '',\\n \\\"package_name\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"enhanced_measurement\\\" BOOLEAN DEFAULT TRUE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"display_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"stream_type\":{\"type\":\"TEXT\",\"notNull\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"measurement_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"firebase_app_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"default_uri\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"bundle_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"package_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"enhanced_measurement\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"default\":true}},\"indexes\":[{\"name\":\"analytics_data_streams_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_data_streams_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_data_streams_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_data_streams_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"851609ba\"}},\"@happyvertical/smrt-analytics:AnalyticsEvent\":{\"name\":\"analyticsevent\",\"className\":\"AnalyticsEvent\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsEvent\",\"collection\":\"analyticsevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsEvent.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"eventName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clientId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"userId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"params\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"},\"eventTimestamp\":{\"type\":\"datetime\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"errorMessage\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"retryCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"nonPersonalizedAds\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"sessionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"pagePath\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"pageTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"userAgent\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"ipAddress\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getParams\":{\"name\":\"getParams\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, string | number | boolean>\",\"isStatic\":false,\"isPublic\":true},\"setParams\":{\"name\":\"setParams\",\"async\":false,\"parameters\":[{\"name\":\"params\",\"type\":\"Record<string, string | number | boolean>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addParam\":{\"name\":\"addParam\",\"async\":false,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"string | number | boolean\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isPageview\":{\"name\":\"isPageview\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConversion\":{\"name\":\"isConversion\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"error\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"resetForRetry\":{\"name\":\"resetForRetry\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"shouldRetry\":{\"name\":\"shouldRetry\",\"async\":false,\"parameters\":[{\"name\":\"maxRetries\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"toTrackEvent\":{\"name\":\"toTrackEvent\",\"async\":false,\"parameters\":[],\"returnType\":\"object\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"track\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsEvent\",\"collectionExportName\":\"AnalyticsEventCollection\",\"schema\":{\"tableName\":\"analytics_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_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 \\\"property_id\\\" UUID,\\n \\\"event_name\\\" TEXT DEFAULT '',\\n \\\"client_id\\\" TEXT DEFAULT '',\\n \\\"user_id\\\" TEXT DEFAULT '',\\n \\\"params\\\" TEXT DEFAULT '{}',\\n \\\"event_timestamp\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"error_message\\\" TEXT DEFAULT '',\\n \\\"retry_count\\\" INTEGER DEFAULT 0,\\n \\\"non_personalized_ads\\\" BOOLEAN DEFAULT FALSE,\\n \\\"session_id\\\" TEXT DEFAULT '',\\n \\\"page_path\\\" TEXT DEFAULT '',\\n \\\"page_title\\\" TEXT DEFAULT '',\\n \\\"user_agent\\\" TEXT DEFAULT '',\\n \\\"ip_address\\\" 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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"event_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"client_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"user_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"params\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"{}\"},\"event_timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"error_message\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"retry_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"non_personalized_ads\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"default\":false},\"session_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"page_path\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"page_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"user_agent\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"ip_address\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"analytics_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_events_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"bee09e1d\"}},\"@happyvertical/smrt-analytics:AnalyticsProperty\":{\"name\":\"analyticsproperty\",\"className\":\"AnalyticsProperty\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsProperty\",\"collection\":\"analyticsproperties\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsProperty.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"displayName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"measurementId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"apiSecret\":{\"type\":\"text\",\"required\":false,\"default\":\"\",\"_meta\":{\"sensitive\":true},\"sensitive\":true},\"siteDomain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"timeZone\":{\"type\":\"text\",\"required\":false,\"default\":\"America/Los_Angeles\"},\"currencyCode\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"industryCategory\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceLevel\":{\"type\":\"text\",\"required\":false,\"default\":\"STANDARD\"},\"status\":{\"type\":\"text\",\"required\":false},\"lastSyncAt\":{\"type\":\"datetime\",\"required\":false},\"providerMetadata\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\",\"_meta\":{\"sensitive\":true},\"sensitive\":true}},\"methods\":{\"isGA4\":{\"name\":\"isGA4\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPlausible\":{\"name\":\"isPlausible\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isMatomo\":{\"name\":\"isMatomo\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProviderMetadata\":{\"name\":\"getProviderMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"setProviderMetadata\":{\"name\":\"setProviderMetadata\",\"async\":false,\"parameters\":[{\"name\":\"metadata\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markSynced\":{\"name\":\"markSynced\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"analyzePerformance\":{\"name\":\"analyzePerformance\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"isPerformingWell\":{\"name\":\"isPerformingWell\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"sync\",\"runReport\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsProperty\",\"collectionExportName\":\"AnalyticsPropertyCollection\",\"schema\":{\"tableName\":\"analytics_properties\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_properties\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"display_name\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"measurement_id\\\" TEXT DEFAULT '',\\n \\\"api_secret\\\" TEXT DEFAULT '',\\n \\\"site_domain\\\" TEXT DEFAULT '',\\n \\\"time_zone\\\" TEXT DEFAULT 'America/Los_Angeles',\\n \\\"currency_code\\\" TEXT DEFAULT 'USD',\\n \\\"industry_category\\\" TEXT DEFAULT '',\\n \\\"service_level\\\" TEXT DEFAULT 'STANDARD',\\n \\\"status\\\" TEXT,\\n \\\"last_sync_at\\\" TIMESTAMP,\\n \\\"provider_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},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"display_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"measurement_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"api_secret\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"site_domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"time_zone\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"America/Los_Angeles\"},\"currency_code\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"industry_category\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"service_level\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"STANDARD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"last_sync_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"provider_metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"analytics_properties_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_properties_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_properties_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"f38a20b9\"}},\"@happyvertical/smrt-analytics:AnalyticsReport\":{\"name\":\"analyticsreport\",\"className\":\"AnalyticsReport\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsReport\",\"collection\":\"analyticsreports\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsReport.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"metrics\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"dateRangeStart\":{\"type\":\"text\",\"required\":false,\"default\":\"7daysAgo\"},\"dateRangeEnd\":{\"type\":\"text\",\"required\":false,\"default\":\"today\"},\"dimensionFilter\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricFilter\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"orderBy\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"maxResults\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false},\"frequency\":{\"type\":\"text\",\"required\":false},\"lastRunAt\":{\"type\":\"datetime\",\"required\":false},\"nextRunAt\":{\"type\":\"datetime\",\"required\":false},\"resultData\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"rowCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"Array<object>\",\"isStatic\":false,\"isPublic\":true},\"setDimensions\":{\"name\":\"setDimensions\",\"async\":false,\"parameters\":[{\"name\":\"dimensions\",\"type\":\"Array<object>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getMetrics\":{\"name\":\"getMetrics\",\"async\":false,\"parameters\":[],\"returnType\":\"Array<object>\",\"isStatic\":false,\"isPublic\":true},\"setMetrics\":{\"name\":\"setMetrics\",\"async\":false,\"parameters\":[{\"name\":\"metrics\",\"type\":\"Array<object>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getResultData\":{\"name\":\"getResultData\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string> | null\",\"isStatic\":false,\"isPublic\":true},\"setResultData\":{\"name\":\"setResultData\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markRunning\":{\"name\":\"markRunning\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markCompleted\":{\"name\":\"markCompleted\",\"async\":false,\"parameters\":[{\"name\":\"rowCount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"error\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"calculateNextRun\":{\"name\":\"calculateNextRun\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isDue\":{\"name\":\"isDue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"analyzeResults\":{\"name\":\"analyzeResults\",\"async\":true,\"parameters\":[{\"name\":\"_options\",\"type\":\"Record<string>\",\"optional\":true}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"hasPositiveTrends\":{\"name\":\"hasPositiveTrends\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"run\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"run\",\"analyze\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsReport\",\"collectionExportName\":\"AnalyticsReportCollection\",\"schema\":{\"tableName\":\"analytics_reports\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_reports\\\" (\\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 \\\"property_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"dimensions\\\" TEXT DEFAULT '[]',\\n \\\"metrics\\\" TEXT DEFAULT '[]',\\n \\\"date_range_start\\\" TEXT DEFAULT '7daysAgo',\\n \\\"date_range_end\\\" TEXT DEFAULT 'today',\\n \\\"dimension_filter\\\" TEXT DEFAULT '',\\n \\\"metric_filter\\\" TEXT DEFAULT '',\\n \\\"order_by\\\" TEXT DEFAULT '[]',\\n \\\"max_results\\\" INTEGER DEFAULT 0,\\n \\\"status\\\" TEXT,\\n \\\"frequency\\\" TEXT,\\n \\\"last_run_at\\\" TIMESTAMP,\\n \\\"next_run_at\\\" TIMESTAMP,\\n \\\"result_data\\\" TEXT DEFAULT '',\\n \\\"row_count\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" 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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"metrics\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"date_range_start\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"7daysAgo\"},\"date_range_end\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"today\"},\"dimension_filter\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"metric_filter\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"order_by\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"max_results\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"frequency\":{\"type\":\"TEXT\",\"notNull\":false},\"last_run_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"next_run_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"result_data\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"row_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"analytics_reports_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_reports_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_reports_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_reports_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"22ce0f1c\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
5
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-analytics\",\"packageVersion\":\"0.47.0\",\"objects\":{\"@happyvertical/smrt-analytics:AnalyticsDataStreamCollection\":{\"name\":\"analyticsdatastreamcollection\",\"className\":\"AnalyticsDataStreamCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsDataStreamCollection\",\"collection\":\"analyticsdatastreams\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsDataStreamCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream | null>\",\"isStatic\":false,\"isPublic\":true},\"findByMeasurementId\":{\"name\":\"findByMeasurementId\",\"async\":true,\"parameters\":[{\"name\":\"measurementId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream | null>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"streamType\",\"type\":\"DataStreamType\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findWebStreams\":{\"name\":\"findWebStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findIOSStreams\":{\"name\":\"findIOSStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findAndroidStreams\":{\"name\":\"findAndroidStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findMobileStreams\":{\"name\":\"findMobileStreams\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"DataStreamStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByProperty\":{\"name\":\"findActiveByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsDataStream[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsDataStream\",\"exportName\":\"AnalyticsDataStreamCollection\",\"collectionExportName\":\"AnalyticsDataStreamCollectionCollection\",\"schema\":{\"tableName\":\"analytics_data_stream_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_data_stream_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\":\"analytics_data_stream_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_data_stream_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"12ef5a9a\"}},\"@happyvertical/smrt-analytics:AnalyticsEventCollection\":{\"name\":\"analyticseventcollection\",\"className\":\"AnalyticsEventCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsEventCollection\",\"collection\":\"analyticsevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsEventCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByEventName\":{\"name\":\"findByEventName\",\"async\":true,\"parameters\":[{\"name\":\"eventName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByClientId\":{\"name\":\"findByClientId\",\"async\":true,\"parameters\":[{\"name\":\"clientId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByUserId\":{\"name\":\"findByUserId\",\"async\":true,\"parameters\":[{\"name\":\"userId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"TrackingEventStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findSent\":{\"name\":\"findSent\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findForRetry\":{\"name\":\"findForRetry\",\"async\":true,\"parameters\":[{\"name\":\"maxRetries\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPendingByProperty\":{\"name\":\"findPendingByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findConversions\":{\"name\":\"findConversions\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"findPageviews\":{\"name\":\"findPageviews\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsEvent[]>\",\"isStatic\":false,\"isPublic\":true},\"countByEventName\":{\"name\":\"countByEventName\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Map<string, number>>\",\"isStatic\":false,\"isPublic\":true},\"getPropertyStats\":{\"name\":\"getPropertyStats\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"getPropertyStatsWithTrend\":{\"name\":\"getPropertyStatsWithTrend\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false},{\"name\":\"now\",\"type\":\"Date\",\"optional\":true},{\"name\":\"timeZone\",\"type\":\"string\",\"optional\":true,\"default\":\"UTC\"}],\"returnType\":\"Promise<PropertyStatsWithTrend>\",\"isStatic\":false,\"isPublic\":true},\"getBatchPropertyStats\":{\"name\":\"getBatchPropertyStats\",\"async\":true,\"parameters\":[{\"name\":\"propertyIds\",\"type\":\"string[]\",\"optional\":false},{\"name\":\"now\",\"type\":\"Date\",\"optional\":true},{\"name\":\"timeZone\",\"type\":\"string\",\"optional\":true,\"default\":\"UTC\"}],\"returnType\":\"Promise<Map<string, PropertyStatsWithTrend>>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsEvent\",\"exportName\":\"AnalyticsEventCollection\",\"collectionExportName\":\"AnalyticsEventCollectionCollection\",\"schema\":{\"tableName\":\"analytics_event_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_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\":\"analytics_event_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_event_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"13d03b2a\"}},\"@happyvertical/smrt-analytics:AnalyticsPropertyCollection\":{\"name\":\"analyticspropertycollection\",\"className\":\"AnalyticsPropertyCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsPropertyCollection\",\"collection\":\"analyticsproperties\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsPropertyCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findByMeasurementId\":{\"name\":\"findByMeasurementId\",\"async\":true,\"parameters\":[{\"name\":\"measurementId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findBySiteDomain\":{\"name\":\"findBySiteDomain\",\"async\":true,\"parameters\":[{\"name\":\"siteDomain\",\"type\":\"string\",\"optional\":false},{\"name\":\"provider\",\"type\":\"AnalyticsProvider\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsProperty | null>\",\"isStatic\":false,\"isPublic\":true},\"findByProvider\":{\"name\":\"findByProvider\",\"async\":true,\"parameters\":[{\"name\":\"provider\",\"type\":\"AnalyticsProvider\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findGA4Properties\":{\"name\":\"findGA4Properties\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findPlausibleSites\":{\"name\":\"findPlausibleSites\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findMatomoSites\":{\"name\":\"findMatomoSites\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"AnalyticsPropertyStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true},\"findNeedingSync\":{\"name\":\"findNeedingSync\",\"async\":true,\"parameters\":[{\"name\":\"hoursAgo\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsProperty[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsProperty\",\"exportName\":\"AnalyticsPropertyCollection\",\"collectionExportName\":\"AnalyticsPropertyCollectionCollection\",\"schema\":{\"tableName\":\"analytics_property_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_property_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\":\"analytics_property_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_property_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"a1c264b1\"}},\"@happyvertical/smrt-analytics:AnalyticsReportCollection\":{\"name\":\"analyticsreportcollection\",\"className\":\"AnalyticsReportCollection\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsReportCollection\",\"collection\":\"analyticsreports\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/collections/AnalyticsReportCollection.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"fields\":{},\"methods\":{\"findByProperty\":{\"name\":\"findByProperty\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"ReportStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findScheduled\":{\"name\":\"findScheduled\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByFrequency\":{\"name\":\"findByFrequency\",\"async\":true,\"parameters\":[{\"name\":\"frequency\",\"type\":\"ReportFrequency\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findRecurring\":{\"name\":\"findRecurring\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findDue\":{\"name\":\"findDue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findByPropertyAndStatus\":{\"name\":\"findByPropertyAndStatus\",\"async\":true,\"parameters\":[{\"name\":\"propertyId\",\"type\":\"string\",\"optional\":false},{\"name\":\"status\",\"type\":\"ReportStatus\",\"optional\":false}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true},\"findRecentlyRun\":{\"name\":\"findRecentlyRun\",\"async\":true,\"parameters\":[{\"name\":\"hoursAgo\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<AnalyticsReport[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"AnalyticsReport\",\"exportName\":\"AnalyticsReportCollection\",\"collectionExportName\":\"AnalyticsReportCollectionCollection\",\"schema\":{\"tableName\":\"analytics_report_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_report_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\":\"analytics_report_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"analytics_report_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"74445ee1\"}},\"@happyvertical/smrt-analytics:AnalyticsDataStream\":{\"name\":\"analyticsdatastream\",\"className\":\"AnalyticsDataStream\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsDataStream\",\"collection\":\"analyticsdatastreams\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsDataStream.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"displayName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"streamType\":{\"type\":\"text\",\"required\":false},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"measurementId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"firebaseAppId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"defaultUri\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"bundleId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"packageName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"enhancedMeasurement\":{\"type\":\"boolean\",\"required\":false,\"default\":true}},\"methods\":{\"isWeb\":{\"name\":\"isWeb\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isIOS\":{\"name\":\"isIOS\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAndroid\":{\"name\":\"isAndroid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isMobileApp\":{\"name\":\"isMobileApp\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPlatformId\":{\"name\":\"getPlatformId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsDataStream\",\"collectionExportName\":\"AnalyticsDataStreamCollection\",\"schema\":{\"tableName\":\"analytics_data_streams\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_data_streams\\\" (\\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 \\\"property_id\\\" UUID,\\n \\\"display_name\\\" TEXT DEFAULT '',\\n \\\"stream_type\\\" TEXT,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"measurement_id\\\" TEXT DEFAULT '',\\n \\\"firebase_app_id\\\" TEXT DEFAULT '',\\n \\\"default_uri\\\" TEXT DEFAULT '',\\n \\\"bundle_id\\\" TEXT DEFAULT '',\\n \\\"package_name\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"enhanced_measurement\\\" BOOLEAN DEFAULT TRUE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"display_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"stream_type\":{\"type\":\"TEXT\",\"notNull\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"measurement_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"firebase_app_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"default_uri\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"bundle_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"package_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"enhanced_measurement\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"default\":true}},\"indexes\":[{\"name\":\"analytics_data_streams_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_data_streams_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_data_streams_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_data_streams_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"851609ba\"}},\"@happyvertical/smrt-analytics:AnalyticsEvent\":{\"name\":\"analyticsevent\",\"className\":\"AnalyticsEvent\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsEvent\",\"collection\":\"analyticsevents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsEvent.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"eventName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"clientId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"userId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"params\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\"},\"eventTimestamp\":{\"type\":\"datetime\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"errorMessage\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"retryCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"nonPersonalizedAds\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"sessionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"pagePath\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"pageTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"userAgent\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"ipAddress\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getParams\":{\"name\":\"getParams\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, string | number | boolean>\",\"isStatic\":false,\"isPublic\":true},\"setParams\":{\"name\":\"setParams\",\"async\":false,\"parameters\":[{\"name\":\"params\",\"type\":\"Record<string, string | number | boolean>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"addParam\":{\"name\":\"addParam\",\"async\":false,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"string | number | boolean\",\"optional\":false,\"unionBranches\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"}]}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isPageview\":{\"name\":\"isPageview\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConversion\":{\"name\":\"isConversion\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"error\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"resetForRetry\":{\"name\":\"resetForRetry\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"shouldRetry\":{\"name\":\"shouldRetry\",\"async\":false,\"parameters\":[{\"name\":\"maxRetries\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"toTrackEvent\":{\"name\":\"toTrackEvent\",\"async\":false,\"parameters\":[],\"returnType\":\"object\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"track\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsEvent\",\"collectionExportName\":\"AnalyticsEventCollection\",\"schema\":{\"tableName\":\"analytics_events\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_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 \\\"property_id\\\" UUID,\\n \\\"event_name\\\" TEXT DEFAULT '',\\n \\\"client_id\\\" TEXT DEFAULT '',\\n \\\"user_id\\\" TEXT DEFAULT '',\\n \\\"params\\\" TEXT DEFAULT '{}',\\n \\\"event_timestamp\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"error_message\\\" TEXT DEFAULT '',\\n \\\"retry_count\\\" INTEGER DEFAULT 0,\\n \\\"non_personalized_ads\\\" BOOLEAN DEFAULT FALSE,\\n \\\"session_id\\\" TEXT DEFAULT '',\\n \\\"page_path\\\" TEXT DEFAULT '',\\n \\\"page_title\\\" TEXT DEFAULT '',\\n \\\"user_agent\\\" TEXT DEFAULT '',\\n \\\"ip_address\\\" 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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"event_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"client_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"user_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"params\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"{}\"},\"event_timestamp\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"error_message\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"retry_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"non_personalized_ads\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"default\":false},\"session_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"page_path\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"page_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"user_agent\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"ip_address\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"analytics_events_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_events_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_events_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_events_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"bee09e1d\"}},\"@happyvertical/smrt-analytics:AnalyticsProperty\":{\"name\":\"analyticsproperty\",\"className\":\"AnalyticsProperty\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsProperty\",\"collection\":\"analyticsproperties\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsProperty.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"displayName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"measurementId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"apiSecret\":{\"type\":\"text\",\"required\":false,\"default\":\"\",\"_meta\":{\"sensitive\":true},\"sensitive\":true},\"siteDomain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"timeZone\":{\"type\":\"text\",\"required\":false,\"default\":\"America/Los_Angeles\"},\"currencyCode\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"industryCategory\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"serviceLevel\":{\"type\":\"text\",\"required\":false,\"default\":\"STANDARD\"},\"status\":{\"type\":\"text\",\"required\":false},\"lastSyncAt\":{\"type\":\"datetime\",\"required\":false},\"providerMetadata\":{\"type\":\"text\",\"required\":false,\"default\":\"{}\",\"_meta\":{\"sensitive\":true},\"sensitive\":true}},\"methods\":{\"isGA4\":{\"name\":\"isGA4\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPlausible\":{\"name\":\"isPlausible\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isMatomo\":{\"name\":\"isMatomo\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProviderMetadata\":{\"name\":\"getProviderMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setProviderMetadata\":{\"name\":\"setProviderMetadata\",\"async\":false,\"parameters\":[{\"name\":\"metadata\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markSynced\":{\"name\":\"markSynced\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"analyzePerformance\":{\"name\":\"analyzePerformance\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"isPerformingWell\":{\"name\":\"isPerformingWell\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"sync\",\"runReport\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsProperty\",\"collectionExportName\":\"AnalyticsPropertyCollection\",\"schema\":{\"tableName\":\"analytics_properties\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_properties\\\" (\\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 \\\"name\\\" TEXT DEFAULT '',\\n \\\"display_name\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"measurement_id\\\" TEXT DEFAULT '',\\n \\\"api_secret\\\" TEXT DEFAULT '',\\n \\\"site_domain\\\" TEXT DEFAULT '',\\n \\\"time_zone\\\" TEXT DEFAULT 'America/Los_Angeles',\\n \\\"currency_code\\\" TEXT DEFAULT 'USD',\\n \\\"industry_category\\\" TEXT DEFAULT '',\\n \\\"service_level\\\" TEXT DEFAULT 'STANDARD',\\n \\\"status\\\" TEXT,\\n \\\"last_sync_at\\\" TIMESTAMP,\\n \\\"provider_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},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"display_name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"measurement_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"api_secret\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"site_domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"time_zone\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"America/Los_Angeles\"},\"currency_code\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"industry_category\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"service_level\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"STANDARD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"last_sync_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"provider_metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"{}\"}},\"indexes\":[{\"name\":\"analytics_properties_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_properties_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_properties_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"f38a20b9\"}},\"@happyvertical/smrt-analytics:AnalyticsReport\":{\"name\":\"analyticsreport\",\"className\":\"AnalyticsReport\",\"qualifiedName\":\"@happyvertical/smrt-analytics:AnalyticsReport\",\"collection\":\"analyticsreports\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/analytics/src/models/AnalyticsReport.ts\",\"packageName\":\"@happyvertical/smrt-analytics\",\"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}}},\"propertyId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"AnalyticsProperty\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"metrics\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"dateRangeStart\":{\"type\":\"text\",\"required\":false,\"default\":\"7daysAgo\"},\"dateRangeEnd\":{\"type\":\"text\",\"required\":false,\"default\":\"today\"},\"dimensionFilter\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metricFilter\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"orderBy\":{\"type\":\"text\",\"required\":false,\"default\":\"[]\"},\"maxResults\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"status\":{\"type\":\"text\",\"required\":false},\"frequency\":{\"type\":\"text\",\"required\":false},\"lastRunAt\":{\"type\":\"datetime\",\"required\":false},\"nextRunAt\":{\"type\":\"datetime\",\"required\":false},\"resultData\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"rowCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"getDimensions\":{\"name\":\"getDimensions\",\"async\":false,\"parameters\":[],\"returnType\":\"Array<object>\",\"isStatic\":false,\"isPublic\":true},\"setDimensions\":{\"name\":\"setDimensions\",\"async\":false,\"parameters\":[{\"name\":\"dimensions\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getMetrics\":{\"name\":\"getMetrics\",\"async\":false,\"parameters\":[],\"returnType\":\"Array<object>\",\"isStatic\":false,\"isPublic\":true},\"setMetrics\":{\"name\":\"setMetrics\",\"async\":false,\"parameters\":[{\"name\":\"metrics\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getResultData\":{\"name\":\"getResultData\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown> | null\",\"isStatic\":false,\"isPublic\":true},\"setResultData\":{\"name\":\"setResultData\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markRunning\":{\"name\":\"markRunning\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markCompleted\":{\"name\":\"markCompleted\",\"async\":false,\"parameters\":[{\"name\":\"rowCount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"error\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"calculateNextRun\":{\"name\":\"calculateNextRun\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isDue\":{\"name\":\"isDue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"analyzeResults\":{\"name\":\"analyzeResults\",\"async\":true,\"parameters\":[{\"name\":\"_options\",\"type\":\"Record<string, unknown>\",\"optional\":true}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"hasPositiveTrends\":{\"name\":\"hasPositiveTrends\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"run\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"run\",\"analyze\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"AnalyticsReport\",\"collectionExportName\":\"AnalyticsReportCollection\",\"schema\":{\"tableName\":\"analytics_reports\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"analytics_reports\\\" (\\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 \\\"property_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"dimensions\\\" TEXT DEFAULT '[]',\\n \\\"metrics\\\" TEXT DEFAULT '[]',\\n \\\"date_range_start\\\" TEXT DEFAULT '7daysAgo',\\n \\\"date_range_end\\\" TEXT DEFAULT 'today',\\n \\\"dimension_filter\\\" TEXT DEFAULT '',\\n \\\"metric_filter\\\" TEXT DEFAULT '',\\n \\\"order_by\\\" TEXT DEFAULT '[]',\\n \\\"max_results\\\" INTEGER DEFAULT 0,\\n \\\"status\\\" TEXT,\\n \\\"frequency\\\" TEXT,\\n \\\"last_run_at\\\" TIMESTAMP,\\n \\\"next_run_at\\\" TIMESTAMP,\\n \\\"result_data\\\" TEXT DEFAULT '',\\n \\\"row_count\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" 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},\"property_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"analytics_properties\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"dimensions\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"metrics\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"date_range_start\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"7daysAgo\"},\"date_range_end\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"today\"},\"dimension_filter\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"metric_filter\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"order_by\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"[]\"},\"max_results\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"frequency\":{\"type\":\"TEXT\",\"notNull\":false},\"last_run_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"next_run_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"result_data\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"row_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"analytics_reports_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"analytics_reports_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"analytics_reports_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"analytics_reports_property_id_idx\",\"columns\":[\"property_id\"]}],\"version\":\"22ce0f1c\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
6
6
  //#endregion
7
7
  //#region src/prompts.ts
8
8
  var smrtAnalyticsAnalyzePerformancePrompt = definePrompt({
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-analytics",
5
- "packageVersion": "0.46.0",
5
+ "packageVersion": "0.47.0",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection": {
8
8
  "name": "analyticsdatastreamcollection",
@@ -1320,7 +1320,18 @@
1320
1320
  {
1321
1321
  "name": "value",
1322
1322
  "type": "string | number | boolean",
1323
- "optional": false
1323
+ "optional": false,
1324
+ "unionBranches": [
1325
+ {
1326
+ "type": "string"
1327
+ },
1328
+ {
1329
+ "type": "number"
1330
+ },
1331
+ {
1332
+ "type": "boolean"
1333
+ }
1334
+ ]
1324
1335
  }
1325
1336
  ],
1326
1337
  "returnType": "void",
@@ -1727,7 +1738,7 @@
1727
1738
  "name": "getProviderMetadata",
1728
1739
  "async": false,
1729
1740
  "parameters": [],
1730
- "returnType": "Record<string>",
1741
+ "returnType": "Record<string, unknown>",
1731
1742
  "isStatic": false,
1732
1743
  "isPublic": true
1733
1744
  },
@@ -1737,7 +1748,7 @@
1737
1748
  "parameters": [
1738
1749
  {
1739
1750
  "name": "metadata",
1740
- "type": "Record<string>",
1751
+ "type": "Record<string, unknown>",
1741
1752
  "optional": false
1742
1753
  }
1743
1754
  ],
@@ -1760,7 +1771,10 @@
1760
1771
  {
1761
1772
  "name": "options",
1762
1773
  "type": "object",
1763
- "optional": true
1774
+ "optional": true,
1775
+ "memberTypes": [
1776
+ "string"
1777
+ ]
1764
1778
  }
1765
1779
  ],
1766
1780
  "returnType": "Promise<object>",
@@ -2085,7 +2099,10 @@
2085
2099
  {
2086
2100
  "name": "dimensions",
2087
2101
  "type": "Array<object>",
2088
- "optional": false
2102
+ "optional": false,
2103
+ "memberTypes": [
2104
+ "string"
2105
+ ]
2089
2106
  }
2090
2107
  ],
2091
2108
  "returnType": "void",
@@ -2107,7 +2124,10 @@
2107
2124
  {
2108
2125
  "name": "metrics",
2109
2126
  "type": "Array<object>",
2110
- "optional": false
2127
+ "optional": false,
2128
+ "memberTypes": [
2129
+ "string"
2130
+ ]
2111
2131
  }
2112
2132
  ],
2113
2133
  "returnType": "void",
@@ -2118,7 +2138,7 @@
2118
2138
  "name": "getResultData",
2119
2139
  "async": false,
2120
2140
  "parameters": [],
2121
- "returnType": "Record<string> | null",
2141
+ "returnType": "Record<string, unknown> | null",
2122
2142
  "isStatic": false,
2123
2143
  "isPublic": true
2124
2144
  },
@@ -2128,7 +2148,7 @@
2128
2148
  "parameters": [
2129
2149
  {
2130
2150
  "name": "data",
2131
- "type": "Record<string>",
2151
+ "type": "Record<string, unknown>",
2132
2152
  "optional": false
2133
2153
  }
2134
2154
  ],
@@ -2194,7 +2214,7 @@
2194
2214
  "parameters": [
2195
2215
  {
2196
2216
  "name": "_options",
2197
- "type": "Record<string>",
2217
+ "type": "Record<string, unknown>",
2198
2218
  "optional": true
2199
2219
  }
2200
2220
  ],
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-analytics",
6
- "packageVersion": "0.46.0",
6
+ "packageVersion": "0.47.0",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "c8959412a93ef3d4053251e8ecc33bc88d2dc6f23c248c24a824137f2c54d56e",
11
- "packageJson": "7006a49b811ed9fd0ef99a4fb600b268625bb6b716b0ef1a1caa52658f7af050",
10
+ "manifest": "54476094bb30a0ee138c5d54b0f383452a1a45809ef9d5d7ffca3b8ea8bcd99c",
11
+ "packageJson": "ce5fc30b9e87ede30f2d7bd635f27f284897c6bc52cba2725104493653de7455",
12
12
  "agents": "baaeb44320f95dc5dc86925318e791369681ad80acfbb82a0f667f2aed0e511c"
13
13
  },
14
14
  "exports": [
@@ -1766,6 +1766,43 @@
1766
1766
  "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1767
1767
  }
1768
1768
  ],
1769
+ "withheldSurfaces": [
1770
+ {
1771
+ "kind": "api",
1772
+ "operation": "getPlatformId",
1773
+ "code": "not-included",
1774
+ "reason": "not listed in api.include",
1775
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1776
+ },
1777
+ {
1778
+ "kind": "api",
1779
+ "operation": "isAndroid",
1780
+ "code": "not-included",
1781
+ "reason": "not listed in api.include",
1782
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1783
+ },
1784
+ {
1785
+ "kind": "api",
1786
+ "operation": "isIOS",
1787
+ "code": "not-included",
1788
+ "reason": "not listed in api.include",
1789
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1790
+ },
1791
+ {
1792
+ "kind": "api",
1793
+ "operation": "isMobileApp",
1794
+ "code": "not-included",
1795
+ "reason": "not listed in api.include",
1796
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1797
+ },
1798
+ {
1799
+ "kind": "api",
1800
+ "operation": "isWeb",
1801
+ "code": "not-included",
1802
+ "reason": "not listed in api.include",
1803
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1804
+ }
1805
+ ],
1769
1806
  "relationshipFeatures": [
1770
1807
  "foreignKey",
1771
1808
  "uuidColumns"
@@ -2125,6 +2162,78 @@
2125
2162
  "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2126
2163
  }
2127
2164
  ],
2165
+ "withheldSurfaces": [
2166
+ {
2167
+ "kind": "api",
2168
+ "operation": "addParam",
2169
+ "code": "not-included",
2170
+ "reason": "not listed in api.include",
2171
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2172
+ },
2173
+ {
2174
+ "kind": "api",
2175
+ "operation": "getParams",
2176
+ "code": "not-included",
2177
+ "reason": "not listed in api.include",
2178
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2179
+ },
2180
+ {
2181
+ "kind": "api",
2182
+ "operation": "isConversion",
2183
+ "code": "not-included",
2184
+ "reason": "not listed in api.include",
2185
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2186
+ },
2187
+ {
2188
+ "kind": "api",
2189
+ "operation": "isPageview",
2190
+ "code": "not-included",
2191
+ "reason": "not listed in api.include",
2192
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2193
+ },
2194
+ {
2195
+ "kind": "api",
2196
+ "operation": "markFailed",
2197
+ "code": "not-included",
2198
+ "reason": "not listed in api.include",
2199
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2200
+ },
2201
+ {
2202
+ "kind": "api",
2203
+ "operation": "markSent",
2204
+ "code": "not-included",
2205
+ "reason": "not listed in api.include",
2206
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2207
+ },
2208
+ {
2209
+ "kind": "api",
2210
+ "operation": "resetForRetry",
2211
+ "code": "not-included",
2212
+ "reason": "not listed in api.include",
2213
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2214
+ },
2215
+ {
2216
+ "kind": "api",
2217
+ "operation": "setParams",
2218
+ "code": "not-included",
2219
+ "reason": "not listed in api.include",
2220
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2221
+ },
2222
+ {
2223
+ "kind": "api",
2224
+ "operation": "shouldRetry",
2225
+ "code": "not-included",
2226
+ "reason": "not listed in api.include",
2227
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2228
+ },
2229
+ {
2230
+ "kind": "api",
2231
+ "operation": "toTrackEvent",
2232
+ "code": "not-included",
2233
+ "reason": "not listed in api.include",
2234
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
2235
+ }
2236
+ ],
2128
2237
  "relationshipFeatures": [
2129
2238
  "foreignKey",
2130
2239
  "uuidColumns"
@@ -2262,7 +2371,7 @@
2262
2371
  },
2263
2372
  {
2264
2373
  "name": "getProviderMetadata",
2265
- "returns": "Record<string>"
2374
+ "returns": "Record<string, unknown>"
2266
2375
  },
2267
2376
  {
2268
2377
  "name": "isGA4",
@@ -2288,7 +2397,7 @@
2288
2397
  {
2289
2398
  "name": "setProviderMetadata",
2290
2399
  "params": [
2291
- "metadata: Record<string>"
2400
+ "metadata: Record<string, unknown>"
2292
2401
  ],
2293
2402
  "returns": "void"
2294
2403
  }
@@ -2429,6 +2538,64 @@
2429
2538
  "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2430
2539
  }
2431
2540
  ],
2541
+ "withheldSurfaces": [
2542
+ {
2543
+ "kind": "api",
2544
+ "operation": "analyzePerformance",
2545
+ "code": "not-included",
2546
+ "reason": "not listed in api.include",
2547
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2548
+ },
2549
+ {
2550
+ "kind": "api",
2551
+ "operation": "getProviderMetadata",
2552
+ "code": "not-included",
2553
+ "reason": "not listed in api.include",
2554
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2555
+ },
2556
+ {
2557
+ "kind": "api",
2558
+ "operation": "isGA4",
2559
+ "code": "not-included",
2560
+ "reason": "not listed in api.include",
2561
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2562
+ },
2563
+ {
2564
+ "kind": "api",
2565
+ "operation": "isMatomo",
2566
+ "code": "not-included",
2567
+ "reason": "not listed in api.include",
2568
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2569
+ },
2570
+ {
2571
+ "kind": "api",
2572
+ "operation": "isPerformingWell",
2573
+ "code": "not-included",
2574
+ "reason": "not listed in api.include",
2575
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2576
+ },
2577
+ {
2578
+ "kind": "api",
2579
+ "operation": "isPlausible",
2580
+ "code": "not-included",
2581
+ "reason": "not listed in api.include",
2582
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2583
+ },
2584
+ {
2585
+ "kind": "api",
2586
+ "operation": "markSynced",
2587
+ "code": "not-included",
2588
+ "reason": "not listed in api.include",
2589
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2590
+ },
2591
+ {
2592
+ "kind": "api",
2593
+ "operation": "setProviderMetadata",
2594
+ "code": "not-included",
2595
+ "reason": "not listed in api.include",
2596
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2597
+ }
2598
+ ],
2432
2599
  "relationshipFeatures": [
2433
2600
  "uuidColumns"
2434
2601
  ],
@@ -2613,7 +2780,7 @@
2613
2780
  "name": "analyzeResults",
2614
2781
  "async": true,
2615
2782
  "params": [
2616
- "_options?: Record<string>"
2783
+ "_options?: Record<string, unknown>"
2617
2784
  ],
2618
2785
  "returns": "Promise<object>"
2619
2786
  },
@@ -2631,7 +2798,7 @@
2631
2798
  },
2632
2799
  {
2633
2800
  "name": "getResultData",
2634
- "returns": "Record<string> | null"
2801
+ "returns": "Record<string, unknown> | null"
2635
2802
  },
2636
2803
  {
2637
2804
  "name": "hasPositiveTrends",
@@ -2677,7 +2844,7 @@
2677
2844
  {
2678
2845
  "name": "setResultData",
2679
2846
  "params": [
2680
- "data: Record<string>"
2847
+ "data: Record<string, unknown>"
2681
2848
  ],
2682
2849
  "returns": "void"
2683
2850
  }
@@ -2848,6 +3015,99 @@
2848
3015
  "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2849
3016
  }
2850
3017
  ],
3018
+ "withheldSurfaces": [
3019
+ {
3020
+ "kind": "api",
3021
+ "operation": "analyzeResults",
3022
+ "code": "not-included",
3023
+ "reason": "not listed in api.include",
3024
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3025
+ },
3026
+ {
3027
+ "kind": "api",
3028
+ "operation": "calculateNextRun",
3029
+ "code": "not-included",
3030
+ "reason": "not listed in api.include",
3031
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3032
+ },
3033
+ {
3034
+ "kind": "api",
3035
+ "operation": "getDimensions",
3036
+ "code": "not-included",
3037
+ "reason": "not listed in api.include",
3038
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3039
+ },
3040
+ {
3041
+ "kind": "api",
3042
+ "operation": "getMetrics",
3043
+ "code": "not-included",
3044
+ "reason": "not listed in api.include",
3045
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3046
+ },
3047
+ {
3048
+ "kind": "api",
3049
+ "operation": "getResultData",
3050
+ "code": "not-included",
3051
+ "reason": "not listed in api.include",
3052
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3053
+ },
3054
+ {
3055
+ "kind": "api",
3056
+ "operation": "hasPositiveTrends",
3057
+ "code": "not-included",
3058
+ "reason": "not listed in api.include",
3059
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3060
+ },
3061
+ {
3062
+ "kind": "api",
3063
+ "operation": "isDue",
3064
+ "code": "not-included",
3065
+ "reason": "not listed in api.include",
3066
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3067
+ },
3068
+ {
3069
+ "kind": "api",
3070
+ "operation": "markCompleted",
3071
+ "code": "not-included",
3072
+ "reason": "not listed in api.include",
3073
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3074
+ },
3075
+ {
3076
+ "kind": "api",
3077
+ "operation": "markFailed",
3078
+ "code": "not-included",
3079
+ "reason": "not listed in api.include",
3080
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3081
+ },
3082
+ {
3083
+ "kind": "api",
3084
+ "operation": "markRunning",
3085
+ "code": "not-included",
3086
+ "reason": "not listed in api.include",
3087
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3088
+ },
3089
+ {
3090
+ "kind": "api",
3091
+ "operation": "setDimensions",
3092
+ "code": "not-included",
3093
+ "reason": "not listed in api.include",
3094
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3095
+ },
3096
+ {
3097
+ "kind": "api",
3098
+ "operation": "setMetrics",
3099
+ "code": "not-included",
3100
+ "reason": "not listed in api.include",
3101
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3102
+ },
3103
+ {
3104
+ "kind": "api",
3105
+ "operation": "setResultData",
3106
+ "code": "not-included",
3107
+ "reason": "not listed in api.include",
3108
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
3109
+ }
3110
+ ],
2851
3111
  "relationshipFeatures": [
2852
3112
  "foreignKey",
2853
3113
  "uuidColumns"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-analytics",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "smrtJsdoc": "strict",
5
5
  "description": "Analytics integration models for SMRT framework",
6
6
  "type": "module",
@@ -33,11 +33,11 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@happyvertical/smrt-core": "0.46.0",
37
- "@happyvertical/smrt-tenancy": "0.46.0",
38
- "@happyvertical/smrt-prompts": "0.46.0",
39
- "@happyvertical/smrt-types": "0.46.0",
40
- "@happyvertical/smrt-ui": "0.46.0"
36
+ "@happyvertical/smrt-core": "0.47.0",
37
+ "@happyvertical/smrt-prompts": "0.47.0",
38
+ "@happyvertical/smrt-tenancy": "0.47.0",
39
+ "@happyvertical/smrt-types": "0.47.0",
40
+ "@happyvertical/smrt-ui": "0.47.0"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "svelte": "^5.56.4"
@@ -48,6 +48,7 @@
48
48
  }
49
49
  },
50
50
  "devDependencies": {
51
+ "@happyvertical/smrt-vitest": "0.47.0",
51
52
  "@happyvertical/sql": "^0.89.4",
52
53
  "@sveltejs/package": "^2.5.8",
53
54
  "@types/node": "24.13.2",
@@ -56,8 +57,7 @@
56
57
  "svelte": "^5.56.4",
57
58
  "typescript": "5.9.3",
58
59
  "vite": "8.1.4",
59
- "vitest": "4.1.10",
60
- "@happyvertical/smrt-vitest": "0.46.0"
60
+ "vitest": "4.1.10"
61
61
  },
62
62
  "keywords": [
63
63
  "ai",