@convai/web-sdk 1.6.1-beta.0 → 1.7.0-beta.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/core/CharacterRoster.d.ts +68 -0
- package/dist/core/CharacterRoster.d.ts.map +1 -0
- package/dist/core/CharacterRoster.js +235 -0
- package/dist/core/CharacterRoster.js.map +1 -0
- package/dist/core/ConvaiClient.d.ts +39 -1
- package/dist/core/ConvaiClient.d.ts.map +1 -1
- package/dist/core/ConvaiClient.js +228 -6
- package/dist/core/ConvaiClient.js.map +1 -1
- package/dist/core/MessageHandler.d.ts.map +1 -1
- package/dist/core/MessageHandler.js +26 -4
- package/dist/core/MessageHandler.js.map +1 -1
- package/dist/core/types.d.ts +160 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/lipsync-helpers/index.d.ts +4 -0
- package/dist/lipsync-helpers/index.d.ts.map +1 -1
- package/dist/lipsync-helpers/index.js +7 -0
- package/dist/lipsync-helpers/index.js.map +1 -1
- package/dist/lipsync-helpers/mhaLimitDrivers.d.ts +33 -0
- package/dist/lipsync-helpers/mhaLimitDrivers.d.ts.map +1 -0
- package/dist/lipsync-helpers/mhaLimitDrivers.js +60 -0
- package/dist/lipsync-helpers/mhaLimitDrivers.js.map +1 -0
- package/dist/lipsync-helpers/naturalness/processor.d.ts +24 -0
- package/dist/lipsync-helpers/naturalness/processor.d.ts.map +1 -0
- package/dist/lipsync-helpers/naturalness/processor.js +162 -0
- package/dist/lipsync-helpers/naturalness/processor.js.map +1 -0
- package/dist/lipsync-helpers/naturalness/profiles/mha.d.ts +7 -0
- package/dist/lipsync-helpers/naturalness/profiles/mha.d.ts.map +1 -0
- package/dist/lipsync-helpers/naturalness/profiles/mha.js +105 -0
- package/dist/lipsync-helpers/naturalness/profiles/mha.js.map +1 -0
- package/dist/lipsync-helpers/naturalness/types.d.ts +68 -0
- package/dist/lipsync-helpers/naturalness/types.d.ts.map +1 -0
- package/dist/lipsync-helpers/naturalness/types.js +11 -0
- package/dist/lipsync-helpers/naturalness/types.js.map +1 -0
- package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
- package/dist/react/hooks/useConvaiClient.js +3 -0
- package/dist/react/hooks/useConvaiClient.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { MHA_PROFILE } from "./profiles/mha";
|
|
2
|
+
/**
|
|
3
|
+
* createLipsyncProcessor — the one-call naturalness pipeline for a stream
|
|
4
|
+
* format. Wraps every per-frame pattern from the lipsync docs:
|
|
5
|
+
*
|
|
6
|
+
* raw frame → symmetrize L/R → rig limit couplings → per-channel gains
|
|
7
|
+
* → bloom/settle envelope → morph targets (eye channels
|
|
8
|
+
* optionally left to your procedural blink/gaze)
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const lipsync = createLipsyncProcessor('mha', { skipEyeChannels: true });
|
|
12
|
+
* const bindings = lipsync.bindAll(gltf.scene); // repairs names, maps slots
|
|
13
|
+
*
|
|
14
|
+
* // per render tick:
|
|
15
|
+
* lipsync.tick(getFrameOrNull(), delta, bindings);
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
const PROFILES = {
|
|
19
|
+
mha: MHA_PROFILE,
|
|
20
|
+
};
|
|
21
|
+
/** Resolve a registered format profile; throws a helpful error otherwise. */
|
|
22
|
+
export function getLipsyncProfile(format) {
|
|
23
|
+
const profile = PROFILES[format];
|
|
24
|
+
if (!profile) {
|
|
25
|
+
throw new Error(`[lipsync-helpers] no naturalness profile for format "${format}" yet — ` +
|
|
26
|
+
`available: ${Object.keys(PROFILES).join(", ")}. ` +
|
|
27
|
+
`Pass a custom LipsyncFormatProfile to createLipsyncProcessor instead.`);
|
|
28
|
+
}
|
|
29
|
+
return profile;
|
|
30
|
+
}
|
|
31
|
+
export function createLipsyncProcessor(formatOrProfile, options = {}) {
|
|
32
|
+
const profile = typeof formatOrProfile === "string"
|
|
33
|
+
? getLipsyncProfile(formatOrProfile)
|
|
34
|
+
: formatOrProfile;
|
|
35
|
+
const { symmetrizeMouth = true, applyLimits = true, useRecommendedGains = true, gainOverrides = {}, skipEyeChannels = false, envelope = {}, } = options;
|
|
36
|
+
const dim = profile.channelNames.length;
|
|
37
|
+
// Effective per-channel gains: recommended table (or 1) + overrides.
|
|
38
|
+
const gains = new Float32Array(dim).fill(1);
|
|
39
|
+
if (useRecommendedGains)
|
|
40
|
+
gains.set(profile.recommendedGains);
|
|
41
|
+
const shortIndex = new Map();
|
|
42
|
+
profile.channelNames.forEach((name, i) => {
|
|
43
|
+
shortIndex.set(name, i);
|
|
44
|
+
// also register without common prefixes for override convenience
|
|
45
|
+
shortIndex.set(name.replace(/^CTRL_expressions_/, ""), i);
|
|
46
|
+
});
|
|
47
|
+
for (const [name, gain] of Object.entries(gainOverrides)) {
|
|
48
|
+
const i = shortIndex.get(name);
|
|
49
|
+
if (i !== undefined)
|
|
50
|
+
gains[i] = gain;
|
|
51
|
+
}
|
|
52
|
+
const attackTau = envelope === false ? 0 : envelope.attack ?? 0.09;
|
|
53
|
+
const releaseTau = envelope === false ? 0 : envelope.release ?? 0.18;
|
|
54
|
+
// Scratch state
|
|
55
|
+
const work = new Float32Array(dim);
|
|
56
|
+
let last = null;
|
|
57
|
+
let env = envelope === false ? 1 : 0;
|
|
58
|
+
const shape = (src) => {
|
|
59
|
+
work.set(src.subarray(0, dim));
|
|
60
|
+
if (symmetrizeMouth) {
|
|
61
|
+
for (const [li, ri] of profile.mouthPairs) {
|
|
62
|
+
const m = (work[li] + work[ri]) / 2;
|
|
63
|
+
work[li] = m;
|
|
64
|
+
work[ri] = m;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (applyLimits) {
|
|
68
|
+
for (const [s, t] of profile.limits) {
|
|
69
|
+
if (work[s] > work[t])
|
|
70
|
+
work[t] = work[s];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (let i = 0; i < dim; i++)
|
|
74
|
+
work[i] *= gains[i];
|
|
75
|
+
return work;
|
|
76
|
+
};
|
|
77
|
+
const process = (frame, delta) => {
|
|
78
|
+
if (envelope !== false) {
|
|
79
|
+
const target = frame ? 1 : 0;
|
|
80
|
+
const tau = target > env ? attackTau : releaseTau;
|
|
81
|
+
env += (target - env) * (1 - Math.exp(-delta / Math.max(tau, 1e-4)));
|
|
82
|
+
}
|
|
83
|
+
if (frame && frame.length >= dim) {
|
|
84
|
+
last = shape(frame);
|
|
85
|
+
}
|
|
86
|
+
else if (!frame && (envelope === false || env < 0.005)) {
|
|
87
|
+
last = null;
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
if (!last)
|
|
91
|
+
return null;
|
|
92
|
+
if (envelope !== false && env < 1) {
|
|
93
|
+
// weight the scratch in place (last === work)
|
|
94
|
+
for (let i = 0; i < dim; i++)
|
|
95
|
+
work[i] = last[i] * env;
|
|
96
|
+
return work;
|
|
97
|
+
}
|
|
98
|
+
return last;
|
|
99
|
+
};
|
|
100
|
+
const bindMesh = (mesh) => {
|
|
101
|
+
const dict = mesh.morphTargetDictionary;
|
|
102
|
+
if (!dict || !mesh.morphTargetInfluences)
|
|
103
|
+
return null;
|
|
104
|
+
// Repair known export name-mangling in place (idempotent).
|
|
105
|
+
for (const key of Object.keys(dict)) {
|
|
106
|
+
const fixed = profile.normalizeMorphName(key);
|
|
107
|
+
if (fixed !== key) {
|
|
108
|
+
dict[fixed] = dict[key];
|
|
109
|
+
delete dict[key];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const slots = new Int32Array(dim).fill(-1);
|
|
113
|
+
let matched = 0;
|
|
114
|
+
profile.channelNames.forEach((name, i) => {
|
|
115
|
+
const slot = dict[name];
|
|
116
|
+
if (slot !== undefined) {
|
|
117
|
+
slots[i] = slot;
|
|
118
|
+
matched++;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
return matched > 0 ? { mesh, slots, matched } : null;
|
|
122
|
+
};
|
|
123
|
+
const bindAll = (root) => {
|
|
124
|
+
const bindings = [];
|
|
125
|
+
root.traverse((obj) => {
|
|
126
|
+
const m = obj;
|
|
127
|
+
if (!m.isMesh)
|
|
128
|
+
return;
|
|
129
|
+
const b = bindMesh(m);
|
|
130
|
+
if (b)
|
|
131
|
+
bindings.push(b);
|
|
132
|
+
});
|
|
133
|
+
return bindings;
|
|
134
|
+
};
|
|
135
|
+
const apply = (out, bindings) => {
|
|
136
|
+
if (!out)
|
|
137
|
+
return;
|
|
138
|
+
const eyes = profile.eyeChannelIndices;
|
|
139
|
+
for (const b of bindings) {
|
|
140
|
+
const infl = b.mesh.morphTargetInfluences;
|
|
141
|
+
for (let i = 0; i < dim; i++) {
|
|
142
|
+
const slot = b.slots[i];
|
|
143
|
+
if (slot < 0)
|
|
144
|
+
continue;
|
|
145
|
+
if (skipEyeChannels && eyes.has(i))
|
|
146
|
+
continue;
|
|
147
|
+
infl[slot] = out[i];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return {
|
|
152
|
+
profile,
|
|
153
|
+
process,
|
|
154
|
+
bindMesh,
|
|
155
|
+
bindAll,
|
|
156
|
+
apply,
|
|
157
|
+
tick(frame, delta, bindings) {
|
|
158
|
+
apply(process(frame, delta), bindings);
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/lipsync-helpers/naturalness/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LipsyncFormatProfile } from "../types";
|
|
2
|
+
/** Production-tuned per-channel gains (short name → gain). */
|
|
3
|
+
export declare const MHA_RECOMMENDED_GAIN_TABLE: Record<string, number>;
|
|
4
|
+
export declare const MHA_PROFILE: LipsyncFormatProfile;
|
|
5
|
+
/** Short channel name → MHA-251 frame index (e.g. "jawOpen" → 62). */
|
|
6
|
+
export declare function mhaChannelIndex(shortName: string): number | undefined;
|
|
7
|
+
//# sourceMappingURL=mha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mha.d.ts","sourceRoot":"","sources":["../../../../src/lipsync-helpers/naturalness/profiles/mha.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAkCrD,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+B7D,CAAC;AASF,eAAO,MAAM,WAAW,EAAE,oBAwCzB,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { METAHUMAN_ORDER_251 } from "../../metahumanOrder251";
|
|
2
|
+
/**
|
|
3
|
+
* MetaHuman (`mha`, 251-channel) format profile.
|
|
4
|
+
*
|
|
5
|
+
* The limit drivers are the couplings Unreal's MetaHuman rig applies
|
|
6
|
+
* natively and the stream is authored against — most visibly jawOpen must
|
|
7
|
+
* drive the four mouthLipsTogether* channels so the lips stay in contact
|
|
8
|
+
* while the jaw moves. Without them every jaw opening bares the teeth.
|
|
9
|
+
*/
|
|
10
|
+
const MHA_INDEX = (() => {
|
|
11
|
+
const m = {};
|
|
12
|
+
METAHUMAN_ORDER_251.forEach((ctrl, i) => {
|
|
13
|
+
m[ctrl.replace(/^CTRL_expressions_/, "")] = i;
|
|
14
|
+
});
|
|
15
|
+
return m;
|
|
16
|
+
})();
|
|
17
|
+
/** [source, target] short names — target becomes max(target, source). */
|
|
18
|
+
const LIMIT_DEFS = [
|
|
19
|
+
["eyeBlinkL", "eyeLidPressL"],
|
|
20
|
+
["eyeBlinkR", "eyeLidPressR"],
|
|
21
|
+
["noseWrinkleL", "noseWrinkleUpperL"],
|
|
22
|
+
["noseWrinkleR", "noseWrinkleUpperR"],
|
|
23
|
+
["mouthStretchL", "mouthStretchLipsCloseL"],
|
|
24
|
+
["mouthStretchR", "mouthStretchLipsCloseR"],
|
|
25
|
+
["jawOpen", "jawOpenExtreme"],
|
|
26
|
+
["jawOpen", "mouthLipsTogetherUL"],
|
|
27
|
+
["jawOpen", "mouthLipsTogetherUR"],
|
|
28
|
+
["jawOpen", "mouthLipsTogetherDL"],
|
|
29
|
+
["jawOpen", "mouthLipsTogetherDR"],
|
|
30
|
+
];
|
|
31
|
+
/** Production-tuned per-channel gains (short name → gain). */
|
|
32
|
+
export const MHA_RECOMMENDED_GAIN_TABLE = {
|
|
33
|
+
// Conversational aperture: 0.6 reads mumbled, raw bares the teeth.
|
|
34
|
+
jawOpen: 0.72,
|
|
35
|
+
jawOpenExtreme: 0.42,
|
|
36
|
+
// Lateral shifts only ever read as a lopsided mouth once L/R pairs are
|
|
37
|
+
// symmetrized.
|
|
38
|
+
jawLeft: 0,
|
|
39
|
+
jawRight: 0,
|
|
40
|
+
mouthLeft: 0,
|
|
41
|
+
mouthRight: 0,
|
|
42
|
+
// Teeth exposure matched to real speech: upper teeth glimpsed on open
|
|
43
|
+
// vowels, lower teeth mostly hidden.
|
|
44
|
+
mouthUpperLipRaiseL: 0.6,
|
|
45
|
+
mouthUpperLipRaiseR: 0.6,
|
|
46
|
+
mouthLowerLipDepressL: 0.45,
|
|
47
|
+
mouthLowerLipDepressR: 0.45,
|
|
48
|
+
// Lips ride close to the teeth through normal speech.
|
|
49
|
+
mouthLipsTogetherUL: 0.8,
|
|
50
|
+
mouthLipsTogetherUR: 0.8,
|
|
51
|
+
mouthLipsTogetherDL: 0.8,
|
|
52
|
+
mouthLipsTogetherDR: 0.8,
|
|
53
|
+
// Rounding on /u/ /w/ is under-driven by the stream. (Do NOT boost
|
|
54
|
+
// cornerPull/stretch — amplified EE spread reads as a grimace.)
|
|
55
|
+
mouthFunnelUL: 1.15,
|
|
56
|
+
mouthFunnelUR: 1.15,
|
|
57
|
+
mouthFunnelDL: 1.15,
|
|
58
|
+
mouthFunnelDR: 1.15,
|
|
59
|
+
mouthLipsPurseUL: 1.15,
|
|
60
|
+
mouthLipsPurseUR: 1.15,
|
|
61
|
+
mouthLipsPurseDL: 1.15,
|
|
62
|
+
mouthLipsPurseDR: 1.15,
|
|
63
|
+
};
|
|
64
|
+
const EYE_CHANNEL_NAMES = [
|
|
65
|
+
"eyeBlinkL", "eyeBlinkR",
|
|
66
|
+
"eyeLookUpL", "eyeLookUpR", "eyeLookDownL", "eyeLookDownR",
|
|
67
|
+
"eyeLookLeftL", "eyeLookLeftR", "eyeLookRightL", "eyeLookRightR",
|
|
68
|
+
"eyeRelaxL", "eyeRelaxR", "eyeLowerLidUpL", "eyeLowerLidUpR",
|
|
69
|
+
];
|
|
70
|
+
export const MHA_PROFILE = {
|
|
71
|
+
format: "mha",
|
|
72
|
+
channelNames: METAHUMAN_ORDER_251,
|
|
73
|
+
limits: LIMIT_DEFS.flatMap(([s, t]) => MHA_INDEX[s] !== undefined && MHA_INDEX[t] !== undefined
|
|
74
|
+
? [[MHA_INDEX[s], MHA_INDEX[t]]]
|
|
75
|
+
: []),
|
|
76
|
+
recommendedGains: (() => {
|
|
77
|
+
const g = new Float32Array(METAHUMAN_ORDER_251.length).fill(1);
|
|
78
|
+
for (const [name, gain] of Object.entries(MHA_RECOMMENDED_GAIN_TABLE)) {
|
|
79
|
+
const i = MHA_INDEX[name];
|
|
80
|
+
if (i !== undefined)
|
|
81
|
+
g[i] = gain;
|
|
82
|
+
}
|
|
83
|
+
return g;
|
|
84
|
+
})(),
|
|
85
|
+
eyeChannelIndices: new Set(EYE_CHANNEL_NAMES.flatMap((n) => MHA_INDEX[n] !== undefined ? [MHA_INDEX[n]] : [])),
|
|
86
|
+
mouthPairs: (() => {
|
|
87
|
+
const pairs = [];
|
|
88
|
+
METAHUMAN_ORDER_251.forEach((name, li) => {
|
|
89
|
+
if (!/^CTRL_expressions_(mouth|jaw)/.test(name) || !/L$/.test(name))
|
|
90
|
+
return;
|
|
91
|
+
const ri = METAHUMAN_ORDER_251.indexOf(name.replace(/L$/, "R"));
|
|
92
|
+
if (ri >= 0)
|
|
93
|
+
pairs.push([li, ri]);
|
|
94
|
+
});
|
|
95
|
+
return pairs;
|
|
96
|
+
})(),
|
|
97
|
+
// Some exports drop the underscore after the prefix
|
|
98
|
+
// (CTRL_expressionsjawOpen) — repair so name lookups work.
|
|
99
|
+
normalizeMorphName: (name) => name.replace(/^CTRL_expressions(?!_)/, "CTRL_expressions_"),
|
|
100
|
+
};
|
|
101
|
+
/** Short channel name → MHA-251 frame index (e.g. "jawOpen" → 62). */
|
|
102
|
+
export function mhaChannelIndex(shortName) {
|
|
103
|
+
return MHA_INDEX[shortName];
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=mha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mha.js","sourceRoot":"","sources":["../../../../src/lipsync-helpers/naturalness/profiles/mha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;;;;;GAOG;AAEH,MAAM,SAAS,GAA2B,CAAC,GAAG,EAAE;IAC9C,MAAM,CAAC,GAA2B,EAAE,CAAC;IACrC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAEL,yEAAyE;AACzE,MAAM,UAAU,GAA2C;IACzD,CAAC,WAAW,EAAE,cAAc,CAAC;IAC7B,CAAC,WAAW,EAAE,cAAc,CAAC;IAC7B,CAAC,cAAc,EAAE,mBAAmB,CAAC;IACrC,CAAC,cAAc,EAAE,mBAAmB,CAAC;IACrC,CAAC,eAAe,EAAE,wBAAwB,CAAC;IAC3C,CAAC,eAAe,EAAE,wBAAwB,CAAC;IAC3C,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAC7B,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAClC,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAClC,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAClC,CAAC,SAAS,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,mEAAmE;IACnE,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI;IACpB,uEAAuE;IACvE,eAAe;IACf,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,sEAAsE;IACtE,qCAAqC;IACrC,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,sDAAsD;IACtD,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,mEAAmE;IACnE,gEAAgE;IAChE,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc;IAC1D,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe;IAChE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB;CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,mBAAmB;IAEjC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;QACtD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAU,CAAC;QACzC,CAAC,CAAC,EAAE,CACP;IAED,gBAAgB,EAAE,CAAC,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,SAAS;gBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,EAAE;IAEJ,iBAAiB,EAAE,IAAI,GAAG,CACxB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACjD,CACF;IAED,UAAU,EAAE,CAAC,GAAG,EAAE;QAChB,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YACvC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjE,OAAO;YACT,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,EAAE,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EAAE;IAEJ,oDAAoD;IACpD,2DAA2D;IAC3D,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3B,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;CAC9D,CAAC;AAEF,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-agnostic lipsync naturalness pipeline — shared types.
|
|
3
|
+
*
|
|
4
|
+
* A {@link LipsyncFormatProfile} describes everything format-specific
|
|
5
|
+
* (channel names, rig couplings, tuned gains, eye channels, L/R pairs);
|
|
6
|
+
* the processor in `processor.ts` consumes any profile. Adding a new
|
|
7
|
+
* stream format (`arkit`, `visemes`, `cc4_extended`) means writing one
|
|
8
|
+
* profile file — no processor changes.
|
|
9
|
+
*/
|
|
10
|
+
export type LipsyncFormat = "mha" | "arkit" | "visemes" | "cc4_extended" | "cc5_hd";
|
|
11
|
+
export interface LipsyncFormatProfile {
|
|
12
|
+
format: LipsyncFormat;
|
|
13
|
+
/** Frame index → channel/morph name. Length = the stream's frame dim. */
|
|
14
|
+
channelNames: readonly string[];
|
|
15
|
+
/**
|
|
16
|
+
* Rig couplings applied as target = max(target, source) — the
|
|
17
|
+
* "in-between" drivers the stream is authored against (e.g. MetaHuman's
|
|
18
|
+
* jawOpen → mouthLipsTogether*). Empty for formats without them.
|
|
19
|
+
*/
|
|
20
|
+
limits: ReadonlyArray<readonly [sourceIdx: number, targetIdx: number]>;
|
|
21
|
+
/** Per-channel production-tuned gains (length = frame dim, default 1). */
|
|
22
|
+
recommendedGains: Float32Array;
|
|
23
|
+
/** Channel indices owned by procedural blink/gaze systems. */
|
|
24
|
+
eyeChannelIndices: ReadonlySet<number>;
|
|
25
|
+
/** Sided L/R channel index pairs for mouth symmetrization. */
|
|
26
|
+
mouthPairs: ReadonlyArray<readonly [number, number]>;
|
|
27
|
+
/**
|
|
28
|
+
* Repairs known export name-mangling for this format (e.g. MetaHuman
|
|
29
|
+
* exports missing the underscore: CTRL_expressionsjawOpen). Identity
|
|
30
|
+
* when a name is already correct.
|
|
31
|
+
*/
|
|
32
|
+
normalizeMorphName: (name: string) => string;
|
|
33
|
+
}
|
|
34
|
+
export interface LipsyncEnvelopeOptions {
|
|
35
|
+
/** Bloom-in time constant in seconds (speech start). Default 0.09. */
|
|
36
|
+
attack?: number;
|
|
37
|
+
/** Settle-out time constant in seconds (speech end). Default 0.18. */
|
|
38
|
+
release?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface LipsyncProcessorOptions {
|
|
41
|
+
/** Average sided L/R mouth pairs (streams drive sides unevenly). Default true. */
|
|
42
|
+
symmetrizeMouth?: boolean;
|
|
43
|
+
/** Apply the profile's rig couplings. Default true — required for `mha`. */
|
|
44
|
+
applyLimits?: boolean;
|
|
45
|
+
/** Start from the profile's production gain table. Default true. */
|
|
46
|
+
useRecommendedGains?: boolean;
|
|
47
|
+
/** Per-channel gain overrides by SHORT channel name (profile naming). */
|
|
48
|
+
gainOverrides?: Record<string, number>;
|
|
49
|
+
/**
|
|
50
|
+
* Leave the eye channels untouched — enable when you run a procedural
|
|
51
|
+
* blink/gaze system (two writers race into flicker). Default false.
|
|
52
|
+
*/
|
|
53
|
+
skipEyeChannels?: boolean;
|
|
54
|
+
/** Bloom/settle envelope; pass `false` to disable. Default on. */
|
|
55
|
+
envelope?: LipsyncEnvelopeOptions | false;
|
|
56
|
+
}
|
|
57
|
+
/** A mesh whose morph slots have been resolved against a profile. */
|
|
58
|
+
export interface LipsyncMeshBinding {
|
|
59
|
+
mesh: {
|
|
60
|
+
morphTargetDictionary?: Record<string, number>;
|
|
61
|
+
morphTargetInfluences?: number[] | Float32Array;
|
|
62
|
+
};
|
|
63
|
+
/** slots[frameIndex] = morphTargetInfluences index, or -1. */
|
|
64
|
+
slots: Int32Array;
|
|
65
|
+
/** Number of matched channels. */
|
|
66
|
+
matched: number;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lipsync-helpers/naturalness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,OAAO,GACP,SAAS,GACT,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,0EAA0E;IAC1E,gBAAgB,EAAE,YAAY,CAAC;IAC/B,8DAA8D;IAC9D,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,8DAA8D;IAC9D,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACrC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,sBAAsB,GAAG,KAAK,CAAC;CAC3C;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;KACjD,CAAC;IACF,8DAA8D;IAC9D,KAAK,EAAE,UAAU,CAAC;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-agnostic lipsync naturalness pipeline — shared types.
|
|
3
|
+
*
|
|
4
|
+
* A {@link LipsyncFormatProfile} describes everything format-specific
|
|
5
|
+
* (channel names, rig couplings, tuned gains, eye channels, L/R pairs);
|
|
6
|
+
* the processor in `processor.ts` consumes any profile. Adding a new
|
|
7
|
+
* stream format (`arkit`, `visemes`, `cc4_extended`) means writing one
|
|
8
|
+
* profile file — no processor changes.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lipsync-helpers/naturalness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConvaiClient.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,YAAY,KACpB,aAAa,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useConvaiClient.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,YAAY,KACpB,aAAa,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CA6N9B,CAAC"}
|
|
@@ -179,6 +179,9 @@ export const useConvaiClient = (config) => {
|
|
|
179
179
|
updateTemplateKeys: client.updateTemplateKeys.bind(client),
|
|
180
180
|
updateDynamicInfo: client.updateDynamicInfo.bind(client),
|
|
181
181
|
updateContext: client.updateContext.bind(client),
|
|
182
|
+
updateEmotion: client.updateEmotion.bind(client),
|
|
183
|
+
setInteractionTarget: client.setInteractionTarget.bind(client),
|
|
184
|
+
updateCharacterRoster: client.updateCharacterRoster.bind(client),
|
|
182
185
|
visionStatus: client.visionStatus.bind(client),
|
|
183
186
|
visionTrigger: client.visionTrigger.bind(client),
|
|
184
187
|
respondModeUpdate: client.respondModeUpdate.bind(client),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConvaiClient.js","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAO9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAqB,EAOrB,EAAE;IACF,8BAA8B;IAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAExD,6BAA6B;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,MAAM,CAAC,YAAY,CACpB,CAAC;IACF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACxD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,MAAM,CAAC,UAAU,CAAC,CAAC;IAEzE,uCAAuC;IACvC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,MAAM,CAAC,aAAa,CAAC,YAAY,CAClC,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IACF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAC5D,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAC/C,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAA2B,MAAM,CAAC,CAAC;IAElE,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEnB,yFAAyF;YACzF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAChC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACnE,eAAe,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CACtC,yBAAyB,EACzB,CAAC,aAAa,EAAE,EAAE;YAChB,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;QAEF,2BAA2B;QAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC7D,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/C,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACnD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5B,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,qCAAqC;YACrC,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAClC,eAAe,EACf,CAAC,KAAuB,EAAE,EAAE;YAC1B,SAAS,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1D,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,UAAe,EAAE,EAAE;YACtF,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1C,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,UAAe,EAAE,EAAE;YACtF,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC5C,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,MAAM,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,gBAAqB,EAAE,EAAE;YAC9G,IAAI,gBAAgB,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACvD,sBAAsB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,sBAAsB,EAAE,CAAC;YACzB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;YACrB,sBAAsB,EAAE,CAAC;YACzB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,qBAAqB,EAAE,CAAC;YACxB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,8DAA8D;IAC9D,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,cAA6B,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,cAAc,IAAI,YAAY,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,wDAAwD;IACxD,OAAO;QACL,KAAK;QACL,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,SAAS;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5D,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9D,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1D,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACxD,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAChD,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAChD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACxD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5D,QAAQ;QACR,YAAY;QACZ,iBAAiB;QACjB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,UAAU;QACV,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACxC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACxC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,0BAA0B;QAC1B,YAAY;QACZ,cAAc;QACd,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"useConvaiClient.js","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@convai/web-sdk",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Build web apps with lifelike AI characters. The Convai Web SDK gives you real-time voice, lipsync, emotions, and dynamic context
|
|
3
|
+
"version": "1.7.0-beta.0",
|
|
4
|
+
"description": "Build web apps with lifelike AI characters. The Convai Web SDK gives you real-time voice, lipsync, emotions, and dynamic context — with first-class support for React and vanilla TypeScript.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|