@voqalize/avatar 0.2.2 → 0.4.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/LICENSE +21 -661
- package/LICENSE-CC-BY-4.0 +396 -0
- package/README.md +191 -662
- package/assets/README.md +48 -0
- package/assets/tanya.glb +0 -0
- package/assets/tara.glb +0 -0
- package/assets/tushar.glb +0 -0
- package/client/Avatar.tsx +57 -0
- package/client/AvatarClient.ts +818 -0
- package/client/arjun.ts +26 -0
- package/client/createAvatar.ts +177 -0
- package/client/createCanvasAvatar.ts +72 -0
- package/client/index.ts +44 -0
- package/client/internal.ts +108 -0
- package/client/interviewer-female.ts +4 -0
- package/client/interviewer-male.ts +4 -0
- package/client/ishita.ts +26 -0
- package/client/kabir.ts +26 -0
- package/client/meera.ts +26 -0
- package/client/naina.ts +26 -0
- package/client/playout.ts +95 -0
- package/client/professional-female-a.ts +4 -0
- package/client/professional-female-b.ts +4 -0
- package/client/professional-male-a.ts +4 -0
- package/client/professional-male-b.ts +4 -0
- package/client/react.ts +13 -0
- package/client/supports.ts +28 -0
- package/client/three/assets.ts +24 -0
- package/client/three/budgets.ts +27 -0
- package/client/three/holds.ts +64 -0
- package/client/three/internal.ts +54 -0
- package/client/three/motion-limits.json +116 -0
- package/client/three/sequences.ts +281 -0
- package/client/three/tanya.ts +69 -0
- package/client/three/tara-rig.ts +1562 -0
- package/client/three/tara.ts +76 -0
- package/client/three/tushar.ts +65 -0
- package/client/types.ts +235 -0
- package/client/useAvatar.ts +74 -0
- package/client/vikram.ts +26 -0
- package/dist/Avatar.d.ts +44 -0
- package/dist/Avatar.d.ts.map +1 -0
- package/{client/dist → dist}/Avatar.js +2 -2
- package/dist/Avatar.js.map +1 -0
- package/dist/AvatarClient.d.ts +274 -0
- package/dist/AvatarClient.d.ts.map +1 -0
- package/dist/AvatarClient.js +712 -0
- package/dist/AvatarClient.js.map +1 -0
- package/dist/arjun.d.ts +7 -0
- package/dist/arjun.d.ts.map +1 -0
- package/dist/arjun.js +20 -0
- package/dist/arjun.js.map +1 -0
- package/dist/createAvatar.d.ts +135 -0
- package/dist/createAvatar.d.ts.map +1 -0
- package/dist/createAvatar.js +75 -0
- package/dist/createAvatar.js.map +1 -0
- package/dist/createCanvasAvatar.d.ts +22 -0
- package/dist/createCanvasAvatar.d.ts.map +1 -0
- package/dist/createCanvasAvatar.js +47 -0
- package/dist/createCanvasAvatar.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +34 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +41 -0
- package/dist/internal.js.map +1 -0
- package/dist/interviewer-female.d.ts +4 -0
- package/dist/interviewer-female.d.ts.map +1 -0
- package/dist/interviewer-female.js +3 -0
- package/dist/interviewer-female.js.map +1 -0
- package/dist/interviewer-male.d.ts +4 -0
- package/dist/interviewer-male.d.ts.map +1 -0
- package/dist/interviewer-male.js +3 -0
- package/dist/interviewer-male.js.map +1 -0
- package/dist/ishita.d.ts +7 -0
- package/dist/ishita.d.ts.map +1 -0
- package/dist/ishita.js +20 -0
- package/dist/ishita.js.map +1 -0
- package/dist/kabir.d.ts +7 -0
- package/dist/kabir.d.ts.map +1 -0
- package/dist/kabir.js +20 -0
- package/dist/kabir.js.map +1 -0
- package/dist/meera.d.ts +7 -0
- package/dist/meera.d.ts.map +1 -0
- package/dist/meera.js +20 -0
- package/dist/meera.js.map +1 -0
- package/dist/naina.d.ts +7 -0
- package/dist/naina.d.ts.map +1 -0
- package/dist/naina.js +20 -0
- package/dist/naina.js.map +1 -0
- package/dist/playout.d.ts +42 -0
- package/dist/playout.d.ts.map +1 -0
- package/dist/playout.js +85 -0
- package/dist/playout.js.map +1 -0
- package/dist/professional-female-a.d.ts +4 -0
- package/dist/professional-female-a.d.ts.map +1 -0
- package/dist/professional-female-a.js +3 -0
- package/dist/professional-female-a.js.map +1 -0
- package/dist/professional-female-b.d.ts +4 -0
- package/dist/professional-female-b.d.ts.map +1 -0
- package/dist/professional-female-b.js +3 -0
- package/dist/professional-female-b.js.map +1 -0
- package/dist/professional-male-a.d.ts +4 -0
- package/dist/professional-male-a.d.ts.map +1 -0
- package/dist/professional-male-a.js +3 -0
- package/dist/professional-male-a.js.map +1 -0
- package/dist/professional-male-b.d.ts +4 -0
- package/dist/professional-male-b.d.ts.map +1 -0
- package/dist/professional-male-b.js +3 -0
- package/dist/professional-male-b.js.map +1 -0
- package/dist/react.d.ts +13 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +13 -0
- package/dist/react.js.map +1 -0
- package/dist/supports.d.ts +20 -0
- package/dist/supports.d.ts.map +1 -0
- package/dist/supports.js +26 -0
- package/dist/supports.js.map +1 -0
- package/dist/three/assets.d.ts +24 -0
- package/dist/three/assets.d.ts.map +1 -0
- package/dist/three/assets.js +22 -0
- package/dist/three/assets.js.map +1 -0
- package/dist/three/budgets.d.ts +17 -0
- package/dist/three/budgets.d.ts.map +1 -0
- package/dist/three/budgets.js +21 -0
- package/dist/three/budgets.js.map +1 -0
- package/dist/three/holds.d.ts +33 -0
- package/dist/three/holds.d.ts.map +1 -0
- package/dist/three/holds.js +56 -0
- package/dist/three/holds.js.map +1 -0
- package/dist/three/internal.d.ts +52 -0
- package/dist/three/internal.d.ts.map +1 -0
- package/dist/three/internal.js +49 -0
- package/dist/three/internal.js.map +1 -0
- package/dist/three/motion-limits.json +116 -0
- package/dist/three/sequences.d.ts +71 -0
- package/dist/three/sequences.d.ts.map +1 -0
- package/dist/three/sequences.js +262 -0
- package/dist/three/sequences.js.map +1 -0
- package/dist/three/tanya.d.ts +35 -0
- package/dist/three/tanya.d.ts.map +1 -0
- package/dist/three/tanya.js +51 -0
- package/dist/three/tanya.js.map +1 -0
- package/dist/three/tara-rig.d.ts +403 -0
- package/dist/three/tara-rig.d.ts.map +1 -0
- package/dist/three/tara-rig.js +1500 -0
- package/dist/three/tara-rig.js.map +1 -0
- package/dist/three/tara.d.ts +35 -0
- package/dist/three/tara.d.ts.map +1 -0
- package/dist/three/tara.js +58 -0
- package/dist/three/tara.js.map +1 -0
- package/dist/three/tushar.d.ts +31 -0
- package/dist/three/tushar.d.ts.map +1 -0
- package/dist/three/tushar.js +47 -0
- package/dist/three/tushar.js.map +1 -0
- package/dist/types.d.ts +149 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +140 -0
- package/dist/types.js.map +1 -0
- package/dist/useAvatar.d.ts +39 -0
- package/dist/useAvatar.d.ts.map +1 -0
- package/dist/useAvatar.js +35 -0
- package/dist/useAvatar.js.map +1 -0
- package/dist/vikram.d.ts +7 -0
- package/dist/vikram.d.ts.map +1 -0
- package/dist/vikram.js +20 -0
- package/dist/vikram.js.map +1 -0
- package/package.json +110 -25
- package/src/avatar.d.ts +218 -120
- package/src/avatar.js +950 -213
- package/src/behavior.d.ts +42 -0
- package/src/behavior.js +114 -0
- package/src/camera.js +29 -0
- package/src/canvas/author/parts/eye.mjs +722 -0
- package/src/canvas/author/parts/hand.mjs +1156 -0
- package/src/canvas/author/parts/mouth.mjs +741 -0
- package/src/canvas/author/parts/nose.mjs +100 -0
- package/src/canvas/author/parts/skin-detail.mjs +67 -0
- package/src/canvas/author/path.mjs +283 -0
- package/src/canvas/author/rig.mjs +405 -0
- package/src/canvas/avatars/round/face.d.mts +3 -0
- package/src/canvas/avatars/round/face.mjs +1307 -0
- package/src/canvas/create-rig.d.ts +15 -0
- package/src/canvas/create-rig.js +100 -0
- package/src/canvas/data/img/professional-female-a-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-female-a-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-female-a-top-body.webp +0 -0
- package/src/canvas/data/img/professional-female-b-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-female-b-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-female-b-top-body.webp +0 -0
- package/src/canvas/data/img/professional-male-a-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-male-a-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-male-a-top-body.webp +0 -0
- package/src/canvas/data/img/professional-male-b-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-male-b-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-male-b-top-body.webp +0 -0
- package/src/canvas/data/img/round-m3-hair-back.webp +0 -0
- package/src/canvas/data/img/round-m3-hair-front.webp +0 -0
- package/src/canvas/data/img/round-m3-top-body.webp +0 -0
- package/src/canvas/data/img/round-w1-hair-back.webp +0 -0
- package/src/canvas/data/img/round-w1-hair-front.webp +0 -0
- package/src/canvas/data/img/round-w1-top-body.webp +0 -0
- package/src/canvas/data/interviewer-female.rig.json +1 -0
- package/src/canvas/data/interviewer-male.rig.json +1 -0
- package/src/canvas/data/professional-female-a.rig.json +1 -0
- package/src/canvas/data/professional-female-b.rig.json +1 -0
- package/src/canvas/data/professional-male-a.rig.json +1 -0
- package/src/canvas/data/professional-male-b.rig.json +1 -0
- package/src/canvas/src/live.js +508 -0
- package/src/canvas/src/render2d.js +218 -0
- package/src/canvas/src/rig.js +297 -0
- package/src/canvas/src/vocab.js +96 -0
- package/src/clips.js +18 -7
- package/src/conformance.js +119 -0
- package/src/emotions.js +8 -5
- package/src/face-core.js +27 -1
- package/src/face-myna.d.ts +7 -0
- package/src/face-myna.js +192 -131
- package/src/face-peep-control-plane.js +167 -0
- package/src/face-peep.d.ts +7 -0
- package/src/face-peep.js +274 -116
- package/src/face-wren.d.ts +7 -0
- package/src/face-wren.js +17 -19
- package/src/faces.d.ts +12 -0
- package/src/faces.js +53 -0
- package/src/gaze.js +434 -58
- package/src/hand.js +120 -91
- package/src/head.js +134 -0
- package/src/idle.js +227 -119
- package/src/interjections.js +200 -31
- package/src/params.js +8 -4
- package/src/perform.js +7 -9
- package/src/prosody.js +647 -0
- package/src/rig.d.ts +24 -0
- package/src/rig.js +32 -0
- package/src/speech-timing.js +23 -0
- package/src/visemes.js +110 -24
- package/client/dist/Avatar.d.ts +0 -27
- package/client/dist/Avatar.d.ts.map +0 -1
- package/client/dist/Avatar.js.map +0 -1
- package/client/dist/AvatarClient.d.ts +0 -139
- package/client/dist/AvatarClient.d.ts.map +0 -1
- package/client/dist/AvatarClient.js +0 -223
- package/client/dist/AvatarClient.js.map +0 -1
- package/client/dist/index.d.ts +0 -22
- package/client/dist/index.d.ts.map +0 -1
- package/client/dist/index.js +0 -22
- package/client/dist/index.js.map +0 -1
- package/client/dist/types.d.ts +0 -86
- package/client/dist/types.d.ts.map +0 -1
- package/client/dist/types.js +0 -31
- package/client/dist/types.js.map +0 -1
- package/client/dist/useAvatar.d.ts +0 -42
- package/client/dist/useAvatar.d.ts.map +0 -1
- package/client/dist/useAvatar.js +0 -51
- package/client/dist/useAvatar.js.map +0 -1
- package/client/src/Avatar.tsx +0 -33
- package/client/src/AvatarClient.ts +0 -270
- package/client/src/index.ts +0 -22
- package/client/src/types.ts +0 -104
- package/client/src/useAvatar.ts +0 -85
- package/docs/contract-avatar.md +0 -371
- package/docs/contract-protocol.md +0 -461
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useAvatar — mount an avatar into a ref'd element for as long as there is a
|
|
3
|
+
* client to embody, and tear it down after.
|
|
4
|
+
*
|
|
5
|
+
* Internal; `<Avatar>` is the only thing the React entry exports. The whole
|
|
6
|
+
* hook is one effect, because the factory takes the client at construction:
|
|
7
|
+
* there is no separate attach step to keep in its own lifecycle any more.
|
|
8
|
+
*/
|
|
9
|
+
import { useEffect, useRef } from "react";
|
|
10
|
+
import { createAvatar as createSvgAvatar, } from "./createAvatar.js";
|
|
11
|
+
export function useAvatar({ client, create, options } = {}) {
|
|
12
|
+
const containerRef = useRef(null);
|
|
13
|
+
// Latest-options ref, so the mount effect reads the live values without
|
|
14
|
+
// remounting the face every time a caller passes a fresh object literal.
|
|
15
|
+
const optionsRef = useRef(options);
|
|
16
|
+
optionsRef.current = options;
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const mount = containerRef.current;
|
|
19
|
+
if (!mount || !client)
|
|
20
|
+
return;
|
|
21
|
+
const factory = (create ?? createSvgAvatar);
|
|
22
|
+
// The cast is the seam between "O minus the two we supply" and O. It is
|
|
23
|
+
// sound by construction and TypeScript cannot see through the spread of a
|
|
24
|
+
// generic; the two halves are typed at the boundary the caller touches.
|
|
25
|
+
const instance = factory({ mount, client, ...optionsRef.current });
|
|
26
|
+
return () => instance.destroy();
|
|
27
|
+
// A new client identity is a new thing to embody, so the avatar is rebuilt
|
|
28
|
+
// rather than re-pointed. Hosts keep one `PipecatClient` across
|
|
29
|
+
// connect/disconnect cycles, so this does not fire on an ordinary
|
|
30
|
+
// reconnect; if yours constructs a fresh client per session, expect the
|
|
31
|
+
// face to remount with it.
|
|
32
|
+
}, [client, create]);
|
|
33
|
+
return { containerRef };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=useAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAvatar.js","sourceRoot":"","sources":["../client/useAvatar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EACL,YAAY,IAAI,eAAe,GAIhC,MAAM,mBAAmB,CAAC;AA8B3B,MAAM,UAAU,SAAS,CACvB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAA0B,EAAE;IAErD,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9B,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,eAAe,CAAqB,CAAC;QAChE,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAkB,CAAC,CAAC;QACnF,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,2EAA2E;QAC3E,gEAAgE;QAChE,kEAAkE;QAClE,wEAAwE;QACxE,2BAA2B;IAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC"}
|
package/dist/vikram.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Polished professional male avatar, authored to read at call-tile size. */
|
|
2
|
+
import type { CanvasAvatarOptions } from './createCanvasAvatar.js';
|
|
3
|
+
import type { AvatarInstance } from './createAvatar.js';
|
|
4
|
+
export type { CanvasAvatarOptions };
|
|
5
|
+
export { supports } from './supports.js';
|
|
6
|
+
export declare function createAvatar(options: CanvasAvatarOptions): AvatarInstance;
|
|
7
|
+
//# sourceMappingURL=vikram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vikram.d.ts","sourceRoot":"","sources":["../client/vikram.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAG7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUxD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAOzE"}
|
package/dist/vikram.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Polished professional male avatar, authored to read at call-tile size. */
|
|
2
|
+
import { createCanvasAvatar } from './createCanvasAvatar.js';
|
|
3
|
+
const RIG_URL = new URL('../src/canvas/data/professional-male-a.rig.json', import.meta.url);
|
|
4
|
+
const IMAGES = {
|
|
5
|
+
'professional-male-a-top-body.webp': new URL('../src/canvas/data/img/professional-male-a-top-body.webp', import.meta.url),
|
|
6
|
+
'professional-male-a-hair-back.webp': new URL('../src/canvas/data/img/professional-male-a-hair-back.webp', import.meta.url),
|
|
7
|
+
'professional-male-a-hair-front.webp': new URL('../src/canvas/data/img/professional-male-a-hair-front.webp', import.meta.url),
|
|
8
|
+
};
|
|
9
|
+
const FACE = () => import('../src/canvas/avatars/round/face.mjs');
|
|
10
|
+
// Same mixer, same clip library, so the same declaration (`supports.ts`).
|
|
11
|
+
export { supports } from './supports.js';
|
|
12
|
+
export function createAvatar(options) {
|
|
13
|
+
return createCanvasAvatar(options, {
|
|
14
|
+
rigUrl: RIG_URL,
|
|
15
|
+
images: IMAGES,
|
|
16
|
+
face: FACE,
|
|
17
|
+
label: 'Vikram — polished professional male avatar',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=vikram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vikram.js","sourceRoot":"","sources":["../client/vikram.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5F,MAAM,MAAM,GAAG;IACb,mCAAmC,EAAE,IAAI,GAAG,CAAC,0DAA0D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACzH,oCAAoC,EAAE,IAAI,GAAG,CAAC,2DAA2D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3H,qCAAqC,EAAE,IAAI,GAAG,CAAC,4DAA4D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;CACrH,CAAC;AACX,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;AAGlE,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,OAAO,kBAAkB,CAAC,OAAO,EAAE;QACjC,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,4CAA4C;KACpD,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voqalize/avatar",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A JavaScript-programmable
|
|
5
|
-
"license": "
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "A JavaScript-programmable talking head for AI voice calls: line-art or 2.5-D faces, server-synced lipsync, state through motion, no runtime dependencies.",
|
|
5
|
+
"license": "MIT AND CC-BY-4.0",
|
|
6
6
|
"author": "Voqalize",
|
|
7
7
|
"homepage": "https://github.com/voqalize/avatar#readme",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/voqalize/avatar.git"
|
|
10
|
+
"url": "git+https://github.com/voqalize/avatar.git",
|
|
11
|
+
"directory": "packages/avatar"
|
|
11
12
|
},
|
|
12
13
|
"bugs": {
|
|
13
14
|
"url": "https://github.com/voqalize/avatar/issues"
|
|
@@ -21,7 +22,9 @@
|
|
|
21
22
|
"pipecat",
|
|
22
23
|
"voice-agent",
|
|
23
24
|
"svg",
|
|
24
|
-
"animation"
|
|
25
|
+
"animation",
|
|
26
|
+
"3d",
|
|
27
|
+
"threejs"
|
|
25
28
|
],
|
|
26
29
|
"engines": {
|
|
27
30
|
"node": ">=20"
|
|
@@ -31,31 +34,116 @@
|
|
|
31
34
|
},
|
|
32
35
|
"type": "module",
|
|
33
36
|
"sideEffects": false,
|
|
37
|
+
"main": "./dist/index.js",
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
34
39
|
"exports": {
|
|
35
40
|
".": {
|
|
36
|
-
"types": "./
|
|
37
|
-
"default": "./
|
|
41
|
+
"types": "./dist/index.d.ts",
|
|
42
|
+
"default": "./dist/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./react": {
|
|
45
|
+
"types": "./dist/react.d.ts",
|
|
46
|
+
"default": "./dist/react.js"
|
|
47
|
+
},
|
|
48
|
+
"./internal": {
|
|
49
|
+
"types": "./dist/internal.d.ts",
|
|
50
|
+
"default": "./dist/internal.js"
|
|
51
|
+
},
|
|
52
|
+
"./internal/three": {
|
|
53
|
+
"types": "./dist/three/internal.d.ts",
|
|
54
|
+
"default": "./dist/three/internal.js"
|
|
55
|
+
},
|
|
56
|
+
"./faces/peep": {
|
|
57
|
+
"types": "./src/face-peep.d.ts",
|
|
58
|
+
"default": "./src/face-peep.js"
|
|
59
|
+
},
|
|
60
|
+
"./faces/wren": {
|
|
61
|
+
"types": "./src/face-wren.d.ts",
|
|
62
|
+
"default": "./src/face-wren.js"
|
|
63
|
+
},
|
|
64
|
+
"./faces/myna": {
|
|
65
|
+
"types": "./src/face-myna.d.ts",
|
|
66
|
+
"default": "./src/face-myna.js"
|
|
67
|
+
},
|
|
68
|
+
"./avatars/tara": {
|
|
69
|
+
"types": "./dist/three/tara.d.ts",
|
|
70
|
+
"default": "./dist/three/tara.js"
|
|
71
|
+
},
|
|
72
|
+
"./avatars/tushar": {
|
|
73
|
+
"types": "./dist/three/tushar.d.ts",
|
|
74
|
+
"default": "./dist/three/tushar.js"
|
|
75
|
+
},
|
|
76
|
+
"./avatars/tanya": {
|
|
77
|
+
"types": "./dist/three/tanya.d.ts",
|
|
78
|
+
"default": "./dist/three/tanya.js"
|
|
79
|
+
},
|
|
80
|
+
"./avatars/arjun": {
|
|
81
|
+
"types": "./dist/arjun.d.ts",
|
|
82
|
+
"default": "./dist/arjun.js"
|
|
83
|
+
},
|
|
84
|
+
"./avatars/meera": {
|
|
85
|
+
"types": "./dist/meera.d.ts",
|
|
86
|
+
"default": "./dist/meera.js"
|
|
87
|
+
},
|
|
88
|
+
"./avatars/vikram": {
|
|
89
|
+
"types": "./dist/vikram.d.ts",
|
|
90
|
+
"default": "./dist/vikram.js"
|
|
91
|
+
},
|
|
92
|
+
"./avatars/ishita": {
|
|
93
|
+
"types": "./dist/ishita.d.ts",
|
|
94
|
+
"default": "./dist/ishita.js"
|
|
95
|
+
},
|
|
96
|
+
"./avatars/kabir": {
|
|
97
|
+
"types": "./dist/kabir.d.ts",
|
|
98
|
+
"default": "./dist/kabir.js"
|
|
99
|
+
},
|
|
100
|
+
"./avatars/naina": {
|
|
101
|
+
"types": "./dist/naina.d.ts",
|
|
102
|
+
"default": "./dist/naina.js"
|
|
103
|
+
},
|
|
104
|
+
"./avatars/interviewer-male": {
|
|
105
|
+
"types": "./dist/interviewer-male.d.ts",
|
|
106
|
+
"default": "./dist/interviewer-male.js"
|
|
107
|
+
},
|
|
108
|
+
"./avatars/interviewer-female": {
|
|
109
|
+
"types": "./dist/interviewer-female.d.ts",
|
|
110
|
+
"default": "./dist/interviewer-female.js"
|
|
111
|
+
},
|
|
112
|
+
"./avatars/professional-male-a": {
|
|
113
|
+
"types": "./dist/professional-male-a.d.ts",
|
|
114
|
+
"default": "./dist/professional-male-a.js"
|
|
115
|
+
},
|
|
116
|
+
"./avatars/professional-female-a": {
|
|
117
|
+
"types": "./dist/professional-female-a.d.ts",
|
|
118
|
+
"default": "./dist/professional-female-a.js"
|
|
119
|
+
},
|
|
120
|
+
"./avatars/professional-male-b": {
|
|
121
|
+
"types": "./dist/professional-male-b.d.ts",
|
|
122
|
+
"default": "./dist/professional-male-b.js"
|
|
123
|
+
},
|
|
124
|
+
"./avatars/professional-female-b": {
|
|
125
|
+
"types": "./dist/professional-female-b.d.ts",
|
|
126
|
+
"default": "./dist/professional-female-b.js"
|
|
38
127
|
},
|
|
39
128
|
"./package.json": "./package.json"
|
|
40
129
|
},
|
|
41
130
|
"files": [
|
|
42
131
|
"src",
|
|
43
|
-
"client
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"README.md"
|
|
132
|
+
"client",
|
|
133
|
+
"dist",
|
|
134
|
+
"assets",
|
|
135
|
+
"LICENSE-CC-BY-4.0"
|
|
48
136
|
],
|
|
49
137
|
"scripts": {
|
|
50
|
-
"build": "tsc -p
|
|
51
|
-
"typecheck": "tsc -p
|
|
52
|
-
"
|
|
53
|
-
"prepare": "tsc -p client/tsconfig.json"
|
|
138
|
+
"build": "tsc -p tsconfig.json",
|
|
139
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
140
|
+
"prepare": "tsc -p tsconfig.json"
|
|
54
141
|
},
|
|
55
142
|
"peerDependencies": {
|
|
56
143
|
"@pipecat-ai/client-js": ">=1.4 <2",
|
|
57
144
|
"react": ">=18",
|
|
58
|
-
"react-dom": ">=18"
|
|
145
|
+
"react-dom": ">=18",
|
|
146
|
+
"three": ">=0.180 <0.187"
|
|
59
147
|
},
|
|
60
148
|
"peerDependenciesMeta": {
|
|
61
149
|
"@pipecat-ai/client-js": {
|
|
@@ -66,16 +154,13 @@
|
|
|
66
154
|
},
|
|
67
155
|
"react-dom": {
|
|
68
156
|
"optional": true
|
|
157
|
+
},
|
|
158
|
+
"three": {
|
|
159
|
+
"optional": true
|
|
69
160
|
}
|
|
70
161
|
},
|
|
71
162
|
"devDependencies": {
|
|
72
|
-
"@
|
|
73
|
-
"
|
|
74
|
-
"@types/react-dom": "^18.3.0",
|
|
75
|
-
"jsdom": "^25.0.1",
|
|
76
|
-
"react": "^18.3.1",
|
|
77
|
-
"react-dom": "^18.3.1",
|
|
78
|
-
"typescript": "^5.7.3",
|
|
79
|
-
"vitest": "^3.2.7"
|
|
163
|
+
"@types/three": "^0.185.4",
|
|
164
|
+
"three": "^0.180.0"
|
|
80
165
|
}
|
|
81
166
|
}
|