{
  "version": "1.0.0",
  "timestamp": 0,
  "packageName": "@happyvertical/smrt-analytics",
  "packageVersion": "0.43.3",
  "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": {
        "withDatabase": {
          "name": "withDatabase",
          "async": true,
          "parameters": [
            {
              "name": "db",
              "type": "DatabaseInterface",
              "optional": false
            },
            {
              "name": "operation",
              "type": "Function",
              "optional": false
            }
          ],
          "returnType": "Promise<T>",
          "isStatic": false,
          "isPublic": true
        },
        "getAiUsageSnapshot": {
          "name": "getAiUsageSnapshot",
          "async": false,
          "parameters": [],
          "returnType": "AiUsageSnapshot | undefined",
          "isStatic": false,
          "isPublic": true
        },
        "resetAiUsage": {
          "name": "resetAiUsage",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "listAiUsage": {
          "name": "listAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageListOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<SmrtAiUsageRecord[]>",
          "isStatic": false,
          "isPublic": true
        },
        "summarizeAiUsage": {
          "name": "summarizeAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageSummaryOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Record<string, AiUsageStats>>",
          "isStatic": false,
          "isPublic": true
        },
        "destroy": {
          "name": "destroy",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markAsPersisted": {
          "name": "markAsPersisted",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "requireInsertOnSave": {
          "name": "requireInsertOnSave",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "loadDataFromDb": {
          "name": "loadDataFromDb",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFields": {
          "name": "getFields",
          "async": true,
          "parameters": [],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "toJSON": {
          "name": "toJSON",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "toPlainObject": {
          "name": "toPlainObject",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toPublicJSON": {
          "name": "toPublicJSON",
          "async": false,
          "parameters": [
            {
              "name": "options",
              "type": "PublicJsonOptions",
              "optional": true
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getId": {
          "name": "getId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSlug": {
          "name": "getSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSavedId": {
          "name": "getSavedId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isSaved": {
          "name": "isSaved",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "classifyConstraintError": {
          "name": "classifyConstraintError",
          "async": false,
          "parameters": [
            {
              "name": "message",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "'unique' | 'not_null' | null",
          "isStatic": true,
          "isPublic": true
        },
        "loadFromId": {
          "name": "loadFromId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "loadFromSlug": {
          "name": "loadFromSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "is": {
          "name": "is",
          "async": true,
          "parameters": [
            {
              "name": "criteria",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "do": {
          "name": "do",
          "async": true,
          "parameters": [
            {
              "name": "instructions",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "describe": {
          "name": "describe",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "isRelatedLoaded": {
          "name": "isRelatedLoaded",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "_setLoadedRelationship": {
          "name": "_setLoadedRelationship",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "value",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelated": {
          "name": "loadRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelatedMany": {
          "name": "loadRelatedMany",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getRelated": {
          "name": "getRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "getAvailableTools": {
          "name": "getAvailableTools",
          "async": false,
          "parameters": [],
          "returnType": "AITool[]",
          "isStatic": false,
          "isPublic": true
        },
        "executeToolCall": {
          "name": "executeToolCall",
          "async": true,
          "parameters": [
            {
              "name": "toolCall",
              "type": "ToolCall",
              "optional": false
            }
          ],
          "returnType": "Promise<ToolCallResult>",
          "isStatic": false,
          "isPublic": true
        },
        "remember": {
          "name": "remember",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "recall": {
          "name": "recall",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "recallAll": {
          "name": "recallAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Map<string>>",
          "isStatic": false,
          "isPublic": true
        },
        "forget": {
          "name": "forget",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "forgetScope": {
          "name": "forgetScope",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<number>",
          "isStatic": false,
          "isPublic": true
        },
        "generateEmbeddings": {
          "name": "generateEmbeddings",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "GenerateEmbeddingsOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getEmbedding": {
          "name": "getEmbedding",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "model",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<number[] | null>",
          "isStatic": false,
          "isPublic": true
        },
        "hasStaleEmbeddings": {
          "name": "hasStaleEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "clearEmbeddings": {
          "name": "clearEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "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": 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": {
        "withDatabase": {
          "name": "withDatabase",
          "async": true,
          "parameters": [
            {
              "name": "db",
              "type": "DatabaseInterface",
              "optional": false
            },
            {
              "name": "operation",
              "type": "Function",
              "optional": false
            }
          ],
          "returnType": "Promise<T>",
          "isStatic": false,
          "isPublic": true
        },
        "getAiUsageSnapshot": {
          "name": "getAiUsageSnapshot",
          "async": false,
          "parameters": [],
          "returnType": "AiUsageSnapshot | undefined",
          "isStatic": false,
          "isPublic": true
        },
        "resetAiUsage": {
          "name": "resetAiUsage",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "listAiUsage": {
          "name": "listAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageListOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<SmrtAiUsageRecord[]>",
          "isStatic": false,
          "isPublic": true
        },
        "summarizeAiUsage": {
          "name": "summarizeAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageSummaryOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Record<string, AiUsageStats>>",
          "isStatic": false,
          "isPublic": true
        },
        "destroy": {
          "name": "destroy",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markAsPersisted": {
          "name": "markAsPersisted",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "requireInsertOnSave": {
          "name": "requireInsertOnSave",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "loadDataFromDb": {
          "name": "loadDataFromDb",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFields": {
          "name": "getFields",
          "async": true,
          "parameters": [],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "toJSON": {
          "name": "toJSON",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "toPlainObject": {
          "name": "toPlainObject",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toPublicJSON": {
          "name": "toPublicJSON",
          "async": false,
          "parameters": [
            {
              "name": "options",
              "type": "PublicJsonOptions",
              "optional": true
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getId": {
          "name": "getId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSlug": {
          "name": "getSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSavedId": {
          "name": "getSavedId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isSaved": {
          "name": "isSaved",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "classifyConstraintError": {
          "name": "classifyConstraintError",
          "async": false,
          "parameters": [
            {
              "name": "message",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "'unique' | 'not_null' | null",
          "isStatic": true,
          "isPublic": true
        },
        "loadFromId": {
          "name": "loadFromId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "loadFromSlug": {
          "name": "loadFromSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "is": {
          "name": "is",
          "async": true,
          "parameters": [
            {
              "name": "criteria",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "do": {
          "name": "do",
          "async": true,
          "parameters": [
            {
              "name": "instructions",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "describe": {
          "name": "describe",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "isRelatedLoaded": {
          "name": "isRelatedLoaded",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "_setLoadedRelationship": {
          "name": "_setLoadedRelationship",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "value",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelated": {
          "name": "loadRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelatedMany": {
          "name": "loadRelatedMany",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getRelated": {
          "name": "getRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "getAvailableTools": {
          "name": "getAvailableTools",
          "async": false,
          "parameters": [],
          "returnType": "AITool[]",
          "isStatic": false,
          "isPublic": true
        },
        "executeToolCall": {
          "name": "executeToolCall",
          "async": true,
          "parameters": [
            {
              "name": "toolCall",
              "type": "ToolCall",
              "optional": false
            }
          ],
          "returnType": "Promise<ToolCallResult>",
          "isStatic": false,
          "isPublic": true
        },
        "remember": {
          "name": "remember",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "recall": {
          "name": "recall",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "recallAll": {
          "name": "recallAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Map<string>>",
          "isStatic": false,
          "isPublic": true
        },
        "forget": {
          "name": "forget",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "forgetScope": {
          "name": "forgetScope",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<number>",
          "isStatic": false,
          "isPublic": true
        },
        "generateEmbeddings": {
          "name": "generateEmbeddings",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "GenerateEmbeddingsOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getEmbedding": {
          "name": "getEmbedding",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "model",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<number[] | null>",
          "isStatic": false,
          "isPublic": true
        },
        "hasStaleEmbeddings": {
          "name": "hasStaleEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "clearEmbeddings": {
          "name": "clearEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "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": 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": {
        "withDatabase": {
          "name": "withDatabase",
          "async": true,
          "parameters": [
            {
              "name": "db",
              "type": "DatabaseInterface",
              "optional": false
            },
            {
              "name": "operation",
              "type": "Function",
              "optional": false
            }
          ],
          "returnType": "Promise<T>",
          "isStatic": false,
          "isPublic": true
        },
        "getAiUsageSnapshot": {
          "name": "getAiUsageSnapshot",
          "async": false,
          "parameters": [],
          "returnType": "AiUsageSnapshot | undefined",
          "isStatic": false,
          "isPublic": true
        },
        "resetAiUsage": {
          "name": "resetAiUsage",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "listAiUsage": {
          "name": "listAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageListOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<SmrtAiUsageRecord[]>",
          "isStatic": false,
          "isPublic": true
        },
        "summarizeAiUsage": {
          "name": "summarizeAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageSummaryOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Record<string, AiUsageStats>>",
          "isStatic": false,
          "isPublic": true
        },
        "destroy": {
          "name": "destroy",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markAsPersisted": {
          "name": "markAsPersisted",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "requireInsertOnSave": {
          "name": "requireInsertOnSave",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "loadDataFromDb": {
          "name": "loadDataFromDb",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFields": {
          "name": "getFields",
          "async": true,
          "parameters": [],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "toJSON": {
          "name": "toJSON",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "toPlainObject": {
          "name": "toPlainObject",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toPublicJSON": {
          "name": "toPublicJSON",
          "async": false,
          "parameters": [
            {
              "name": "options",
              "type": "PublicJsonOptions",
              "optional": true
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getId": {
          "name": "getId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSlug": {
          "name": "getSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSavedId": {
          "name": "getSavedId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isSaved": {
          "name": "isSaved",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "classifyConstraintError": {
          "name": "classifyConstraintError",
          "async": false,
          "parameters": [
            {
              "name": "message",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "'unique' | 'not_null' | null",
          "isStatic": true,
          "isPublic": true
        },
        "loadFromId": {
          "name": "loadFromId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "loadFromSlug": {
          "name": "loadFromSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "is": {
          "name": "is",
          "async": true,
          "parameters": [
            {
              "name": "criteria",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "do": {
          "name": "do",
          "async": true,
          "parameters": [
            {
              "name": "instructions",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "describe": {
          "name": "describe",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "isRelatedLoaded": {
          "name": "isRelatedLoaded",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "_setLoadedRelationship": {
          "name": "_setLoadedRelationship",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "value",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelated": {
          "name": "loadRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelatedMany": {
          "name": "loadRelatedMany",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getRelated": {
          "name": "getRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "getAvailableTools": {
          "name": "getAvailableTools",
          "async": false,
          "parameters": [],
          "returnType": "AITool[]",
          "isStatic": false,
          "isPublic": true
        },
        "executeToolCall": {
          "name": "executeToolCall",
          "async": true,
          "parameters": [
            {
              "name": "toolCall",
              "type": "ToolCall",
              "optional": false
            }
          ],
          "returnType": "Promise<ToolCallResult>",
          "isStatic": false,
          "isPublic": true
        },
        "remember": {
          "name": "remember",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "recall": {
          "name": "recall",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "recallAll": {
          "name": "recallAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Map<string>>",
          "isStatic": false,
          "isPublic": true
        },
        "forget": {
          "name": "forget",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "forgetScope": {
          "name": "forgetScope",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<number>",
          "isStatic": false,
          "isPublic": true
        },
        "generateEmbeddings": {
          "name": "generateEmbeddings",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "GenerateEmbeddingsOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getEmbedding": {
          "name": "getEmbedding",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "model",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<number[] | null>",
          "isStatic": false,
          "isPublic": true
        },
        "hasStaleEmbeddings": {
          "name": "hasStaleEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "clearEmbeddings": {
          "name": "clearEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "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": 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": {
        "withDatabase": {
          "name": "withDatabase",
          "async": true,
          "parameters": [
            {
              "name": "db",
              "type": "DatabaseInterface",
              "optional": false
            },
            {
              "name": "operation",
              "type": "Function",
              "optional": false
            }
          ],
          "returnType": "Promise<T>",
          "isStatic": false,
          "isPublic": true
        },
        "getAiUsageSnapshot": {
          "name": "getAiUsageSnapshot",
          "async": false,
          "parameters": [],
          "returnType": "AiUsageSnapshot | undefined",
          "isStatic": false,
          "isPublic": true
        },
        "resetAiUsage": {
          "name": "resetAiUsage",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "listAiUsage": {
          "name": "listAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageListOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<SmrtAiUsageRecord[]>",
          "isStatic": false,
          "isPublic": true
        },
        "summarizeAiUsage": {
          "name": "summarizeAiUsage",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiUsageSummaryOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Record<string, AiUsageStats>>",
          "isStatic": false,
          "isPublic": true
        },
        "destroy": {
          "name": "destroy",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markAsPersisted": {
          "name": "markAsPersisted",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "requireInsertOnSave": {
          "name": "requireInsertOnSave",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "loadDataFromDb": {
          "name": "loadDataFromDb",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFields": {
          "name": "getFields",
          "async": true,
          "parameters": [],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "toJSON": {
          "name": "toJSON",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "toPlainObject": {
          "name": "toPlainObject",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toPublicJSON": {
          "name": "toPublicJSON",
          "async": false,
          "parameters": [
            {
              "name": "options",
              "type": "PublicJsonOptions",
              "optional": true
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getId": {
          "name": "getId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSlug": {
          "name": "getSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getSavedId": {
          "name": "getSavedId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isSaved": {
          "name": "isSaved",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "classifyConstraintError": {
          "name": "classifyConstraintError",
          "async": false,
          "parameters": [
            {
              "name": "message",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "'unique' | 'not_null' | null",
          "isStatic": true,
          "isPublic": true
        },
        "loadFromId": {
          "name": "loadFromId",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "loadFromSlug": {
          "name": "loadFromSlug",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "is": {
          "name": "is",
          "async": true,
          "parameters": [
            {
              "name": "criteria",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "do": {
          "name": "do",
          "async": true,
          "parameters": [
            {
              "name": "instructions",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "describe": {
          "name": "describe",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AiOperationOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "isRelatedLoaded": {
          "name": "isRelatedLoaded",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "_setLoadedRelationship": {
          "name": "_setLoadedRelationship",
          "async": false,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "value",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelated": {
          "name": "loadRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "loadRelatedMany": {
          "name": "loadRelatedMany",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getRelated": {
          "name": "getRelated",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "LoadRelatedOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<any>",
          "isStatic": false,
          "isPublic": true
        },
        "getAvailableTools": {
          "name": "getAvailableTools",
          "async": false,
          "parameters": [],
          "returnType": "AITool[]",
          "isStatic": false,
          "isPublic": true
        },
        "executeToolCall": {
          "name": "executeToolCall",
          "async": true,
          "parameters": [
            {
              "name": "toolCall",
              "type": "ToolCall",
              "optional": false
            }
          ],
          "returnType": "Promise<ToolCallResult>",
          "isStatic": false,
          "isPublic": true
        },
        "remember": {
          "name": "remember",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "recall": {
          "name": "recall",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "recallAll": {
          "name": "recallAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Map<string>>",
          "isStatic": false,
          "isPublic": true
        },
        "forget": {
          "name": "forget",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "forgetScope": {
          "name": "forgetScope",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<number>",
          "isStatic": false,
          "isPublic": true
        },
        "generateEmbeddings": {
          "name": "generateEmbeddings",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "GenerateEmbeddingsOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getEmbedding": {
          "name": "getEmbedding",
          "async": true,
          "parameters": [
            {
              "name": "fieldName",
              "type": "string",
              "optional": false
            },
            {
              "name": "model",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<number[] | null>",
          "isStatic": false,
          "isPublic": true
        },
        "hasStaleEmbeddings": {
          "name": "hasStaleEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "clearEmbeddings": {
          "name": "clearEmbeddings",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "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": 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"
  ]
}