vidspotai-shared 1.0.94 → 1.0.96
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/lib/globals/aiModels/enums.d.ts +2 -0
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +5 -0
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +2 -0
- package/lib/globals/aiModels/providers/hostedAvatars.d.ts +22 -0
- package/lib/globals/aiModels/providers/hostedAvatars.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/hostedAvatars.js +129 -0
- package/lib/globals/types.d.ts +58 -1
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +61 -1
- package/lib/models/demoVideoProject.model.d.ts +244 -0
- package/lib/models/demoVideoProject.model.d.ts.map +1 -0
- package/lib/models/demoVideoProject.model.js +2 -0
- package/lib/models/githubConnection.model.d.ts +35 -0
- package/lib/models/githubConnection.model.d.ts.map +1 -0
- package/lib/models/githubConnection.model.js +2 -0
- package/lib/models/index.d.ts +3 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +3 -0
- package/lib/models/outreach.model.d.ts +175 -0
- package/lib/models/outreach.model.d.ts.map +1 -0
- package/lib/models/outreach.model.js +2 -0
- package/lib/models/video.model.d.ts +4 -0
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/schemas/brandKit.schema.d.ts +4 -0
- package/lib/schemas/brandKit.schema.d.ts.map +1 -1
- package/lib/schemas/brandKit.schema.js +10 -0
- package/lib/schemas/demoQuestion.schema.d.ts +286 -0
- package/lib/schemas/demoQuestion.schema.d.ts.map +1 -0
- package/lib/schemas/demoQuestion.schema.js +210 -0
- package/lib/schemas/demoSpec.schema.d.ts +109 -6
- package/lib/schemas/demoSpec.schema.d.ts.map +1 -1
- package/lib/schemas/demoSpec.schema.js +95 -7
- package/lib/schemas/index.d.ts +1 -0
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +1 -0
- package/lib/schemas/videoPlan.schema.d.ts +2 -2
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
- package/lib/schemas/videoPlan.schema.js +11 -1
- package/lib/services/agent/providerFallback/chains.d.ts.map +1 -1
- package/lib/services/agent/providerFallback/chains.js +9 -1
- package/lib/services/agent/taskPoller.d.ts.map +1 -1
- package/lib/services/agent/taskPoller.js +17 -6
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +21 -9
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/generateAvatarVideo.tool.js +135 -39
- package/lib/services/agent/tools/planVideo.tool.d.ts +2 -2
- package/lib/services/aiGen/aiGenFactory.service.d.ts +1 -1
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +10 -2
- package/lib/services/aiGen/helpers.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.js +12 -2
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +47 -8
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts +8 -0
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +55 -2
- package/lib/services/avatarGen/IAvatarVideoProvider.d.ts +136 -0
- package/lib/services/avatarGen/IAvatarVideoProvider.d.ts.map +1 -0
- package/lib/services/avatarGen/IAvatarVideoProvider.js +42 -0
- package/lib/services/avatarGen/avatarProviderFactory.d.ts +18 -0
- package/lib/services/avatarGen/avatarProviderFactory.d.ts.map +1 -0
- package/lib/services/avatarGen/avatarProviderFactory.js +54 -0
- package/lib/services/avatarGen/index.d.ts +6 -0
- package/lib/services/avatarGen/index.d.ts.map +1 -0
- package/lib/services/avatarGen/index.js +21 -0
- package/lib/services/avatarGen/providers/heygenAvatarProvider.d.ts +45 -0
- package/lib/services/avatarGen/providers/heygenAvatarProvider.d.ts.map +1 -0
- package/lib/services/avatarGen/providers/heygenAvatarProvider.js +190 -0
- package/lib/services/avatarGen/providers/klingAvatarProvider.d.ts +32 -0
- package/lib/services/avatarGen/providers/klingAvatarProvider.d.ts.map +1 -0
- package/lib/services/avatarGen/providers/klingAvatarProvider.js +69 -0
- package/lib/services/avatarGen/providers/tavusAvatarProvider.d.ts +56 -0
- package/lib/services/avatarGen/providers/tavusAvatarProvider.d.ts.map +1 -0
- package/lib/services/avatarGen/providers/tavusAvatarProvider.js +183 -0
- package/lib/services/demo/demoAuthor.d.ts +45 -0
- package/lib/services/demo/demoAuthor.d.ts.map +1 -0
- package/lib/services/demo/demoAuthor.js +75 -0
- package/lib/services/demo/demoAuthorNormalize.d.ts +49 -0
- package/lib/services/demo/demoAuthorNormalize.d.ts.map +1 -0
- package/lib/services/demo/demoAuthorNormalize.js +327 -0
- package/lib/services/demo/demoAuthorPrompt.d.ts +102 -0
- package/lib/services/demo/demoAuthorPrompt.d.ts.map +1 -0
- package/lib/services/demo/demoAuthorPrompt.js +243 -0
- package/lib/services/demo/demoCredits.d.ts +20 -0
- package/lib/services/demo/demoCredits.d.ts.map +1 -0
- package/lib/services/demo/demoCredits.js +51 -0
- package/lib/services/demo/demoMediaGuard.d.ts +43 -0
- package/lib/services/demo/demoMediaGuard.d.ts.map +1 -0
- package/lib/services/demo/demoMediaGuard.js +207 -0
- package/lib/services/demo/demoMusic.d.ts +13 -0
- package/lib/services/demo/demoMusic.d.ts.map +1 -0
- package/lib/services/demo/demoMusic.js +93 -0
- package/lib/services/demo/demoPrefill.d.ts +76 -0
- package/lib/services/demo/demoPrefill.d.ts.map +1 -0
- package/lib/services/demo/demoPrefill.js +435 -0
- package/lib/services/demo/demoRevisePrompt.d.ts +17 -0
- package/lib/services/demo/demoRevisePrompt.d.ts.map +1 -0
- package/lib/services/demo/demoRevisePrompt.js +85 -0
- package/lib/services/demo/demoReviser.d.ts +63 -0
- package/lib/services/demo/demoReviser.d.ts.map +1 -0
- package/lib/services/demo/demoReviser.js +81 -0
- package/lib/services/demo/demoScriptPrompt.d.ts +63 -0
- package/lib/services/demo/demoScriptPrompt.d.ts.map +1 -0
- package/lib/services/demo/demoScriptPrompt.js +234 -0
- package/lib/services/demo/demoScriptWriter.d.ts +65 -0
- package/lib/services/demo/demoScriptWriter.d.ts.map +1 -0
- package/lib/services/demo/demoScriptWriter.js +211 -0
- package/lib/services/demo/demoTriage.d.ts +65 -0
- package/lib/services/demo/demoTriage.d.ts.map +1 -0
- package/lib/services/demo/demoTriage.js +130 -0
- package/lib/services/demo/githubOAuth.d.ts +78 -0
- package/lib/services/demo/githubOAuth.d.ts.map +1 -0
- package/lib/services/demo/githubOAuth.js +209 -0
- package/lib/services/demo/githubOAuthState.d.ts +10 -0
- package/lib/services/demo/githubOAuthState.d.ts.map +1 -0
- package/lib/services/demo/githubOAuthState.js +63 -0
- package/lib/services/demo/index.d.ts +24 -0
- package/lib/services/demo/index.d.ts.map +1 -0
- package/lib/services/demo/index.js +39 -0
- package/lib/services/firestore.service.d.ts +11 -0
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +24 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +2 -0
- package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
- package/lib/services/tts/providers/elevenlabs.service.js +16 -8
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/outreachTemplate.d.ts +46 -0
- package/lib/utils/outreachTemplate.d.ts.map +1 -0
- package/lib/utils/outreachTemplate.js +174 -0
- package/package.json +1 -1
|
@@ -28,6 +28,8 @@ export declare enum EVideoGenModels {
|
|
|
28
28
|
KLING_V3_OMNI_VIDEO = "kling-v3-omni-video",
|
|
29
29
|
KLING_MOTION_CONTROL = "kling-motion-control",
|
|
30
30
|
KLING_LIP_SYNC = "kling-lip-sync",
|
|
31
|
+
HEYGEN_AVATAR = "heygen-avatar",
|
|
32
|
+
TAVUS_AVATAR = "tavus-avatar",
|
|
31
33
|
MINIMAX_HAILUO_2_3_FAST = "minimax-hailuo-2.3-fast",
|
|
32
34
|
MINIMAX_HAILUO_2_3 = "minimax-hailuo-2.3",
|
|
33
35
|
MINIMAX_HAILUO_02 = "minimax-hailuo-02",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAE7B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAE3C,oBAAoB,yBAAyB;IAE7C,cAAc,mBAAmB;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAE7B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAE3C,oBAAoB,yBAAyB;IAE7C,cAAc,mBAAmB;IAIjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEvF;;;;GAIG;AACH,oBAAY,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,cAAc;IAIxB,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IAQzC,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;IAIzD,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;CAChD;AAED;;;;GAIG;AACH,oBAAY,aAAa;IACvB,wBAAwB,6BAA6B;CACtD;AAED,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,aAAa,CAAC"}
|
|
@@ -35,6 +35,11 @@ var EVideoGenModels;
|
|
|
35
35
|
EVideoGenModels["KLING_MOTION_CONTROL"] = "kling-motion-control";
|
|
36
36
|
// Lip sync (/v1/videos/identify-face + /v1/videos/advanced-lip-sync)
|
|
37
37
|
EVideoGenModels["KLING_LIP_SYNC"] = "kling-lip-sync";
|
|
38
|
+
// ── Hosted avatar engines (own seam: IAvatarVideoProvider, NOT the generic
|
|
39
|
+
// video factory). "hosted" inputMode — caller supplies a provider-hosted
|
|
40
|
+
// avatar + voice + script; the engine does its own TTS + lipsync. ──────────
|
|
41
|
+
EVideoGenModels["HEYGEN_AVATAR"] = "heygen-avatar";
|
|
42
|
+
EVideoGenModels["TAVUS_AVATAR"] = "tavus-avatar";
|
|
38
43
|
EVideoGenModels["MINIMAX_HAILUO_2_3_FAST"] = "minimax-hailuo-2.3-fast";
|
|
39
44
|
EVideoGenModels["MINIMAX_HAILUO_2_3"] = "minimax-hailuo-2.3";
|
|
40
45
|
EVideoGenModels["MINIMAX_HAILUO_02"] = "minimax-hailuo-02";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAcvC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAYvB,CAAC;AAEvC,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAMnE,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
|
@@ -23,6 +23,7 @@ const bytedance_1 = require("./providers/bytedance");
|
|
|
23
23
|
const google_1 = require("./providers/google");
|
|
24
24
|
const runway_1 = require("./providers/runway");
|
|
25
25
|
const kling_1 = require("./providers/kling");
|
|
26
|
+
const hostedAvatars_1 = require("./providers/hostedAvatars");
|
|
26
27
|
const minimax_1 = require("./providers/minimax");
|
|
27
28
|
const openai_1 = require("./providers/openai");
|
|
28
29
|
const alibaba_1 = require("./providers/alibaba");
|
|
@@ -34,6 +35,7 @@ exports.aiModelConfigs = {
|
|
|
34
35
|
...google_1.googleConfigs,
|
|
35
36
|
...runway_1.runwayConfigs,
|
|
36
37
|
...kling_1.klingConfigs,
|
|
38
|
+
...hostedAvatars_1.hostedAvatarConfigs,
|
|
37
39
|
...minimax_1.minimaxConfigs,
|
|
38
40
|
...openai_1.openaiConfigs,
|
|
39
41
|
...alibaba_1.alibabaConfigs,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IModelSchema } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Hosted avatar-engine model configs (HeyGen, Tavus).
|
|
4
|
+
*
|
|
5
|
+
* Unlike kling-avatar ("byo-media": we supply a face image + audio we TTS'd),
|
|
6
|
+
* these are "hosted" engines — the caller picks a provider-hosted avatar/replica
|
|
7
|
+
* + voice and supplies a SCRIPT; the engine does its own TTS + lipsync in one
|
|
8
|
+
* render (no multi-scene split). The provider seam (IAvatarVideoProvider) owns
|
|
9
|
+
* those behavioral differences via `capabilities`; this config carries only the
|
|
10
|
+
* static metadata (cost, guidance, poll cadence, duration bounds).
|
|
11
|
+
*
|
|
12
|
+
* ⚠️ COST IS UNVERIFIED — both engines bill per-credit/per-minute on tiered API
|
|
13
|
+
* plans. The `perMinute` USD figures below are conservative (higher-side)
|
|
14
|
+
* estimates so we never under-bill; confirm against the HeyGen + Tavus API
|
|
15
|
+
* dashboards before prod launch and update here.
|
|
16
|
+
*
|
|
17
|
+
* The `avatar.ttsProvider` field is required by IAvatarModelConfig but UNUSED
|
|
18
|
+
* for hosted engines (they synthesize natively — `capabilities.nativeTts` is
|
|
19
|
+
* true). It's left as "elevenlabs" purely to satisfy the type.
|
|
20
|
+
*/
|
|
21
|
+
export declare const hostedAvatarConfigs: Record<string, IModelSchema>;
|
|
22
|
+
//# sourceMappingURL=hostedAvatars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostedAvatars.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/hostedAvatars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAkH5D,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hostedAvatarConfigs = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Hosted avatar-engine model configs (HeyGen, Tavus).
|
|
6
|
+
*
|
|
7
|
+
* Unlike kling-avatar ("byo-media": we supply a face image + audio we TTS'd),
|
|
8
|
+
* these are "hosted" engines — the caller picks a provider-hosted avatar/replica
|
|
9
|
+
* + voice and supplies a SCRIPT; the engine does its own TTS + lipsync in one
|
|
10
|
+
* render (no multi-scene split). The provider seam (IAvatarVideoProvider) owns
|
|
11
|
+
* those behavioral differences via `capabilities`; this config carries only the
|
|
12
|
+
* static metadata (cost, guidance, poll cadence, duration bounds).
|
|
13
|
+
*
|
|
14
|
+
* ⚠️ COST IS UNVERIFIED — both engines bill per-credit/per-minute on tiered API
|
|
15
|
+
* plans. The `perMinute` USD figures below are conservative (higher-side)
|
|
16
|
+
* estimates so we never under-bill; confirm against the HeyGen + Tavus API
|
|
17
|
+
* dashboards before prod launch and update here.
|
|
18
|
+
*
|
|
19
|
+
* The `avatar.ttsProvider` field is required by IAvatarModelConfig but UNUSED
|
|
20
|
+
* for hosted engines (they synthesize natively — `capabilities.nativeTts` is
|
|
21
|
+
* true). It's left as "elevenlabs" purely to satisfy the type.
|
|
22
|
+
*/
|
|
23
|
+
exports.hostedAvatarConfigs = {
|
|
24
|
+
// ── HeyGen ────────────────────────────────────────────────────────────────
|
|
25
|
+
// Endpoint: POST /v2/video/generate (hosted avatar_id + voice_id + input_text)
|
|
26
|
+
"heygen-avatar": {
|
|
27
|
+
modelId: "heygen-avatar",
|
|
28
|
+
type: ["avatar-video"],
|
|
29
|
+
tier: "T2",
|
|
30
|
+
fields: {
|
|
31
|
+
hostedAvatarId: { required: true },
|
|
32
|
+
hostedVoiceId: { required: true },
|
|
33
|
+
ttsText: { required: true },
|
|
34
|
+
mode: { allowedValues: ["std", "pro"], default: "std" },
|
|
35
|
+
},
|
|
36
|
+
concurrentRequests: 5,
|
|
37
|
+
cost: {
|
|
38
|
+
// UNVERIFIED estimate — HeyGen API bills per credit (≈ per 30s of video).
|
|
39
|
+
// ~$0.30/min as a safe upper bound; confirm from the HeyGen dashboard.
|
|
40
|
+
perMinute: 0.3,
|
|
41
|
+
},
|
|
42
|
+
guidance: {
|
|
43
|
+
quality: 4,
|
|
44
|
+
speed: 3,
|
|
45
|
+
bestFor: "Studio-grade talking-head presenters from a hosted avatar catalog; pick when you want a polished spokesperson without supplying your own face image.",
|
|
46
|
+
notes: "Hosted engine — renders the whole script in one shot (no scene split). Cost UNVERIFIED.",
|
|
47
|
+
},
|
|
48
|
+
avatar: {
|
|
49
|
+
audioDurationMin: 1,
|
|
50
|
+
audioDurationMax: 1800, // 30 min — HeyGen handles long scripts in one render
|
|
51
|
+
ttsProvider: "elevenlabs", // UNUSED (native TTS) — see file header
|
|
52
|
+
pollIntervalMs: 8000,
|
|
53
|
+
pollTimeoutMs: 12 * 60 * 1000,
|
|
54
|
+
maxAutoRequeueAttempts: 5,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
// ── Tavus ───────────────────────────────────────────────────────────────
|
|
58
|
+
// Endpoint: POST /v2/videos (replica_id + script). Hosted "avatar" = replica.
|
|
59
|
+
"tavus-avatar": {
|
|
60
|
+
modelId: "tavus-avatar",
|
|
61
|
+
type: ["avatar-video"],
|
|
62
|
+
tier: "T2",
|
|
63
|
+
fields: {
|
|
64
|
+
hostedAvatarId: { required: true }, // → replica_id
|
|
65
|
+
ttsText: { required: true }, // → script
|
|
66
|
+
mode: { allowedValues: ["std", "pro"], default: "std" },
|
|
67
|
+
},
|
|
68
|
+
concurrentRequests: 5,
|
|
69
|
+
cost: {
|
|
70
|
+
// UNVERIFIED estimate — Tavus bills per minute of generated video on
|
|
71
|
+
// tiered plans. ~$0.50/min as a safe upper bound; confirm from dashboard.
|
|
72
|
+
perMinute: 0.5,
|
|
73
|
+
},
|
|
74
|
+
guidance: {
|
|
75
|
+
quality: 4,
|
|
76
|
+
speed: 3,
|
|
77
|
+
bestFor: "Personalized presenters from a trained replica + multilingual delivery (the dubbing wedge); pick when you want the user's own likeness to speak.",
|
|
78
|
+
notes: "Hosted engine — replica IS the avatar (its cloned voice; hostedVoiceId unused). Dedicated dubbing endpoint pending verification. Cost UNVERIFIED.",
|
|
79
|
+
},
|
|
80
|
+
avatar: {
|
|
81
|
+
audioDurationMin: 1,
|
|
82
|
+
audioDurationMax: 1800,
|
|
83
|
+
ttsProvider: "elevenlabs", // UNUSED (native TTS) — see file header
|
|
84
|
+
pollIntervalMs: 8000,
|
|
85
|
+
pollTimeoutMs: 12 * 60 * 1000,
|
|
86
|
+
maxAutoRequeueAttempts: 5,
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
// ── Synthesia (CATALOG-ONLY — enterprise tier, provider NOT wired) ────────
|
|
90
|
+
// Endpoint (for when it lands): POST /v2/videos (templateId/avatar + script).
|
|
91
|
+
// Deliberately absent from avatarProviderFactory: this entry exists ONLY so
|
|
92
|
+
// the model surfaces in catalogs/list_models with real cost + guidance (per
|
|
93
|
+
// the model-config cost/guidance rule). Because no IAvatarVideoProvider is
|
|
94
|
+
// registered, isAvatarModel("synthesia-avatar") is false and any attempt to
|
|
95
|
+
// generate throws "No avatar provider registered" — that's the intended
|
|
96
|
+
// deferred state. Wiring the provider (+ enum member + factory line) is the
|
|
97
|
+
// Reach enterprise-tier follow-up.
|
|
98
|
+
"synthesia-avatar": {
|
|
99
|
+
modelId: "synthesia-avatar",
|
|
100
|
+
type: ["avatar-video"],
|
|
101
|
+
tier: "T3",
|
|
102
|
+
fields: {
|
|
103
|
+
hostedAvatarId: { required: true }, // → avatar / template id
|
|
104
|
+
ttsText: { required: true }, // → script
|
|
105
|
+
mode: { allowedValues: ["std", "pro"], default: "std" },
|
|
106
|
+
},
|
|
107
|
+
concurrentRequests: 3,
|
|
108
|
+
cost: {
|
|
109
|
+
// UNVERIFIED estimate — Synthesia is enterprise/seat-priced (no public
|
|
110
|
+
// per-minute API rate). ~$0.60/min as a safe upper bound placeholder;
|
|
111
|
+
// confirm against the enterprise contract before enabling.
|
|
112
|
+
perMinute: 0.6,
|
|
113
|
+
},
|
|
114
|
+
guidance: {
|
|
115
|
+
quality: 5,
|
|
116
|
+
speed: 2,
|
|
117
|
+
bestFor: "Enterprise/compliance-grade avatars across 140+ languages; pick for regulated buyers who need studio presenters and localization at scale.",
|
|
118
|
+
notes: "CATALOG-ONLY — provider not yet wired (enterprise tier deferred). Selecting it will NOT generate until the Synthesia provider lands. Cost UNVERIFIED.",
|
|
119
|
+
},
|
|
120
|
+
avatar: {
|
|
121
|
+
audioDurationMin: 1,
|
|
122
|
+
audioDurationMax: 1800,
|
|
123
|
+
ttsProvider: "elevenlabs", // UNUSED (native TTS) — see file header
|
|
124
|
+
pollIntervalMs: 10000,
|
|
125
|
+
pollTimeoutMs: 15 * 60 * 1000,
|
|
126
|
+
maxAutoRequeueAttempts: 3,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
package/lib/globals/types.d.ts
CHANGED
|
@@ -123,7 +123,25 @@ export declare enum ERedisQueues {
|
|
|
123
123
|
* the metrics into the `socialAnalytics` time-series. Enqueued as a repeatable
|
|
124
124
|
* job (no platform pushes analytics; data lags 24–72h). See SOCIAL_SUITE_PLAN.md.
|
|
125
125
|
*/
|
|
126
|
-
SOCIAL_METRICS_JOBS = "social-metrics-job-queue"
|
|
126
|
+
SOCIAL_METRICS_JOBS = "social-metrics-job-queue",
|
|
127
|
+
/**
|
|
128
|
+
* SaaS Demo Video Generator — one job per `demoVideoProjects/{id}` build/rebuild
|
|
129
|
+
* request. The Cloud Function only validates inputs + deducts credits + writes
|
|
130
|
+
* the project doc; the worker owns the long multi-stage pipeline (gather →
|
|
131
|
+
* plan → render-draft → script → voice → mux → finalize) and streams stage
|
|
132
|
+
* progress onto the project doc so the wizard subscribes via onSnapshot. The
|
|
133
|
+
* pipeline itself is mostly I/O-bound orchestration; the heavy Remotion render
|
|
134
|
+
* sub-step is delegated to RENDER_JOBS. See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
135
|
+
*/
|
|
136
|
+
DEMO_VIDEO_JOBS = "demo-video-job-queue",
|
|
137
|
+
/**
|
|
138
|
+
* VidSpot Reach — Phase 2 fan-out. One job per `outreachCampaigns/{id}/generate`
|
|
139
|
+
* call. The worker iterates all `pending` recipients, resolves {{variables}},
|
|
140
|
+
* consumes credits, enqueues each per-recipient videoJob on VIDEO_JOBS, and
|
|
141
|
+
* generates a landing-page slug per recipient. The per-recipient renders are
|
|
142
|
+
* ordinary avatar jobs handled by the existing AvatarJobProcessor.
|
|
143
|
+
*/
|
|
144
|
+
OUTREACH_PERSONALIZE_JOBS = "outreach-personalize-job-queue"
|
|
127
145
|
}
|
|
128
146
|
export declare const REDIS_QUEUES: ERedisQueues[];
|
|
129
147
|
/** X8 Social Suite — connected social platforms. Value = stable storage key. */
|
|
@@ -201,6 +219,45 @@ export declare enum EImageJobStatus {
|
|
|
201
219
|
COMPLETED = "completed",
|
|
202
220
|
FAILED = "failed"
|
|
203
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Lifecycle of a SaaS Demo Video Generator build. The pipeline is multi-stage
|
|
224
|
+
* and long-running, so — unlike the simple QUEUED/IN_PROGRESS/COMPLETED/FAILED
|
|
225
|
+
* job enums — the status doubles as a coarse PROGRESS signal the wizard renders
|
|
226
|
+
* live via onSnapshot. Stages map 1:1 to the orchestration job (plan §4):
|
|
227
|
+
* gather inputs → plan DemoSpec → render draft MP4 → write script → synth
|
|
228
|
+
* voiceover → mux audio+video → finalize. `READY` is the terminal success state;
|
|
229
|
+
* `FAILED` carries `errorMessage`. A user "change X" re-run re-enters at PLANNING.
|
|
230
|
+
* See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
231
|
+
*/
|
|
232
|
+
export declare enum EDemoVideoStatus {
|
|
233
|
+
QUEUED = "queued",
|
|
234
|
+
GATHERING = "gathering",
|
|
235
|
+
/** "Request a change" — applying a natural-language edit to the persisted spec. */
|
|
236
|
+
REVISING = "revising",
|
|
237
|
+
/**
|
|
238
|
+
* Paused waiting on the user's answers to the agent's dynamic clarifying
|
|
239
|
+
* questions (the mid-run half of the clarification loop). NOT terminal and NOT
|
|
240
|
+
* heartbeat-bearing — the worker has RETURNED (freed its slot); a POST to
|
|
241
|
+
* /v1/demo-video/:id/answer re-enqueues. Modeled on the agent gate's
|
|
242
|
+
* "awaiting_approval". No demo reaper touches this doc, so it can't be reaped.
|
|
243
|
+
*/
|
|
244
|
+
AWAITING_INPUT = "awaitingInput",
|
|
245
|
+
PLANNING = "planning",
|
|
246
|
+
/**
|
|
247
|
+
* Materializing the spec's `generatedAssets` (AI images/clips the planner
|
|
248
|
+
* requested for scenes) before render. Skipped when the spec declares none —
|
|
249
|
+
* most demos generate nothing.
|
|
250
|
+
*/
|
|
251
|
+
GENERATING_ASSETS = "generatingAssets",
|
|
252
|
+
RENDERING_DRAFT = "renderingDraft",
|
|
253
|
+
SCRIPTING = "scripting",
|
|
254
|
+
VOICING = "voicing",
|
|
255
|
+
MUXING = "muxing",
|
|
256
|
+
FINALIZING = "finalizing",
|
|
257
|
+
READY = "ready",
|
|
258
|
+
FAILED = "failed",
|
|
259
|
+
CANCELLED = "cancelled"
|
|
260
|
+
}
|
|
204
261
|
/**
|
|
205
262
|
* Taxonomy of in-app notifications surfaced through the bell dropdown.
|
|
206
263
|
* Each value is also a preference toggle key — users can mute any type from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,cAAc,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW,CAAE,wCAAwC;IAC3D,WAAW,eAAe,CAAE,2DAA2D;IAGvF,SAAS,cAAc,CAAE,8CAA8C;IACvE,MAAM,WAAW,CAAE,+BAA+B;IAClD,mBAAmB,uBAAuB,CAAE,oEAAoE;IAChH,SAAS,cAAc;CACxB;AAED,oBAAY,iBAAiB;IAC3B,WAAW,eAAe,CAAE,qFAAqF;IACjH,SAAS,cAAc,CAAE,2FAA2F;IACpH,OAAO,YAAY,CAAE,kKAAkK;IACvL,MAAM,WAAW,CAAE,kEAAkE;IACrF,SAAS,cAAc,CAAE,sCAAsC;IAC/D;;;;;OAKG;IACH,SAAS,aAAa;IACtB;;;;;;OAMG;IACH,SAAS,cAAc;CACxB;AAMD,oBAAY,YAAY;IACtB,UAAU,oBAAoB;IAC9B,iJAAiJ;IACjJ,eAAe,yBAAyB;IACxC,6FAA6F;IAC7F,WAAW,qBAAqB;IAChC,iFAAiF;IACjF,WAAW,qBAAqB;IAChC,mJAAmJ;IACnJ,UAAU,oBAAoB;IAC9B;;;;;OAKG;IACH,cAAc,wBAAwB;IACtC;;;;OAIG;IACH,gBAAgB,0BAA0B;IAC1C;;;;;;;;OAQG;IACH,eAAe,yBAAyB;IACxC;;;;;;;OAOG;IACH,eAAe,yBAAyB;IACxC;;;;;;;;OAQG;IACH,oBAAoB,8BAA8B;IAClD;;;;;;;;OAQG;IACH,iBAAiB,2BAA2B;IAC5C;;;;;OAKG;IACH,cAAc,wBAAwB;IACtC;;;;;;OAMG;IACH,mBAAmB,6BAA6B;IAChD;;;;OAIG;IACH,mBAAmB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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"}
|
package/lib/globals/types.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ConsistentSceneSchema = exports.ConsistentSceneItemSchema = exports.VisualBibleSchema = exports.VisualBibleObject = exports.VisualBibleCharacter = exports.EGPT_LANGUAGE_CODE = exports.ELANGUAGE_CODE = exports.ERROR_CODE = exports.EENVS = exports.ECURRENCY = exports.ESUBSCRIPTION_STATUS = exports.ERENEWAL_FREQUENCY = exports.ESUBSCRIPTION_PLANS = exports.ESCHEDULE_UPDATE_STATUS = exports.EVideoDurationType = exports.ENotificationSeverity = exports.DEFAULT_NOTIFICATION_PREFERENCES = exports.ENotificationType = exports.EImageJobStatus = exports.ESocialInboxStatus = exports.ESocialInboxType = exports.ESocialApprovalState = exports.ESocialTargetStatus = exports.ESocialPostStatus = exports.ESocialAccountStatus = exports.ESocialAccountKind = exports.ESocialProvider = exports.REDIS_QUEUES = exports.ERedisQueues = exports.EVideoSceneStatus = exports.EVideoJobStatus = void 0;
|
|
6
|
+
exports.ConsistentSceneSchema = exports.ConsistentSceneItemSchema = exports.VisualBibleSchema = exports.VisualBibleObject = exports.VisualBibleCharacter = exports.EGPT_LANGUAGE_CODE = exports.ELANGUAGE_CODE = exports.ERROR_CODE = exports.EENVS = exports.ECURRENCY = exports.ESUBSCRIPTION_STATUS = exports.ERENEWAL_FREQUENCY = exports.ESUBSCRIPTION_PLANS = exports.ESCHEDULE_UPDATE_STATUS = exports.EVideoDurationType = exports.ENotificationSeverity = exports.DEFAULT_NOTIFICATION_PREFERENCES = exports.ENotificationType = exports.EDemoVideoStatus = exports.EImageJobStatus = exports.ESocialInboxStatus = exports.ESocialInboxType = exports.ESocialApprovalState = exports.ESocialTargetStatus = exports.ESocialPostStatus = exports.ESocialAccountStatus = exports.ESocialAccountKind = exports.ESocialProvider = exports.REDIS_QUEUES = exports.ERedisQueues = exports.EVideoSceneStatus = exports.EVideoJobStatus = void 0;
|
|
7
7
|
const zod_1 = __importDefault(require("zod"));
|
|
8
8
|
var EVideoJobStatus;
|
|
9
9
|
(function (EVideoJobStatus) {
|
|
@@ -125,6 +125,24 @@ var ERedisQueues;
|
|
|
125
125
|
* job (no platform pushes analytics; data lags 24–72h). See SOCIAL_SUITE_PLAN.md.
|
|
126
126
|
*/
|
|
127
127
|
ERedisQueues["SOCIAL_METRICS_JOBS"] = "social-metrics-job-queue";
|
|
128
|
+
/**
|
|
129
|
+
* SaaS Demo Video Generator — one job per `demoVideoProjects/{id}` build/rebuild
|
|
130
|
+
* request. The Cloud Function only validates inputs + deducts credits + writes
|
|
131
|
+
* the project doc; the worker owns the long multi-stage pipeline (gather →
|
|
132
|
+
* plan → render-draft → script → voice → mux → finalize) and streams stage
|
|
133
|
+
* progress onto the project doc so the wizard subscribes via onSnapshot. The
|
|
134
|
+
* pipeline itself is mostly I/O-bound orchestration; the heavy Remotion render
|
|
135
|
+
* sub-step is delegated to RENDER_JOBS. See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
136
|
+
*/
|
|
137
|
+
ERedisQueues["DEMO_VIDEO_JOBS"] = "demo-video-job-queue";
|
|
138
|
+
/**
|
|
139
|
+
* VidSpot Reach — Phase 2 fan-out. One job per `outreachCampaigns/{id}/generate`
|
|
140
|
+
* call. The worker iterates all `pending` recipients, resolves {{variables}},
|
|
141
|
+
* consumes credits, enqueues each per-recipient videoJob on VIDEO_JOBS, and
|
|
142
|
+
* generates a landing-page slug per recipient. The per-recipient renders are
|
|
143
|
+
* ordinary avatar jobs handled by the existing AvatarJobProcessor.
|
|
144
|
+
*/
|
|
145
|
+
ERedisQueues["OUTREACH_PERSONALIZE_JOBS"] = "outreach-personalize-job-queue";
|
|
128
146
|
})(ERedisQueues || (exports.ERedisQueues = ERedisQueues = {}));
|
|
129
147
|
exports.REDIS_QUEUES = [
|
|
130
148
|
ERedisQueues.VIDEO_JOBS,
|
|
@@ -141,6 +159,8 @@ exports.REDIS_QUEUES = [
|
|
|
141
159
|
ERedisQueues.WATERMARK_JOBS,
|
|
142
160
|
ERedisQueues.SOCIAL_PUBLISH_JOBS,
|
|
143
161
|
ERedisQueues.SOCIAL_METRICS_JOBS,
|
|
162
|
+
ERedisQueues.DEMO_VIDEO_JOBS,
|
|
163
|
+
ERedisQueues.OUTREACH_PERSONALIZE_JOBS,
|
|
144
164
|
];
|
|
145
165
|
/** X8 Social Suite — connected social platforms. Value = stable storage key. */
|
|
146
166
|
var ESocialProvider;
|
|
@@ -227,6 +247,46 @@ var EImageJobStatus;
|
|
|
227
247
|
EImageJobStatus["COMPLETED"] = "completed";
|
|
228
248
|
EImageJobStatus["FAILED"] = "failed";
|
|
229
249
|
})(EImageJobStatus || (exports.EImageJobStatus = EImageJobStatus = {}));
|
|
250
|
+
/**
|
|
251
|
+
* Lifecycle of a SaaS Demo Video Generator build. The pipeline is multi-stage
|
|
252
|
+
* and long-running, so — unlike the simple QUEUED/IN_PROGRESS/COMPLETED/FAILED
|
|
253
|
+
* job enums — the status doubles as a coarse PROGRESS signal the wizard renders
|
|
254
|
+
* live via onSnapshot. Stages map 1:1 to the orchestration job (plan §4):
|
|
255
|
+
* gather inputs → plan DemoSpec → render draft MP4 → write script → synth
|
|
256
|
+
* voiceover → mux audio+video → finalize. `READY` is the terminal success state;
|
|
257
|
+
* `FAILED` carries `errorMessage`. A user "change X" re-run re-enters at PLANNING.
|
|
258
|
+
* See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
259
|
+
*/
|
|
260
|
+
var EDemoVideoStatus;
|
|
261
|
+
(function (EDemoVideoStatus) {
|
|
262
|
+
EDemoVideoStatus["QUEUED"] = "queued";
|
|
263
|
+
EDemoVideoStatus["GATHERING"] = "gathering";
|
|
264
|
+
/** "Request a change" — applying a natural-language edit to the persisted spec. */
|
|
265
|
+
EDemoVideoStatus["REVISING"] = "revising";
|
|
266
|
+
/**
|
|
267
|
+
* Paused waiting on the user's answers to the agent's dynamic clarifying
|
|
268
|
+
* questions (the mid-run half of the clarification loop). NOT terminal and NOT
|
|
269
|
+
* heartbeat-bearing — the worker has RETURNED (freed its slot); a POST to
|
|
270
|
+
* /v1/demo-video/:id/answer re-enqueues. Modeled on the agent gate's
|
|
271
|
+
* "awaiting_approval". No demo reaper touches this doc, so it can't be reaped.
|
|
272
|
+
*/
|
|
273
|
+
EDemoVideoStatus["AWAITING_INPUT"] = "awaitingInput";
|
|
274
|
+
EDemoVideoStatus["PLANNING"] = "planning";
|
|
275
|
+
/**
|
|
276
|
+
* Materializing the spec's `generatedAssets` (AI images/clips the planner
|
|
277
|
+
* requested for scenes) before render. Skipped when the spec declares none —
|
|
278
|
+
* most demos generate nothing.
|
|
279
|
+
*/
|
|
280
|
+
EDemoVideoStatus["GENERATING_ASSETS"] = "generatingAssets";
|
|
281
|
+
EDemoVideoStatus["RENDERING_DRAFT"] = "renderingDraft";
|
|
282
|
+
EDemoVideoStatus["SCRIPTING"] = "scripting";
|
|
283
|
+
EDemoVideoStatus["VOICING"] = "voicing";
|
|
284
|
+
EDemoVideoStatus["MUXING"] = "muxing";
|
|
285
|
+
EDemoVideoStatus["FINALIZING"] = "finalizing";
|
|
286
|
+
EDemoVideoStatus["READY"] = "ready";
|
|
287
|
+
EDemoVideoStatus["FAILED"] = "failed";
|
|
288
|
+
EDemoVideoStatus["CANCELLED"] = "cancelled";
|
|
289
|
+
})(EDemoVideoStatus || (exports.EDemoVideoStatus = EDemoVideoStatus = {}));
|
|
230
290
|
/**
|
|
231
291
|
* Taxonomy of in-app notifications surfaced through the bell dropdown.
|
|
232
292
|
* Each value is also a preference toggle key — users can mute any type from
|