@happyvertical/smrt-video 0.40.69 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/manifest.json +1472 -244
- package/dist/smrt-knowledge.json +72 -36
- package/package.json +9 -9
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-video",
|
|
6
|
-
"packageVersion": "0.
|
|
6
|
+
"packageVersion": "0.41.0",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "dedcfd34c77a077bf5280812ddd8e7d4d827a81ea6950d86bd9eca8a3b82b9a4",
|
|
11
|
+
"packageJson": "ce169dc9d9b38a6df0b8042c4284eaa6b3176e0f01ad60686e2a947b486cb714",
|
|
12
12
|
"agents": "01c6489f21d949868550deecb68d3a1e264b9dee396ef437330aa3eb81c6a0c9"
|
|
13
13
|
},
|
|
14
14
|
"exports": [
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"name": "characterId",
|
|
190
190
|
"type": "foreignKey",
|
|
191
191
|
"required": false,
|
|
192
|
-
"related": "
|
|
192
|
+
"related": "Character",
|
|
193
193
|
"columnType": "UUID"
|
|
194
194
|
},
|
|
195
195
|
{
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
"name": "characterId",
|
|
234
234
|
"type": "foreignKey",
|
|
235
235
|
"required": false,
|
|
236
|
-
"related": "
|
|
236
|
+
"related": "Character",
|
|
237
237
|
"columnType": "UUID"
|
|
238
238
|
}
|
|
239
239
|
],
|
|
@@ -840,7 +840,7 @@
|
|
|
840
840
|
"name": "characterId",
|
|
841
841
|
"type": "foreignKey",
|
|
842
842
|
"required": true,
|
|
843
|
-
"related": "
|
|
843
|
+
"related": "Character",
|
|
844
844
|
"columnType": "UUID"
|
|
845
845
|
},
|
|
846
846
|
{
|
|
@@ -870,7 +870,7 @@
|
|
|
870
870
|
"name": "characterId",
|
|
871
871
|
"type": "foreignKey",
|
|
872
872
|
"required": true,
|
|
873
|
-
"related": "
|
|
873
|
+
"related": "Character",
|
|
874
874
|
"columnType": "UUID"
|
|
875
875
|
},
|
|
876
876
|
{
|
|
@@ -978,14 +978,14 @@
|
|
|
978
978
|
"name": "performerId",
|
|
979
979
|
"type": "foreignKey",
|
|
980
980
|
"required": false,
|
|
981
|
-
"related": "
|
|
981
|
+
"related": "Performer",
|
|
982
982
|
"columnType": "UUID"
|
|
983
983
|
},
|
|
984
984
|
{
|
|
985
985
|
"name": "defaultSceneId",
|
|
986
986
|
"type": "foreignKey",
|
|
987
987
|
"required": false,
|
|
988
|
-
"related": "
|
|
988
|
+
"related": "Scene",
|
|
989
989
|
"columnType": "UUID"
|
|
990
990
|
},
|
|
991
991
|
{
|
|
@@ -1029,14 +1029,14 @@
|
|
|
1029
1029
|
"name": "performerId",
|
|
1030
1030
|
"type": "foreignKey",
|
|
1031
1031
|
"required": false,
|
|
1032
|
-
"related": "
|
|
1032
|
+
"related": "Performer",
|
|
1033
1033
|
"columnType": "UUID"
|
|
1034
1034
|
},
|
|
1035
1035
|
{
|
|
1036
1036
|
"name": "defaultSceneId",
|
|
1037
1037
|
"type": "foreignKey",
|
|
1038
1038
|
"required": false,
|
|
1039
|
-
"related": "
|
|
1039
|
+
"related": "Scene",
|
|
1040
1040
|
"columnType": "UUID"
|
|
1041
1041
|
},
|
|
1042
1042
|
{
|
|
@@ -1401,6 +1401,12 @@
|
|
|
1401
1401
|
"field": "tenantId"
|
|
1402
1402
|
},
|
|
1403
1403
|
"tableStrategy": "sti",
|
|
1404
|
+
"conflictColumns": [
|
|
1405
|
+
"tenant_id",
|
|
1406
|
+
"slug",
|
|
1407
|
+
"context",
|
|
1408
|
+
"_meta_type"
|
|
1409
|
+
],
|
|
1404
1410
|
"surfaces": [
|
|
1405
1411
|
{
|
|
1406
1412
|
"kind": "api",
|
|
@@ -1580,7 +1586,7 @@
|
|
|
1580
1586
|
"name": "sceneId",
|
|
1581
1587
|
"type": "foreignKey",
|
|
1582
1588
|
"required": false,
|
|
1583
|
-
"related": "
|
|
1589
|
+
"related": "Scene",
|
|
1584
1590
|
"columnType": "UUID"
|
|
1585
1591
|
},
|
|
1586
1592
|
{
|
|
@@ -1649,7 +1655,7 @@
|
|
|
1649
1655
|
"name": "sceneId",
|
|
1650
1656
|
"type": "foreignKey",
|
|
1651
1657
|
"required": false,
|
|
1652
|
-
"related": "
|
|
1658
|
+
"related": "Scene",
|
|
1653
1659
|
"columnType": "UUID"
|
|
1654
1660
|
},
|
|
1655
1661
|
{
|
|
@@ -1975,6 +1981,12 @@
|
|
|
1975
1981
|
"field": "tenantId"
|
|
1976
1982
|
},
|
|
1977
1983
|
"tableStrategy": "sti",
|
|
1984
|
+
"conflictColumns": [
|
|
1985
|
+
"tenant_id",
|
|
1986
|
+
"slug",
|
|
1987
|
+
"context",
|
|
1988
|
+
"_meta_type"
|
|
1989
|
+
],
|
|
1978
1990
|
"surfaces": [
|
|
1979
1991
|
{
|
|
1980
1992
|
"kind": "api",
|
|
@@ -2196,7 +2208,7 @@
|
|
|
2196
2208
|
"name": "performerId",
|
|
2197
2209
|
"type": "foreignKey",
|
|
2198
2210
|
"required": false,
|
|
2199
|
-
"related": "
|
|
2211
|
+
"related": "Performer",
|
|
2200
2212
|
"columnType": "UUID"
|
|
2201
2213
|
},
|
|
2202
2214
|
{
|
|
@@ -2240,7 +2252,7 @@
|
|
|
2240
2252
|
"name": "performerId",
|
|
2241
2253
|
"type": "foreignKey",
|
|
2242
2254
|
"required": false,
|
|
2243
|
-
"related": "
|
|
2255
|
+
"related": "Performer",
|
|
2244
2256
|
"columnType": "UUID"
|
|
2245
2257
|
}
|
|
2246
2258
|
],
|
|
@@ -2847,7 +2859,7 @@
|
|
|
2847
2859
|
"name": "performerId",
|
|
2848
2860
|
"type": "foreignKey",
|
|
2849
2861
|
"required": true,
|
|
2850
|
-
"related": "
|
|
2862
|
+
"related": "Performer",
|
|
2851
2863
|
"columnType": "UUID"
|
|
2852
2864
|
},
|
|
2853
2865
|
{
|
|
@@ -2877,7 +2889,7 @@
|
|
|
2877
2889
|
"name": "performerId",
|
|
2878
2890
|
"type": "foreignKey",
|
|
2879
2891
|
"required": true,
|
|
2880
|
-
"related": "
|
|
2892
|
+
"related": "Performer",
|
|
2881
2893
|
"columnType": "UUID"
|
|
2882
2894
|
},
|
|
2883
2895
|
{
|
|
@@ -3366,6 +3378,12 @@
|
|
|
3366
3378
|
"field": "tenantId"
|
|
3367
3379
|
},
|
|
3368
3380
|
"tableStrategy": "sti",
|
|
3381
|
+
"conflictColumns": [
|
|
3382
|
+
"tenant_id",
|
|
3383
|
+
"slug",
|
|
3384
|
+
"context",
|
|
3385
|
+
"_meta_type"
|
|
3386
|
+
],
|
|
3369
3387
|
"surfaces": [
|
|
3370
3388
|
{
|
|
3371
3389
|
"kind": "api",
|
|
@@ -3594,7 +3612,7 @@
|
|
|
3594
3612
|
"name": "sceneId",
|
|
3595
3613
|
"type": "foreignKey",
|
|
3596
3614
|
"required": false,
|
|
3597
|
-
"related": "
|
|
3615
|
+
"related": "Scene",
|
|
3598
3616
|
"columnType": "UUID"
|
|
3599
3617
|
},
|
|
3600
3618
|
{
|
|
@@ -3638,7 +3656,7 @@
|
|
|
3638
3656
|
"name": "sceneId",
|
|
3639
3657
|
"type": "foreignKey",
|
|
3640
3658
|
"required": false,
|
|
3641
|
-
"related": "
|
|
3659
|
+
"related": "Scene",
|
|
3642
3660
|
"columnType": "UUID"
|
|
3643
3661
|
}
|
|
3644
3662
|
],
|
|
@@ -4245,7 +4263,7 @@
|
|
|
4245
4263
|
"name": "sceneId",
|
|
4246
4264
|
"type": "foreignKey",
|
|
4247
4265
|
"required": true,
|
|
4248
|
-
"related": "
|
|
4266
|
+
"related": "Scene",
|
|
4249
4267
|
"columnType": "UUID"
|
|
4250
4268
|
},
|
|
4251
4269
|
{
|
|
@@ -4275,7 +4293,7 @@
|
|
|
4275
4293
|
"name": "sceneId",
|
|
4276
4294
|
"type": "foreignKey",
|
|
4277
4295
|
"required": true,
|
|
4278
|
-
"related": "
|
|
4296
|
+
"related": "Scene",
|
|
4279
4297
|
"columnType": "UUID"
|
|
4280
4298
|
},
|
|
4281
4299
|
{
|
|
@@ -4763,6 +4781,12 @@
|
|
|
4763
4781
|
"field": "tenantId"
|
|
4764
4782
|
},
|
|
4765
4783
|
"tableStrategy": "sti",
|
|
4784
|
+
"conflictColumns": [
|
|
4785
|
+
"tenant_id",
|
|
4786
|
+
"slug",
|
|
4787
|
+
"context",
|
|
4788
|
+
"_meta_type"
|
|
4789
|
+
],
|
|
4766
4790
|
"surfaces": [
|
|
4767
4791
|
{
|
|
4768
4792
|
"kind": "api",
|
|
@@ -4991,7 +5015,7 @@
|
|
|
4991
5015
|
"name": "videoCompositionId",
|
|
4992
5016
|
"type": "foreignKey",
|
|
4993
5017
|
"required": false,
|
|
4994
|
-
"related": "
|
|
5018
|
+
"related": "VideoComposition",
|
|
4995
5019
|
"columnType": "UUID"
|
|
4996
5020
|
},
|
|
4997
5021
|
{
|
|
@@ -5035,7 +5059,7 @@
|
|
|
5035
5059
|
"name": "videoCompositionId",
|
|
5036
5060
|
"type": "foreignKey",
|
|
5037
5061
|
"required": false,
|
|
5038
|
-
"related": "
|
|
5062
|
+
"related": "VideoComposition",
|
|
5039
5063
|
"columnType": "UUID"
|
|
5040
5064
|
}
|
|
5041
5065
|
],
|
|
@@ -6862,7 +6886,7 @@
|
|
|
6862
6886
|
"name": "videoSequenceId",
|
|
6863
6887
|
"type": "foreignKey",
|
|
6864
6888
|
"required": false,
|
|
6865
|
-
"related": "
|
|
6889
|
+
"related": "VideoSequence",
|
|
6866
6890
|
"columnType": "UUID"
|
|
6867
6891
|
},
|
|
6868
6892
|
{
|
|
@@ -6906,7 +6930,7 @@
|
|
|
6906
6930
|
"name": "videoSequenceId",
|
|
6907
6931
|
"type": "foreignKey",
|
|
6908
6932
|
"required": false,
|
|
6909
|
-
"related": "
|
|
6933
|
+
"related": "VideoSequence",
|
|
6910
6934
|
"columnType": "UUID"
|
|
6911
6935
|
}
|
|
6912
6936
|
],
|
|
@@ -8734,7 +8758,7 @@
|
|
|
8734
8758
|
"name": "videoShotId",
|
|
8735
8759
|
"type": "foreignKey",
|
|
8736
8760
|
"required": false,
|
|
8737
|
-
"related": "
|
|
8761
|
+
"related": "VideoShot",
|
|
8738
8762
|
"columnType": "UUID"
|
|
8739
8763
|
},
|
|
8740
8764
|
{
|
|
@@ -8778,7 +8802,7 @@
|
|
|
8778
8802
|
"name": "videoShotId",
|
|
8779
8803
|
"type": "foreignKey",
|
|
8780
8804
|
"required": false,
|
|
8781
|
-
"related": "
|
|
8805
|
+
"related": "VideoShot",
|
|
8782
8806
|
"columnType": "UUID"
|
|
8783
8807
|
}
|
|
8784
8808
|
],
|
|
@@ -9323,14 +9347,14 @@
|
|
|
9323
9347
|
"name": "videoShotId",
|
|
9324
9348
|
"type": "foreignKey",
|
|
9325
9349
|
"required": true,
|
|
9326
|
-
"related": "
|
|
9350
|
+
"related": "VideoShot",
|
|
9327
9351
|
"columnType": "UUID"
|
|
9328
9352
|
},
|
|
9329
9353
|
{
|
|
9330
9354
|
"name": "characterId",
|
|
9331
9355
|
"type": "foreignKey",
|
|
9332
9356
|
"required": true,
|
|
9333
|
-
"related": "
|
|
9357
|
+
"related": "Character",
|
|
9334
9358
|
"columnType": "UUID"
|
|
9335
9359
|
},
|
|
9336
9360
|
{
|
|
@@ -9353,14 +9377,14 @@
|
|
|
9353
9377
|
"name": "videoShotId",
|
|
9354
9378
|
"type": "foreignKey",
|
|
9355
9379
|
"required": true,
|
|
9356
|
-
"related": "
|
|
9380
|
+
"related": "VideoShot",
|
|
9357
9381
|
"columnType": "UUID"
|
|
9358
9382
|
},
|
|
9359
9383
|
{
|
|
9360
9384
|
"name": "characterId",
|
|
9361
9385
|
"type": "foreignKey",
|
|
9362
9386
|
"required": true,
|
|
9363
|
-
"related": "
|
|
9387
|
+
"related": "Character",
|
|
9364
9388
|
"columnType": "UUID"
|
|
9365
9389
|
}
|
|
9366
9390
|
],
|
|
@@ -9679,6 +9703,12 @@
|
|
|
9679
9703
|
"field": "tenantId"
|
|
9680
9704
|
},
|
|
9681
9705
|
"tableStrategy": "sti",
|
|
9706
|
+
"conflictColumns": [
|
|
9707
|
+
"tenant_id",
|
|
9708
|
+
"slug",
|
|
9709
|
+
"context",
|
|
9710
|
+
"_meta_type"
|
|
9711
|
+
],
|
|
9682
9712
|
"surfaces": [
|
|
9683
9713
|
{
|
|
9684
9714
|
"kind": "api",
|
|
@@ -9956,14 +9986,14 @@
|
|
|
9956
9986
|
"name": "sequenceId",
|
|
9957
9987
|
"type": "foreignKey",
|
|
9958
9988
|
"required": false,
|
|
9959
|
-
"related": "
|
|
9989
|
+
"related": "VideoSequence",
|
|
9960
9990
|
"columnType": "UUID"
|
|
9961
9991
|
},
|
|
9962
9992
|
{
|
|
9963
9993
|
"name": "sceneId",
|
|
9964
9994
|
"type": "foreignKey",
|
|
9965
9995
|
"required": false,
|
|
9966
|
-
"related": "
|
|
9996
|
+
"related": "Scene",
|
|
9967
9997
|
"columnType": "UUID"
|
|
9968
9998
|
},
|
|
9969
9999
|
{
|
|
@@ -10060,14 +10090,14 @@
|
|
|
10060
10090
|
"name": "sequenceId",
|
|
10061
10091
|
"type": "foreignKey",
|
|
10062
10092
|
"required": false,
|
|
10063
|
-
"related": "
|
|
10093
|
+
"related": "VideoSequence",
|
|
10064
10094
|
"columnType": "UUID"
|
|
10065
10095
|
},
|
|
10066
10096
|
{
|
|
10067
10097
|
"name": "sceneId",
|
|
10068
10098
|
"type": "foreignKey",
|
|
10069
10099
|
"required": false,
|
|
10070
|
-
"related": "
|
|
10100
|
+
"related": "Scene",
|
|
10071
10101
|
"columnType": "UUID"
|
|
10072
10102
|
}
|
|
10073
10103
|
],
|
|
@@ -11464,6 +11494,12 @@
|
|
|
11464
11494
|
"field": "tenantId"
|
|
11465
11495
|
},
|
|
11466
11496
|
"tableStrategy": "sti",
|
|
11497
|
+
"conflictColumns": [
|
|
11498
|
+
"tenant_id",
|
|
11499
|
+
"slug",
|
|
11500
|
+
"context",
|
|
11501
|
+
"_meta_type"
|
|
11502
|
+
],
|
|
11467
11503
|
"surfaces": [
|
|
11468
11504
|
{
|
|
11469
11505
|
"kind": "api",
|
|
@@ -12762,7 +12798,7 @@
|
|
|
12762
12798
|
"junctionCollections": 3,
|
|
12763
12799
|
"hierarchicalObjects": 0,
|
|
12764
12800
|
"polymorphicAssociations": 0,
|
|
12765
|
-
"uuidColumns":
|
|
12801
|
+
"uuidColumns": 146
|
|
12766
12802
|
},
|
|
12767
12803
|
"agentDoc": "# @happyvertical/smrt-video\n\nAI video production pipeline: characters, performers, scenes, shots, sequences, compositions, and ComfyUI workflow integration.\n\n## Models\n\n- **Character** (renamed from PersonalityProfile): visual + voice identity. `imageAssetId`, `voiceProfileId` FK, branding config (logo, colors, fonts, lower-thirds). Scene-specific position/scale configs.\n- **Performer**: physical likeness for IP-Adapter FaceID. `faceEmbedding` (512-dim), `referenceAssetIds`, `ipAdapterWeight`.\n- **Scene**: virtual background. `sourceType` (image/video/panorama_360/panorama_180), `projection`, `viewpoints` array (pan/tilt/fov), `lightingProfile`, `anchorPoints`.\n- **VideoShot** (extends Content): atomic generation unit. `durationInFrames`, `scriptText`, `scriptWordCount`. Estimated duration: `scriptWordCount / 2.7` words/sec (±15% tolerance). `videoMetadata` includes `wordTimings` for lip-sync.\n- **VideoSequence** (extends Content): thematic section with `transitionType` (none/fade/slide/wipe), position ordering.\n- **VideoComposition** (extends Content): top-level container — `fps`, `width`, `height`, `durationInFrames`, `renderStatus`/`renderProgress`.\n- **VideoShotCharacter**: junction (shot ↔ character) with role (primary/secondary/background), position, duration.\n- **VideoWorkflow**: ComfyUI template. `workflowJson`, `nodeMapping` (maps semantic names → node IDs), `workflowType` (prebake/broadcast/lipsync/postprod/custom). `injectParameters()` deep-clones workflow + overwrites `node.inputs`.\n\n## Design Principles\n\n- **Store frames, compute seconds**: `durationInFrames` everywhere; seconds = frames / fps\n- **Content inheritance**: VideoShot, VideoSequence, VideoComposition all extend Content from smrt-content\n- **Hierarchy**: Composition → Sequence → Shot → ShotCharacter\n- **Owned asset normalization**: `CharacterOwnedAsset`, `PerformerOwnedAsset`, and `SceneOwnedAsset` are canonical noun joins; `VideoShot`/`VideoSequence`/`VideoComposition` use inherited `content_assets`\n\n## Gotchas\n\n- **PersonalityProfile → Character rename**: old name still exported for backwards compatibility\n- **Legacy video STI asset rows**: reads still union canonical joins with legacy STI asset records during migration, but new writes go through the model helpers / join tables\n- **Schema rollout**: run `smrt db:migrate` before relying on `character_assets` / `performer_assets` / `scene_assets` writes; reads still tolerate those tables being absent during migration\n- **ComfyUI injectParameters()**: assumes `node.inputs` exists; warnings logged in dev mode\n- **Frame arithmetic**: `trimBeforeFrames`/`trimAfterFrames` require manual effective frame calculation\n- **Word timings from external TTS**: `wordTimings` array not generated by framework — requires external provider\n- **IP-Adapter weights**: `faceEmbedding` upload not handled; weight is metadata-only (0.5-1.0)\n- **Optional tenancy** on all core models\n"
|
|
12768
12804
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-video",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Video content management for AI-powered video production in the SMRT ecosystem",
|
|
6
6
|
"author": "HappyVertical",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@happyvertical/logger": "^0.88.0",
|
|
33
33
|
"@happyvertical/utils": "^0.88.0",
|
|
34
|
-
"@happyvertical/smrt-assets": "0.
|
|
35
|
-
"@happyvertical/smrt-
|
|
36
|
-
"@happyvertical/smrt-
|
|
37
|
-
"@happyvertical/smrt-
|
|
38
|
-
"@happyvertical/smrt-
|
|
39
|
-
"@happyvertical/smrt-
|
|
40
|
-
"@happyvertical/smrt-
|
|
34
|
+
"@happyvertical/smrt-assets": "0.41.0",
|
|
35
|
+
"@happyvertical/smrt-config": "0.41.0",
|
|
36
|
+
"@happyvertical/smrt-content": "0.41.0",
|
|
37
|
+
"@happyvertical/smrt-tenancy": "0.41.0",
|
|
38
|
+
"@happyvertical/smrt-voice": "0.41.0",
|
|
39
|
+
"@happyvertical/smrt-core": "0.41.0",
|
|
40
|
+
"@happyvertical/smrt-profiles": "0.41.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@happyvertical/sql": "^0.88.0",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"typescript": "5.9.3",
|
|
46
46
|
"vite": "8.1.4",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
|
-
"@happyvertical/smrt-vitest": "0.
|
|
48
|
+
"@happyvertical/smrt-vitest": "0.41.0"
|
|
49
49
|
},
|
|
50
50
|
"keywords": [
|
|
51
51
|
"video",
|