@happyvertical/smrt-video 0.57.35 → 0.57.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as listLegacyOwnedAssetIds, i as listCanonicalOwnedAssetIds, n as assertValidVideoAssetSortOrder, o as mergeOwnedAssetIds, r as legacyVideoAssetMetaTypes, s as resolveOwnedAssets, t as assertValidVideoAssetRole } from "./chunks/owned-asset-utils-Da0Tlhhl.js";
2
2
  import { t as Performer } from "./chunks/performer-BQGF7kvt.js";
3
- import { t as Scene } from "./chunks/scene-CaTaDyex.js";
4
- import { ObjectRegistry, SmrtCollection, SmrtJunction, SmrtObject, crossPackageRef, field, foreignKey, smrt } from "@happyvertical/smrt-core";
3
+ import { t as Scene } from "./chunks/scene-CajvYwN3.js";
4
+ import { ObjectRegistry, SmrtCollection, SmrtJunction, SmrtObject, SmrtRecipe, crossPackageRef, field, foreignKey, smrt } from "@happyvertical/smrt-core";
5
5
  import { TenantScoped, queryGlobal, tenantId } from "@happyvertical/smrt-tenancy";
6
6
  import { Asset, persistMediaBundleInspection } from "@happyvertical/smrt-assets";
7
7
  import { Content } from "@happyvertical/smrt-content";
@@ -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.35","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":{"type":"text","required":false},"imageAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"baseMotionAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"voiceProfileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-voice:VoiceProfile"},"brandingKit":{"type":"json","required":false},"status":{"type":"text","required":false,"default":"pending","enum":["pending","ready"]},"performerId":{"type":"foreignKey","required":false,"related":"Performer"},"defaultSceneId":{"type":"foreignKey","required":false,"related":"Scene"},"sceneConfigs":{"type":"json","required":false,"default":[]},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile"}},"methods":{"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":{"type":"text","required":false},"sourceAssetId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-assets:Asset"},"sourceType":{"type":"text","required":false,"default":"image","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","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},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"title":{"type":"text","required":false},"description":{"type":"text","required":false},"body":{"type":"text","required":false},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false},"url":{"type":"text","required":false},"source":{"type":"text","required":false},"original_url":{"type":"text","required":false},"language":{"type":"text","required":false},"tags":{"type":"json","required":false,"default":[]},"category":{"type":"text","required":false},"status":{"type":"text","required":false,"default":"draft","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},"width":{"type":"integer","required":false,"default":1920},"height":{"type":"integer","required":false,"default":1080},"durationInFrames":{"type":"integer","required":false,"default":0},"renderStatus":{"type":"text","required":false,"default":"draft","enum":["draft","rendering","ready","failed"]},"renderProgress":{"type":"integer","required":false,"default":0}},"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},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"title":{"type":"text","required":false},"description":{"type":"text","required":false},"body":{"type":"text","required":false},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false},"url":{"type":"text","required":false},"source":{"type":"text","required":false},"original_url":{"type":"text","required":false},"language":{"type":"text","required":false},"tags":{"type":"json","required":false,"default":[]},"category":{"type":"text","required":false},"status":{"type":"text","required":false,"default":"draft","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"},"position":{"type":"integer","required":false,"default":0},"durationInFrames":{"type":"integer","required":false,"default":0},"transitionType":{"type":"text","required":false,"default":"none","enum":["none","fade","slide","wipe"]},"transitionDurationFrames":{"type":"integer","required":false,"default":0}},"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},"variant":{"type":"text","required":false},"fileKey":{"type":"text","required":false},"author":{"type":"text","required":false},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"title":{"type":"text","required":false},"description":{"type":"text","required":false},"body":{"type":"text","required":false},"bodyFormat":{"type":"text","required":false,"enum":["markdown","html"]},"publish_date":{"type":"datetime","required":false},"url":{"type":"text","required":false},"source":{"type":"text","required":false},"original_url":{"type":"text","required":false},"language":{"type":"text","required":false},"tags":{"type":"json","required":false,"default":[]},"category":{"type":"text","required":false},"status":{"type":"text","required":false,"default":"draft","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"},"sceneId":{"type":"foreignKey","required":false,"related":"Scene"},"position":{"type":"integer","required":false,"default":0},"durationInFrames":{"type":"integer","required":false,"default":0},"trimBeforeFrames":{"type":"integer","required":false,"default":0},"trimAfterFrames":{"type":"integer","required":false,"default":0},"scriptText":{"type":"text","required":false,"default":""},"scriptWordCount":{"type":"integer","required":false,"default":0},"targetDuration":{"type":"integer","required":false,"default":30},"shotStatus":{"type":"text","required":false,"default":"draft","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","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.37","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;
@@ -39,16 +39,13 @@ var __decorateClass$18 = (decorators, target, key, kind) => {
39
39
  var __publicField$18 = (obj, key, value) => __defNormalProp$18(obj, typeof key !== "symbol" ? key + "" : key, value);
40
40
  var Character = class extends SmrtObject {
41
41
  tenantId = null;
42
- /** Human-readable name for the character */
43
42
  name = "";
44
- /** Description of the character persona */
45
43
  description = null;
46
44
  imageAssetId = null;
47
45
  baseMotionAssetId = null;
48
46
  voiceProfileId = null;
49
47
  /** Branding configuration for video overlays */
50
48
  brandingKit = {};
51
- /** Character status */
52
49
  status = "pending";
53
50
  performerId = null;
54
51
  defaultSceneId = null;
@@ -169,11 +166,14 @@ var Character = class extends SmrtObject {
169
166
  };
170
167
  __publicField$18(Character, "__smrtPackage__", "@happyvertical/smrt-video");
171
168
  __decorateClass$18([tenantId({ nullable: true })], Character.prototype, "tenantId", 2);
172
- __decorateClass$18([crossPackageRef("@happyvertical/smrt-assets:Asset")], Character.prototype, "imageAssetId", 2);
169
+ __decorateClass$18([field({ description: "What the character is called." })], Character.prototype, "name", 2);
170
+ __decorateClass$18([field({ description: "Who this character is and how they come across on screen." })], Character.prototype, "description", 2);
171
+ __decorateClass$18([field({ description: "The picture the character is built from." }), crossPackageRef("@happyvertical/smrt-assets:Asset")], Character.prototype, "imageAssetId", 2);
173
172
  __decorateClass$18([crossPackageRef("@happyvertical/smrt-assets:Asset")], Character.prototype, "baseMotionAssetId", 2);
174
- __decorateClass$18([crossPackageRef("@happyvertical/smrt-voice:VoiceProfile")], Character.prototype, "voiceProfileId", 2);
173
+ __decorateClass$18([field({ description: "The voice the character speaks with." }), crossPackageRef("@happyvertical/smrt-voice:VoiceProfile")], Character.prototype, "voiceProfileId", 2);
174
+ __decorateClass$18([field({ description: "Whether the character is ready to appear in shots." })], Character.prototype, "status", 2);
175
175
  __decorateClass$18([foreignKey(() => Performer)], Character.prototype, "performerId", 2);
176
- __decorateClass$18([foreignKey(() => Scene)], Character.prototype, "defaultSceneId", 2);
176
+ __decorateClass$18([field({ description: "The scene the character usually appears in." }), foreignKey(() => Scene)], Character.prototype, "defaultSceneId", 2);
177
177
  __decorateClass$18([crossPackageRef("@happyvertical/smrt-profiles:Profile")], Character.prototype, "profileId", 2);
178
178
  Character = __decorateClass$18([TenantScoped({ mode: "optional" }), smrt({
179
179
  tableStrategy: "sti",
@@ -310,17 +310,11 @@ var __decorateClass$16 = (decorators, target, key, kind) => {
310
310
  };
311
311
  var __publicField$16 = (obj, key, value) => __defNormalProp$16(obj, typeof key !== "symbol" ? key + "" : key, value);
312
312
  var VideoComposition = class extends Content {
313
- /** Frames per second — everything downstream is in frames */
314
313
  fps = 30;
315
- /** Render width in pixels */
316
314
  width = 1920;
317
- /** Render height in pixels */
318
315
  height = 1080;
319
- /** Computed total: sum of sequences minus transition overlaps */
320
316
  durationInFrames = 0;
321
- /** Render status */
322
317
  renderStatus = "draft";
323
- /** Render progress (0-100) */
324
318
  renderProgress = 0;
325
319
  constructor(options = {}) {
326
320
  super({
@@ -365,6 +359,12 @@ var VideoComposition = class extends Content {
365
359
  }
366
360
  };
367
361
  __publicField$16(VideoComposition, "__smrtPackage__", "@happyvertical/smrt-video");
362
+ __decorateClass$16([field({ description: "How many frames of video play each second, usually 30." })], VideoComposition.prototype, "fps", 2);
363
+ __decorateClass$16([field({ description: "The width of the finished video in pixels, such as 1920." })], VideoComposition.prototype, "width", 2);
364
+ __decorateClass$16([field({ description: "The height of the finished video in pixels, such as 1080." })], VideoComposition.prototype, "height", 2);
365
+ __decorateClass$16([field({ description: "How long the whole video runs, counted in frames. It adds up from the sequences." })], VideoComposition.prototype, "durationInFrames", 2);
366
+ __decorateClass$16([field({ description: "Where the finished video stands: draft, rendering, ready or failed." })], VideoComposition.prototype, "renderStatus", 2);
367
+ __decorateClass$16([field({ description: "How far along the render is, from 0 to 100." })], VideoComposition.prototype, "renderProgress", 2);
368
368
  VideoComposition = __decorateClass$16([TenantScoped({ mode: "optional" }), smrt({
369
369
  tableStrategy: "sti",
370
370
  api: { include: [
@@ -378,19 +378,6 @@ VideoComposition = __decorateClass$16([TenantScoped({ mode: "optional" }), smrt(
378
378
  cli: true
379
379
  })], VideoComposition);
380
380
  //#endregion
381
- //#region src/video-compositions.ts
382
- var VideoCompositionCollection = class extends SmrtCollection {
383
- static _itemClass = VideoComposition;
384
- /** Find compositions by render status */
385
- async findByRenderStatus(renderStatus) {
386
- return await this.list({ where: { renderStatus } });
387
- }
388
- /** Find compositions that are ready for publishing */
389
- async findReady() {
390
- return await this.list({ where: { renderStatus: "ready" } });
391
- }
392
- };
393
- //#endregion
394
381
  //#region src/video-sequence.ts
395
382
  var __defProp$15 = Object.defineProperty;
396
383
  var __getOwnPropDesc$15 = Object.getOwnPropertyDescriptor;
@@ -409,13 +396,9 @@ var __decorateClass$15 = (decorators, target, key, kind) => {
409
396
  var __publicField$15 = (obj, key, value) => __defNormalProp$15(obj, typeof key !== "symbol" ? key + "" : key, value);
410
397
  var VideoSequence = class extends Content {
411
398
  compositionId = null;
412
- /** Order within composition */
413
399
  position = 0;
414
- /** Computed duration: sum of shot frames */
415
400
  durationInFrames = 0;
416
- /** Transition type to the next sequence */
417
401
  transitionType = "none";
418
- /** Overlap frames with next sequence for transition */
419
402
  transitionDurationFrames = 0;
420
403
  constructor(options = {}) {
421
404
  super({
@@ -446,7 +429,11 @@ var VideoSequence = class extends Content {
446
429
  }
447
430
  };
448
431
  __publicField$15(VideoSequence, "__smrtPackage__", "@happyvertical/smrt-video");
449
- __decorateClass$15([foreignKey("VideoComposition")], VideoSequence.prototype, "compositionId", 2);
432
+ __decorateClass$15([field({ description: "The video this sequence is part of." }), foreignKey("VideoComposition")], VideoSequence.prototype, "compositionId", 2);
433
+ __decorateClass$15([field({ description: "The order of this sequence within its video, counting from the start." })], VideoSequence.prototype, "position", 2);
434
+ __decorateClass$15([field({ description: "How long the sequence runs in frames. It adds up from its shots." })], VideoSequence.prototype, "durationInFrames", 2);
435
+ __decorateClass$15([field({ description: "How this sequence hands over to the next one: a straight cut, a fade, a slide or a wipe." })], VideoSequence.prototype, "transitionType", 2);
436
+ __decorateClass$15([field({ description: "How many frames the hand-over to the next sequence overlaps." })], VideoSequence.prototype, "transitionDurationFrames", 2);
450
437
  VideoSequence = __decorateClass$15([TenantScoped({ mode: "optional" }), smrt({
451
438
  tableStrategy: "sti",
452
439
  api: { include: [
@@ -460,22 +447,6 @@ VideoSequence = __decorateClass$15([TenantScoped({ mode: "optional" }), smrt({
460
447
  cli: true
461
448
  })], VideoSequence);
462
449
  //#endregion
463
- //#region src/video-sequences.ts
464
- var VideoSequenceCollection = class extends SmrtCollection {
465
- static _itemClass = VideoSequence;
466
- /** Find sequences belonging to a composition, ordered by position */
467
- async findByComposition(compositionId) {
468
- return await this.list({
469
- where: { compositionId },
470
- orderBy: "position ASC"
471
- });
472
- }
473
- /** Find standalone sequences (not in any composition) */
474
- async findStandalone() {
475
- return await this.list({ where: { compositionId: null } });
476
- }
477
- };
478
- //#endregion
479
450
  //#region src/video-shot.ts
480
451
  var __defProp$14 = Object.defineProperty;
481
452
  var __getOwnPropDesc$14 = Object.getOwnPropertyDescriptor;
@@ -495,21 +466,16 @@ var __publicField$14 = (obj, key, value) => __defNormalProp$14(obj, typeof key !
495
466
  var VideoShot = class extends Content {
496
467
  sequenceId = null;
497
468
  sceneId = null;
498
- /** Order within sequence */
499
469
  position = 0;
500
- /** Actual frame count of generated clip */
501
470
  durationInFrames = 0;
502
471
  /** Frames to skip at start (overlap handling) */
503
472
  trimBeforeFrames = 0;
504
473
  /** Frames to skip at end */
505
474
  trimAfterFrames = 0;
506
- /** Script text to be spoken */
507
475
  scriptText = "";
508
476
  /** Word count in the script */
509
477
  scriptWordCount = 0;
510
- /** Target duration in seconds */
511
478
  targetDuration = 30;
512
- /** Video generation status */
513
479
  shotStatus = "draft";
514
480
  /** Generation progress (0-100) */
515
481
  progress = 0;
@@ -597,8 +563,13 @@ var VideoShot = class extends Content {
597
563
  }
598
564
  };
599
565
  __publicField$14(VideoShot, "__smrtPackage__", "@happyvertical/smrt-video");
600
- __decorateClass$14([foreignKey(() => VideoSequence)], VideoShot.prototype, "sequenceId", 2);
601
- __decorateClass$14([foreignKey(() => Scene)], VideoShot.prototype, "sceneId", 2);
566
+ __decorateClass$14([field({ description: "The sequence this shot belongs to." }), foreignKey(() => VideoSequence)], VideoShot.prototype, "sequenceId", 2);
567
+ __decorateClass$14([field({ description: "The background scene this shot is filmed in." }), foreignKey(() => Scene)], VideoShot.prototype, "sceneId", 2);
568
+ __decorateClass$14([field({ description: "The order of this shot within its sequence, counting from the start." })], VideoShot.prototype, "position", 2);
569
+ __decorateClass$14([field({ description: "How long the finished clip runs in frames." })], VideoShot.prototype, "durationInFrames", 2);
570
+ __decorateClass$14([field({ description: "The words spoken in this shot." })], VideoShot.prototype, "scriptText", 2);
571
+ __decorateClass$14([field({ description: "How long you want the shot to be, in seconds." })], VideoShot.prototype, "targetDuration", 2);
572
+ __decorateClass$14([field({ description: "Where the shot stands: draft, queued, processing, ready, failed or published." })], VideoShot.prototype, "shotStatus", 2);
602
573
  VideoShot = __decorateClass$14([TenantScoped({ mode: "optional" }), smrt({
603
574
  tableStrategy: "sti",
604
575
  api: { include: [
@@ -612,6 +583,356 @@ VideoShot = __decorateClass$14([TenantScoped({ mode: "optional" }), smrt({
612
583
  cli: true
613
584
  })], VideoShot);
614
585
  //#endregion
586
+ //#region src/recipes.ts
587
+ var VideoLibraryRecipe = class extends SmrtRecipe {
588
+ static id = "video.library";
589
+ static help = "./library.recipe.md";
590
+ static label = "Video";
591
+ static summary = "Plan each video as sequences and shots, with the characters and scenes that appear in it.";
592
+ static synonyms = [
593
+ "videos",
594
+ "video production",
595
+ "video scripts",
596
+ "shots",
597
+ "storyboard",
598
+ "characters and scenes"
599
+ ];
600
+ static section = {
601
+ id: "publish",
602
+ label: "Publish",
603
+ icon: "fileText",
604
+ description: "What you write, record and put out."
605
+ };
606
+ static models = [
607
+ VideoComposition,
608
+ VideoSequence,
609
+ VideoShot,
610
+ Character,
611
+ Scene
612
+ ];
613
+ static nav = [
614
+ {
615
+ label: "Videos",
616
+ model: VideoComposition,
617
+ icon: "layers",
618
+ description: "Each finished video you are putting together.",
619
+ noun: "video"
620
+ },
621
+ {
622
+ label: "Sequences",
623
+ model: VideoSequence,
624
+ icon: "folder",
625
+ description: "The parts of a video, in the order they play.",
626
+ noun: "sequence"
627
+ },
628
+ {
629
+ label: "Shots",
630
+ model: VideoShot,
631
+ icon: "fileText",
632
+ description: "Each clip in a sequence, with the words spoken in it.",
633
+ noun: "shot"
634
+ },
635
+ {
636
+ label: "Characters",
637
+ model: Character,
638
+ icon: "users",
639
+ description: "The on-screen presenters, with their look and voice.",
640
+ noun: "character"
641
+ },
642
+ {
643
+ label: "Scenes",
644
+ model: Scene,
645
+ icon: "home",
646
+ description: "The backgrounds your characters appear in front of.",
647
+ noun: "scene"
648
+ }
649
+ ];
650
+ static options = {
651
+ VideoComposition: { fields: {
652
+ name: { order: 1 },
653
+ description: { order: 2 },
654
+ fps: {
655
+ label: "Frames per second",
656
+ order: 3
657
+ },
658
+ width: { order: 4 },
659
+ height: { order: 5 },
660
+ durationInFrames: {
661
+ label: "Length in frames",
662
+ order: 6
663
+ },
664
+ renderStatus: {
665
+ label: "Render status",
666
+ order: 7
667
+ },
668
+ renderProgress: {
669
+ label: "Render progress",
670
+ order: 8
671
+ },
672
+ title: { visibility: "advanced" },
673
+ body: {
674
+ label: "Notes",
675
+ visibility: "advanced"
676
+ },
677
+ author: { visibility: "advanced" },
678
+ publish_date: {
679
+ label: "Publish date",
680
+ visibility: "advanced"
681
+ },
682
+ url: {
683
+ label: "Web address",
684
+ visibility: "advanced"
685
+ },
686
+ language: { visibility: "advanced" },
687
+ tags: { visibility: "advanced" },
688
+ category: { visibility: "advanced" },
689
+ status: {
690
+ label: "Publishing status",
691
+ visibility: "advanced"
692
+ },
693
+ thumbnailAssetId: {
694
+ label: "Thumbnail",
695
+ visibility: "advanced"
696
+ },
697
+ tenantId: { visibility: "hidden" },
698
+ type: { visibility: "hidden" },
699
+ variant: { visibility: "hidden" },
700
+ fileKey: { visibility: "hidden" },
701
+ bodyFormat: { visibility: "hidden" },
702
+ source: { visibility: "hidden" },
703
+ original_url: { visibility: "hidden" },
704
+ state: { visibility: "hidden" },
705
+ metadata: { visibility: "hidden" }
706
+ } },
707
+ VideoSequence: { fields: {
708
+ name: { order: 1 },
709
+ compositionId: {
710
+ label: "Video",
711
+ order: 2
712
+ },
713
+ position: {
714
+ label: "Order",
715
+ order: 3
716
+ },
717
+ description: { order: 4 },
718
+ durationInFrames: {
719
+ label: "Length in frames",
720
+ order: 5
721
+ },
722
+ transitionType: {
723
+ label: "Transition to next",
724
+ order: 6
725
+ },
726
+ transitionDurationFrames: {
727
+ label: "Transition length in frames",
728
+ visibility: "advanced"
729
+ },
730
+ title: { visibility: "advanced" },
731
+ body: {
732
+ label: "Notes",
733
+ visibility: "advanced"
734
+ },
735
+ author: { visibility: "advanced" },
736
+ publish_date: {
737
+ label: "Publish date",
738
+ visibility: "advanced"
739
+ },
740
+ url: {
741
+ label: "Web address",
742
+ visibility: "advanced"
743
+ },
744
+ language: { visibility: "advanced" },
745
+ tags: { visibility: "advanced" },
746
+ category: { visibility: "advanced" },
747
+ status: {
748
+ label: "Publishing status",
749
+ visibility: "advanced"
750
+ },
751
+ thumbnailAssetId: {
752
+ label: "Thumbnail",
753
+ visibility: "advanced"
754
+ },
755
+ tenantId: { visibility: "hidden" },
756
+ type: { visibility: "hidden" },
757
+ variant: { visibility: "hidden" },
758
+ fileKey: { visibility: "hidden" },
759
+ bodyFormat: { visibility: "hidden" },
760
+ source: { visibility: "hidden" },
761
+ original_url: { visibility: "hidden" },
762
+ state: { visibility: "hidden" },
763
+ metadata: { visibility: "hidden" }
764
+ } },
765
+ VideoShot: { fields: {
766
+ name: { order: 1 },
767
+ sequenceId: {
768
+ label: "Sequence",
769
+ order: 2
770
+ },
771
+ position: {
772
+ label: "Order",
773
+ order: 3
774
+ },
775
+ scriptText: {
776
+ label: "Script",
777
+ order: 4
778
+ },
779
+ sceneId: {
780
+ label: "Scene",
781
+ order: 5
782
+ },
783
+ targetDuration: {
784
+ label: "Target length in seconds",
785
+ order: 6
786
+ },
787
+ durationInFrames: {
788
+ label: "Length in frames",
789
+ order: 7
790
+ },
791
+ shotStatus: {
792
+ label: "Status",
793
+ order: 8
794
+ },
795
+ description: { visibility: "advanced" },
796
+ progress: { visibility: "advanced" },
797
+ statusMessage: {
798
+ label: "Status message",
799
+ visibility: "advanced"
800
+ },
801
+ errorMessage: {
802
+ label: "Error message",
803
+ visibility: "advanced"
804
+ },
805
+ scriptWordCount: {
806
+ label: "Words in script",
807
+ visibility: "advanced"
808
+ },
809
+ trimBeforeFrames: {
810
+ label: "Trim from start in frames",
811
+ visibility: "advanced"
812
+ },
813
+ trimAfterFrames: {
814
+ label: "Trim from end in frames",
815
+ visibility: "advanced"
816
+ },
817
+ videoMetadata: { visibility: "hidden" },
818
+ title: { visibility: "advanced" },
819
+ body: {
820
+ label: "Notes",
821
+ visibility: "advanced"
822
+ },
823
+ author: { visibility: "advanced" },
824
+ publish_date: {
825
+ label: "Publish date",
826
+ visibility: "advanced"
827
+ },
828
+ url: {
829
+ label: "Web address",
830
+ visibility: "advanced"
831
+ },
832
+ language: { visibility: "advanced" },
833
+ tags: { visibility: "advanced" },
834
+ category: { visibility: "advanced" },
835
+ status: {
836
+ label: "Publishing status",
837
+ visibility: "advanced"
838
+ },
839
+ thumbnailAssetId: {
840
+ label: "Thumbnail",
841
+ visibility: "advanced"
842
+ },
843
+ tenantId: { visibility: "hidden" },
844
+ type: { visibility: "hidden" },
845
+ variant: { visibility: "hidden" },
846
+ fileKey: { visibility: "hidden" },
847
+ bodyFormat: { visibility: "hidden" },
848
+ source: { visibility: "hidden" },
849
+ original_url: { visibility: "hidden" },
850
+ state: { visibility: "hidden" },
851
+ metadata: { visibility: "hidden" }
852
+ } },
853
+ Character: { fields: {
854
+ name: { order: 1 },
855
+ description: { order: 2 },
856
+ imageAssetId: {
857
+ label: "Picture",
858
+ order: 3
859
+ },
860
+ voiceProfileId: {
861
+ label: "Voice",
862
+ order: 4
863
+ },
864
+ defaultSceneId: {
865
+ label: "Usual scene",
866
+ order: 5
867
+ },
868
+ status: { order: 6 },
869
+ performerId: {
870
+ label: "Performer",
871
+ visibility: "advanced"
872
+ },
873
+ baseMotionAssetId: {
874
+ label: "Base motion video",
875
+ visibility: "advanced"
876
+ },
877
+ profileId: {
878
+ label: "Profile",
879
+ visibility: "advanced"
880
+ },
881
+ brandingKit: { visibility: "hidden" },
882
+ sceneConfigs: { visibility: "hidden" },
883
+ tenantId: { visibility: "hidden" }
884
+ } },
885
+ Scene: { fields: {
886
+ name: { order: 1 },
887
+ description: { order: 2 },
888
+ sourceType: {
889
+ label: "Kind of background",
890
+ order: 3
891
+ },
892
+ sourceAssetId: {
893
+ label: "Background picture or video",
894
+ order: 4
895
+ },
896
+ status: { order: 5 },
897
+ projection: { visibility: "advanced" },
898
+ location: { visibility: "hidden" },
899
+ viewpoints: { visibility: "hidden" },
900
+ lightingProfile: { visibility: "hidden" },
901
+ anchorPoints: { visibility: "hidden" },
902
+ tenantId: { visibility: "hidden" }
903
+ } }
904
+ };
905
+ };
906
+ //#endregion
907
+ //#region src/video-compositions.ts
908
+ var VideoCompositionCollection = class extends SmrtCollection {
909
+ static _itemClass = VideoComposition;
910
+ /** Find compositions by render status */
911
+ async findByRenderStatus(renderStatus) {
912
+ return await this.list({ where: { renderStatus } });
913
+ }
914
+ /** Find compositions that are ready for publishing */
915
+ async findReady() {
916
+ return await this.list({ where: { renderStatus: "ready" } });
917
+ }
918
+ };
919
+ //#endregion
920
+ //#region src/video-sequences.ts
921
+ var VideoSequenceCollection = class extends SmrtCollection {
922
+ static _itemClass = VideoSequence;
923
+ /** Find sequences belonging to a composition, ordered by position */
924
+ async findByComposition(compositionId) {
925
+ return await this.list({
926
+ where: { compositionId },
927
+ orderBy: "position ASC"
928
+ });
929
+ }
930
+ /** Find standalone sequences (not in any composition) */
931
+ async findStandalone() {
932
+ return await this.list({ where: { compositionId: null } });
933
+ }
934
+ };
935
+ //#endregion
615
936
  //#region src/video-shot-character.ts
616
937
  var __defProp$13 = Object.defineProperty;
617
938
  var __getOwnPropDesc$13 = Object.getOwnPropertyDescriptor;
@@ -1290,6 +1611,6 @@ VideoShotAsset = __decorateClass([smrt({
1290
1611
  cli: { skipApiCheck: true }
1291
1612
  })], VideoShotAsset);
1292
1613
  //#endregion
1293
- export { Character, Character as PersonalityProfile, CharacterAsset, CharacterCollection, CharacterOwnedAsset, CharacterOwnedAssetCollection, CompositeJob, Performer, PerformerAsset, PerformerOwnedAsset, PerformerOwnedAssetCollection, Scene, SceneAsset, SceneOwnedAsset, SceneOwnedAssetCollection, VideoComposition, VideoCompositionAsset, VideoCompositionCollection, VideoShot as VideoContent, VideoShot, VideoSequence, VideoSequenceAsset, VideoSequenceCollection, VideoShotAsset, VideoShotCharacter, VideoShotCharacterCollection, VideoShotCollection, VideoWorkflow, performer_assets_exports as n, persistMediaBundleInspection, scene_assets_exports as t };
1614
+ export { Character, Character as PersonalityProfile, CharacterAsset, CharacterCollection, CharacterOwnedAsset, CharacterOwnedAssetCollection, CompositeJob, Performer, PerformerAsset, PerformerOwnedAsset, PerformerOwnedAssetCollection, Scene, SceneAsset, SceneOwnedAsset, SceneOwnedAssetCollection, VideoComposition, VideoCompositionAsset, VideoCompositionCollection, VideoShot as VideoContent, VideoShot, VideoLibraryRecipe, VideoSequence, VideoSequenceAsset, VideoSequenceCollection, VideoShotAsset, VideoShotCharacter, VideoShotCharacterCollection, VideoShotCollection, VideoWorkflow, performer_assets_exports as n, persistMediaBundleInspection, scene_assets_exports as t };
1294
1615
 
1295
1616
  //# sourceMappingURL=index.js.map