@happyvertical/smrt-video 0.57.44 → 0.57.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/smrt-knowledge.json +3 -3
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var __exportAll = (all, no_symbols) => {
|
|
|
19
19
|
};
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/__smrt-register__.ts
|
|
22
|
-
ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-video","packageVersion":"0.57.44","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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"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","enum":["seed-image","base-motion","logo"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"CharacterAsset","collectionExportName":"CharacterAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"7965832a"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"characters","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"c032f70e"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["seed-image","base-motion","logo"]},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"c032f70e"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Character":{"name":"character","className":"Character","qualifiedName":"@happyvertical/smrt-video:Character","collection":"characters","description":"Virtual character for AI-powered video production","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":"What the character is called.","_meta":{"description":"What the character is called."}},"description":{"type":"text","required":false,"description":"Who this character is and how they come across on screen.","_meta":{"description":"Who this character is and how they come across on screen."}},"imageAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset","description":"The picture the character is built from.","_meta":{"description":"The picture the character is built from."}},"baseMotionAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"voiceProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-voice:VoiceProfile","description":"The voice the character speaks with.","_meta":{"description":"The voice the character speaks with."}},"brandingKit":{"type":"json","required":false},"status":{"type":"text","required":false,"default":"pending","description":"Whether the character is ready to appear in shots.","_meta":{"description":"Whether the character is ready to appear in shots."},"enum":["pending","ready"]},"performerId":{"type":"foreignKey","required":false,"related":"Performer"},"defaultSceneId":{"type":"foreignKey","required":false,"related":"Scene","description":"The scene the character usually appears in.","_meta":{"description":"The scene the character usually appears in."}},"sceneConfigs":{"type":"json","required":false,"default":[]},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile"}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Character","collectionExportName":"CharacterCollection","displayLabelField":"name","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,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"default_scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"eae4aae5"},"importPath":"@happyvertical/smrt-video"},"@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":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"Character","exportName":"CharacterCollection","collectionExportName":"CharacterCollectionCollection","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,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"default_scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"eae4aae5"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:CompositeJob":{"name":"compositejob","className":"CompositeJob","qualifiedName":"@happyvertical/smrt-video:CompositeJob","collection":"compositejobs","description":"Composite job for tracking virtual production compositing","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","enum":["pending","removing_bg","analyzing_light","compositing","complete","failed"]},"progress":{"type":"integer","required":false,"default":0},"outputAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"errorMessage":{"type":"text","required":false}},"methods":{},"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4c7689a3"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"performerId":{"type":"foreignKey","required":false,"related":"Performer"},"role":{"type":"text","required":false,"default":"reference","enum":["reference","seed"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"PerformerAsset","collectionExportName":"PerformerAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"4de881c3"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"performers","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"9a402665"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["reference","seed"]},"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,"foreignKey":{"table":"performers","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"9a402665"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Performer":{"name":"performer","className":"Performer","qualifiedName":"@happyvertical/smrt-video:Performer","collection":"performers","description":"The physical likeness/face DNA","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","enum":["pending","ready"]},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile"}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Performer","collectionExportName":"PerformerCollection","displayLabelField":"name","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,"nullsNotDistinct":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"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"sceneId":{"type":"foreignKey","required":false,"related":"Scene"},"role":{"type":"text","required":false,"default":"source","enum":["source","viewpoint-extract","env-map"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"SceneAsset","collectionExportName":"SceneAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"ef4abd1e"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"68f91ceb"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["source","viewpoint-extract","env-map"]},"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"68f91ceb"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Scene":{"name":"scene","className":"Scene","qualifiedName":"@happyvertical/smrt-video:Scene","collection":"scenes","description":"Scene for virtual production compositing","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":"What the scene is called.","_meta":{"description":"What the scene is called."}},"description":{"type":"text","required":false,"description":"What the scene shows.","_meta":{"description":"What the scene shows."}},"sourceAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset","description":"The picture or video the scene is made from.","_meta":{"description":"The picture or video the scene is made from."}},"sourceType":{"type":"text","required":false,"default":"image","description":"What kind of file the scene is made from: a picture, a video or a wrap-around panorama.","_meta":{"description":"What kind of file the scene is made from: a picture, a video or a wrap-around panorama."},"enum":["image","video","panorama_360","panorama_180"]},"projection":{"type":"text","required":false,"enum":["equirectangular","cubemap"]},"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","description":"Whether the scene is ready to be used in shots.","_meta":{"description":"Whether the scene is ready to be used in shots."},"enum":["pending","processing","ready","failed"]}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Scene","collectionExportName":"SceneCollection","displayLabelField":"name","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,"nullsNotDistinct":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"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoCompositionId":{"type":"foreignKey","required":false,"related":"VideoComposition"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoCompositionAsset","collectionExportName":"VideoCompositionAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"76dc9f2b"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoComposition":{"name":"videocomposition","className":"VideoComposition","qualifiedName":"@happyvertical/smrt-video:VideoComposition","collection":"contents","description":"Publishable video composition","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"fps":{"type":"integer","required":false,"default":30,"description":"How many frames of video play each second, usually 30.","_meta":{"description":"How many frames of video play each second, usually 30."}},"width":{"type":"integer","required":false,"default":1920,"description":"The width of the finished video in pixels, such as 1920.","_meta":{"description":"The width of the finished video in pixels, such as 1920."}},"height":{"type":"integer","required":false,"default":1080,"description":"The height of the finished video in pixels, such as 1080.","_meta":{"description":"The height of the finished video in pixels, such as 1080."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the whole video runs, counted in frames. It adds up from the sequences.","_meta":{"description":"How long the whole video runs, counted in frames. It adds up from the sequences."}},"renderStatus":{"type":"text","required":false,"default":"draft","description":"Where the finished video stands: draft, rendering, ready or failed.","_meta":{"description":"Where the finished video stands: draft, rendering, ready or failed."},"enum":["draft","rendering","ready","failed"]},"renderProgress":{"type":"integer","required":false,"default":0,"description":"How far along the render is, from 0 to 100.","_meta":{"description":"How far along the render is, from 0 to 100."}}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoComposition","collectionExportName":"VideoCompositionCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"8f49f941"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"8f49f941"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoSequenceId":{"type":"foreignKey","required":false,"related":"VideoSequence"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoSequenceAsset","collectionExportName":"VideoSequenceAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"53fd6fda"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoSequence":{"name":"videosequence","className":"VideoSequence","qualifiedName":"@happyvertical/smrt-video:VideoSequence","collection":"contents","description":"Thematic section of a video composition","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"compositionId":{"type":"foreignKey","required":false,"related":"VideoComposition","description":"The video this sequence is part of.","_meta":{"description":"The video this sequence is part of."}},"position":{"type":"integer","required":false,"default":0,"description":"The order of this sequence within its video, counting from the start.","_meta":{"description":"The order of this sequence within its video, counting from the start."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the sequence runs in frames. It adds up from its shots.","_meta":{"description":"How long the sequence runs in frames. It adds up from its shots."}},"transitionType":{"type":"text","required":false,"default":"none","description":"How this sequence hands over to the next one: a straight cut, a fade, a slide or a wipe.","_meta":{"description":"How this sequence hands over to the next one: a straight cut, a fade, a slide or a wipe."},"enum":["none","fade","slide","wipe"]},"transitionDurationFrames":{"type":"integer","required":false,"default":0,"description":"How many frames the hand-over to the next sequence overlaps.","_meta":{"description":"How many frames the hand-over to the next sequence overlaps."}}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoSequence","collectionExportName":"VideoSequenceCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"6a019937"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"6a019937"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoShotId":{"type":"foreignKey","required":false,"related":"VideoShot"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoShotAsset","collectionExportName":"VideoShotAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"cc103113"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoShotCharacter":{"name":"videoshotcharacter","className":"VideoShotCharacter","qualifiedName":"@happyvertical/smrt-video:VideoShotCharacter","collection":"videoshotcharacters","description":"Join model linking a VideoShot to a Character","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","enum":["primary","secondary","background"]},"position":{"type":"integer","required":false,"default":0}},"methods":{},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"character_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4846f081"},"importPath":"@happyvertical/smrt-video"},"@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":{"api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"VideoShotCharacter","exportName":"VideoShotCharacterCollection","collectionExportName":"VideoShotCharacterCollectionCollection","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"character_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4846f081"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoShot":{"name":"videoshot","className":"VideoShot","qualifiedName":"@happyvertical/smrt-video:VideoShot","collection":"contents","description":"Atomic video generation unit","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"sequenceId":{"type":"foreignKey","required":false,"related":"VideoSequence","description":"The sequence this shot belongs to.","_meta":{"description":"The sequence this shot belongs to."}},"sceneId":{"type":"foreignKey","required":false,"related":"Scene","description":"The background scene this shot is filmed in.","_meta":{"description":"The background scene this shot is filmed in."}},"position":{"type":"integer","required":false,"default":0,"description":"The order of this shot within its sequence, counting from the start.","_meta":{"description":"The order of this shot within its sequence, counting from the start."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the finished clip runs in frames.","_meta":{"description":"How long the finished clip runs in frames."}},"trimBeforeFrames":{"type":"integer","required":false,"default":0},"trimAfterFrames":{"type":"integer","required":false,"default":0},"scriptText":{"type":"text","required":false,"default":"","description":"The words spoken in this shot.","_meta":{"description":"The words spoken in this shot."}},"scriptWordCount":{"type":"integer","required":false,"default":0},"targetDuration":{"type":"integer","required":false,"default":30,"description":"How long you want the shot to be, in seconds.","_meta":{"description":"How long you want the shot to be, in seconds."}},"shotStatus":{"type":"text","required":false,"default":"draft","description":"Where the shot stands: draft, queued, processing, ready, failed or published.","_meta":{"description":"Where the shot stands: draft, queued, processing, ready, failed or published."},"enum":["draft","queued","processing","ready","failed","published"]},"progress":{"type":"integer","required":false,"default":0},"errorMessage":{"type":"text","required":false},"statusMessage":{"type":"text","required":false},"videoMetadata":{"type":"json","required":false}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoShot","collectionExportName":"VideoShotCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"08a96b6e"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"08a96b6e"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoWorkflow":{"name":"videoworkflow","className":"VideoWorkflow","qualifiedName":"@happyvertical/smrt-video:VideoWorkflow","collection":"videoworkflows","description":"ComfyUI workflow template for video generation","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","enum":["prebake","broadcast","lipsync","postprod","custom"]},"workflowJson":{"type":"text","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":{"injectParameters":{"name":"injectParameters","async":false,"parameters":[{"name":"params","type":"Record<string, unknown>","optional":false}],"returnType":"any","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"VideoWorkflow","collectionExportName":"VideoWorkflowCollection","displayLabelField":"name","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\\" TEXT,\\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":"TEXT","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,"nullsNotDistinct":true},{"name":"video_workflows_meta_type_idx","columns":["_meta_type"]},{"name":"video_workflows_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"e836b1f6"},"importPath":"@happyvertical/smrt-video"}},"moduleType":"smrt","recipes":[{"id":"video.library","className":"VideoLibraryRecipe","label":"Video","summary":"Plan each video as sequences and shots, with the characters and scenes that appear in it.","synonyms":["videos","video production","video scripts","shots","storyboard","characters and scenes"],"models":["@happyvertical/smrt-video:VideoComposition","@happyvertical/smrt-video:VideoSequence","@happyvertical/smrt-video:VideoShot","@happyvertical/smrt-video:Character","@happyvertical/smrt-video:Scene"],"nav":[{"label":"Videos","model":"@happyvertical/smrt-video:VideoComposition","icon":"layers","description":"Each finished video you are putting together.","noun":"video"},{"label":"Sequences","model":"@happyvertical/smrt-video:VideoSequence","icon":"folder","description":"The parts of a video, in the order they play.","noun":"sequence"},{"label":"Shots","model":"@happyvertical/smrt-video:VideoShot","icon":"fileText","description":"Each clip in a sequence, with the words spoken in it.","noun":"shot"},{"label":"Characters","model":"@happyvertical/smrt-video:Character","icon":"users","description":"The on-screen presenters, with their look and voice.","noun":"character"},{"label":"Scenes","model":"@happyvertical/smrt-video:Scene","icon":"home","description":"The backgrounds your characters appear in front of.","noun":"scene"}],"requires":[],"section":{"id":"publish","label":"Publish","icon":"fileText","description":"What you write, record and put out."},"options":{"@happyvertical/smrt-video:VideoComposition":{"fields":{"name":{"order":1},"description":{"order":2},"fps":{"label":"Frames per second","order":3},"width":{"order":4},"height":{"order":5},"durationInFrames":{"label":"Length in frames","order":6},"renderStatus":{"label":"Render status","order":7},"renderProgress":{"label":"Render progress","order":8},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:VideoSequence":{"fields":{"name":{"order":1},"compositionId":{"label":"Video","order":2},"position":{"label":"Order","order":3},"description":{"order":4},"durationInFrames":{"label":"Length in frames","order":5},"transitionType":{"label":"Transition to next","order":6},"transitionDurationFrames":{"label":"Transition length in frames","visibility":"advanced"},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:VideoShot":{"fields":{"name":{"order":1},"sequenceId":{"label":"Sequence","order":2},"position":{"label":"Order","order":3},"scriptText":{"label":"Script","order":4},"sceneId":{"label":"Scene","order":5},"targetDuration":{"label":"Target length in seconds","order":6},"durationInFrames":{"label":"Length in frames","order":7},"shotStatus":{"label":"Status","order":8},"description":{"visibility":"advanced"},"progress":{"visibility":"advanced"},"statusMessage":{"label":"Status message","visibility":"advanced"},"errorMessage":{"label":"Error message","visibility":"advanced"},"scriptWordCount":{"label":"Words in script","visibility":"advanced"},"trimBeforeFrames":{"label":"Trim from start in frames","visibility":"advanced"},"trimAfterFrames":{"label":"Trim from end in frames","visibility":"advanced"},"videoMetadata":{"visibility":"hidden"},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:Character":{"fields":{"name":{"order":1},"description":{"order":2},"imageAssetId":{"label":"Picture","order":3},"voiceProfileId":{"label":"Voice","order":4},"defaultSceneId":{"label":"Usual scene","order":5},"status":{"order":6},"performerId":{"label":"Performer","visibility":"advanced"},"baseMotionAssetId":{"label":"Base motion video","visibility":"advanced"},"profileId":{"label":"Profile","visibility":"advanced"},"brandingKit":{"visibility":"hidden"},"sceneConfigs":{"visibility":"hidden"},"tenantId":{"visibility":"hidden"}}},"@happyvertical/smrt-video:Scene":{"fields":{"name":{"order":1},"description":{"order":2},"sourceType":{"label":"Kind of background","order":3},"sourceAssetId":{"label":"Background picture or video","order":4},"status":{"order":5},"projection":{"visibility":"advanced"},"location":{"visibility":"hidden"},"viewpoints":{"visibility":"hidden"},"lightingProfile":{"visibility":"hidden"},"anchorPoints":{"visibility":"hidden"},"tenantId":{"visibility":"hidden"}}}},"help":{"markdown":"## Overview\\n\\nVideo is where you plan a video before it is made. A video is built from\\nsequences, the parts that play one after another, and each sequence is built\\nfrom shots, the single clips with the words spoken in them. Characters are the\\npresenters who appear on screen, each with a picture and a voice, and scenes\\nare the backgrounds they stand in front of.\\n\\nYou write and arrange everything here. Making the clips and putting the\\nfinished video together is done by a rendering service, so the screens show\\nwhere each shot and video stands rather than letting you set that by hand.\\n\\n## Tasks\\n\\n### Start a new video\\n\\n1. Open the list of videos and choose **New**.\\n2. Give it a **{field:VideoComposition.name}** and a short **{field:VideoComposition.description}**.\\n3. Set the **{field:VideoComposition.fps}** and the picture size with **{field:VideoComposition.width}** and **{field:VideoComposition.height}**.\\n4. Save. The **{field:VideoComposition.durationInFrames}** fills in as you add sequences, and **{field:VideoComposition.renderStatus}** shows whether the finished video is still a draft, being rendered, ready or failed.\\n\\n### Break a video into sequences\\n\\n1. Open the list of sequences and choose **New**.\\n2. Give the sequence a **{field:VideoSequence.name}** and pick the **{field:VideoSequence.compositionId}** it belongs to.\\n3. Set the **{field:VideoSequence.position}** so the sequences play in the order you want.\\n4. Choose a **{field:VideoSequence.transitionType}** if you want a fade, slide or wipe into the next sequence instead of a straight cut.\\n5. Save. The **{field:VideoSequence.durationInFrames}** adds up from the shots you put in it.\\n\\n### Write a shot\\n\\n1. Open the list of shots and choose **New**.\\n2. Give the shot a **{field:VideoShot.name}**, then pick the **{field:VideoShot.sequenceId}** it belongs to and its **{field:VideoShot.position}** within it.\\n3. Type the words to be spoken in **{field:VideoShot.scriptText}**.\\n4. Pick the **{field:VideoShot.sceneId}** the shot is filmed in.\\n5. Set the **{field:VideoShot.targetDuration}** you are aiming for. Roughly two to three words fill a second.\\n6. Save. Once the clip is made, **{field:VideoShot.durationInFrames}** shows its real length and **{field:VideoShot.shotStatus}** shows where it stands.\\n\\n### Change or remove a shot\\n\\n1. Open the shot from the list of shots.\\n2. Edit the **{field:VideoShot.scriptText}** or any other detail and save. Edit a sequence or a video the same way.\\n3. To take a shot out, remove it. Removing a sequence or a video is done from its own list.\\n\\n### Add a character\\n\\n1. Open the list of characters and choose **New**.\\n2. Give the character a **{field:Character.name}** and describe them in **{field:Character.description}**.\\n3. Choose the **{field:Character.imageAssetId}** they are built from and the **{field:Character.voiceProfileId}** they speak with.\\n4. Pick the **{field:Character.defaultSceneId}** they usually appear in.\\n5. Save. **{field:Character.status}** shows when the character is ready to use in shots.\\n\\n### Add a scene\\n\\n1. Open the list of scenes and choose **New**.\\n2. Give the scene a **{field:Scene.name}** and say what it shows in **{field:Scene.description}**.\\n3. Choose the **{field:Scene.sourceType}** and pick the **{field:Scene.sourceAssetId}** it is made from.\\n4. Save. **{field:Scene.status}** shows when the scene is ready to be used in shots.\\n","fieldRefs":["Character.defaultSceneId","Character.description","Character.imageAssetId","Character.name","Character.status","Character.voiceProfileId","Scene.description","Scene.name","Scene.sourceAssetId","Scene.sourceType","Scene.status","VideoComposition.description","VideoComposition.durationInFrames","VideoComposition.fps","VideoComposition.height","VideoComposition.name","VideoComposition.renderStatus","VideoComposition.width","VideoSequence.compositionId","VideoSequence.durationInFrames","VideoSequence.name","VideoSequence.position","VideoSequence.transitionType","VideoShot.durationInFrames","VideoShot.name","VideoShot.position","VideoShot.sceneId","VideoShot.scriptText","VideoShot.sequenceId","VideoShot.shotStatus","VideoShot.targetDuration"]},"demo":{"mode":"server","reasons":["Needs a server because its package does not build for a browser: documents/spider SDK graph; CJS parse error; and its package depends on @happyvertical/smrt-agents, @happyvertical/smrt-chat, @happyvertical/smrt-content, @happyvertical/smrt-images, @happyvertical/smrt-jobs, @happyvertical/smrt-profiles, @happyvertical/smrt-reports, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, @happyvertical/smrt-voice, which do not build for a browser (#3615, #3617, #3624, #3625, #3626, #3627, #3628)."]}}],"smrtDependencies":["@happyvertical/smrt-assets","@happyvertical/smrt-content","@happyvertical/smrt-core","@happyvertical/smrt-profiles","@happyvertical/smrt-tenancy","@happyvertical/smrt-voice"],"browser":{"status":"server-only","issues":["#3615","#3617","#3624","#3625","#3626","#3627","#3628"],"reason":"documents/spider SDK graph; CJS parse error","via":["@happyvertical/smrt-agents","@happyvertical/smrt-chat","@happyvertical/smrt-content","@happyvertical/smrt-images","@happyvertical/smrt-jobs","@happyvertical/smrt-profiles","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users","@happyvertical/smrt-voice"]},"stampsConstructors":true}`));
|
|
22
|
+
ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-video","packageVersion":"0.57.45","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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"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","enum":["seed-image","base-motion","logo"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"CharacterAsset","collectionExportName":"CharacterAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"7965832a"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"characters","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"c032f70e"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["seed-image","base-motion","logo"]},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"c032f70e"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Character":{"name":"character","className":"Character","qualifiedName":"@happyvertical/smrt-video:Character","collection":"characters","description":"Virtual character for AI-powered video production","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":"What the character is called.","_meta":{"description":"What the character is called."}},"description":{"type":"text","required":false,"description":"Who this character is and how they come across on screen.","_meta":{"description":"Who this character is and how they come across on screen."}},"imageAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset","description":"The picture the character is built from.","_meta":{"description":"The picture the character is built from."}},"baseMotionAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"voiceProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-voice:VoiceProfile","description":"The voice the character speaks with.","_meta":{"description":"The voice the character speaks with."}},"brandingKit":{"type":"json","required":false},"status":{"type":"text","required":false,"default":"pending","description":"Whether the character is ready to appear in shots.","_meta":{"description":"Whether the character is ready to appear in shots."},"enum":["pending","ready"]},"performerId":{"type":"foreignKey","required":false,"related":"Performer"},"defaultSceneId":{"type":"foreignKey","required":false,"related":"Scene","description":"The scene the character usually appears in.","_meta":{"description":"The scene the character usually appears in."}},"sceneConfigs":{"type":"json","required":false,"default":[]},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile"}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Character","collectionExportName":"CharacterCollection","displayLabelField":"name","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,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"default_scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"eae4aae5"},"importPath":"@happyvertical/smrt-video"},"@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":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"Character","exportName":"CharacterCollection","collectionExportName":"CharacterCollectionCollection","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,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"default_scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"eae4aae5"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:CompositeJob":{"name":"compositejob","className":"CompositeJob","qualifiedName":"@happyvertical/smrt-video:CompositeJob","collection":"compositejobs","description":"Composite job for tracking virtual production compositing","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","enum":["pending","removing_bg","analyzing_light","compositing","complete","failed"]},"progress":{"type":"integer","required":false,"default":0},"outputAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"errorMessage":{"type":"text","required":false}},"methods":{},"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4c7689a3"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"performerId":{"type":"foreignKey","required":false,"related":"Performer"},"role":{"type":"text","required":false,"default":"reference","enum":["reference","seed"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"PerformerAsset","collectionExportName":"PerformerAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"4de881c3"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"performers","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"9a402665"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["reference","seed"]},"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,"foreignKey":{"table":"performers","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"9a402665"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Performer":{"name":"performer","className":"Performer","qualifiedName":"@happyvertical/smrt-video:Performer","collection":"performers","description":"The physical likeness/face DNA","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","enum":["pending","ready"]},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile"}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Performer","collectionExportName":"PerformerCollection","displayLabelField":"name","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,"nullsNotDistinct":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"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"sceneId":{"type":"foreignKey","required":false,"related":"Scene"},"role":{"type":"text","required":false,"default":"source","enum":["source","viewpoint-extract","env-map"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"SceneAsset","collectionExportName":"SceneAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"ef4abd1e"},"importPath":"@happyvertical/smrt-video"},"@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":{"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},"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},"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 \\"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"68f91ceb"},"importPath":"@happyvertical/smrt-video"},"@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},"enum":["source","viewpoint-extract","env-map"]},"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,"foreignKey":{"table":"scenes","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"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":"68f91ceb"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:Scene":{"name":"scene","className":"Scene","qualifiedName":"@happyvertical/smrt-video:Scene","collection":"scenes","description":"Scene for virtual production compositing","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":"What the scene is called.","_meta":{"description":"What the scene is called."}},"description":{"type":"text","required":false,"description":"What the scene shows.","_meta":{"description":"What the scene shows."}},"sourceAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset","description":"The picture or video the scene is made from.","_meta":{"description":"The picture or video the scene is made from."}},"sourceType":{"type":"text","required":false,"default":"image","description":"What kind of file the scene is made from: a picture, a video or a wrap-around panorama.","_meta":{"description":"What kind of file the scene is made from: a picture, a video or a wrap-around panorama."},"enum":["image","video","panorama_360","panorama_180"]},"projection":{"type":"text","required":false,"enum":["equirectangular","cubemap"]},"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","description":"Whether the scene is ready to be used in shots.","_meta":{"description":"Whether the scene is ready to be used in shots."},"enum":["pending","processing","ready","failed"]}},"methods":{"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":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Scene","collectionExportName":"SceneCollection","displayLabelField":"name","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,"nullsNotDistinct":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"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoCompositionId":{"type":"foreignKey","required":false,"related":"VideoComposition"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoCompositionAsset","collectionExportName":"VideoCompositionAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"76dc9f2b"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoComposition":{"name":"videocomposition","className":"VideoComposition","qualifiedName":"@happyvertical/smrt-video:VideoComposition","collection":"contents","description":"Publishable video composition","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"fps":{"type":"integer","required":false,"default":30,"description":"How many frames of video play each second, usually 30.","_meta":{"description":"How many frames of video play each second, usually 30."}},"width":{"type":"integer","required":false,"default":1920,"description":"The width of the finished video in pixels, such as 1920.","_meta":{"description":"The width of the finished video in pixels, such as 1920."}},"height":{"type":"integer","required":false,"default":1080,"description":"The height of the finished video in pixels, such as 1080.","_meta":{"description":"The height of the finished video in pixels, such as 1080."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the whole video runs, counted in frames. It adds up from the sequences.","_meta":{"description":"How long the whole video runs, counted in frames. It adds up from the sequences."}},"renderStatus":{"type":"text","required":false,"default":"draft","description":"Where the finished video stands: draft, rendering, ready or failed.","_meta":{"description":"Where the finished video stands: draft, rendering, ready or failed."},"enum":["draft","rendering","ready","failed"]},"renderProgress":{"type":"integer","required":false,"default":0,"description":"How far along the render is, from 0 to 100.","_meta":{"description":"How far along the render is, from 0 to 100."}}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoComposition","collectionExportName":"VideoCompositionCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"8f49f941"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"8f49f941"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoSequenceId":{"type":"foreignKey","required":false,"related":"VideoSequence"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoSequenceAsset","collectionExportName":"VideoSequenceAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"53fd6fda"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoSequence":{"name":"videosequence","className":"VideoSequence","qualifiedName":"@happyvertical/smrt-video:VideoSequence","collection":"contents","description":"Thematic section of a video composition","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"compositionId":{"type":"foreignKey","required":false,"related":"VideoComposition","description":"The video this sequence is part of.","_meta":{"description":"The video this sequence is part of."}},"position":{"type":"integer","required":false,"default":0,"description":"The order of this sequence within its video, counting from the start.","_meta":{"description":"The order of this sequence within its video, counting from the start."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the sequence runs in frames. It adds up from its shots.","_meta":{"description":"How long the sequence runs in frames. It adds up from its shots."}},"transitionType":{"type":"text","required":false,"default":"none","description":"How this sequence hands over to the next one: a straight cut, a fade, a slide or a wipe.","_meta":{"description":"How this sequence hands over to the next one: a straight cut, a fade, a slide or a wipe."},"enum":["none","fade","slide","wipe"]},"transitionDurationFrames":{"type":"integer","required":false,"default":0,"description":"How many frames the hand-over to the next sequence overlaps.","_meta":{"description":"How many frames the hand-over to the next sequence overlaps."}}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoSequence","collectionExportName":"VideoSequenceCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"6a019937"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"6a019937"},"importPath":"@happyvertical/smrt-video"},"@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}}},"accessMode":{"type":"text","required":false,"default":"public","description":"Whether this record is public to ordinary asset APIs or private.","_meta":{"description":"Whether this record is public to ordinary asset APIs or private."},"enum":["public","private"]},"name":{"type":"text","required":false,"description":"A recognizable name for this file or media item.","_meta":{"description":"A recognizable name for this file or media item."}},"sourceUri":{"type":"text","required":false,"description":"Where the original file is stored or can be retrieved.","_meta":{"description":"Where the original file is stored or can be retrieved."}},"mimeType":{"type":"text","required":false,"description":"The file format, such as image/jpeg or application/pdf.","_meta":{"description":"The file format, such as image/jpeg or application/pdf."}},"description":{"type":"text","required":false,"description":"Explain what the file contains and when it should be used.","_meta":{"description":"Explain what the file contains and when it should be used."}},"metadata":{"type":"text","required":false,"description":"Additional details recorded while processing this file.","_meta":{"description":"Additional details recorded while processing this file."}},"version":{"type":"integer","required":true,"default":1,"description":"The revision number of this file in its version history.","_meta":{"description":"The revision number of this file in its version history."}},"primaryVersionId":{"type":"foreignKey","required":false,"related":"Asset","description":"The first version of this file, linking its revision history.","_meta":{"description":"The first version of this file, linking its revision history."}},"typeSlug":{"type":"text","required":false,"description":"The category of asset, such as an image, video, or document.","_meta":{"description":"The category of asset, such as an image, video, or document."}},"statusSlug":{"type":"text","required":false,"description":"The stage of this asset, such as draft, published, or archived.","_meta":{"description":"The stage of this asset, such as draft, published, or archived."}},"ownerProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","description":"The person or organization responsible for this asset.","_meta":{"description":"The person or organization responsible for this asset."}},"sourceAssetId":{"type":"foreignKey","required":false,"related":"Asset","description":"The original asset used to produce this file or variation.","_meta":{"description":"The original asset used to produce this file or variation."}},"folderId":{"type":"foreignKey","required":false,"related":"Folder","description":"The folder that organizes this file in the asset library.","_meta":{"description":"The folder that organizes this file in the asset library."}},"sourceType":{"type":"text","required":false,"description":"The service or source from which this file was obtained.","_meta":{"description":"The service or source from which this file was obtained."}},"externalId":{"type":"text","required":false,"description":"The reference used to identify this file at its original source.","_meta":{"description":"The reference used to identify this file at its original source."}},"externalRefs":{"type":"text","required":false,"description":"References that connect this file to copies held by other services.","_meta":{"description":"References that connect this file to copies held by other services."}},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"videoShotId":{"type":"foreignKey","required":false,"related":"VideoShot"},"role":{"type":"text","required":false,"default":"video","enum":["video","audio","thumbnail"]}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"mergeMetadata":{"name":"mergeMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown>","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,"typeUnresolved":true}],"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},{"name":"context","type":"string","optional":true}],"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":{"skipApiCheck":true},"tableName":"assets","tableStrategy":"sti"},"extends":"Asset","extendsQualified":"@happyvertical/smrt-assets:Asset","exportName":"VideoShotAsset","collectionExportName":"VideoShotAssetCollection","displayLabelField":"name","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 \\"access_mode\\" TEXT DEFAULT 'public',\\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},"access_mode":{"type":"TEXT","notNull":false,"default":"public"},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"assets","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"role":{"type":"TEXT","notNull":false,"default":"seed-image"},"performer_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"performers","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_composition_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_sequence_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"video_shot_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"assets_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":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":"cc103113"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoShotCharacter":{"name":"videoshotcharacter","className":"VideoShotCharacter","qualifiedName":"@happyvertical/smrt-video:VideoShotCharacter","collection":"videoshotcharacters","description":"Join model linking a VideoShot to a Character","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","enum":["primary","secondary","background"]},"position":{"type":"integer","required":false,"default":0}},"methods":{},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"character_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4846f081"},"importPath":"@happyvertical/smrt-video"},"@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":{"api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"VideoShotCharacter","exportName":"VideoShotCharacterCollection","collectionExportName":"VideoShotCharacterCollectionCollection","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"character_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"characters","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"4846f081"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoShot":{"name":"videoshot","className":"VideoShot","qualifiedName":"@happyvertical/smrt-video:VideoShot","collection":"contents","description":"Atomic video generation unit","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,"description":"What kind of piece this is, such as an article or a document.","_meta":{"description":"What kind of piece this is, such as an article or a document."}},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false,"description":"Who wrote this piece.","_meta":{"description":"Who wrote this piece."}},"name":{"type":"text","required":true,"default":"","description":"A short name used to find this piece in lists.","_meta":{"required":true,"description":"A short name used to find this piece in lists."}},"title":{"type":"text","required":false,"description":"The headline readers see.","_meta":{"description":"The headline readers see."}},"description":{"type":"text","required":false,"description":"A one or two sentence summary of the piece.","_meta":{"description":"A one or two sentence summary of the piece."}},"body":{"type":"text","required":false,"description":"The full text of the piece.","_meta":{"description":"The full text of the piece."}},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false,"description":"The date the piece went out, or is due to go out.","_meta":{"description":"The date the piece went out, or is due to go out."}},"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":[],"description":"Words that group pieces by subject.","_meta":{"description":"Words that group pieces by subject."}},"category":{"type":"text","required":false,"description":"The one section the piece belongs to, such as news or local.","_meta":{"description":"The one section the piece belongs to, such as news or local."}},"status":{"type":"text","required":false,"default":"draft","description":"Where the piece stands: draft, in review, published or archived.","_meta":{"description":"Where the piece stands: draft, in review, published or archived."},"enum":["published","draft","review","archived","deleted"]},"state":{"type":"text","required":false,"default":"active","enum":["deprecated","active","highlighted"]},"metadata":{"type":"json","required":false,"default":{}},"thumbnailAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"sequenceId":{"type":"foreignKey","required":false,"related":"VideoSequence","description":"The sequence this shot belongs to.","_meta":{"description":"The sequence this shot belongs to."}},"sceneId":{"type":"foreignKey","required":false,"related":"Scene","description":"The background scene this shot is filmed in.","_meta":{"description":"The background scene this shot is filmed in."}},"position":{"type":"integer","required":false,"default":0,"description":"The order of this shot within its sequence, counting from the start.","_meta":{"description":"The order of this shot within its sequence, counting from the start."}},"durationInFrames":{"type":"integer","required":false,"default":0,"description":"How long the finished clip runs in frames.","_meta":{"description":"How long the finished clip runs in frames."}},"trimBeforeFrames":{"type":"integer","required":false,"default":0},"trimAfterFrames":{"type":"integer","required":false,"default":0},"scriptText":{"type":"text","required":false,"default":"","description":"The words spoken in this shot.","_meta":{"description":"The words spoken in this shot."}},"scriptWordCount":{"type":"integer","required":false,"default":0},"targetDuration":{"type":"integer","required":false,"default":30,"description":"How long you want the shot to be, in seconds.","_meta":{"description":"How long you want the shot to be, in seconds."}},"shotStatus":{"type":"text","required":false,"default":"draft","description":"Where the shot stands: draft, queued, processing, ready, failed or published.","_meta":{"description":"Where the shot stands: draft, queued, processing, ready, failed or published."},"enum":["draft","queued","processing","ready","failed","published"]},"progress":{"type":"integer","required":false,"default":0},"errorMessage":{"type":"text","required":false},"statusMessage":{"type":"text","required":false},"videoMetadata":{"type":"json","required":false}},"methods":{"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"any","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,"unionBranches":[{"type":"Content"},{"type":"string"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number | null"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"getFacts":{"name":"getFacts","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FactContentRelationship","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"addFact":{"name":"addFact","async":true,"parameters":[{"name":"fact","type":"Fact | string","optional":false,"unionBranches":[{"type":"Fact"},{"type":"string"}]},{"name":"relationship","type":"FactContentRelationship","optional":true},{"name":"metadata","type":"Record<string, unknown>","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,"memberTypes":["number","boolean"]}],"returnType":"Promise<Fact[]>","isStatic":false,"isPublic":true},"repairFactAudit":{"name":"repairFactAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"returnType":"any","isStatic":false,"isPublic":true},"repairFactAuditAction":{"name":"repairFactAuditAction","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["number","string"]}],"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,"memberTypes":["FactContentRelationship"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFactsState":{"name":"syncFactsState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","FactContentRelationship"]}],"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,"typeUnresolved":true}],"returnType":"any","isStatic":false,"isPublic":true},"listReviews":{"name":"listReviews","async":true,"parameters":[{"name":"options","type":"object","optional":true,"typeUnresolved":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,"memberTypes":["string"]}],"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,"typeUnresolved":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},"getAssetIds":{"name":"getAssetIds","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<string[]>","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, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"metadata","type":"Record<string, unknown> | null | undefined","optional":false,"unionBranches":[{"type":"Record<string, unknown>"},{"type":"null"},{"type":"undefined"}]}],"returnType":"void","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":false,"parameters":[{"name":"patch","type":"Partial<Record<string, unknown>>","optional":false}],"returnType":"Record<string, unknown>","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","extendsQualified":"@happyvertical/smrt-content:Content","exportName":"VideoShot","collectionExportName":"VideoShotCollection","displayLabelField":"name","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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"08a96b6e"},"importPath":"@happyvertical/smrt-video"},"@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","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"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 \\"_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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"foreignKey":{"table":"contents","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"scene_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"scenes","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"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,"nullsNotDistinct":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":"08a96b6e"},"importPath":"@happyvertical/smrt-video"},"@happyvertical/smrt-video:VideoWorkflow":{"name":"videoworkflow","className":"VideoWorkflow","qualifiedName":"@happyvertical/smrt-video:VideoWorkflow","collection":"videoworkflows","description":"ComfyUI workflow template for video generation","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","enum":["prebake","broadcast","lipsync","postprod","custom"]},"workflowJson":{"type":"text","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":{"injectParameters":{"name":"injectParameters","async":false,"parameters":[{"name":"params","type":"Record<string, unknown>","optional":false}],"returnType":"any","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"VideoWorkflow","collectionExportName":"VideoWorkflowCollection","displayLabelField":"name","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\\" TEXT,\\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":"TEXT","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,"nullsNotDistinct":true},{"name":"video_workflows_meta_type_idx","columns":["_meta_type"]},{"name":"video_workflows_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"e836b1f6"},"importPath":"@happyvertical/smrt-video"}},"moduleType":"smrt","recipes":[{"id":"video.library","className":"VideoLibraryRecipe","label":"Video","summary":"Plan each video as sequences and shots, with the characters and scenes that appear in it.","synonyms":["videos","video production","video scripts","shots","storyboard","characters and scenes"],"models":["@happyvertical/smrt-video:VideoComposition","@happyvertical/smrt-video:VideoSequence","@happyvertical/smrt-video:VideoShot","@happyvertical/smrt-video:Character","@happyvertical/smrt-video:Scene"],"nav":[{"label":"Videos","model":"@happyvertical/smrt-video:VideoComposition","icon":"layers","description":"Each finished video you are putting together.","noun":"video"},{"label":"Sequences","model":"@happyvertical/smrt-video:VideoSequence","icon":"folder","description":"The parts of a video, in the order they play.","noun":"sequence"},{"label":"Shots","model":"@happyvertical/smrt-video:VideoShot","icon":"fileText","description":"Each clip in a sequence, with the words spoken in it.","noun":"shot"},{"label":"Characters","model":"@happyvertical/smrt-video:Character","icon":"users","description":"The on-screen presenters, with their look and voice.","noun":"character"},{"label":"Scenes","model":"@happyvertical/smrt-video:Scene","icon":"home","description":"The backgrounds your characters appear in front of.","noun":"scene"}],"requires":[],"section":{"id":"publish","label":"Publish","icon":"fileText","description":"What you write, record and put out."},"options":{"@happyvertical/smrt-video:VideoComposition":{"fields":{"name":{"order":1},"description":{"order":2},"fps":{"label":"Frames per second","order":3},"width":{"order":4},"height":{"order":5},"durationInFrames":{"label":"Length in frames","order":6},"renderStatus":{"label":"Render status","order":7},"renderProgress":{"label":"Render progress","order":8},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:VideoSequence":{"fields":{"name":{"order":1},"compositionId":{"label":"Video","order":2},"position":{"label":"Order","order":3},"description":{"order":4},"durationInFrames":{"label":"Length in frames","order":5},"transitionType":{"label":"Transition to next","order":6},"transitionDurationFrames":{"label":"Transition length in frames","visibility":"advanced"},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:VideoShot":{"fields":{"name":{"order":1},"sequenceId":{"label":"Sequence","order":2},"position":{"label":"Order","order":3},"scriptText":{"label":"Script","order":4},"sceneId":{"label":"Scene","order":5},"targetDuration":{"label":"Target length in seconds","order":6},"durationInFrames":{"label":"Length in frames","order":7},"shotStatus":{"label":"Status","order":8},"description":{"visibility":"advanced"},"progress":{"visibility":"advanced"},"statusMessage":{"label":"Status message","visibility":"advanced"},"errorMessage":{"label":"Error message","visibility":"advanced"},"scriptWordCount":{"label":"Words in script","visibility":"advanced"},"trimBeforeFrames":{"label":"Trim from start in frames","visibility":"advanced"},"trimAfterFrames":{"label":"Trim from end in frames","visibility":"advanced"},"videoMetadata":{"visibility":"hidden"},"title":{"visibility":"advanced"},"body":{"label":"Notes","visibility":"advanced"},"author":{"visibility":"advanced"},"publish_date":{"label":"Publish date","visibility":"advanced"},"url":{"label":"Web address","visibility":"advanced"},"language":{"visibility":"advanced"},"tags":{"visibility":"advanced"},"category":{"visibility":"advanced"},"status":{"label":"Publishing status","visibility":"advanced"},"thumbnailAssetId":{"label":"Thumbnail","visibility":"advanced"},"tenantId":{"visibility":"hidden"},"type":{"visibility":"hidden"},"variant":{"visibility":"hidden"},"fileKey":{"visibility":"hidden"},"bodyFormat":{"visibility":"hidden"},"source":{"visibility":"hidden"},"original_url":{"visibility":"hidden"},"state":{"visibility":"hidden"},"metadata":{"visibility":"hidden"}}},"@happyvertical/smrt-video:Character":{"fields":{"name":{"order":1},"description":{"order":2},"imageAssetId":{"label":"Picture","order":3},"voiceProfileId":{"label":"Voice","order":4},"defaultSceneId":{"label":"Usual scene","order":5},"status":{"order":6},"performerId":{"label":"Performer","visibility":"advanced"},"baseMotionAssetId":{"label":"Base motion video","visibility":"advanced"},"profileId":{"label":"Profile","visibility":"advanced"},"brandingKit":{"visibility":"hidden"},"sceneConfigs":{"visibility":"hidden"},"tenantId":{"visibility":"hidden"}}},"@happyvertical/smrt-video:Scene":{"fields":{"name":{"order":1},"description":{"order":2},"sourceType":{"label":"Kind of background","order":3},"sourceAssetId":{"label":"Background picture or video","order":4},"status":{"order":5},"projection":{"visibility":"advanced"},"location":{"visibility":"hidden"},"viewpoints":{"visibility":"hidden"},"lightingProfile":{"visibility":"hidden"},"anchorPoints":{"visibility":"hidden"},"tenantId":{"visibility":"hidden"}}}},"help":{"markdown":"## Overview\\n\\nVideo is where you plan a video before it is made. A video is built from\\nsequences, the parts that play one after another, and each sequence is built\\nfrom shots, the single clips with the words spoken in them. Characters are the\\npresenters who appear on screen, each with a picture and a voice, and scenes\\nare the backgrounds they stand in front of.\\n\\nYou write and arrange everything here. Making the clips and putting the\\nfinished video together is done by a rendering service, so the screens show\\nwhere each shot and video stands rather than letting you set that by hand.\\n\\n## Tasks\\n\\n### Start a new video\\n\\n1. Open the list of videos and choose **New**.\\n2. Give it a **{field:VideoComposition.name}** and a short **{field:VideoComposition.description}**.\\n3. Set the **{field:VideoComposition.fps}** and the picture size with **{field:VideoComposition.width}** and **{field:VideoComposition.height}**.\\n4. Save. The **{field:VideoComposition.durationInFrames}** fills in as you add sequences, and **{field:VideoComposition.renderStatus}** shows whether the finished video is still a draft, being rendered, ready or failed.\\n\\n### Break a video into sequences\\n\\n1. Open the list of sequences and choose **New**.\\n2. Give the sequence a **{field:VideoSequence.name}** and pick the **{field:VideoSequence.compositionId}** it belongs to.\\n3. Set the **{field:VideoSequence.position}** so the sequences play in the order you want.\\n4. Choose a **{field:VideoSequence.transitionType}** if you want a fade, slide or wipe into the next sequence instead of a straight cut.\\n5. Save. The **{field:VideoSequence.durationInFrames}** adds up from the shots you put in it.\\n\\n### Write a shot\\n\\n1. Open the list of shots and choose **New**.\\n2. Give the shot a **{field:VideoShot.name}**, then pick the **{field:VideoShot.sequenceId}** it belongs to and its **{field:VideoShot.position}** within it.\\n3. Type the words to be spoken in **{field:VideoShot.scriptText}**.\\n4. Pick the **{field:VideoShot.sceneId}** the shot is filmed in.\\n5. Set the **{field:VideoShot.targetDuration}** you are aiming for. Roughly two to three words fill a second.\\n6. Save. Once the clip is made, **{field:VideoShot.durationInFrames}** shows its real length and **{field:VideoShot.shotStatus}** shows where it stands.\\n\\n### Change or remove a shot\\n\\n1. Open the shot from the list of shots.\\n2. Edit the **{field:VideoShot.scriptText}** or any other detail and save. Edit a sequence or a video the same way.\\n3. To take a shot out, remove it. Removing a sequence or a video is done from its own list.\\n\\n### Add a character\\n\\n1. Open the list of characters and choose **New**.\\n2. Give the character a **{field:Character.name}** and describe them in **{field:Character.description}**.\\n3. Choose the **{field:Character.imageAssetId}** they are built from and the **{field:Character.voiceProfileId}** they speak with.\\n4. Pick the **{field:Character.defaultSceneId}** they usually appear in.\\n5. Save. **{field:Character.status}** shows when the character is ready to use in shots.\\n\\n### Add a scene\\n\\n1. Open the list of scenes and choose **New**.\\n2. Give the scene a **{field:Scene.name}** and say what it shows in **{field:Scene.description}**.\\n3. Choose the **{field:Scene.sourceType}** and pick the **{field:Scene.sourceAssetId}** it is made from.\\n4. Save. **{field:Scene.status}** shows when the scene is ready to be used in shots.\\n","fieldRefs":["Character.defaultSceneId","Character.description","Character.imageAssetId","Character.name","Character.status","Character.voiceProfileId","Scene.description","Scene.name","Scene.sourceAssetId","Scene.sourceType","Scene.status","VideoComposition.description","VideoComposition.durationInFrames","VideoComposition.fps","VideoComposition.height","VideoComposition.name","VideoComposition.renderStatus","VideoComposition.width","VideoSequence.compositionId","VideoSequence.durationInFrames","VideoSequence.name","VideoSequence.position","VideoSequence.transitionType","VideoShot.durationInFrames","VideoShot.name","VideoShot.position","VideoShot.sceneId","VideoShot.scriptText","VideoShot.sequenceId","VideoShot.shotStatus","VideoShot.targetDuration"]},"demo":{"mode":"server","reasons":["Needs a server because its package does not build for a browser: documents/spider SDK graph; CJS parse error; and its package depends on @happyvertical/smrt-agents, @happyvertical/smrt-chat, @happyvertical/smrt-content, @happyvertical/smrt-images, @happyvertical/smrt-jobs, @happyvertical/smrt-profiles, @happyvertical/smrt-reports, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, @happyvertical/smrt-voice, which do not build for a browser (#3615, #3617, #3624, #3625, #3626, #3627, #3628)."]}}],"smrtDependencies":["@happyvertical/smrt-assets","@happyvertical/smrt-content","@happyvertical/smrt-core","@happyvertical/smrt-profiles","@happyvertical/smrt-tenancy","@happyvertical/smrt-voice"],"browser":{"status":"server-only","issues":["#3615","#3617","#3624","#3625","#3626","#3627","#3628"],"reason":"documents/spider SDK graph; CJS parse error","via":["@happyvertical/smrt-agents","@happyvertical/smrt-chat","@happyvertical/smrt-content","@happyvertical/smrt-images","@happyvertical/smrt-jobs","@happyvertical/smrt-profiles","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users","@happyvertical/smrt-voice"]},"stampsConstructors":true}`));
|
|
23
23
|
//#endregion
|
|
24
24
|
//#region src/character.ts
|
|
25
25
|
var __defProp$18 = Object.defineProperty;
|