@happyvertical/smrt-video 0.40.70 → 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 +1412 -292
- package/dist/smrt-knowledge.json +40 -4
- 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": [
|
|
@@ -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",
|
|
@@ -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",
|
|
@@ -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",
|
|
@@ -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",
|
|
@@ -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",
|
|
@@ -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-
|
|
35
|
-
"@happyvertical/smrt-
|
|
36
|
-
"@happyvertical/smrt-
|
|
37
|
-
"@happyvertical/smrt-tenancy": "0.
|
|
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",
|