{
  "version": "1.0.0",
  "timestamp": 0,
  "packageName": "@happyvertical/smrt-content",
  "packageVersion": "0.43.3",
  "objects": {
    "@happyvertical/smrt-content:ContentAsset": {
      "name": "contentasset",
      "className": "ContentAsset",
      "qualifiedName": "@happyvertical/smrt-content:ContentAsset",
      "collection": "contentassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-asset.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "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
            }
          }
        },
        "contentId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "assetId": {
          "type": "crossPackageRef",
          "required": true,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "relationship": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "sortOrder": {
          "type": "integer",
          "required": true,
          "default": 0
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "content_assets",
        "conflictColumns": [
          "content_id",
          "asset_id",
          "relationship"
        ],
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentAsset",
      "collectionExportName": "ContentAssetCollection",
      "validationRules": [
        {
          "field": "contentId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "assetId",
          "rule": "required",
          "fieldType": "crossPackageRef"
        },
        {
          "field": "relationship",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "sortOrder",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_assets\" (\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  \"tenant_id\" UUID,\n  \"content_id\" UUID NOT NULL,\n  \"asset_id\" UUID NOT NULL,\n  \"relationship\" TEXT NOT NULL,\n  \"sort_order\" INTEGER NOT NULL DEFAULT 0\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"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "content_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": true,
            "unique": false
          },
          "relationship": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "sort_order": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "content_assets_content_id_asset_id_idx",
            "columns": [
              "content_id",
              "asset_id",
              "relationship"
            ],
            "unique": true
          },
          {
            "name": "content_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_assets_asset_id_idx",
            "columns": [
              "asset_id"
            ]
          }
        ],
        "version": "472d718d"
      }
    },
    "@happyvertical/smrt-content:ContentAssetCollection": {
      "name": "contentassetcollection",
      "className": "ContentAssetCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentAssetCollection",
      "collection": "contentassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-assets.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "byLeft": {
          "name": "byLeft",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<TItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "byRight": {
          "name": "byRight",
          "async": true,
          "parameters": [
            {
              "name": "rightId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<TItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "attach": {
          "name": "attach",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "rightId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionAttachOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<TItem>",
          "isStatic": false,
          "isPublic": true
        },
        "detach": {
          "name": "detach",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "rightId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "setLinks": {
          "name": "setLinks",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "rightIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionAttachOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": false,
        "mcp": false,
        "cli": false,
        "tableName": "content_assets"
      },
      "extends": "SmrtJunction",
      "extendsTypeArg": "ContentAsset",
      "exportName": "ContentAssetCollection",
      "collectionExportName": "ContentAssetCollectionCollection",
      "schema": {
        "tableName": "content_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_assets\" (\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": "content_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_assets_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "35bf42e8"
      }
    },
    "@happyvertical/smrt-content:ContentContributionAttachment": {
      "name": "contentcontributionattachment",
      "className": "ContentContributionAttachment",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionAttachment",
      "collection": "contentcontributionattachments",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-attachment.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contributionId": {
          "type": "foreignKey",
          "required": true,
          "related": "ContentContribution",
          "_meta": {
            "required": true
          }
        },
        "revisionId": {
          "type": "foreignKey",
          "required": false,
          "related": "ContentContributionRevision"
        },
        "filename": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "size": {
          "type": "integer",
          "required": true,
          "default": 0
        },
        "fileKey": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "channel": {
          "type": "text",
          "required": false,
          "default": "web"
        },
        "promotedAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_attachments",
        "conflictColumns": [
          "id"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentContributionAttachment",
      "collectionExportName": "ContentContributionAttachmentCollection",
      "validationRules": [
        {
          "field": "contributionId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "size",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_contribution_attachments",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_attachments\" (\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  \"contribution_id\" UUID NOT NULL,\n  \"revision_id\" UUID,\n  \"filename\" TEXT,\n  \"mime_type\" TEXT,\n  \"size\" INTEGER NOT NULL DEFAULT 0,\n  \"file_key\" TEXT,\n  \"source_uri\" TEXT,\n  \"channel\" TEXT DEFAULT 'web',\n  \"promoted_asset_id\" UUID,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "contribution_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "content_contributions",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "revision_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "content_contribution_revisions",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "filename": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "size": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          },
          "file_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "channel": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "web"
          },
          "promoted_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_contribution_attachments_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_contribution_attachments_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_contribution_attachments_contribution_id_idx",
            "columns": [
              "contribution_id"
            ]
          },
          {
            "name": "content_contribution_attachments_revision_id_idx",
            "columns": [
              "revision_id"
            ]
          },
          {
            "name": "content_contribution_attachments_promoted_asset_id_idx",
            "columns": [
              "promoted_asset_id"
            ]
          }
        ],
        "version": "83e64a1b"
      }
    },
    "@happyvertical/smrt-content:ContentContributionAttachmentCollection": {
      "name": "contentcontributionattachmentcollection",
      "className": "ContentContributionAttachmentCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionAttachmentCollection",
      "collection": "contentcontributionattachments",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-attachments.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "listForContribution": {
          "name": "listForContribution",
          "async": true,
          "parameters": [
            {
              "name": "contributionId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributionAttachment[]>",
          "isStatic": false,
          "isPublic": true
        },
        "listForRevision": {
          "name": "listForRevision",
          "async": true,
          "parameters": [
            {
              "name": "revisionId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributionAttachment[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_attachments"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentContributionAttachment",
      "exportName": "ContentContributionAttachmentCollection",
      "collectionExportName": "ContentContributionAttachmentCollectionCollection",
      "schema": {
        "tableName": "content_contribution_attachments",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_attachments\" (\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": "content_contribution_attachments_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_contribution_attachments_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "d0c8b33f"
      }
    },
    "@happyvertical/smrt-content:ContentContributionRevision": {
      "name": "contentcontributionrevision",
      "className": "ContentContributionRevision",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionRevision",
      "collection": "contentcontributionrevisions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-revision.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contributionId": {
          "type": "foreignKey",
          "required": true,
          "related": "ContentContribution",
          "_meta": {
            "required": true
          }
        },
        "revisionNumber": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "channel": {
          "type": "text",
          "required": false,
          "default": "web"
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "sourceMessageId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-messages:Message"
        },
        "sourceThreadKey": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_revisions",
        "conflictColumns": [
          "contribution_id",
          "revision_number"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentContributionRevision",
      "collectionExportName": "ContentContributionRevisionCollection",
      "validationRules": [
        {
          "field": "contributionId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "revisionNumber",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_contribution_revisions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_revisions\" (\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  \"contribution_id\" UUID NOT NULL,\n  \"revision_number\" INTEGER NOT NULL DEFAULT 1,\n  \"channel\" TEXT DEFAULT 'web',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"source_message_id\" UUID,\n  \"source_thread_key\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "contribution_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "content_contributions",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "revision_number": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 1
          },
          "channel": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "web"
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_message_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "source_thread_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_contribution_revisions_contribution_id_r_af43e6d599_idx",
            "columns": [
              "contribution_id",
              "revision_number"
            ],
            "unique": true
          },
          {
            "name": "content_contribution_revisions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_contribution_revisions_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_contribution_revisions_source_message_id_idx",
            "columns": [
              "source_message_id"
            ]
          }
        ],
        "version": "5051727c"
      }
    },
    "@happyvertical/smrt-content:ContentContributionRevisionCollection": {
      "name": "contentcontributionrevisioncollection",
      "className": "ContentContributionRevisionCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionRevisionCollection",
      "collection": "contentcontributionrevisions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-revisions.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "listForContribution": {
          "name": "listForContribution",
          "async": true,
          "parameters": [
            {
              "name": "contributionId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributionRevision[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestForContribution": {
          "name": "getLatestForContribution",
          "async": true,
          "parameters": [
            {
              "name": "contributionId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributionRevision | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_revisions"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentContributionRevision",
      "exportName": "ContentContributionRevisionCollection",
      "collectionExportName": "ContentContributionRevisionCollectionCollection",
      "schema": {
        "tableName": "content_contribution_revisions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_revisions\" (\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": "content_contribution_revisions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_contribution_revisions_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "cc3e0dfa"
      }
    },
    "@happyvertical/smrt-content:ContentContributionType": {
      "name": "contentcontributiontype",
      "className": "ContentContributionType",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionType",
      "collection": "contentcontributiontypes",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-type.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "key": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "label": {
          "type": "text",
          "required": false
        },
        "enabled": {
          "type": "boolean",
          "required": true,
          "default": true
        },
        "allowedChannels": {
          "type": "text",
          "required": false
        },
        "allowText": {
          "type": "boolean",
          "required": true,
          "default": true
        },
        "allowFiles": {
          "type": "boolean",
          "required": true,
          "default": false
        },
        "allowEmptyText": {
          "type": "boolean",
          "required": true,
          "default": false
        },
        "intakeRules": {
          "type": "text",
          "required": false
        },
        "promotion": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getAllowedChannels": {
          "name": "getAllowedChannels",
          "async": false,
          "parameters": [],
          "returnType": "ContentContributionChannel[]",
          "isStatic": false,
          "isPublic": true
        },
        "setAllowedChannels": {
          "name": "setAllowedChannels",
          "async": false,
          "parameters": [
            {
              "name": "channels",
              "type": "ContentContributionChannel[]",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getIntakeRules": {
          "name": "getIntakeRules",
          "async": false,
          "parameters": [],
          "returnType": "ContentContributionIntakeRules",
          "isStatic": false,
          "isPublic": true
        },
        "setIntakeRules": {
          "name": "setIntakeRules",
          "async": false,
          "parameters": [
            {
              "name": "rules",
              "type": "ContentContributionIntakeRules",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getPromotion": {
          "name": "getPromotion",
          "async": false,
          "parameters": [],
          "returnType": "ContentContributionPromotionMapping",
          "isStatic": false,
          "isPublic": true
        },
        "setPromotion": {
          "name": "setPromotion",
          "async": false,
          "parameters": [
            {
              "name": "promotion",
              "type": "ContentContributionPromotionMapping",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "toDefinition": {
          "name": "toDefinition",
          "async": false,
          "parameters": [],
          "returnType": "ContentContributionTypeDefinition",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_types",
        "conflictColumns": [
          "key"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentContributionType",
      "collectionExportName": "ContentContributionTypeCollection",
      "validationRules": [
        {
          "field": "key",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "enabled",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "allowText",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "allowFiles",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "allowEmptyText",
          "rule": "required",
          "fieldType": "boolean"
        }
      ],
      "schema": {
        "tableName": "content_contribution_types",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_types\" (\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  \"key\" TEXT NOT NULL,\n  \"label\" TEXT,\n  \"enabled\" BOOLEAN NOT NULL DEFAULT TRUE,\n  \"allowed_channels\" TEXT,\n  \"allow_text\" BOOLEAN NOT NULL DEFAULT TRUE,\n  \"allow_files\" BOOLEAN NOT NULL DEFAULT FALSE,\n  \"allow_empty_text\" BOOLEAN NOT NULL DEFAULT FALSE,\n  \"intake_rules\" TEXT,\n  \"promotion\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "key": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "label": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": true
          },
          "allowed_channels": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "allow_text": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": true
          },
          "allow_files": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": false
          },
          "allow_empty_text": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": false
          },
          "intake_rules": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "promotion": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_contribution_types_key_idx",
            "columns": [
              "key"
            ],
            "unique": true
          },
          {
            "name": "content_contribution_types_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_contribution_types_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "35552300"
      }
    },
    "@happyvertical/smrt-content:ContentContributionTypeCollection": {
      "name": "contentcontributiontypecollection",
      "className": "ContentContributionTypeCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributionTypeCollection",
      "collection": "contentcontributiontypes",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution-types.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getByKey": {
          "name": "getByKey",
          "async": true,
          "parameters": [
            {
              "name": "key",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributionType | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contribution_types"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentContributionType",
      "exportName": "ContentContributionTypeCollection",
      "collectionExportName": "ContentContributionTypeCollectionCollection",
      "schema": {
        "tableName": "content_contribution_types",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contribution_types\" (\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": "content_contribution_types_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_contribution_types_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "9c9a0367"
      }
    },
    "@happyvertical/smrt-content:ContentContribution": {
      "name": "contentcontribution",
      "className": "ContentContribution",
      "qualifiedName": "@happyvertical/smrt-content:ContentContribution",
      "collection": "contentcontributions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contribution.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contributorId": {
          "type": "foreignKey",
          "required": true,
          "related": "ContentContributor",
          "_meta": {
            "required": true
          }
        },
        "contributionTypeKey": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "submitted"
        },
        "intakeDecision": {
          "type": "text",
          "required": false,
          "default": "accepted"
        },
        "channel": {
          "type": "text",
          "required": false,
          "default": "web"
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "contributorEmail": {
          "type": "text",
          "required": false
        },
        "contributorName": {
          "type": "text",
          "required": false
        },
        "threadKey": {
          "type": "text",
          "required": false
        },
        "sourceMessageId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-messages:Message"
        },
        "editorNotes": {
          "type": "text",
          "required": false
        },
        "promotedContentId": {
          "type": "foreignKey",
          "required": false,
          "related": "Content"
        },
        "revisionCount": {
          "type": "integer",
          "required": true,
          "default": 0
        },
        "approvedAt": {
          "type": "datetime",
          "required": false
        },
        "promotedAt": {
          "type": "datetime",
          "required": false
        },
        "rejectedAt": {
          "type": "datetime",
          "required": false
        },
        "withdrawnAt": {
          "type": "datetime",
          "required": false
        },
        "requestedChangesAt": {
          "type": "datetime",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getContributor": {
          "name": "getContributor",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentContributor | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getRevisions": {
          "name": "getRevisions",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentContributionRevision[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestRevision": {
          "name": "getLatestRevision",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentContributionRevision | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAttachments": {
          "name": "getAttachments",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentContributionAttachment[]>",
          "isStatic": false,
          "isPublic": true
        },
        "resolveContributionType": {
          "name": "resolveContributionType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentContributionTypeDefinition | null>",
          "isStatic": false,
          "isPublic": true
        },
        "appendRevisionAction": {
          "name": "appendRevisionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "AppendContentContributionRevisionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "requestChangesAction": {
          "name": "requestChangesAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RequestChangesContentContributionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "rejectAction": {
          "name": "rejectAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RejectContentContributionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "withdrawAction": {
          "name": "withdrawAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "WithdrawContentContributionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "approveAction": {
          "name": "approveAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "ApproveContentContributionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "promoteAction": {
          "name": "promoteAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "PromoteContentContributionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contributions",
        "conflictColumns": [
          "id"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete",
            "appendRevisionAction",
            "requestChangesAction",
            "approveAction",
            "rejectAction",
            "withdrawAction",
            "promoteAction"
          ],
          "routes": {
            "appendRevisionAction": {
              "method": "POST",
              "path": "revisions"
            },
            "requestChangesAction": {
              "method": "POST",
              "path": "request-changes"
            },
            "approveAction": {
              "method": "POST",
              "path": "approve"
            },
            "rejectAction": {
              "method": "POST",
              "path": "reject"
            },
            "withdrawAction": {
              "method": "POST",
              "path": "withdraw"
            },
            "promoteAction": {
              "method": "POST",
              "path": "promote"
            }
          }
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentContribution",
      "collectionExportName": "ContentContributionCollection",
      "validationRules": [
        {
          "field": "contributorId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "contributionTypeKey",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "revisionCount",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_contributions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contributions\" (\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  \"contributor_id\" UUID NOT NULL,\n  \"contribution_type_key\" TEXT NOT NULL,\n  \"status\" TEXT DEFAULT 'submitted',\n  \"intake_decision\" TEXT DEFAULT 'accepted',\n  \"channel\" TEXT DEFAULT 'web',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"contributor_email\" TEXT,\n  \"contributor_name\" TEXT,\n  \"thread_key\" TEXT,\n  \"source_message_id\" UUID,\n  \"editor_notes\" TEXT,\n  \"promoted_content_id\" UUID,\n  \"revision_count\" INTEGER NOT NULL DEFAULT 0,\n  \"approved_at\" TIMESTAMP,\n  \"promoted_at\" TIMESTAMP,\n  \"rejected_at\" TIMESTAMP,\n  \"withdrawn_at\" TIMESTAMP,\n  \"requested_changes_at\" TIMESTAMP,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "contributor_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "content_contributors",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "contribution_type_key": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "submitted"
          },
          "intake_decision": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "accepted"
          },
          "channel": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "web"
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "contributor_email": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "contributor_name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "thread_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_message_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "editor_notes": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "promoted_content_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "revision_count": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          },
          "approved_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "promoted_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "rejected_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "withdrawn_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "requested_changes_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_contributions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_contributions_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_contributions_contributor_id_idx",
            "columns": [
              "contributor_id"
            ]
          },
          {
            "name": "content_contributions_source_message_id_idx",
            "columns": [
              "source_message_id"
            ]
          },
          {
            "name": "content_contributions_promoted_content_id_idx",
            "columns": [
              "promoted_content_id"
            ]
          }
        ],
        "version": "ef8fd792"
      }
    },
    "@happyvertical/smrt-content:ContentContributions": {
      "name": "contentcontributions",
      "className": "ContentContributions",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributions",
      "collection": "contentcontributions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contributions.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getContributionTypesAction": {
          "name": "getContributionTypesAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listForContributor": {
          "name": "listForContributor",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listInboxAction": {
          "name": "listInboxAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentContribution[]>",
          "isStatic": false,
          "isPublic": true
        },
        "submitWebContribution": {
          "name": "submitWebContribution",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "SubmitWebContentContributionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "ingestEmailContribution": {
          "name": "ingestEmailContribution",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IngestEmailContentContributionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "submitWebContribution",
            "ingestEmailContribution",
            "listForContributor",
            "listInboxAction",
            "getContributionTypesAction"
          ],
          "routes": {
            "submitWebContribution": {
              "scope": "collection",
              "method": "POST",
              "path": "submit"
            },
            "ingestEmailContribution": {
              "scope": "collection",
              "method": "POST",
              "path": "ingest-email"
            },
            "listForContributor": {
              "scope": "collection",
              "method": "GET",
              "path": "by-contributor"
            },
            "listInboxAction": {
              "scope": "collection",
              "method": "GET",
              "path": "inbox"
            },
            "getContributionTypesAction": {
              "scope": "collection",
              "method": "GET",
              "path": "types"
            }
          }
        },
        "mcp": false,
        "cli": false,
        "tableName": "content_contributions"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentContribution",
      "exportName": "ContentContributions",
      "collectionExportName": "ContentContributionsCollection",
      "schema": {
        "tableName": "content_contributions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contributions\" (\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": "content_contributions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_contributions_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "641c0cc8"
      }
    },
    "@happyvertical/smrt-content:ContentContributor": {
      "name": "contentcontributor",
      "className": "ContentContributor",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributor",
      "collection": "contentcontributors",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contributor.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "profileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "email": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "trustLevel": {
          "type": "text",
          "required": false,
          "default": "standard"
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contributors",
        "conflictColumns": [
          "email"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentContributor",
      "collectionExportName": "ContentContributorCollection",
      "validationRules": [
        {
          "field": "email",
          "rule": "required",
          "fieldType": "text"
        }
      ],
      "schema": {
        "tableName": "content_contributors",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contributors\" (\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  \"profile_id\" UUID,\n  \"email\" TEXT NOT NULL,\n  \"name\" TEXT,\n  \"trust_level\" TEXT DEFAULT 'standard',\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "email": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "trust_level": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "standard"
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_contributors_email_idx",
            "columns": [
              "email"
            ],
            "unique": true
          },
          {
            "name": "content_contributors_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_contributors_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_contributors_profile_id_idx",
            "columns": [
              "profile_id"
            ]
          }
        ],
        "version": "7eb9c661"
      }
    },
    "@happyvertical/smrt-content:ContentContributorCollection": {
      "name": "contentcontributorcollection",
      "className": "ContentContributorCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentContributorCollection",
      "collection": "contentcontributors",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-contributors.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getByEmail": {
          "name": "getByEmail",
          "async": true,
          "parameters": [
            {
              "name": "email",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributor | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getByProfileId": {
          "name": "getByProfileId",
          "async": true,
          "parameters": [
            {
              "name": "profileId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributor | null>",
          "isStatic": false,
          "isPublic": true
        },
        "findOrCreateByEmail": {
          "name": "findOrCreateByEmail",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentContributor>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_contributors"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentContributor",
      "exportName": "ContentContributorCollection",
      "collectionExportName": "ContentContributorCollectionCollection",
      "schema": {
        "tableName": "content_contributors",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_contributors\" (\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": "content_contributors_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_contributors_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "b457e60b"
      }
    },
    "@happyvertical/smrt-content:ContentCorrection": {
      "name": "contentcorrection",
      "className": "ContentCorrection",
      "qualifiedName": "@happyvertical/smrt-content:ContentCorrection",
      "collection": "contentcorrections",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-correction.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contentId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "contentVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "ContentVersion"
        },
        "factId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-facts:Fact"
        },
        "replacementFactId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-facts:Fact"
        },
        "correctionType": {
          "type": "text",
          "required": false,
          "default": "fact"
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "summary": {
          "type": "text",
          "required": false
        },
        "incorrectText": {
          "type": "text",
          "required": false
        },
        "correctedText": {
          "type": "text",
          "required": false
        },
        "publicNote": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "publishedAt": {
          "type": "datetime",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_corrections",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "ContentCorrection",
      "collectionExportName": "ContentCorrectionCollection",
      "validationRules": [
        {
          "field": "contentId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "content_corrections",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_corrections\" (\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  \"content_id\" UUID NOT NULL,\n  \"content_version_id\" UUID,\n  \"fact_id\" UUID,\n  \"replacement_fact_id\" UUID,\n  \"correction_type\" TEXT DEFAULT 'fact',\n  \"status\" TEXT DEFAULT 'draft',\n  \"summary\" TEXT,\n  \"incorrect_text\" TEXT,\n  \"corrected_text\" TEXT,\n  \"public_note\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID,\n  \"published_at\" 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"
          },
          "content_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "content_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "content_versions",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "fact_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "replacement_fact_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "correction_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "fact"
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "draft"
          },
          "summary": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "incorrect_text": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "corrected_text": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "public_note": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "published_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_corrections_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_corrections_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_corrections_content_id_idx",
            "columns": [
              "content_id"
            ]
          },
          {
            "name": "content_corrections_content_version_id_idx",
            "columns": [
              "content_version_id"
            ]
          },
          {
            "name": "content_corrections_fact_id_idx",
            "columns": [
              "fact_id"
            ]
          },
          {
            "name": "content_corrections_replacement_fact_id_idx",
            "columns": [
              "replacement_fact_id"
            ]
          }
        ],
        "version": "bf2808c7"
      }
    },
    "@happyvertical/smrt-content:ContentCorrectionCollection": {
      "name": "contentcorrectioncollection",
      "className": "ContentCorrectionCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentCorrectionCollection",
      "collection": "contentcorrections",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-corrections.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "listForContent": {
          "name": "listForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentCorrection[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedForContent": {
          "name": "getPublishedForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentCorrection[]>",
          "isStatic": false,
          "isPublic": true
        },
        "issue": {
          "name": "issue",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentCorrection>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_corrections"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentCorrection",
      "exportName": "ContentCorrectionCollection",
      "collectionExportName": "ContentCorrectionCollectionCollection",
      "schema": {
        "tableName": "content_corrections",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_corrections\" (\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": "content_corrections_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_corrections_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "6ebe142d"
      }
    },
    "@happyvertical/smrt-content:ContentFeedSource": {
      "name": "contentfeedsource",
      "className": "ContentFeedSource",
      "qualifiedName": "@happyvertical/smrt-content:ContentFeedSource",
      "collection": "contentfeedsources",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-feed-source.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "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": true,
          "_meta": {
            "required": true
          }
        },
        "feedUrl": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "homepageUrl": {
          "type": "text",
          "required": false
        },
        "format": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": true,
          "default": "active",
          "_meta": {
            "required": true,
            "default": "active"
          }
        },
        "defaultCategory": {
          "type": "text",
          "required": false
        },
        "sourceGroup": {
          "type": "text",
          "required": false
        },
        "pollIntervalMinutes": {
          "type": "integer",
          "required": true,
          "default": 15
        },
        "etag": {
          "type": "text",
          "required": false
        },
        "lastModified": {
          "type": "text",
          "required": false
        },
        "lastFetchedAt": {
          "type": "datetime",
          "required": false
        },
        "lastSuccessAt": {
          "type": "datetime",
          "required": false
        },
        "lastError": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markFetchStarted": {
          "name": "markFetchStarted",
          "async": false,
          "parameters": [
            {
              "name": "at",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markFetchSucceeded": {
          "name": "markFetchSucceeded",
          "async": false,
          "parameters": [
            {
              "name": "at",
              "type": "any",
              "optional": true
            },
            {
              "name": "headers",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "markFetchFailed": {
          "name": "markFetchFailed",
          "async": false,
          "parameters": [
            {
              "name": "error",
              "type": "any",
              "optional": false
            },
            {
              "name": "at",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_feed_sources",
        "conflictColumns": [
          "tenant_id",
          "feed_url"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentFeedSource",
      "collectionExportName": "ContentFeedSourceCollection",
      "validationRules": [
        {
          "field": "name",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "feedUrl",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "status",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "pollIntervalMinutes",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_feed_sources",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_feed_sources\" (\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  \"tenant_id\" UUID,\n  \"name\" TEXT NOT NULL,\n  \"feed_url\" TEXT NOT NULL,\n  \"homepage_url\" TEXT,\n  \"format\" TEXT,\n  \"status\" TEXT NOT NULL DEFAULT 'active',\n  \"default_category\" TEXT,\n  \"source_group\" TEXT,\n  \"poll_interval_minutes\" INTEGER NOT NULL DEFAULT 15,\n  \"etag\" TEXT,\n  \"last_modified\" TEXT,\n  \"last_fetched_at\" TIMESTAMP,\n  \"last_success_at\" TIMESTAMP,\n  \"last_error\" TEXT,\n  \"metadata\" JSON DEFAULT '{}'\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "name": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "feed_url": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "homepage_url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "format": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": true,
            "unique": false,
            "default": "active"
          },
          "default_category": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_group": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "poll_interval_minutes": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 15
          },
          "etag": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "last_modified": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "last_fetched_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "last_success_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "last_error": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": {}
          }
        },
        "indexes": [
          {
            "name": "content_feed_sources_tenant_id_feed_url_idx",
            "columns": [
              "tenant_id",
              "feed_url"
            ],
            "unique": true
          },
          {
            "name": "content_feed_sources_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_feed_sources_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "bbcb36e5"
      }
    },
    "@happyvertical/smrt-content:ContentFeedSourceCollection": {
      "name": "contentfeedsourcecollection",
      "className": "ContentFeedSourceCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentFeedSourceCollection",
      "collection": "contentfeedsources",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-feed-sources.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "findActive": {
          "name": "findActive",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string | null",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentFeedSource[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByStatus": {
          "name": "findByStatus",
          "async": true,
          "parameters": [
            {
              "name": "status",
              "type": "ContentFeedSourceStatus",
              "optional": false
            },
            {
              "name": "tenantId",
              "type": "string | null",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentFeedSource[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByFeedUrl": {
          "name": "findByFeedUrl",
          "async": true,
          "parameters": [
            {
              "name": "feedUrl",
              "type": "string",
              "optional": false
            },
            {
              "name": "tenantId",
              "type": "string | null",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentFeedSource | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_feed_sources"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentFeedSource",
      "exportName": "ContentFeedSourceCollection",
      "collectionExportName": "ContentFeedSourceCollectionCollection",
      "schema": {
        "tableName": "content_feed_sources",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_feed_sources\" (\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": "content_feed_sources_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_feed_sources_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "bb0cca9e"
      }
    },
    "@happyvertical/smrt-content:ContentGovernanceAssignment": {
      "name": "contentgovernanceassignment",
      "className": "ContentGovernanceAssignment",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernanceAssignment",
      "collection": "contentgovernanceassignments",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-assignment.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "key": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "label": {
          "type": "text",
          "required": false
        },
        "contentType": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "contentVariant": {
          "type": "text",
          "required": false
        },
        "enabled": {
          "type": "boolean",
          "required": true,
          "default": true
        },
        "factLinkingEnabled": {
          "type": "boolean",
          "required": true,
          "default": false
        },
        "transparencyEnabled": {
          "type": "boolean",
          "required": true,
          "default": false
        },
        "publicationProfileKey": {
          "type": "text",
          "required": false
        },
        "correctionProfileKey": {
          "type": "text",
          "required": false
        },
        "enforcePublishReadiness": {
          "type": "boolean",
          "required": true,
          "default": false
        },
        "defaultFactRelationship": {
          "type": "text",
          "required": false,
          "default": "supports"
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toDefinition": {
          "name": "toDefinition",
          "async": false,
          "parameters": [],
          "returnType": "ContentGovernanceAssignmentDefinition",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_assignments",
        "conflictColumns": [
          "key"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentGovernanceAssignment",
      "collectionExportName": "ContentGovernanceAssignmentCollection",
      "validationRules": [
        {
          "field": "key",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "contentType",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "enabled",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "factLinkingEnabled",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "transparencyEnabled",
          "rule": "required",
          "fieldType": "boolean"
        },
        {
          "field": "enforcePublishReadiness",
          "rule": "required",
          "fieldType": "boolean"
        }
      ],
      "schema": {
        "tableName": "content_governance_assignments",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_assignments\" (\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  \"key\" TEXT NOT NULL,\n  \"label\" TEXT,\n  \"content_type\" TEXT NOT NULL,\n  \"content_variant\" TEXT,\n  \"enabled\" BOOLEAN NOT NULL DEFAULT TRUE,\n  \"fact_linking_enabled\" BOOLEAN NOT NULL DEFAULT FALSE,\n  \"transparency_enabled\" BOOLEAN NOT NULL DEFAULT FALSE,\n  \"publication_profile_key\" TEXT,\n  \"correction_profile_key\" TEXT,\n  \"enforce_publish_readiness\" BOOLEAN NOT NULL DEFAULT FALSE,\n  \"default_fact_relationship\" TEXT DEFAULT 'supports',\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "key": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "label": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "content_type": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "content_variant": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": true
          },
          "fact_linking_enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": false
          },
          "transparency_enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": false
          },
          "publication_profile_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "correction_profile_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "enforce_publish_readiness": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": false
          },
          "default_fact_relationship": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "supports"
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_governance_assignments_key_idx",
            "columns": [
              "key"
            ],
            "unique": true
          },
          {
            "name": "content_governance_assignments_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_governance_assignments_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "00a2c610"
      }
    },
    "@happyvertical/smrt-content:ContentGovernanceAssignmentCollection": {
      "name": "contentgovernanceassignmentcollection",
      "className": "ContentGovernanceAssignmentCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernanceAssignmentCollection",
      "collection": "contentgovernanceassignments",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-assignments.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getByKey": {
          "name": "getByKey",
          "async": true,
          "parameters": [
            {
              "name": "key",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentGovernanceAssignment | null>",
          "isStatic": false,
          "isPublic": true
        },
        "resolveForContent": {
          "name": "resolveForContent",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentGovernanceAssignment | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_assignments"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentGovernanceAssignment",
      "exportName": "ContentGovernanceAssignmentCollection",
      "collectionExportName": "ContentGovernanceAssignmentCollectionCollection",
      "schema": {
        "tableName": "content_governance_assignments",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_assignments\" (\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": "content_governance_assignments_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_governance_assignments_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "21471529"
      }
    },
    "@happyvertical/smrt-content:ContentGovernancePolicyCollection": {
      "name": "contentgovernancepolicycollection",
      "className": "ContentGovernancePolicyCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernancePolicyCollection",
      "collection": "contentgovernancepolicies",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-policies.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getByKey": {
          "name": "getByKey",
          "async": true,
          "parameters": [
            {
              "name": "key",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentGovernancePolicy | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_policies"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentGovernancePolicy",
      "exportName": "ContentGovernancePolicyCollection",
      "collectionExportName": "ContentGovernancePolicyCollectionCollection",
      "schema": {
        "tableName": "content_governance_policies",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_policies\" (\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": "content_governance_policies_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_governance_policies_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "e2da0e5b"
      }
    },
    "@happyvertical/smrt-content:ContentGovernancePolicy": {
      "name": "contentgovernancepolicy",
      "className": "ContentGovernancePolicy",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernancePolicy",
      "collection": "contentgovernancepolicies",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-policy.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "key": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "label": {
          "type": "text",
          "required": false
        },
        "kind": {
          "type": "text",
          "required": false,
          "default": "custom"
        },
        "instructions": {
          "type": "text",
          "required": false
        },
        "enabled": {
          "type": "boolean",
          "required": true,
          "default": true
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toDefinition": {
          "name": "toDefinition",
          "async": false,
          "parameters": [],
          "returnType": "ContentReviewPolicyDefinition",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_policies",
        "conflictColumns": [
          "key"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentGovernancePolicy",
      "collectionExportName": "ContentGovernancePolicyCollection",
      "validationRules": [
        {
          "field": "key",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "enabled",
          "rule": "required",
          "fieldType": "boolean"
        }
      ],
      "schema": {
        "tableName": "content_governance_policies",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_policies\" (\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  \"key\" TEXT NOT NULL,\n  \"label\" TEXT,\n  \"kind\" TEXT DEFAULT 'custom',\n  \"instructions\" TEXT,\n  \"enabled\" BOOLEAN NOT NULL DEFAULT TRUE,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "key": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "label": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "kind": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "custom"
          },
          "instructions": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": true
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_governance_policies_key_idx",
            "columns": [
              "key"
            ],
            "unique": true
          },
          {
            "name": "content_governance_policies_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_governance_policies_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "3cc24f80"
      }
    },
    "@happyvertical/smrt-content:ContentGovernanceProfile": {
      "name": "contentgovernanceprofile",
      "className": "ContentGovernanceProfile",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernanceProfile",
      "collection": "contentgovernanceprofiles",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-profile.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "key": {
          "type": "text",
          "required": true,
          "_meta": {
            "required": true
          }
        },
        "label": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "enabled": {
          "type": "boolean",
          "required": true,
          "default": true
        },
        "requirements": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getRequirements": {
          "name": "getRequirements",
          "async": false,
          "parameters": [],
          "returnType": "ContentReviewRequirement[]",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "toDefinition": {
          "name": "toDefinition",
          "async": false,
          "parameters": [],
          "returnType": "ContentGovernanceProfileDefinition",
          "isStatic": false,
          "isPublic": true
        },
        "delete": {
          "name": "delete",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_profiles",
        "conflictColumns": [
          "key"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentGovernanceProfile",
      "collectionExportName": "ContentGovernanceProfileCollection",
      "validationRules": [
        {
          "field": "key",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "enabled",
          "rule": "required",
          "fieldType": "boolean"
        }
      ],
      "schema": {
        "tableName": "content_governance_profiles",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_profiles\" (\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  \"key\" TEXT NOT NULL,\n  \"label\" TEXT,\n  \"description\" TEXT,\n  \"enabled\" BOOLEAN NOT NULL DEFAULT TRUE,\n  \"requirements\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "key": {
            "type": "TEXT",
            "notNull": true,
            "unique": false
          },
          "label": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "enabled": {
            "type": "BOOLEAN",
            "notNull": true,
            "unique": false,
            "default": true
          },
          "requirements": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_governance_profiles_key_idx",
            "columns": [
              "key"
            ],
            "unique": true
          },
          {
            "name": "content_governance_profiles_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_governance_profiles_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "4bfc2afc"
      }
    },
    "@happyvertical/smrt-content:ContentGovernanceProfileCollection": {
      "name": "contentgovernanceprofilecollection",
      "className": "ContentGovernanceProfileCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentGovernanceProfileCollection",
      "collection": "contentgovernanceprofiles",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-governance-profiles.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "getByKey": {
          "name": "getByKey",
          "async": true,
          "parameters": [
            {
              "name": "key",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentGovernanceProfile | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_governance_profiles"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentGovernanceProfile",
      "exportName": "ContentGovernanceProfileCollection",
      "collectionExportName": "ContentGovernanceProfileCollectionCollection",
      "schema": {
        "tableName": "content_governance_profiles",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_governance_profiles\" (\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": "content_governance_profiles_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_governance_profiles_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "496f0f56"
      }
    },
    "@happyvertical/smrt-content:ContentReference": {
      "name": "contentreference",
      "className": "ContentReference",
      "qualifiedName": "@happyvertical/smrt-content:ContentReference",
      "collection": "contentreferences",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-reference.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "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
            }
          }
        },
        "sourceId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "targetId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "targetVersion": {
          "type": "integer",
          "required": false,
          "_meta": {
            "nullable": true
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "content_references",
        "conflictColumns": [
          "source_id",
          "target_id"
        ],
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentReference",
      "collectionExportName": "ContentReferenceCollection",
      "validationRules": [
        {
          "field": "sourceId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "targetId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "content_references",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_references\" (\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  \"tenant_id\" UUID,\n  \"source_id\" UUID NOT NULL,\n  \"target_id\" UUID NOT NULL,\n  \"target_version\" INTEGER\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"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "target_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "target_version": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_references_source_id_target_id_idx",
            "columns": [
              "source_id",
              "target_id"
            ],
            "unique": true
          },
          {
            "name": "content_references_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_references_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_references_target_id_idx",
            "columns": [
              "target_id"
            ]
          }
        ],
        "version": "3347ea2a"
      }
    },
    "@happyvertical/smrt-content:ContentReferences": {
      "name": "contentreferences",
      "className": "ContentReferences",
      "qualifiedName": "@happyvertical/smrt-content:ContentReferences",
      "collection": "contentreferences",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-references.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "byLeft": {
          "name": "byLeft",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<TItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "byRight": {
          "name": "byRight",
          "async": true,
          "parameters": [
            {
              "name": "rightId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<TItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "attach": {
          "name": "attach",
          "async": true,
          "parameters": [
            {
              "name": "sourceId",
              "type": "string",
              "optional": false
            },
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionAttachOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentReference>",
          "isStatic": false,
          "isPublic": true
        },
        "detach": {
          "name": "detach",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "rightId",
              "type": "string",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionFilterOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "setLinks": {
          "name": "setLinks",
          "async": true,
          "parameters": [
            {
              "name": "leftId",
              "type": "string",
              "optional": false
            },
            {
              "name": "rightIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "opts",
              "type": "JunctionAttachOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getForSource": {
          "name": "getForSource",
          "async": true,
          "parameters": [
            {
              "name": "sourceId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReference[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getForTarget": {
          "name": "getForTarget",
          "async": true,
          "parameters": [
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReference[]>",
          "isStatic": false,
          "isPublic": true
        },
        "unlink": {
          "name": "unlink",
          "async": true,
          "parameters": [
            {
              "name": "sourceId",
              "type": "string",
              "optional": false
            },
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_references"
      },
      "extends": "SmrtJunction",
      "extendsTypeArg": "ContentReference",
      "exportName": "ContentReferences",
      "collectionExportName": "ContentReferencesCollection",
      "schema": {
        "tableName": "content_references",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_references\" (\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": "content_references_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_references_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "e9ad3cf0"
      }
    },
    "@happyvertical/smrt-content:ContentReview": {
      "name": "contentreview",
      "className": "ContentReview",
      "qualifiedName": "@happyvertical/smrt-content:ContentReview",
      "collection": "contentreviews",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-review.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contentId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "contentVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "ContentVersion"
        },
        "kind": {
          "type": "text",
          "required": false,
          "default": "custom"
        },
        "policyKey": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "pending"
        },
        "summary": {
          "type": "text",
          "required": false
        },
        "findings": {
          "type": "text",
          "required": false
        },
        "reviewer": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getFindings": {
          "name": "getFindings",
          "async": false,
          "parameters": [],
          "returnType": "ContentReviewFinding[]",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_reviews",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "ContentReview",
      "collectionExportName": "ContentReviewCollection",
      "validationRules": [
        {
          "field": "contentId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "content_reviews",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_reviews\" (\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  \"content_id\" UUID NOT NULL,\n  \"content_version_id\" UUID,\n  \"kind\" TEXT DEFAULT 'custom',\n  \"policy_key\" TEXT,\n  \"status\" TEXT DEFAULT 'pending',\n  \"summary\" TEXT,\n  \"findings\" TEXT,\n  \"reviewer\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "content_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "content_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "content_versions",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "kind": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "custom"
          },
          "policy_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "pending"
          },
          "summary": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "findings": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "reviewer": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_reviews_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_reviews_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "content_reviews_content_id_idx",
            "columns": [
              "content_id"
            ]
          },
          {
            "name": "content_reviews_content_version_id_idx",
            "columns": [
              "content_version_id"
            ]
          }
        ],
        "version": "7b2c0ad7"
      }
    },
    "@happyvertical/smrt-content:ContentReviewCollection": {
      "name": "contentreviewcollection",
      "className": "ContentReviewCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentReviewCollection",
      "collection": "contentreviews",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-reviews.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "listForContent": {
          "name": "listForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            },
            {
              "name": "kind",
              "type": "ContentReviewKind",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentReview[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestForContent": {
          "name": "getLatestForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            },
            {
              "name": "kind",
              "type": "ContentReviewKind",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentReview | null>",
          "isStatic": false,
          "isPublic": true
        },
        "listForContentByPolicyKey": {
          "name": "listForContentByPolicyKey",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            },
            {
              "name": "policyKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReview[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestForPolicyKey": {
          "name": "getLatestForPolicyKey",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            },
            {
              "name": "policyKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReview | null>",
          "isStatic": false,
          "isPublic": true
        },
        "createFromResult": {
          "name": "createFromResult",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReview>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_reviews"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentReview",
      "exportName": "ContentReviewCollection",
      "collectionExportName": "ContentReviewCollectionCollection",
      "schema": {
        "tableName": "content_reviews",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_reviews\" (\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": "content_reviews_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_reviews_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "03b7d1d3"
      }
    },
    "@happyvertical/smrt-content:Article": {
      "name": "article",
      "className": "Article",
      "qualifiedName": "@happyvertical/smrt-content:Article",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-types.ts",
      "packageName": "@happyvertical/smrt-content",
      "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
            }
          }
        },
        "type": {
          "type": "text",
          "required": false
        },
        "variant": {
          "type": "text",
          "required": false
        },
        "fileKey": {
          "type": "text",
          "required": false
        },
        "author": {
          "type": "text",
          "required": false
        },
        "name": {
          "type": "text",
          "required": true,
          "default": "",
          "_meta": {
            "required": true
          }
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "bodyFormat": {
          "type": "text",
          "required": false
        },
        "publish_date": {
          "type": "datetime",
          "required": false
        },
        "url": {
          "type": "text",
          "required": false
        },
        "source": {
          "type": "text",
          "required": false
        },
        "original_url": {
          "type": "text",
          "required": false
        },
        "language": {
          "type": "text",
          "required": false
        },
        "tags": {
          "type": "json",
          "required": false,
          "default": []
        },
        "category": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "active"
        },
        "metadata": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "thumbnailAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        }
      },
      "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
        },
        "resolveGovernance": {
          "name": "resolveGovernance",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ResolvedContentGovernance>",
          "isStatic": false,
          "isPublic": true
        },
        "loadReferences": {
          "name": "loadReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "addReference": {
          "name": "addReference",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content | string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeReference": {
          "name": "removeReference",
          "async": true,
          "parameters": [
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferences": {
          "name": "getReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceEdges": {
          "name": "getReferenceEdges",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceDrift": {
          "name": "getReferenceDrift",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "isGoverned": {
          "name": "isGoverned",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getFactLinks": {
          "name": "getFactLinks",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFacts": {
          "name": "getFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addFact": {
          "name": "addFact",
          "async": true,
          "parameters": [
            {
              "name": "fact",
              "type": "Fact | string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            },
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeFact": {
          "name": "removeFact",
          "async": true,
          "parameters": [
            {
              "name": "factId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "syncFacts": {
          "name": "syncFacts",
          "async": true,
          "parameters": [
            {
              "name": "factIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "browseFacts": {
          "name": "browseFacts",
          "async": true,
          "parameters": [
            {
              "name": "query",
              "type": "any",
              "optional": true,
              "default": ""
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAudit": {
          "name": "repairFactAudit",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAuditAction": {
          "name": "repairFactAuditAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidence": {
          "name": "repairFactEvidence",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidenceAction": {
          "name": "repairFactEvidenceAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaims": {
          "name": "recheckFactClaims",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaimsAction": {
          "name": "recheckFactClaimsAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatus": {
          "name": "updateFactEvidenceStatus",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatusAction": {
          "name": "updateFactEvidenceStatusAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditState": {
          "name": "getFactAuditState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<FactAuditState>",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditStateAction": {
          "name": "getFactAuditStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactsState": {
          "name": "getFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "syncFactsState": {
          "name": "syncFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "createVersion": {
          "name": "createVersion",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "CreateContentVersionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getVersions": {
          "name": "getVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "restoreFromVersion": {
          "name": "restoreFromVersion",
          "async": true,
          "parameters": [
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviews": {
          "name": "getReviews",
          "async": true,
          "parameters": [
            {
              "name": "kind",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviews": {
          "name": "listReviews",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviewRequirements": {
          "name": "getReviewRequirements",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            },
            {
              "name": "governance",
              "type": "ResolvedContentGovernance",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceState": {
          "name": "getGovernanceState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentGovernanceState>",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceStateAction": {
          "name": "getGovernanceStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviewProfilesAction": {
          "name": "listReviewProfilesAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfile": {
          "name": "evaluateReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReviewProfileEvaluation>",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfileAction": {
          "name": "evaluateReviewProfileAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isReadyForReviewProfile": {
          "name": "isReadyForReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparency": {
          "name": "getPublishedTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparencyAction": {
          "name": "getPublishedTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparency": {
          "name": "previewTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparencyAction": {
          "name": "previewTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReview": {
          "name": "runReview",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReviewAction": {
          "name": "runReviewAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewFacts": {
          "name": "reviewFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewSafety": {
          "name": "reviewSafety",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCorrections": {
          "name": "getCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listCorrections": {
          "name": "listCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrection": {
          "name": "issueCorrection",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrectionAction": {
          "name": "issueCorrectionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listVersions": {
          "name": "listVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "mutateVersionAction": {
          "name": "mutateVersionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCategorySegments": {
          "name": "getCategorySegments",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "getParentCategory": {
          "name": "getParentCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getRootCategory": {
          "name": "getRootCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getAncestorPaths": {
          "name": "getAncestorPaths",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "isInCategory": {
          "name": "isInCategory",
          "async": false,
          "parameters": [
            {
              "name": "categoryPath",
              "type": "string",
              "optional": false
            },
            {
              "name": "includeChildren",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "any",
              "optional": true,
              "default": "attachment"
            },
            {
              "name": "sortOrder",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeAsset": {
          "name": "removeAsset",
          "async": true,
          "parameters": [
            {
              "name": "assetId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string> | null | undefined",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "updateMetadata": {
          "name": "updateMetadata",
          "async": false,
          "parameters": [
            {
              "name": "patch",
              "type": "Partial<Record<string>>",
              "optional": false
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getThumbnail": {
          "name": "getThumbnail",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Image | null>",
          "isStatic": false,
          "isPublic": true
        },
        "setThumbnail": {
          "name": "setThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "image",
              "type": "Image",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "generateThumbnail": {
          "name": "generateThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "ThumbnailOptions",
              "optional": false
            }
          ],
          "returnType": "Promise<Image>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": false,
        "mcp": false,
        "cli": false,
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "Article",
      "collectionExportName": "ArticleCollection",
      "validationRules": [
        {
          "field": "name",
          "rule": "required",
          "fieldType": "text"
        }
      ],
      "schema": {
        "tableName": "contents",
        "ddl": "CREATE TABLE IF NOT EXISTS \"contents\" (\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  \"type\" TEXT,\n  \"variant\" TEXT,\n  \"file_key\" TEXT,\n  \"author\" TEXT,\n  \"name\" TEXT DEFAULT '',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"body_format\" TEXT,\n  \"publish_date\" TIMESTAMP,\n  \"url\" TEXT,\n  \"source\" TEXT,\n  \"original_url\" TEXT,\n  \"language\" TEXT,\n  \"tags\" JSON DEFAULT '[]',\n  \"category\" TEXT,\n  \"status\" TEXT DEFAULT 'draft',\n  \"state\" TEXT DEFAULT 'active',\n  \"metadata\" JSON DEFAULT '{}',\n  \"thumbnail_asset_id\" UUID,\n  \"feed_source_id\" UUID,\n  \"source_guid\" TEXT,\n  \"source_name\" TEXT,\n  \"source_homepage_url\" TEXT,\n  \"external_url\" TEXT,\n  \"original_published_at\" TIMESTAMP,\n  \"dedupe_key\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "type": {
            "type": "TEXT",
            "notNull": false
          },
          "variant": {
            "type": "TEXT",
            "notNull": false
          },
          "file_key": {
            "type": "TEXT",
            "notNull": false
          },
          "author": {
            "type": "TEXT",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false
          },
          "body_format": {
            "type": "TEXT",
            "notNull": false
          },
          "publish_date": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "url": {
            "type": "TEXT",
            "notNull": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false
          },
          "original_url": {
            "type": "TEXT",
            "notNull": false
          },
          "language": {
            "type": "TEXT",
            "notNull": false
          },
          "tags": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "category": {
            "type": "TEXT",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "active"
          },
          "metadata": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "thumbnail_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "content_feed_sources",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "source_guid": {
            "type": "TEXT",
            "notNull": false
          },
          "source_name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_homepage_url": {
            "type": "TEXT",
            "notNull": false
          },
          "external_url": {
            "type": "TEXT",
            "notNull": false
          },
          "original_published_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "dedupe_key": {
            "type": "TEXT",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "contents_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "contents_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "contents_tenant_id_publish_date_idx",
            "columns": [
              "tenant_id",
              "publish_date"
            ]
          },
          {
            "name": "contents_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "contents_thumbnail_asset_id_idx",
            "columns": [
              "thumbnail_asset_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          }
        ],
        "version": "ad51267b"
      }
    },
    "@happyvertical/smrt-content:ContentDocument": {
      "name": "contentdocument",
      "className": "ContentDocument",
      "qualifiedName": "@happyvertical/smrt-content:ContentDocument",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-types.ts",
      "packageName": "@happyvertical/smrt-content",
      "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
            }
          }
        },
        "type": {
          "type": "text",
          "required": false
        },
        "variant": {
          "type": "text",
          "required": false
        },
        "fileKey": {
          "type": "text",
          "required": false
        },
        "author": {
          "type": "text",
          "required": false
        },
        "name": {
          "type": "text",
          "required": true,
          "default": "",
          "_meta": {
            "required": true
          }
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "bodyFormat": {
          "type": "text",
          "required": false
        },
        "publish_date": {
          "type": "datetime",
          "required": false
        },
        "url": {
          "type": "text",
          "required": false
        },
        "source": {
          "type": "text",
          "required": false
        },
        "original_url": {
          "type": "text",
          "required": false
        },
        "language": {
          "type": "text",
          "required": false
        },
        "tags": {
          "type": "json",
          "required": false,
          "default": []
        },
        "category": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "active"
        },
        "metadata": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "thumbnailAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        }
      },
      "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
        },
        "resolveGovernance": {
          "name": "resolveGovernance",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ResolvedContentGovernance>",
          "isStatic": false,
          "isPublic": true
        },
        "loadReferences": {
          "name": "loadReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "addReference": {
          "name": "addReference",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content | string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeReference": {
          "name": "removeReference",
          "async": true,
          "parameters": [
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferences": {
          "name": "getReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceEdges": {
          "name": "getReferenceEdges",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceDrift": {
          "name": "getReferenceDrift",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "isGoverned": {
          "name": "isGoverned",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getFactLinks": {
          "name": "getFactLinks",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFacts": {
          "name": "getFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addFact": {
          "name": "addFact",
          "async": true,
          "parameters": [
            {
              "name": "fact",
              "type": "Fact | string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            },
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeFact": {
          "name": "removeFact",
          "async": true,
          "parameters": [
            {
              "name": "factId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "syncFacts": {
          "name": "syncFacts",
          "async": true,
          "parameters": [
            {
              "name": "factIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "browseFacts": {
          "name": "browseFacts",
          "async": true,
          "parameters": [
            {
              "name": "query",
              "type": "any",
              "optional": true,
              "default": ""
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAudit": {
          "name": "repairFactAudit",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAuditAction": {
          "name": "repairFactAuditAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidence": {
          "name": "repairFactEvidence",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidenceAction": {
          "name": "repairFactEvidenceAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaims": {
          "name": "recheckFactClaims",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaimsAction": {
          "name": "recheckFactClaimsAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatus": {
          "name": "updateFactEvidenceStatus",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatusAction": {
          "name": "updateFactEvidenceStatusAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditState": {
          "name": "getFactAuditState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<FactAuditState>",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditStateAction": {
          "name": "getFactAuditStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactsState": {
          "name": "getFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "syncFactsState": {
          "name": "syncFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "createVersion": {
          "name": "createVersion",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "CreateContentVersionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getVersions": {
          "name": "getVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "restoreFromVersion": {
          "name": "restoreFromVersion",
          "async": true,
          "parameters": [
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviews": {
          "name": "getReviews",
          "async": true,
          "parameters": [
            {
              "name": "kind",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviews": {
          "name": "listReviews",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviewRequirements": {
          "name": "getReviewRequirements",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            },
            {
              "name": "governance",
              "type": "ResolvedContentGovernance",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceState": {
          "name": "getGovernanceState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentGovernanceState>",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceStateAction": {
          "name": "getGovernanceStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviewProfilesAction": {
          "name": "listReviewProfilesAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfile": {
          "name": "evaluateReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReviewProfileEvaluation>",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfileAction": {
          "name": "evaluateReviewProfileAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isReadyForReviewProfile": {
          "name": "isReadyForReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparency": {
          "name": "getPublishedTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparencyAction": {
          "name": "getPublishedTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparency": {
          "name": "previewTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparencyAction": {
          "name": "previewTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReview": {
          "name": "runReview",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReviewAction": {
          "name": "runReviewAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewFacts": {
          "name": "reviewFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewSafety": {
          "name": "reviewSafety",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCorrections": {
          "name": "getCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listCorrections": {
          "name": "listCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrection": {
          "name": "issueCorrection",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrectionAction": {
          "name": "issueCorrectionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listVersions": {
          "name": "listVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "mutateVersionAction": {
          "name": "mutateVersionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCategorySegments": {
          "name": "getCategorySegments",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "getParentCategory": {
          "name": "getParentCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getRootCategory": {
          "name": "getRootCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getAncestorPaths": {
          "name": "getAncestorPaths",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "isInCategory": {
          "name": "isInCategory",
          "async": false,
          "parameters": [
            {
              "name": "categoryPath",
              "type": "string",
              "optional": false
            },
            {
              "name": "includeChildren",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "any",
              "optional": true,
              "default": "attachment"
            },
            {
              "name": "sortOrder",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeAsset": {
          "name": "removeAsset",
          "async": true,
          "parameters": [
            {
              "name": "assetId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string> | null | undefined",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "updateMetadata": {
          "name": "updateMetadata",
          "async": false,
          "parameters": [
            {
              "name": "patch",
              "type": "Partial<Record<string>>",
              "optional": false
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getThumbnail": {
          "name": "getThumbnail",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Image | null>",
          "isStatic": false,
          "isPublic": true
        },
        "setThumbnail": {
          "name": "setThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "image",
              "type": "Image",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "generateThumbnail": {
          "name": "generateThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "ThumbnailOptions",
              "optional": false
            }
          ],
          "returnType": "Promise<Image>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": false,
        "mcp": false,
        "cli": false,
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "ContentDocument",
      "collectionExportName": "ContentDocumentCollection",
      "validationRules": [
        {
          "field": "name",
          "rule": "required",
          "fieldType": "text"
        }
      ],
      "schema": {
        "tableName": "contents",
        "ddl": "CREATE TABLE IF NOT EXISTS \"contents\" (\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  \"type\" TEXT,\n  \"variant\" TEXT,\n  \"file_key\" TEXT,\n  \"author\" TEXT,\n  \"name\" TEXT DEFAULT '',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"body_format\" TEXT,\n  \"publish_date\" TIMESTAMP,\n  \"url\" TEXT,\n  \"source\" TEXT,\n  \"original_url\" TEXT,\n  \"language\" TEXT,\n  \"tags\" JSON DEFAULT '[]',\n  \"category\" TEXT,\n  \"status\" TEXT DEFAULT 'draft',\n  \"state\" TEXT DEFAULT 'active',\n  \"metadata\" JSON DEFAULT '{}',\n  \"thumbnail_asset_id\" UUID,\n  \"feed_source_id\" UUID,\n  \"source_guid\" TEXT,\n  \"source_name\" TEXT,\n  \"source_homepage_url\" TEXT,\n  \"external_url\" TEXT,\n  \"original_published_at\" TIMESTAMP,\n  \"dedupe_key\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "type": {
            "type": "TEXT",
            "notNull": false
          },
          "variant": {
            "type": "TEXT",
            "notNull": false
          },
          "file_key": {
            "type": "TEXT",
            "notNull": false
          },
          "author": {
            "type": "TEXT",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false
          },
          "body_format": {
            "type": "TEXT",
            "notNull": false
          },
          "publish_date": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "url": {
            "type": "TEXT",
            "notNull": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false
          },
          "original_url": {
            "type": "TEXT",
            "notNull": false
          },
          "language": {
            "type": "TEXT",
            "notNull": false
          },
          "tags": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "category": {
            "type": "TEXT",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "active"
          },
          "metadata": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "thumbnail_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "content_feed_sources",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "source_guid": {
            "type": "TEXT",
            "notNull": false
          },
          "source_name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_homepage_url": {
            "type": "TEXT",
            "notNull": false
          },
          "external_url": {
            "type": "TEXT",
            "notNull": false
          },
          "original_published_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "dedupe_key": {
            "type": "TEXT",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "contents_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "contents_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "contents_tenant_id_publish_date_idx",
            "columns": [
              "tenant_id",
              "publish_date"
            ]
          },
          {
            "name": "contents_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "contents_thumbnail_asset_id_idx",
            "columns": [
              "thumbnail_asset_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          }
        ],
        "version": "8107d801"
      }
    },
    "@happyvertical/smrt-content:Mirror": {
      "name": "mirror",
      "className": "Mirror",
      "qualifiedName": "@happyvertical/smrt-content:Mirror",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-types.ts",
      "packageName": "@happyvertical/smrt-content",
      "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
            }
          }
        },
        "type": {
          "type": "text",
          "required": false
        },
        "variant": {
          "type": "text",
          "required": false
        },
        "fileKey": {
          "type": "text",
          "required": false
        },
        "author": {
          "type": "text",
          "required": false
        },
        "name": {
          "type": "text",
          "required": true,
          "default": "",
          "_meta": {
            "required": true
          }
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "bodyFormat": {
          "type": "text",
          "required": false
        },
        "publish_date": {
          "type": "datetime",
          "required": false
        },
        "url": {
          "type": "text",
          "required": false
        },
        "source": {
          "type": "text",
          "required": false
        },
        "original_url": {
          "type": "text",
          "required": false
        },
        "language": {
          "type": "text",
          "required": false
        },
        "tags": {
          "type": "json",
          "required": false,
          "default": []
        },
        "category": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "active"
        },
        "metadata": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "thumbnailAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "feedSourceId": {
          "type": "foreignKey",
          "required": false,
          "related": "ContentFeedSource"
        },
        "sourceGuid": {
          "type": "text",
          "required": false
        },
        "sourceName": {
          "type": "text",
          "required": false
        },
        "sourceHomepageUrl": {
          "type": "text",
          "required": false
        },
        "externalUrl": {
          "type": "text",
          "required": false
        },
        "originalPublishedAt": {
          "type": "datetime",
          "required": false
        },
        "dedupeKey": {
          "type": "text",
          "required": false
        }
      },
      "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
        },
        "resolveGovernance": {
          "name": "resolveGovernance",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ResolvedContentGovernance>",
          "isStatic": false,
          "isPublic": true
        },
        "loadReferences": {
          "name": "loadReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "addReference": {
          "name": "addReference",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content | string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeReference": {
          "name": "removeReference",
          "async": true,
          "parameters": [
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferences": {
          "name": "getReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceEdges": {
          "name": "getReferenceEdges",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceDrift": {
          "name": "getReferenceDrift",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "isGoverned": {
          "name": "isGoverned",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getFactLinks": {
          "name": "getFactLinks",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFacts": {
          "name": "getFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addFact": {
          "name": "addFact",
          "async": true,
          "parameters": [
            {
              "name": "fact",
              "type": "Fact | string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            },
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeFact": {
          "name": "removeFact",
          "async": true,
          "parameters": [
            {
              "name": "factId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "syncFacts": {
          "name": "syncFacts",
          "async": true,
          "parameters": [
            {
              "name": "factIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "browseFacts": {
          "name": "browseFacts",
          "async": true,
          "parameters": [
            {
              "name": "query",
              "type": "any",
              "optional": true,
              "default": ""
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAudit": {
          "name": "repairFactAudit",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAuditAction": {
          "name": "repairFactAuditAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidence": {
          "name": "repairFactEvidence",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidenceAction": {
          "name": "repairFactEvidenceAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaims": {
          "name": "recheckFactClaims",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaimsAction": {
          "name": "recheckFactClaimsAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatus": {
          "name": "updateFactEvidenceStatus",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatusAction": {
          "name": "updateFactEvidenceStatusAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditState": {
          "name": "getFactAuditState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<FactAuditState>",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditStateAction": {
          "name": "getFactAuditStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactsState": {
          "name": "getFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "syncFactsState": {
          "name": "syncFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "createVersion": {
          "name": "createVersion",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "CreateContentVersionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getVersions": {
          "name": "getVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "restoreFromVersion": {
          "name": "restoreFromVersion",
          "async": true,
          "parameters": [
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviews": {
          "name": "getReviews",
          "async": true,
          "parameters": [
            {
              "name": "kind",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviews": {
          "name": "listReviews",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviewRequirements": {
          "name": "getReviewRequirements",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            },
            {
              "name": "governance",
              "type": "ResolvedContentGovernance",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceState": {
          "name": "getGovernanceState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentGovernanceState>",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceStateAction": {
          "name": "getGovernanceStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviewProfilesAction": {
          "name": "listReviewProfilesAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfile": {
          "name": "evaluateReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReviewProfileEvaluation>",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfileAction": {
          "name": "evaluateReviewProfileAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isReadyForReviewProfile": {
          "name": "isReadyForReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparency": {
          "name": "getPublishedTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparencyAction": {
          "name": "getPublishedTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparency": {
          "name": "previewTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparencyAction": {
          "name": "previewTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReview": {
          "name": "runReview",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReviewAction": {
          "name": "runReviewAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewFacts": {
          "name": "reviewFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewSafety": {
          "name": "reviewSafety",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCorrections": {
          "name": "getCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listCorrections": {
          "name": "listCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrection": {
          "name": "issueCorrection",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrectionAction": {
          "name": "issueCorrectionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listVersions": {
          "name": "listVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "mutateVersionAction": {
          "name": "mutateVersionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCategorySegments": {
          "name": "getCategorySegments",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "getParentCategory": {
          "name": "getParentCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getRootCategory": {
          "name": "getRootCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getAncestorPaths": {
          "name": "getAncestorPaths",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "isInCategory": {
          "name": "isInCategory",
          "async": false,
          "parameters": [
            {
              "name": "categoryPath",
              "type": "string",
              "optional": false
            },
            {
              "name": "includeChildren",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "any",
              "optional": true,
              "default": "attachment"
            },
            {
              "name": "sortOrder",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeAsset": {
          "name": "removeAsset",
          "async": true,
          "parameters": [
            {
              "name": "assetId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string> | null | undefined",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "updateMetadata": {
          "name": "updateMetadata",
          "async": false,
          "parameters": [
            {
              "name": "patch",
              "type": "Partial<Record<string>>",
              "optional": false
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getThumbnail": {
          "name": "getThumbnail",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Image | null>",
          "isStatic": false,
          "isPublic": true
        },
        "setThumbnail": {
          "name": "setThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "image",
              "type": "Image",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "generateThumbnail": {
          "name": "generateThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "ThumbnailOptions",
              "optional": false
            }
          ],
          "returnType": "Promise<Image>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": false,
        "mcp": false,
        "cli": false,
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "Mirror",
      "collectionExportName": "MirrorCollection",
      "validationRules": [
        {
          "field": "name",
          "rule": "required",
          "fieldType": "text"
        }
      ],
      "schema": {
        "tableName": "contents",
        "ddl": "CREATE TABLE IF NOT EXISTS \"contents\" (\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  \"type\" TEXT,\n  \"variant\" TEXT,\n  \"file_key\" TEXT,\n  \"author\" TEXT,\n  \"name\" TEXT DEFAULT '',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"body_format\" TEXT,\n  \"publish_date\" TIMESTAMP,\n  \"url\" TEXT,\n  \"source\" TEXT,\n  \"original_url\" TEXT,\n  \"language\" TEXT,\n  \"tags\" JSON DEFAULT '[]',\n  \"category\" TEXT,\n  \"status\" TEXT DEFAULT 'draft',\n  \"state\" TEXT DEFAULT 'active',\n  \"metadata\" JSON DEFAULT '{}',\n  \"thumbnail_asset_id\" UUID,\n  \"feed_source_id\" UUID,\n  \"source_guid\" TEXT,\n  \"source_name\" TEXT,\n  \"source_homepage_url\" TEXT,\n  \"external_url\" TEXT,\n  \"original_published_at\" TIMESTAMP,\n  \"dedupe_key\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "type": {
            "type": "TEXT",
            "notNull": false
          },
          "variant": {
            "type": "TEXT",
            "notNull": false
          },
          "file_key": {
            "type": "TEXT",
            "notNull": false
          },
          "author": {
            "type": "TEXT",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false
          },
          "body_format": {
            "type": "TEXT",
            "notNull": false
          },
          "publish_date": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "url": {
            "type": "TEXT",
            "notNull": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false
          },
          "original_url": {
            "type": "TEXT",
            "notNull": false
          },
          "language": {
            "type": "TEXT",
            "notNull": false
          },
          "tags": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "category": {
            "type": "TEXT",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "active"
          },
          "metadata": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "thumbnail_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "content_feed_sources",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "source_guid": {
            "type": "TEXT",
            "notNull": false
          },
          "source_name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_homepage_url": {
            "type": "TEXT",
            "notNull": false
          },
          "external_url": {
            "type": "TEXT",
            "notNull": false
          },
          "original_published_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "dedupe_key": {
            "type": "TEXT",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "contents_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "contents_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "contents_tenant_id_publish_date_idx",
            "columns": [
              "tenant_id",
              "publish_date"
            ]
          },
          {
            "name": "contents_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "contents_thumbnail_asset_id_idx",
            "columns": [
              "thumbnail_asset_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          }
        ],
        "version": "088da7e4"
      }
    },
    "@happyvertical/smrt-content:ContentVersion": {
      "name": "contentversion",
      "className": "ContentVersion",
      "qualifiedName": "@happyvertical/smrt-content:ContentVersion",
      "collection": "contentversions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-version.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contentId": {
          "type": "foreignKey",
          "required": true,
          "related": "Content",
          "_meta": {
            "required": true
          }
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "kind": {
          "type": "text",
          "required": false,
          "default": "manual"
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false
        },
        "summary": {
          "type": "text",
          "required": false
        },
        "snapshot": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "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
            }
          }
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "getSnapshot": {
          "name": "getSnapshot",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "ContentVersionMetadata",
          "isStatic": false,
          "isPublic": true
        },
        "getTransparency": {
          "name": "getTransparency",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getTransparencyAction": {
          "name": "getTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_versions",
        "conflictColumns": [
          "content_id",
          "version"
        ],
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "getTransparencyAction"
          ],
          "routes": {
            "getTransparencyAction": {
              "method": "GET",
              "path": "transparency"
            }
          }
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ContentVersion",
      "collectionExportName": "ContentVersionCollection",
      "validationRules": [
        {
          "field": "contentId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "content_versions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_versions\" (\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  \"content_id\" UUID NOT NULL,\n  \"version\" INTEGER NOT NULL DEFAULT 1,\n  \"kind\" TEXT DEFAULT 'manual',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"status\" TEXT,\n  \"summary\" TEXT,\n  \"snapshot\" TEXT,\n  \"metadata\" TEXT,\n  \"tenant_id\" UUID\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"
          },
          "content_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "contents",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "version": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 1
          },
          "kind": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "manual"
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "summary": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "snapshot": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "content_versions_content_id_version_idx",
            "columns": [
              "content_id",
              "version"
            ],
            "unique": true
          },
          {
            "name": "content_versions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "content_versions_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "66cda211"
      }
    },
    "@happyvertical/smrt-content:ContentVersionCollection": {
      "name": "contentversioncollection",
      "className": "ContentVersionCollection",
      "qualifiedName": "@happyvertical/smrt-content:ContentVersionCollection",
      "collection": "contentversions",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content-versions.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {},
      "methods": {
        "listForContent": {
          "name": "listForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentVersion[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestForContent": {
          "name": "getLatestForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentVersion | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getLatestPublishedForContent": {
          "name": "getLatestPublishedForContent",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentVersion | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getVersion": {
          "name": "getVersion",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            },
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentVersion | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getNextVersionNumber": {
          "name": "getNextVersionNumber",
          "async": true,
          "parameters": [
            {
              "name": "contentId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<number>",
          "isStatic": false,
          "isPublic": true
        },
        "createSnapshot": {
          "name": "createSnapshot",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content",
              "optional": false
            },
            {
              "name": "options",
              "type": "CreateContentVersionOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<ContentVersion>",
          "isStatic": false,
          "isPublic": true
        },
        "restoreIntoContent": {
          "name": "restoreIntoContent",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content",
              "optional": false
            },
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "Promise<Content>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "content_versions"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ContentVersion",
      "exportName": "ContentVersionCollection",
      "collectionExportName": "ContentVersionCollectionCollection",
      "schema": {
        "tableName": "content_versions",
        "ddl": "CREATE TABLE IF NOT EXISTS \"content_versions\" (\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": "content_versions_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "content_versions_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "56acd806"
      }
    },
    "@happyvertical/smrt-content:Content": {
      "name": "content",
      "className": "Content",
      "qualifiedName": "@happyvertical/smrt-content:Content",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/content.ts",
      "packageName": "@happyvertical/smrt-content",
      "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
            }
          }
        },
        "type": {
          "type": "text",
          "required": false
        },
        "variant": {
          "type": "text",
          "required": false
        },
        "fileKey": {
          "type": "text",
          "required": false
        },
        "author": {
          "type": "text",
          "required": false
        },
        "name": {
          "type": "text",
          "required": true,
          "default": "",
          "_meta": {
            "required": true
          }
        },
        "title": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "body": {
          "type": "text",
          "required": false
        },
        "bodyFormat": {
          "type": "text",
          "required": false
        },
        "publish_date": {
          "type": "datetime",
          "required": false
        },
        "url": {
          "type": "text",
          "required": false
        },
        "source": {
          "type": "text",
          "required": false
        },
        "original_url": {
          "type": "text",
          "required": false
        },
        "language": {
          "type": "text",
          "required": false
        },
        "tags": {
          "type": "json",
          "required": false,
          "default": []
        },
        "category": {
          "type": "text",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "active"
        },
        "metadata": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "thumbnailAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        }
      },
      "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
        },
        "resolveGovernance": {
          "name": "resolveGovernance",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ResolvedContentGovernance>",
          "isStatic": false,
          "isPublic": true
        },
        "loadReferences": {
          "name": "loadReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "addReference": {
          "name": "addReference",
          "async": true,
          "parameters": [
            {
              "name": "content",
              "type": "Content | string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeReference": {
          "name": "removeReference",
          "async": true,
          "parameters": [
            {
              "name": "targetId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferences": {
          "name": "getReferences",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceEdges": {
          "name": "getReferenceEdges",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "getReferenceDrift": {
          "name": "getReferenceDrift",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Array<object>>",
          "isStatic": false,
          "isPublic": true
        },
        "isGoverned": {
          "name": "isGoverned",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getFactLinks": {
          "name": "getFactLinks",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFacts": {
          "name": "getFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addFact": {
          "name": "addFact",
          "async": true,
          "parameters": [
            {
              "name": "fact",
              "type": "Fact | string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            },
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "removeFact": {
          "name": "removeFact",
          "async": true,
          "parameters": [
            {
              "name": "factId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "syncFacts": {
          "name": "syncFacts",
          "async": true,
          "parameters": [
            {
              "name": "factIds",
              "type": "string[]",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "FactContentRelationship",
              "optional": true
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "browseFacts": {
          "name": "browseFacts",
          "async": true,
          "parameters": [
            {
              "name": "query",
              "type": "any",
              "optional": true,
              "default": ""
            },
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "Promise<Fact[]>",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAudit": {
          "name": "repairFactAudit",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactAuditAction": {
          "name": "repairFactAuditAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidence": {
          "name": "repairFactEvidence",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "repairFactEvidenceAction": {
          "name": "repairFactEvidenceAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditResourceRepairOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaims": {
          "name": "recheckFactClaims",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "recheckFactClaimsAction": {
          "name": "recheckFactClaimsAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactAuditClaimRecheckOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatus": {
          "name": "updateFactEvidenceStatus",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "updateFactEvidenceStatusAction": {
          "name": "updateFactEvidenceStatusAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "FactEvidenceStatusUpdateOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditState": {
          "name": "getFactAuditState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<FactAuditState>",
          "isStatic": false,
          "isPublic": true
        },
        "getFactAuditStateAction": {
          "name": "getFactAuditStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getFactsState": {
          "name": "getFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "syncFactsState": {
          "name": "syncFactsState",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "createVersion": {
          "name": "createVersion",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "CreateContentVersionOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getVersions": {
          "name": "getVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "restoreFromVersion": {
          "name": "restoreFromVersion",
          "async": true,
          "parameters": [
            {
              "name": "versionNumber",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviews": {
          "name": "getReviews",
          "async": true,
          "parameters": [
            {
              "name": "kind",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviews": {
          "name": "listReviews",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getReviewRequirements": {
          "name": "getReviewRequirements",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            },
            {
              "name": "governance",
              "type": "ResolvedContentGovernance",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceState": {
          "name": "getGovernanceState",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ContentGovernanceState>",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceStateAction": {
          "name": "getGovernanceStateAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listReviewProfilesAction": {
          "name": "listReviewProfilesAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfile": {
          "name": "evaluateReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ContentReviewProfileEvaluation>",
          "isStatic": false,
          "isPublic": true
        },
        "evaluateReviewProfileAction": {
          "name": "evaluateReviewProfileAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "isReadyForReviewProfile": {
          "name": "isReadyForReviewProfile",
          "async": true,
          "parameters": [
            {
              "name": "profileKey",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparency": {
          "name": "getPublishedTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getPublishedTransparencyAction": {
          "name": "getPublishedTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparency": {
          "name": "previewTransparency",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "previewTransparencyAction": {
          "name": "previewTransparencyAction",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReview": {
          "name": "runReview",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "runReviewAction": {
          "name": "runReviewAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "RunContentReviewOptions",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewFacts": {
          "name": "reviewFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "reviewSafety": {
          "name": "reviewSafety",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "Omit<RunContentReviewOptions, 'kind'>",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCorrections": {
          "name": "getCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listCorrections": {
          "name": "listCorrections",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrection": {
          "name": "issueCorrection",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "issueCorrectionAction": {
          "name": "issueCorrectionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IssueContentCorrectionOptions",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "listVersions": {
          "name": "listVersions",
          "async": true,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "mutateVersionAction": {
          "name": "mutateVersionAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getCategorySegments": {
          "name": "getCategorySegments",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "getParentCategory": {
          "name": "getParentCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getRootCategory": {
          "name": "getRootCategory",
          "async": false,
          "parameters": [],
          "returnType": "string | null",
          "isStatic": false,
          "isPublic": true
        },
        "getAncestorPaths": {
          "name": "getAncestorPaths",
          "async": false,
          "parameters": [],
          "returnType": "string[]",
          "isStatic": false,
          "isPublic": true
        },
        "isInCategory": {
          "name": "isInCategory",
          "async": false,
          "parameters": [
            {
              "name": "categoryPath",
              "type": "string",
              "optional": false
            },
            {
              "name": "includeChildren",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "any",
              "optional": true,
              "default": "attachment"
            },
            {
              "name": "sortOrder",
              "type": "any",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeAsset": {
          "name": "removeAsset",
          "async": true,
          "parameters": [
            {
              "name": "assetId",
              "type": "string",
              "optional": false
            },
            {
              "name": "relationship",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string> | null | undefined",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "updateMetadata": {
          "name": "updateMetadata",
          "async": false,
          "parameters": [
            {
              "name": "patch",
              "type": "Partial<Record<string>>",
              "optional": false
            }
          ],
          "returnType": "Record<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getThumbnail": {
          "name": "getThumbnail",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Image | null>",
          "isStatic": false,
          "isPublic": true
        },
        "setThumbnail": {
          "name": "setThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "image",
              "type": "Image",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "generateThumbnail": {
          "name": "generateThumbnail",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "ThumbnailOptions",
              "optional": false
            }
          ],
          "returnType": "Promise<Image>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete",
            "getFactsState",
            "syncFactsState",
            "getFactAuditStateAction",
            "repairFactAuditAction",
            "repairFactEvidenceAction",
            "recheckFactClaimsAction",
            "updateFactEvidenceStatusAction",
            "getGovernanceStateAction",
            "listReviews",
            "runReviewAction",
            "listReviewProfilesAction",
            "evaluateReviewProfileAction",
            "getPublishedTransparencyAction",
            "previewTransparencyAction",
            "listCorrections",
            "issueCorrectionAction",
            "listVersions",
            "mutateVersionAction"
          ],
          "routes": {
            "getFactsState": {
              "method": "GET",
              "path": "facts"
            },
            "syncFactsState": {
              "method": "PUT",
              "path": "facts"
            },
            "getFactAuditStateAction": {
              "method": "GET",
              "path": "fact-audit"
            },
            "repairFactAuditAction": {
              "method": "POST",
              "path": "fact-audit/repair"
            },
            "repairFactEvidenceAction": {
              "method": "POST",
              "path": "fact-audit/evidence/repair"
            },
            "recheckFactClaimsAction": {
              "method": "POST",
              "path": "fact-audit/claims/recheck"
            },
            "updateFactEvidenceStatusAction": {
              "method": "PUT",
              "path": "fact-audit/evidence/status"
            },
            "getGovernanceStateAction": {
              "method": "GET",
              "path": "governance"
            },
            "listReviews": {
              "method": "GET",
              "path": "reviews"
            },
            "runReviewAction": {
              "method": "POST",
              "path": "reviews"
            },
            "listReviewProfilesAction": {
              "method": "GET",
              "path": "review-profiles"
            },
            "evaluateReviewProfileAction": {
              "method": "GET",
              "path": "review-profiles/[profileKey]"
            },
            "getPublishedTransparencyAction": {
              "method": "GET",
              "path": "transparency"
            },
            "previewTransparencyAction": {
              "method": "GET",
              "path": "transparency/preview"
            },
            "listCorrections": {
              "method": "GET",
              "path": "corrections"
            },
            "issueCorrectionAction": {
              "method": "POST",
              "path": "corrections"
            },
            "listVersions": {
              "method": "GET",
              "path": "versions"
            },
            "mutateVersionAction": {
              "method": "POST",
              "path": "versions"
            }
          },
          "serializers": {
            "item": {
              "importPath": "$lib/server/content-api-serializers",
              "exportName": "serializeContent"
            }
          }
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "cli": true,
        "indexes": [
          {
            "name": "contents_tenant_id_publish_date_idx",
            "columns": [
              "tenantId",
              "publish_date"
            ]
          }
        ],
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Content",
      "collectionExportName": "ContentCollection",
      "validationRules": [
        {
          "field": "name",
          "rule": "required",
          "fieldType": "text"
        }
      ],
      "schema": {
        "tableName": "contents",
        "ddl": "CREATE TABLE IF NOT EXISTS \"contents\" (\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  \"type\" TEXT,\n  \"variant\" TEXT,\n  \"file_key\" TEXT,\n  \"author\" TEXT,\n  \"name\" TEXT DEFAULT '',\n  \"title\" TEXT,\n  \"description\" TEXT,\n  \"body\" TEXT,\n  \"body_format\" TEXT,\n  \"publish_date\" TIMESTAMP,\n  \"url\" TEXT,\n  \"source\" TEXT,\n  \"original_url\" TEXT,\n  \"language\" TEXT,\n  \"tags\" JSON DEFAULT '[]',\n  \"category\" TEXT,\n  \"status\" TEXT DEFAULT 'draft',\n  \"state\" TEXT DEFAULT 'active',\n  \"metadata\" JSON DEFAULT '{}',\n  \"thumbnail_asset_id\" UUID,\n  \"feed_source_id\" UUID,\n  \"source_guid\" TEXT,\n  \"source_name\" TEXT,\n  \"source_homepage_url\" TEXT,\n  \"external_url\" TEXT,\n  \"original_published_at\" TIMESTAMP,\n  \"dedupe_key\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "type": {
            "type": "TEXT",
            "notNull": false
          },
          "variant": {
            "type": "TEXT",
            "notNull": false
          },
          "file_key": {
            "type": "TEXT",
            "notNull": false
          },
          "author": {
            "type": "TEXT",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "body": {
            "type": "TEXT",
            "notNull": false
          },
          "body_format": {
            "type": "TEXT",
            "notNull": false
          },
          "publish_date": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "url": {
            "type": "TEXT",
            "notNull": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false
          },
          "original_url": {
            "type": "TEXT",
            "notNull": false
          },
          "language": {
            "type": "TEXT",
            "notNull": false
          },
          "tags": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "category": {
            "type": "TEXT",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "active"
          },
          "metadata": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "thumbnail_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "content_feed_sources",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "source_guid": {
            "type": "TEXT",
            "notNull": false
          },
          "source_name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_homepage_url": {
            "type": "TEXT",
            "notNull": false
          },
          "external_url": {
            "type": "TEXT",
            "notNull": false
          },
          "original_published_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "dedupe_key": {
            "type": "TEXT",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "contents_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "contents_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "contents_tenant_id_publish_date_idx",
            "columns": [
              "tenant_id",
              "publish_date"
            ]
          },
          {
            "name": "contents_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "contents_thumbnail_asset_id_idx",
            "columns": [
              "thumbnail_asset_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          }
        ],
        "version": "40e4ddf4"
      }
    },
    "@happyvertical/smrt-content:Contents": {
      "name": "contents",
      "className": "Contents",
      "qualifiedName": "@happyvertical/smrt-content:Contents",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/content/src/contents.ts",
      "packageName": "@happyvertical/smrt-content",
      "fields": {
        "contentDir": {
          "type": "text",
          "required": false
        },
        "loaded": {
          "type": "json",
          "required": true
        }
      },
      "methods": {
        "getDb": {
          "name": "getDb",
          "async": false,
          "parameters": [],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise",
          "isStatic": false,
          "isPublic": true
        },
        "browseFacts": {
          "name": "browseFacts",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "getGovernanceDefinitionsAction": {
          "name": "getGovernanceDefinitionsAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "resolveGovernanceAction": {
          "name": "resolveGovernanceAction",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "mirror": {
          "name": "mirror",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "writeContentFile": {
          "name": "writeContentFile",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "syncContentDir": {
          "name": "syncContentDir",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false
            }
          ],
          "returnType": "any",
          "isStatic": false,
          "isPublic": true
        },
        "generateMissingThumbnails": {
          "name": "generateMissingThumbnails",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "GenerateMissingThumbnailsOptions",
              "optional": false
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Content[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Content[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithGlobals": {
          "name": "findWithGlobals",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Content[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "browseFacts",
            "getBySlug",
            "getGovernanceDefinitionsAction",
            "resolveGovernanceAction"
          ],
          "routes": {
            "browseFacts": {
              "scope": "collection",
              "method": "GET",
              "path": "facts"
            },
            "getBySlug": {
              "scope": "collection",
              "method": "GET",
              "path": "by-slug"
            },
            "getGovernanceDefinitionsAction": {
              "scope": "collection",
              "method": "GET",
              "path": "governance"
            },
            "resolveGovernanceAction": {
              "scope": "collection",
              "method": "GET",
              "path": "governance/resolve"
            }
          }
        },
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "Content",
      "exportName": "Contents",
      "collectionExportName": "ContentsCollection",
      "validationRules": [
        {
          "field": "loaded",
          "rule": "required",
          "fieldType": "json"
        }
      ],
      "schema": {
        "tableName": "contents",
        "ddl": "CREATE TABLE IF NOT EXISTS \"contents\" (\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  \"content_dir\" TEXT,\n  \"loaded\" JSON NOT NULL\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"
          },
          "content_dir": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "loaded": {
            "type": "JSON",
            "notNull": true,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "contents_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "contents_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "c11f9ec0"
      }
    }
  },
  "moduleType": "smrt",
  "smrtDependencies": [
    "@happyvertical/smrt-assets",
    "@happyvertical/smrt-chat",
    "@happyvertical/smrt-core",
    "@happyvertical/smrt-facts",
    "@happyvertical/smrt-images",
    "@happyvertical/smrt-messages",
    "@happyvertical/smrt-profiles",
    "@happyvertical/smrt-prompts",
    "@happyvertical/smrt-tenancy"
  ]
}