{
  "version": "1.0.0",
  "timestamp": 0,
  "packageName": "@happyvertical/smrt-video",
  "packageVersion": "0.42.7",
  "objects": {
    "@happyvertical/smrt-video:CharacterAsset": {
      "name": "characterasset",
      "className": "CharacterAsset",
      "qualifiedName": "@happyvertical/smrt-video:CharacterAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/character-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "characterId": {
          "type": "foreignKey",
          "required": false,
          "related": "Character"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "seed-image"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "CharacterAsset",
      "collectionExportName": "CharacterAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:CharacterOwnedAssetCollection": {
      "name": "characterownedassetcollection",
      "className": "CharacterOwnedAssetCollection",
      "qualifiedName": "@happyvertical/smrt-video:CharacterOwnedAssetCollection",
      "collection": "characterownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/character-assets.ts",
      "packageName": "@happyvertical/smrt-video",
      "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": "character_assets"
      },
      "extends": "SmrtJunction",
      "extendsTypeArg": "CharacterOwnedAsset",
      "exportName": "CharacterOwnedAssetCollection",
      "collectionExportName": "CharacterOwnedAssetCollectionCollection",
      "schema": {
        "tableName": "character_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"character_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": "character_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "character_assets_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "3c2836ae"
      }
    },
    "@happyvertical/smrt-video:CharacterOwnedAsset": {
      "name": "characterownedasset",
      "className": "CharacterOwnedAsset",
      "qualifiedName": "@happyvertical/smrt-video:CharacterOwnedAsset",
      "collection": "characterownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/character-owned-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "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
            }
          }
        },
        "characterId": {
          "type": "foreignKey",
          "required": true,
          "related": "Character",
          "_meta": {
            "required": true
          }
        },
        "assetId": {
          "type": "crossPackageRef",
          "required": true,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "role": {
          "type": "text",
          "required": true,
          "default": "seed-image",
          "_meta": {
            "required": true
          }
        },
        "sortOrder": {
          "type": "integer",
          "required": true,
          "default": 0
        }
      },
      "methods": {},
      "decoratorConfig": {
        "name": "CharacterOwnedAsset",
        "tableName": "character_assets",
        "conflictColumns": [
          "character_id",
          "asset_id",
          "role"
        ],
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "CharacterOwnedAsset",
      "collectionExportName": "CharacterOwnedAssetCollection",
      "validationRules": [
        {
          "field": "characterId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "assetId",
          "rule": "required",
          "fieldType": "crossPackageRef"
        },
        {
          "field": "role",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "sortOrder",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "character_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"character_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  \"character_id\" UUID NOT NULL,\n  \"asset_id\" UUID NOT NULL,\n  \"role\" TEXT NOT NULL DEFAULT 'seed-image',\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
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false
          },
          "asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": true,
            "unique": false
          },
          "role": {
            "type": "TEXT",
            "notNull": true,
            "unique": false,
            "default": "seed-image"
          },
          "sort_order": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "character_assets_character_id_asset_id_idx",
            "columns": [
              "character_id",
              "asset_id",
              "role"
            ],
            "unique": true
          },
          {
            "name": "character_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "character_assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "character_assets_asset_id_idx",
            "columns": [
              "asset_id"
            ]
          }
        ],
        "version": "2d52a1f3"
      }
    },
    "@happyvertical/smrt-video:Character": {
      "name": "character",
      "className": "Character",
      "qualifiedName": "@happyvertical/smrt-video:Character",
      "collection": "characters",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/character.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false
        },
        "imageAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "baseMotionAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "voiceProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-voice:VoiceProfile"
        },
        "brandingKit": {
          "type": "json",
          "required": false
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "pending"
        },
        "performerId": {
          "type": "foreignKey",
          "required": false,
          "related": "Performer"
        },
        "defaultSceneId": {
          "type": "foreignKey",
          "required": false,
          "related": "Scene"
        },
        "sceneConfigs": {
          "type": "json",
          "required": false,
          "default": []
        },
        "profileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        }
      },
      "methods": {
        "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
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "CharacterAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "CharacterAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "role",
              "type": "CharacterAssetRole",
              "optional": true,
              "default": "seed-image"
            },
            {
              "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": "role",
              "type": "CharacterAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Character",
      "collectionExportName": "CharacterCollection",
      "schema": {
        "tableName": "characters",
        "ddl": "CREATE TABLE IF NOT EXISTS \"characters\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT DEFAULT '',\n  \"description\" TEXT,\n  \"image_asset_id\" UUID,\n  \"base_motion_asset_id\" UUID,\n  \"voice_profile_id\" UUID,\n  \"branding_kit\" JSON,\n  \"status\" TEXT DEFAULT 'pending',\n  \"performer_id\" UUID,\n  \"default_scene_id\" UUID,\n  \"scene_configs\" JSON DEFAULT '[]',\n  \"profile_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "image_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "base_motion_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "voice_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "branding_kit": {
            "type": "JSON",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "pending"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "default_scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_configs": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "characters_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "characters_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "characters_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "characters_image_asset_id_idx",
            "columns": [
              "image_asset_id"
            ]
          },
          {
            "name": "characters_base_motion_asset_id_idx",
            "columns": [
              "base_motion_asset_id"
            ]
          },
          {
            "name": "characters_voice_profile_id_idx",
            "columns": [
              "voice_profile_id"
            ]
          },
          {
            "name": "characters_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "characters_default_scene_id_idx",
            "columns": [
              "default_scene_id"
            ]
          },
          {
            "name": "characters_profile_id_idx",
            "columns": [
              "profile_id"
            ]
          }
        ],
        "version": "d311bd3d"
      }
    },
    "@happyvertical/smrt-video:CharacterCollection": {
      "name": "charactercollection",
      "className": "CharacterCollection",
      "qualifiedName": "@happyvertical/smrt-video:CharacterCollection",
      "collection": "characters",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/characters.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {},
      "methods": {
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Character[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Character[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByPerformer": {
          "name": "findByPerformer",
          "async": true,
          "parameters": [
            {
              "name": "performerId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Character[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findReady": {
          "name": "findReady",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Character[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {},
      "extends": "SmrtCollection",
      "extendsTypeArg": "Character",
      "exportName": "CharacterCollection",
      "collectionExportName": "CharacterCollectionCollection",
      "schema": {
        "tableName": "character_collections",
        "ddl": "CREATE TABLE IF NOT EXISTS \"character_collections\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          }
        },
        "indexes": [
          {
            "name": "character_collections_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "character_collections_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "876075e3"
      }
    },
    "@happyvertical/smrt-video:CompositeJob": {
      "name": "compositejob",
      "className": "CompositeJob",
      "qualifiedName": "@happyvertical/smrt-video:CompositeJob",
      "collection": "compositejobs",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/composite-job.ts",
      "packageName": "@happyvertical/smrt-video",
      "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
            }
          }
        },
        "characterVideoAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "sceneId": {
          "type": "foreignKey",
          "required": false,
          "related": "Scene"
        },
        "viewpointId": {
          "type": "text",
          "required": false
        },
        "anchorPointId": {
          "type": "text",
          "required": false
        },
        "scale": {
          "type": "decimal",
          "required": false,
          "default": 1
        },
        "position": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "pending"
        },
        "progress": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "outputAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "errorMessage": {
          "type": "text",
          "required": false
        }
      },
      "methods": {
        "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
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "CompositeJob",
      "collectionExportName": "CompositeJobCollection",
      "schema": {
        "tableName": "composite_jobs",
        "ddl": "CREATE TABLE IF NOT EXISTS \"composite_jobs\" (\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  \"character_video_asset_id\" UUID,\n  \"scene_id\" UUID,\n  \"viewpoint_id\" TEXT,\n  \"anchor_point_id\" TEXT,\n  \"scale\" REAL DEFAULT 1,\n  \"position\" JSON DEFAULT '{}',\n  \"status\" TEXT DEFAULT 'pending',\n  \"progress\" INTEGER DEFAULT 0,\n  \"output_asset_id\" UUID,\n  \"error_message\" 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
          },
          "character_video_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "viewpoint_id": {
            "type": "TEXT",
            "notNull": false
          },
          "anchor_point_id": {
            "type": "TEXT",
            "notNull": false
          },
          "scale": {
            "type": "REAL",
            "notNull": false,
            "default": 1
          },
          "position": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "pending"
          },
          "progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "output_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "error_message": {
            "type": "TEXT",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "composite_jobs_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "composite_jobs_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "composite_jobs_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "composite_jobs_character_video_asset_id_idx",
            "columns": [
              "character_video_asset_id"
            ]
          },
          {
            "name": "composite_jobs_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "composite_jobs_output_asset_id_idx",
            "columns": [
              "output_asset_id"
            ]
          }
        ],
        "version": "4589bed0"
      }
    },
    "@happyvertical/smrt-video:PerformerAsset": {
      "name": "performerasset",
      "className": "PerformerAsset",
      "qualifiedName": "@happyvertical/smrt-video:PerformerAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/performer-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "performerId": {
          "type": "foreignKey",
          "required": false,
          "related": "Performer"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "reference"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "PerformerAsset",
      "collectionExportName": "PerformerAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:PerformerOwnedAssetCollection": {
      "name": "performerownedassetcollection",
      "className": "PerformerOwnedAssetCollection",
      "qualifiedName": "@happyvertical/smrt-video:PerformerOwnedAssetCollection",
      "collection": "performerownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/performer-assets.ts",
      "packageName": "@happyvertical/smrt-video",
      "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": "performer_assets"
      },
      "extends": "SmrtJunction",
      "extendsTypeArg": "PerformerOwnedAsset",
      "exportName": "PerformerOwnedAssetCollection",
      "collectionExportName": "PerformerOwnedAssetCollectionCollection",
      "schema": {
        "tableName": "performer_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"performer_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": "performer_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "performer_assets_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "591e6fb2"
      }
    },
    "@happyvertical/smrt-video:PerformerOwnedAsset": {
      "name": "performerownedasset",
      "className": "PerformerOwnedAsset",
      "qualifiedName": "@happyvertical/smrt-video:PerformerOwnedAsset",
      "collection": "performerownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/performer-owned-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "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
            }
          }
        },
        "performerId": {
          "type": "foreignKey",
          "required": true,
          "related": "Performer",
          "_meta": {
            "required": true
          }
        },
        "assetId": {
          "type": "crossPackageRef",
          "required": true,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "role": {
          "type": "text",
          "required": true,
          "default": "reference",
          "_meta": {
            "required": true
          }
        },
        "sortOrder": {
          "type": "integer",
          "required": true,
          "default": 0
        }
      },
      "methods": {},
      "decoratorConfig": {
        "name": "PerformerOwnedAsset",
        "tableName": "performer_assets",
        "conflictColumns": [
          "performer_id",
          "asset_id",
          "role"
        ],
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "PerformerOwnedAsset",
      "collectionExportName": "PerformerOwnedAssetCollection",
      "validationRules": [
        {
          "field": "performerId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "assetId",
          "rule": "required",
          "fieldType": "crossPackageRef"
        },
        {
          "field": "role",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "sortOrder",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "performer_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"performer_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  \"performer_id\" UUID NOT NULL,\n  \"asset_id\" UUID NOT NULL,\n  \"role\" TEXT NOT NULL DEFAULT 'reference',\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
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false
          },
          "asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": true,
            "unique": false
          },
          "role": {
            "type": "TEXT",
            "notNull": true,
            "unique": false,
            "default": "reference"
          },
          "sort_order": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "performer_assets_performer_id_asset_id_idx",
            "columns": [
              "performer_id",
              "asset_id",
              "role"
            ],
            "unique": true
          },
          {
            "name": "performer_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "performer_assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "performer_assets_asset_id_idx",
            "columns": [
              "asset_id"
            ]
          }
        ],
        "version": "a685d7c4"
      }
    },
    "@happyvertical/smrt-video:Performer": {
      "name": "performer",
      "className": "Performer",
      "qualifiedName": "@happyvertical/smrt-video:Performer",
      "collection": "performers",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/performer.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false
        },
        "dna": {
          "type": "json",
          "required": false
        },
        "referenceAssetIds": {
          "type": "json",
          "required": false,
          "default": []
        },
        "seedImageAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "voiceProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-voice:VoiceProfile"
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "pending"
        },
        "profileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        }
      },
      "methods": {
        "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
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "PerformerAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "PerformerAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "role",
              "type": "PerformerAssetRole",
              "optional": true,
              "default": "reference"
            },
            {
              "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": "role",
              "type": "PerformerAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Performer",
      "collectionExportName": "PerformerCollection",
      "schema": {
        "tableName": "performers",
        "ddl": "CREATE TABLE IF NOT EXISTS \"performers\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT DEFAULT '',\n  \"description\" TEXT,\n  \"dna\" JSON,\n  \"reference_asset_ids\" JSON DEFAULT '[]',\n  \"seed_image_asset_id\" UUID,\n  \"voice_profile_id\" UUID,\n  \"status\" TEXT DEFAULT 'pending',\n  \"profile_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "dna": {
            "type": "JSON",
            "notNull": false
          },
          "reference_asset_ids": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "seed_image_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "voice_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "pending"
          },
          "profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "performers_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "performers_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "performers_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "performers_seed_image_asset_id_idx",
            "columns": [
              "seed_image_asset_id"
            ]
          },
          {
            "name": "performers_voice_profile_id_idx",
            "columns": [
              "voice_profile_id"
            ]
          },
          {
            "name": "performers_profile_id_idx",
            "columns": [
              "profile_id"
            ]
          }
        ],
        "version": "09b53659"
      }
    },
    "@happyvertical/smrt-video:SceneAsset": {
      "name": "sceneasset",
      "className": "SceneAsset",
      "qualifiedName": "@happyvertical/smrt-video:SceneAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/scene-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "sceneId": {
          "type": "foreignKey",
          "required": false,
          "related": "Scene"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "source"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "SceneAsset",
      "collectionExportName": "SceneAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:SceneOwnedAssetCollection": {
      "name": "sceneownedassetcollection",
      "className": "SceneOwnedAssetCollection",
      "qualifiedName": "@happyvertical/smrt-video:SceneOwnedAssetCollection",
      "collection": "sceneownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/scene-assets.ts",
      "packageName": "@happyvertical/smrt-video",
      "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": "scene_assets"
      },
      "extends": "SmrtJunction",
      "extendsTypeArg": "SceneOwnedAsset",
      "exportName": "SceneOwnedAssetCollection",
      "collectionExportName": "SceneOwnedAssetCollectionCollection",
      "schema": {
        "tableName": "scene_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"scene_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": "scene_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "scene_assets_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "f41476c0"
      }
    },
    "@happyvertical/smrt-video:SceneOwnedAsset": {
      "name": "sceneownedasset",
      "className": "SceneOwnedAsset",
      "qualifiedName": "@happyvertical/smrt-video:SceneOwnedAsset",
      "collection": "sceneownedassets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/scene-owned-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "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
            }
          }
        },
        "sceneId": {
          "type": "foreignKey",
          "required": true,
          "related": "Scene",
          "_meta": {
            "required": true
          }
        },
        "assetId": {
          "type": "crossPackageRef",
          "required": true,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "role": {
          "type": "text",
          "required": true,
          "default": "source",
          "_meta": {
            "required": true
          }
        },
        "sortOrder": {
          "type": "integer",
          "required": true,
          "default": 0
        }
      },
      "methods": {},
      "decoratorConfig": {
        "name": "SceneOwnedAsset",
        "tableName": "scene_assets",
        "conflictColumns": [
          "scene_id",
          "asset_id",
          "role"
        ],
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "SceneOwnedAsset",
      "collectionExportName": "SceneOwnedAssetCollection",
      "validationRules": [
        {
          "field": "sceneId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "assetId",
          "rule": "required",
          "fieldType": "crossPackageRef"
        },
        {
          "field": "role",
          "rule": "required",
          "fieldType": "text"
        },
        {
          "field": "sortOrder",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "scene_assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"scene_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  \"scene_id\" UUID NOT NULL,\n  \"asset_id\" UUID NOT NULL,\n  \"role\" TEXT NOT NULL DEFAULT 'source',\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
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false
          },
          "asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": true,
            "unique": false
          },
          "role": {
            "type": "TEXT",
            "notNull": true,
            "unique": false,
            "default": "source"
          },
          "sort_order": {
            "type": "INTEGER",
            "notNull": true,
            "unique": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "scene_assets_scene_id_asset_id_idx",
            "columns": [
              "scene_id",
              "asset_id",
              "role"
            ],
            "unique": true
          },
          {
            "name": "scene_assets_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "scene_assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "scene_assets_asset_id_idx",
            "columns": [
              "asset_id"
            ]
          }
        ],
        "version": "84806270"
      }
    },
    "@happyvertical/smrt-video:Scene": {
      "name": "scene",
      "className": "Scene",
      "qualifiedName": "@happyvertical/smrt-video:Scene",
      "collection": "scenes",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/scene.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false
        },
        "sourceAssetId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset"
        },
        "sourceType": {
          "type": "text",
          "required": false,
          "default": "image"
        },
        "projection": {
          "type": "text",
          "required": false
        },
        "viewpoints": {
          "type": "json",
          "required": false,
          "default": []
        },
        "lightingProfile": {
          "type": "json",
          "required": false
        },
        "location": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "anchorPoints": {
          "type": "json",
          "required": false,
          "default": []
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "pending"
        }
      },
      "methods": {
        "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
        },
        "getAssets": {
          "name": "getAssets",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "SceneAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "SceneAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "addAsset": {
          "name": "addAsset",
          "async": true,
          "parameters": [
            {
              "name": "asset",
              "type": "Asset",
              "optional": false
            },
            {
              "name": "role",
              "type": "SceneAssetRole",
              "optional": true,
              "default": "source"
            },
            {
              "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": "role",
              "type": "SceneAssetRole",
              "optional": true
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Scene",
      "collectionExportName": "SceneCollection",
      "schema": {
        "tableName": "scenes",
        "ddl": "CREATE TABLE IF NOT EXISTS \"scenes\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT DEFAULT '',\n  \"description\" TEXT,\n  \"source_asset_id\" UUID,\n  \"source_type\" TEXT DEFAULT 'image',\n  \"projection\" TEXT,\n  \"viewpoints\" JSON DEFAULT '[]',\n  \"lighting_profile\" JSON,\n  \"location\" JSON DEFAULT '{}',\n  \"anchor_points\" JSON DEFAULT '[]',\n  \"status\" TEXT DEFAULT 'pending'\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false,
            "default": "image"
          },
          "projection": {
            "type": "TEXT",
            "notNull": false
          },
          "viewpoints": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "lighting_profile": {
            "type": "JSON",
            "notNull": false
          },
          "location": {
            "type": "JSON",
            "notNull": false,
            "default": {}
          },
          "anchor_points": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "default": "pending"
          }
        },
        "indexes": [
          {
            "name": "scenes_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "scenes_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "scenes_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "scenes_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          }
        ],
        "version": "10393bea"
      }
    },
    "@happyvertical/smrt-video:VideoCompositionAsset": {
      "name": "videocompositionasset",
      "className": "VideoCompositionAsset",
      "qualifiedName": "@happyvertical/smrt-video:VideoCompositionAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-composition-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "videoCompositionId": {
          "type": "foreignKey",
          "required": false,
          "related": "VideoComposition"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "video"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "VideoCompositionAsset",
      "collectionExportName": "VideoCompositionAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:VideoComposition": {
      "name": "videocomposition",
      "className": "VideoComposition",
      "qualifiedName": "@happyvertical/smrt-video:VideoComposition",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-composition.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "generated": true,
            "source": "tenantScoped_decorator",
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "mode": "optional",
              "field": "tenantId",
              "autoFilter": true,
              "autoPopulate": true,
              "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"
        },
        "fps": {
          "type": "integer",
          "required": false,
          "default": 30
        },
        "width": {
          "type": "integer",
          "required": false,
          "default": 1920
        },
        "height": {
          "type": "integer",
          "required": false,
          "default": 1080
        },
        "durationInFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "renderStatus": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "renderProgress": {
          "type": "integer",
          "required": false,
          "default": 0
        }
      },
      "methods": {
        "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
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "VideoCompositionAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "VideoComposition",
      "collectionExportName": "VideoCompositionCollection",
      "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  \"fps\" INTEGER DEFAULT 30,\n  \"width\" INTEGER DEFAULT 1920,\n  \"height\" INTEGER DEFAULT 1080,\n  \"duration_in_frames\" INTEGER DEFAULT 0,\n  \"render_status\" TEXT DEFAULT 'draft',\n  \"render_progress\" INTEGER DEFAULT 0,\n  \"composition_id\" UUID,\n  \"position\" INTEGER DEFAULT 0,\n  \"transition_type\" TEXT DEFAULT 'none',\n  \"transition_duration_frames\" INTEGER DEFAULT 0,\n  \"sequence_id\" UUID,\n  \"scene_id\" UUID,\n  \"trim_before_frames\" INTEGER DEFAULT 0,\n  \"trim_after_frames\" INTEGER DEFAULT 0,\n  \"script_text\" TEXT DEFAULT '',\n  \"script_word_count\" INTEGER DEFAULT 0,\n  \"target_duration\" INTEGER DEFAULT 30,\n  \"shot_status\" TEXT DEFAULT 'draft',\n  \"progress\" INTEGER DEFAULT 0,\n  \"error_message\" TEXT,\n  \"status_message\" TEXT,\n  \"video_metadata\" JSON,\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  \"voice_profile_id\" UUID,\n  \"source_text\" TEXT DEFAULT '',\n  \"audio_asset_id\" UUID,\n  \"duration\" INTEGER DEFAULT 0,\n  \"word_timings\" JSON DEFAULT '[]',\n  \"audio_metadata\" JSON\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
          },
          "fps": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "width": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1920
          },
          "height": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1080
          },
          "duration_in_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "render_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "render_progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "position": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "transition_type": {
            "type": "TEXT",
            "notNull": false,
            "default": "none"
          },
          "transition_duration_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "trim_before_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "trim_after_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "script_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "script_word_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "target_duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "shot_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "error_message": {
            "type": "TEXT",
            "notNull": false
          },
          "status_message": {
            "type": "TEXT",
            "notNull": false
          },
          "video_metadata": {
            "type": "JSON",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "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
          },
          "voice_profile_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "audio_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "word_timings": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "audio_metadata": {
            "type": "JSON",
            "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_composition_id_idx",
            "columns": [
              "composition_id"
            ]
          },
          {
            "name": "contents_sequence_id_idx",
            "columns": [
              "sequence_id"
            ]
          },
          {
            "name": "contents_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          },
          {
            "name": "contents_voice_profile_id_idx",
            "columns": [
              "voice_profile_id"
            ]
          },
          {
            "name": "contents_audio_asset_id_idx",
            "columns": [
              "audio_asset_id"
            ]
          }
        ],
        "version": "a23a4918"
      }
    },
    "@happyvertical/smrt-video:VideoCompositionCollection": {
      "name": "videocompositioncollection",
      "className": "VideoCompositionCollection",
      "qualifiedName": "@happyvertical/smrt-video:VideoCompositionCollection",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-compositions.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {},
      "methods": {
        "findByRenderStatus": {
          "name": "findByRenderStatus",
          "async": true,
          "parameters": [
            {
              "name": "renderStatus",
              "type": "RenderStatus",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoComposition[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findReady": {
          "name": "findReady",
          "async": true,
          "parameters": [],
          "returnType": "Promise<VideoComposition[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "contents"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "VideoComposition",
      "exportName": "VideoCompositionCollection",
      "collectionExportName": "VideoCompositionCollectionCollection",
      "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);",
        "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": "contents_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "contents_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "5cc43cec"
      }
    },
    "@happyvertical/smrt-video:VideoSequenceAsset": {
      "name": "videosequenceasset",
      "className": "VideoSequenceAsset",
      "qualifiedName": "@happyvertical/smrt-video:VideoSequenceAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-sequence-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "videoSequenceId": {
          "type": "foreignKey",
          "required": false,
          "related": "VideoSequence"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "video"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "VideoSequenceAsset",
      "collectionExportName": "VideoSequenceAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:VideoSequence": {
      "name": "videosequence",
      "className": "VideoSequence",
      "qualifiedName": "@happyvertical/smrt-video:VideoSequence",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-sequence.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "generated": true,
            "source": "tenantScoped_decorator",
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "mode": "optional",
              "field": "tenantId",
              "autoFilter": true,
              "autoPopulate": true,
              "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"
        },
        "compositionId": {
          "type": "foreignKey",
          "required": false,
          "related": "VideoComposition"
        },
        "position": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "durationInFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "transitionType": {
          "type": "text",
          "required": false,
          "default": "none"
        },
        "transitionDurationFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        }
      },
      "methods": {
        "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
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "VideoSequenceAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "VideoSequence",
      "collectionExportName": "VideoSequenceCollection",
      "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  \"fps\" INTEGER DEFAULT 30,\n  \"width\" INTEGER DEFAULT 1920,\n  \"height\" INTEGER DEFAULT 1080,\n  \"duration_in_frames\" INTEGER DEFAULT 0,\n  \"render_status\" TEXT DEFAULT 'draft',\n  \"render_progress\" INTEGER DEFAULT 0,\n  \"composition_id\" UUID,\n  \"position\" INTEGER DEFAULT 0,\n  \"transition_type\" TEXT DEFAULT 'none',\n  \"transition_duration_frames\" INTEGER DEFAULT 0,\n  \"sequence_id\" UUID,\n  \"scene_id\" UUID,\n  \"trim_before_frames\" INTEGER DEFAULT 0,\n  \"trim_after_frames\" INTEGER DEFAULT 0,\n  \"script_text\" TEXT DEFAULT '',\n  \"script_word_count\" INTEGER DEFAULT 0,\n  \"target_duration\" INTEGER DEFAULT 30,\n  \"shot_status\" TEXT DEFAULT 'draft',\n  \"progress\" INTEGER DEFAULT 0,\n  \"error_message\" TEXT,\n  \"status_message\" TEXT,\n  \"video_metadata\" JSON,\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  \"voice_profile_id\" UUID,\n  \"source_text\" TEXT DEFAULT '',\n  \"audio_asset_id\" UUID,\n  \"duration\" INTEGER DEFAULT 0,\n  \"word_timings\" JSON DEFAULT '[]',\n  \"audio_metadata\" JSON\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
          },
          "fps": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "width": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1920
          },
          "height": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1080
          },
          "duration_in_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "render_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "render_progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "position": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "transition_type": {
            "type": "TEXT",
            "notNull": false,
            "default": "none"
          },
          "transition_duration_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "trim_before_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "trim_after_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "script_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "script_word_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "target_duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "shot_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "error_message": {
            "type": "TEXT",
            "notNull": false
          },
          "status_message": {
            "type": "TEXT",
            "notNull": false
          },
          "video_metadata": {
            "type": "JSON",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "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
          },
          "voice_profile_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "audio_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "word_timings": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "audio_metadata": {
            "type": "JSON",
            "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_composition_id_idx",
            "columns": [
              "composition_id"
            ]
          },
          {
            "name": "contents_sequence_id_idx",
            "columns": [
              "sequence_id"
            ]
          },
          {
            "name": "contents_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          },
          {
            "name": "contents_voice_profile_id_idx",
            "columns": [
              "voice_profile_id"
            ]
          },
          {
            "name": "contents_audio_asset_id_idx",
            "columns": [
              "audio_asset_id"
            ]
          }
        ],
        "version": "a23a4918"
      }
    },
    "@happyvertical/smrt-video:VideoSequenceCollection": {
      "name": "videosequencecollection",
      "className": "VideoSequenceCollection",
      "qualifiedName": "@happyvertical/smrt-video:VideoSequenceCollection",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-sequences.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {},
      "methods": {
        "findByComposition": {
          "name": "findByComposition",
          "async": true,
          "parameters": [
            {
              "name": "compositionId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoSequence[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findStandalone": {
          "name": "findStandalone",
          "async": true,
          "parameters": [],
          "returnType": "Promise<VideoSequence[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "contents"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "VideoSequence",
      "exportName": "VideoSequenceCollection",
      "collectionExportName": "VideoSequenceCollectionCollection",
      "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);",
        "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": "contents_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "contents_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "dbf0e6ae"
      }
    },
    "@happyvertical/smrt-video:VideoShotAsset": {
      "name": "videoshotasset",
      "className": "VideoShotAsset",
      "qualifiedName": "@happyvertical/smrt-video:VideoShotAsset",
      "collection": "assets",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-shot-asset.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false
        },
        "sourceUri": {
          "type": "text",
          "required": false
        },
        "mimeType": {
          "type": "text",
          "required": false
        },
        "description": {
          "type": "text",
          "required": false
        },
        "metadata": {
          "type": "text",
          "required": false
        },
        "version": {
          "type": "integer",
          "required": true,
          "default": 1
        },
        "primaryVersionId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "typeSlug": {
          "type": "text",
          "required": false
        },
        "statusSlug": {
          "type": "text",
          "required": false
        },
        "ownerProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile"
        },
        "sourceAssetId": {
          "type": "foreignKey",
          "required": false,
          "related": "Asset"
        },
        "folderId": {
          "type": "foreignKey",
          "required": false,
          "related": "Folder"
        },
        "sourceType": {
          "type": "text",
          "required": false
        },
        "externalId": {
          "type": "text",
          "required": false
        },
        "externalRefs": {
          "type": "text",
          "required": false
        },
        "createdAt": {
          "type": "text",
          "required": false
        },
        "updatedAt": {
          "type": "text",
          "required": false
        },
        "videoShotId": {
          "type": "foreignKey",
          "required": false,
          "related": "VideoShot"
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "video"
        }
      },
      "methods": {
        "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
        },
        "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
        },
        "mergeMetadata": {
          "name": "mergeMetadata",
          "async": false,
          "parameters": [
            {
              "name": "metadata",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRefs": {
          "name": "getExternalRefs",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, AssetExternalReference>",
          "isStatic": false,
          "isPublic": true
        },
        "getExternalRef": {
          "name": "getExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "AssetExternalReference | null",
          "isStatic": false,
          "isPublic": true
        },
        "setExternalRef": {
          "name": "setExternalRef",
          "async": false,
          "parameters": [
            {
              "name": "provider",
              "type": "string",
              "optional": false
            },
            {
              "name": "reference",
              "type": "any",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getTags": {
          "name": "getTags",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Tag[]>",
          "isStatic": false,
          "isPublic": true
        },
        "hasTag": {
          "name": "hasTag",
          "async": true,
          "parameters": [
            {
              "name": "tagSlug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "getSource": {
          "name": "getSource",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getDerivatives": {
          "name": "getDerivatives",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Asset[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getType": {
          "name": "getType",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetType | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatus": {
          "name": "getStatus",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetStatus | null>",
          "isStatic": false,
          "isPublic": true
        },
        "getAssociations": {
          "name": "getAssociations",
          "async": true,
          "parameters": [],
          "returnType": "Promise<AssetAssociation[]>",
          "isStatic": false,
          "isPublic": true
        },
        "associateWith": {
          "name": "associateWith",
          "async": true,
          "parameters": [
            {
              "name": "metaType",
              "type": "string",
              "optional": false
            },
            {
              "name": "metaId",
              "type": "string",
              "optional": false
            },
            {
              "name": "role",
              "type": "any",
              "optional": true,
              "default": "default"
            }
          ],
          "returnType": "Promise<AssetAssociation>",
          "isStatic": false,
          "isPublic": true
        },
        "getBySlug": {
          "name": "getBySlug",
          "async": true,
          "parameters": [
            {
              "name": "_slug",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tableName": "assets",
        "tableStrategy": "sti"
      },
      "extends": "Asset",
      "exportName": "VideoShotAsset",
      "collectionExportName": "VideoShotAssetCollection",
      "validationRules": [
        {
          "field": "version",
          "rule": "required",
          "fieldType": "integer"
        }
      ],
      "schema": {
        "tableName": "assets",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assets\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT,\n  \"source_uri\" TEXT,\n  \"mime_type\" TEXT,\n  \"description\" TEXT,\n  \"metadata\" TEXT,\n  \"version\" INTEGER DEFAULT 1,\n  \"primary_version_id\" UUID,\n  \"type_slug\" TEXT,\n  \"status_slug\" TEXT,\n  \"owner_profile_id\" UUID,\n  \"source_asset_id\" UUID,\n  \"folder_id\" UUID,\n  \"source_type\" TEXT,\n  \"external_id\" TEXT,\n  \"external_refs\" TEXT,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'seed-image',\n  \"performer_id\" UUID,\n  \"scene_id\" UUID,\n  \"video_composition_id\" UUID,\n  \"video_sequence_id\" UUID,\n  \"video_shot_id\" UUID\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false
          },
          "source_uri": {
            "type": "TEXT",
            "notNull": false
          },
          "mime_type": {
            "type": "TEXT",
            "notNull": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false
          },
          "version": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1
          },
          "primary_version_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "type_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "status_slug": {
            "type": "TEXT",
            "notNull": false
          },
          "owner_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "source_asset_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "folder_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_type": {
            "type": "TEXT",
            "notNull": false
          },
          "external_id": {
            "type": "TEXT",
            "notNull": false
          },
          "external_refs": {
            "type": "TEXT",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "seed-image"
          },
          "performer_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          }
        },
        "indexes": [
          {
            "name": "assets_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "assets_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "assets_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assets_primary_version_id_idx",
            "columns": [
              "primary_version_id"
            ]
          },
          {
            "name": "assets_owner_profile_id_idx",
            "columns": [
              "owner_profile_id"
            ]
          },
          {
            "name": "assets_source_asset_id_idx",
            "columns": [
              "source_asset_id"
            ]
          },
          {
            "name": "assets_folder_id_idx",
            "columns": [
              "folder_id"
            ]
          },
          {
            "name": "assets_character_id_idx",
            "columns": [
              "character_id"
            ]
          },
          {
            "name": "assets_performer_id_idx",
            "columns": [
              "performer_id"
            ]
          },
          {
            "name": "assets_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "assets_video_composition_id_idx",
            "columns": [
              "video_composition_id"
            ]
          },
          {
            "name": "assets_video_sequence_id_idx",
            "columns": [
              "video_sequence_id"
            ]
          },
          {
            "name": "assets_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          }
        ],
        "version": "d51e6489"
      }
    },
    "@happyvertical/smrt-video:VideoShotCharacter": {
      "name": "videoshotcharacter",
      "className": "VideoShotCharacter",
      "qualifiedName": "@happyvertical/smrt-video:VideoShotCharacter",
      "collection": "videoshotcharacters",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-shot-character.ts",
      "packageName": "@happyvertical/smrt-video",
      "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
            }
          }
        },
        "videoShotId": {
          "type": "foreignKey",
          "required": true,
          "related": "VideoShot",
          "_meta": {
            "required": true
          }
        },
        "characterId": {
          "type": "foreignKey",
          "required": true,
          "related": "Character",
          "_meta": {
            "required": true
          }
        },
        "role": {
          "type": "text",
          "required": false,
          "default": "primary"
        },
        "position": {
          "type": "integer",
          "required": false,
          "default": 0
        }
      },
      "methods": {
        "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
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "VideoShotCharacter",
      "collectionExportName": "VideoShotCharacterCollection",
      "validationRules": [
        {
          "field": "videoShotId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "characterId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "video_shot_characters",
        "ddl": "CREATE TABLE IF NOT EXISTS \"video_shot_characters\" (\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  \"video_shot_id\" UUID,\n  \"character_id\" UUID,\n  \"role\" TEXT DEFAULT 'primary',\n  \"position\" INTEGER DEFAULT 0\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "video_shot_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "character_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "role": {
            "type": "TEXT",
            "notNull": false,
            "default": "primary"
          },
          "position": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "video_shot_characters_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "video_shot_characters_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "video_shot_characters_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "video_shot_characters_video_shot_id_idx",
            "columns": [
              "video_shot_id"
            ]
          },
          {
            "name": "video_shot_characters_character_id_idx",
            "columns": [
              "character_id"
            ]
          }
        ],
        "version": "0a085dc1"
      }
    },
    "@happyvertical/smrt-video:VideoShotCharacterCollection": {
      "name": "videoshotcharactercollection",
      "className": "VideoShotCharacterCollection",
      "qualifiedName": "@happyvertical/smrt-video:VideoShotCharacterCollection",
      "collection": "videoshotcharacters",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-shot-characters.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {},
      "methods": {
        "findByShot": {
          "name": "findByShot",
          "async": true,
          "parameters": [
            {
              "name": "videoShotId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoShotCharacter[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByCharacter": {
          "name": "findByCharacter",
          "async": true,
          "parameters": [
            {
              "name": "characterId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoShotCharacter[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {},
      "extends": "SmrtCollection",
      "extendsTypeArg": "VideoShotCharacter",
      "exportName": "VideoShotCharacterCollection",
      "collectionExportName": "VideoShotCharacterCollectionCollection",
      "schema": {
        "tableName": "video_shot_character_collections",
        "ddl": "CREATE TABLE IF NOT EXISTS \"video_shot_character_collections\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          }
        },
        "indexes": [
          {
            "name": "video_shot_character_collections_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "video_shot_character_collections_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "13ff658b"
      }
    },
    "@happyvertical/smrt-video:VideoShot": {
      "name": "videoshot",
      "className": "VideoShot",
      "qualifiedName": "@happyvertical/smrt-video:VideoShot",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-shot.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "generated": true,
            "source": "tenantScoped_decorator",
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "mode": "optional",
              "field": "tenantId",
              "autoFilter": true,
              "autoPopulate": true,
              "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"
        },
        "sequenceId": {
          "type": "foreignKey",
          "required": false,
          "related": "VideoSequence"
        },
        "sceneId": {
          "type": "foreignKey",
          "required": false,
          "related": "Scene"
        },
        "position": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "durationInFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "trimBeforeFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "trimAfterFrames": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "scriptText": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "scriptWordCount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "targetDuration": {
          "type": "integer",
          "required": false,
          "default": 30
        },
        "shotStatus": {
          "type": "text",
          "required": false,
          "default": "draft"
        },
        "progress": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "errorMessage": {
          "type": "text",
          "required": false
        },
        "statusMessage": {
          "type": "text",
          "required": false
        },
        "videoMetadata": {
          "type": "json",
          "required": false
        }
      },
      "methods": {
        "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
        },
        "getAssetByRole": {
          "name": "getAssetByRole",
          "async": true,
          "parameters": [
            {
              "name": "role",
              "type": "VideoShotAssetRole",
              "optional": false
            }
          ],
          "returnType": "Promise<Asset | null>",
          "isStatic": false,
          "isPublic": true
        },
        "setScript": {
          "name": "setScript",
          "async": false,
          "parameters": [
            {
              "name": "text",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "tableName": "contents"
      },
      "extends": "Content",
      "exportName": "VideoShot",
      "collectionExportName": "VideoShotCollection",
      "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  \"fps\" INTEGER DEFAULT 30,\n  \"width\" INTEGER DEFAULT 1920,\n  \"height\" INTEGER DEFAULT 1080,\n  \"duration_in_frames\" INTEGER DEFAULT 0,\n  \"render_status\" TEXT DEFAULT 'draft',\n  \"render_progress\" INTEGER DEFAULT 0,\n  \"composition_id\" UUID,\n  \"position\" INTEGER DEFAULT 0,\n  \"transition_type\" TEXT DEFAULT 'none',\n  \"transition_duration_frames\" INTEGER DEFAULT 0,\n  \"sequence_id\" UUID,\n  \"scene_id\" UUID,\n  \"trim_before_frames\" INTEGER DEFAULT 0,\n  \"trim_after_frames\" INTEGER DEFAULT 0,\n  \"script_text\" TEXT DEFAULT '',\n  \"script_word_count\" INTEGER DEFAULT 0,\n  \"target_duration\" INTEGER DEFAULT 30,\n  \"shot_status\" TEXT DEFAULT 'draft',\n  \"progress\" INTEGER DEFAULT 0,\n  \"error_message\" TEXT,\n  \"status_message\" TEXT,\n  \"video_metadata\" JSON,\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  \"voice_profile_id\" UUID,\n  \"source_text\" TEXT DEFAULT '',\n  \"audio_asset_id\" UUID,\n  \"duration\" INTEGER DEFAULT 0,\n  \"word_timings\" JSON DEFAULT '[]',\n  \"audio_metadata\" JSON\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
          },
          "fps": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "width": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1920
          },
          "height": {
            "type": "INTEGER",
            "notNull": false,
            "default": 1080
          },
          "duration_in_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "render_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "render_progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "composition_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "position": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "transition_type": {
            "type": "TEXT",
            "notNull": false,
            "default": "none"
          },
          "transition_duration_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "sequence_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "scene_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "trim_before_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "trim_after_frames": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "script_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "script_word_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "target_duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 30
          },
          "shot_status": {
            "type": "TEXT",
            "notNull": false,
            "default": "draft"
          },
          "progress": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "error_message": {
            "type": "TEXT",
            "notNull": false
          },
          "status_message": {
            "type": "TEXT",
            "notNull": false
          },
          "video_metadata": {
            "type": "JSON",
            "notNull": false
          },
          "feed_source_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "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
          },
          "voice_profile_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false
          },
          "source_text": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "audio_asset_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false
          },
          "duration": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "word_timings": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "audio_metadata": {
            "type": "JSON",
            "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_composition_id_idx",
            "columns": [
              "composition_id"
            ]
          },
          {
            "name": "contents_sequence_id_idx",
            "columns": [
              "sequence_id"
            ]
          },
          {
            "name": "contents_scene_id_idx",
            "columns": [
              "scene_id"
            ]
          },
          {
            "name": "contents_feed_source_id_idx",
            "columns": [
              "feed_source_id"
            ]
          },
          {
            "name": "contents_voice_profile_id_idx",
            "columns": [
              "voice_profile_id"
            ]
          },
          {
            "name": "contents_audio_asset_id_idx",
            "columns": [
              "audio_asset_id"
            ]
          }
        ],
        "version": "a23a4918"
      }
    },
    "@happyvertical/smrt-video:VideoShotCollection": {
      "name": "videoshotcollection",
      "className": "VideoShotCollection",
      "qualifiedName": "@happyvertical/smrt-video:VideoShotCollection",
      "collection": "contents",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-shots.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {},
      "methods": {
        "findBySequence": {
          "name": "findBySequence",
          "async": true,
          "parameters": [
            {
              "name": "sequenceId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoShot[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByStatus": {
          "name": "findByStatus",
          "async": true,
          "parameters": [
            {
              "name": "shotStatus",
              "type": "VideoShotStatus",
              "optional": false
            }
          ],
          "returnType": "Promise<VideoShot[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findStandalone": {
          "name": "findStandalone",
          "async": true,
          "parameters": [],
          "returnType": "Promise<VideoShot[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "contents"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "VideoShot",
      "exportName": "VideoShotCollection",
      "collectionExportName": "VideoShotCollectionCollection",
      "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);",
        "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": "contents_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "contents_created_at_idx",
            "columns": [
              "created_at"
            ]
          }
        ],
        "version": "282633f1"
      }
    },
    "@happyvertical/smrt-video:VideoWorkflow": {
      "name": "videoworkflow",
      "className": "VideoWorkflow",
      "qualifiedName": "@happyvertical/smrt-video:VideoWorkflow",
      "collection": "videoworkflows",
      "filePath": "/home/runner/work/smrt/smrt/packages/video/src/video-workflow.ts",
      "packageName": "@happyvertical/smrt-video",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false
        },
        "workflowType": {
          "type": "text",
          "required": false,
          "default": "custom"
        },
        "workflowJson": {
          "type": "json",
          "required": false
        },
        "nodeMapping": {
          "type": "json",
          "required": false
        },
        "estimatedTime": {
          "type": "integer",
          "required": false,
          "default": 300
        },
        "isActive": {
          "type": "boolean",
          "required": false,
          "default": true
        },
        "requiredModels": {
          "type": "json",
          "required": false,
          "default": []
        }
      },
      "methods": {
        "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
        },
        "injectParameters": {
          "name": "injectParameters",
          "async": false,
          "parameters": [
            {
              "name": "params",
              "type": "Record<string>",
              "optional": false
            }
          ],
          "returnType": "null",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": true,
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "VideoWorkflow",
      "collectionExportName": "VideoWorkflowCollection",
      "schema": {
        "tableName": "video_workflows",
        "ddl": "CREATE TABLE IF NOT EXISTS \"video_workflows\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"name\" TEXT DEFAULT '',\n  \"description\" TEXT,\n  \"workflow_type\" TEXT DEFAULT 'custom',\n  \"workflow_json\" JSON,\n  \"node_mapping\" JSON,\n  \"estimated_time\" INTEGER DEFAULT 300,\n  \"is_active\" BOOLEAN DEFAULT TRUE,\n  \"required_models\" JSON DEFAULT '[]'\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false
          },
          "workflow_type": {
            "type": "TEXT",
            "notNull": false,
            "default": "custom"
          },
          "workflow_json": {
            "type": "JSON",
            "notNull": false
          },
          "node_mapping": {
            "type": "JSON",
            "notNull": false
          },
          "estimated_time": {
            "type": "INTEGER",
            "notNull": false,
            "default": 300
          },
          "is_active": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": true
          },
          "required_models": {
            "type": "JSON",
            "notNull": false,
            "default": []
          }
        },
        "indexes": [
          {
            "name": "video_workflows_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true
          },
          {
            "name": "video_workflows_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "video_workflows_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "46fc51f8"
      }
    }
  },
  "moduleType": "smrt",
  "smrtDependencies": [
    "@happyvertical/smrt-assets",
    "@happyvertical/smrt-content",
    "@happyvertical/smrt-core",
    "@happyvertical/smrt-profiles",
    "@happyvertical/smrt-tenancy",
    "@happyvertical/smrt-voice"
  ]
}