@liforma/client 0.2.1
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/CHANGELOG.md +28 -0
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/next/index.js +5186 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/next/createLiformaSessionRouteHandler.d.ts +45 -0
- package/dist/next/next/createLiformaSessionRouteHandler.d.ts.map +1 -0
- package/dist/next/next/index.d.ts +8 -0
- package/dist/next/next/index.d.ts.map +1 -0
- package/dist/next/react/ExperienceThumbnail.d.ts +22 -0
- package/dist/next/react/ExperienceThumbnail.d.ts.map +1 -0
- package/dist/next/react/ExperienceWidget.d.ts +35 -0
- package/dist/next/react/ExperienceWidget.d.ts.map +1 -0
- package/dist/next/shims/apiBaseUrl.d.ts +14 -0
- package/dist/next/shims/apiBaseUrl.d.ts.map +1 -0
- package/dist/next/shims/localStack.d.ts +6 -0
- package/dist/next/shims/localStack.d.ts.map +1 -0
- package/dist/next/thumbnail/attachThumbnailParallax.d.ts +7 -0
- package/dist/next/thumbnail/attachThumbnailParallax.d.ts.map +1 -0
- package/dist/next/thumbnail/ensureStyles.d.ts +3 -0
- package/dist/next/thumbnail/ensureStyles.d.ts.map +1 -0
- package/dist/next/thumbnail/hostedLaunchUrl.d.ts +23 -0
- package/dist/next/thumbnail/hostedLaunchUrl.d.ts.map +1 -0
- package/dist/next/thumbnail/index.d.ts +9 -0
- package/dist/next/thumbnail/index.d.ts.map +1 -0
- package/dist/next/thumbnail/lazyLoad.d.ts +8 -0
- package/dist/next/thumbnail/lazyLoad.d.ts.map +1 -0
- package/dist/next/thumbnail/scrollParallax.d.ts +13 -0
- package/dist/next/thumbnail/scrollParallax.d.ts.map +1 -0
- package/dist/next/thumbnail/styles.d.ts +3 -0
- package/dist/next/thumbnail/styles.d.ts.map +1 -0
- package/dist/next/thumbnail/toGalleryThumbUrl.d.ts +23 -0
- package/dist/next/thumbnail/toGalleryThumbUrl.d.ts.map +1 -0
- package/dist/next/thumbnail/toGalleryThumbUrl.test.d.ts +2 -0
- package/dist/next/thumbnail/toGalleryThumbUrl.test.d.ts.map +1 -0
- package/dist/next/thumbnail/types.d.ts +37 -0
- package/dist/next/thumbnail/types.d.ts.map +1 -0
- package/dist/next/v2/api/fetchExperiencePreview.d.ts +15 -0
- package/dist/next/v2/api/fetchExperiencePreview.d.ts.map +1 -0
- package/dist/next/v2/api/mintPublicSession.d.ts +25 -0
- package/dist/next/v2/api/mintPublicSession.d.ts.map +1 -0
- package/dist/next/v2/api/sessionEndpointRequest.d.ts +16 -0
- package/dist/next/v2/api/sessionEndpointRequest.d.ts.map +1 -0
- package/dist/next/v2/conversationProcessor.d.ts +6 -0
- package/dist/next/v2/conversationProcessor.d.ts.map +1 -0
- package/dist/next/v2/embed/iframeHost.d.ts +70 -0
- package/dist/next/v2/embed/iframeHost.d.ts.map +1 -0
- package/dist/next/v2/embed/playerReachability.d.ts +4 -0
- package/dist/next/v2/embed/playerReachability.d.ts.map +1 -0
- package/dist/next/v2/embed/protocol.d.ts +181 -0
- package/dist/next/v2/embed/protocol.d.ts.map +1 -0
- package/dist/next/v2/embed/readyGate.d.ts +7 -0
- package/dist/next/v2/embed/readyGate.d.ts.map +1 -0
- package/dist/next/v2/experience.d.ts +133 -0
- package/dist/next/v2/experience.d.ts.map +1 -0
- package/dist/next/v2/experienceEvents.d.ts +27 -0
- package/dist/next/v2/experienceEvents.d.ts.map +1 -0
- package/dist/next/v2/shims/embedBaseUrl.d.ts +19 -0
- package/dist/next/v2/shims/embedBaseUrl.d.ts.map +1 -0
- package/dist/next/v2/speechOnlyManifest.d.ts +7 -0
- package/dist/next/v2/speechOnlyManifest.d.ts.map +1 -0
- package/dist/next/v2/types/sessionInteraction.d.ts +120 -0
- package/dist/next/v2/types/sessionInteraction.d.ts.map +1 -0
- package/dist/next/v2/types/sessionManifest.d.ts +93 -0
- package/dist/next/v2/types/sessionManifest.d.ts.map +1 -0
- package/dist/next/v2/types/sessionManifestSchema.d.ts +183 -0
- package/dist/next/v2/types/sessionManifestSchema.d.ts.map +1 -0
- package/dist/next/v2/types/sessionPipeline.d.ts +23 -0
- package/dist/next/v2/types/sessionPipeline.d.ts.map +1 -0
- package/dist/next/widget/dockGeometry.d.ts +26 -0
- package/dist/next/widget/dockGeometry.d.ts.map +1 -0
- package/dist/next/widget/index.d.ts +5 -0
- package/dist/next/widget/index.d.ts.map +1 -0
- package/dist/next/widget/mountExperienceWidget.d.ts +13 -0
- package/dist/next/widget/mountExperienceWidget.d.ts.map +1 -0
- package/dist/next/widget/styles.d.ts +4 -0
- package/dist/next/widget/styles.d.ts.map +1 -0
- package/dist/next/widget/types.d.ts +62 -0
- package/dist/next/widget/types.d.ts.map +1 -0
- package/dist/npm/index.js +4859 -0
- package/dist/npm/index.js.map +1 -0
- package/dist/npm/shims/apiBaseUrl.d.ts +14 -0
- package/dist/npm/shims/apiBaseUrl.d.ts.map +1 -0
- package/dist/npm/shims/localStack.d.ts +6 -0
- package/dist/npm/shims/localStack.d.ts.map +1 -0
- package/dist/npm/svelte/experienceLoadError.d.ts +16 -0
- package/dist/npm/svelte/experienceLoadError.d.ts.map +1 -0
- package/dist/npm/svelte/experienceLoadErrorOverlay.d.ts +8 -0
- package/dist/npm/svelte/experienceLoadErrorOverlay.d.ts.map +1 -0
- package/dist/npm/svelte/experienceLoadErrorStyles.d.ts +5 -0
- package/dist/npm/svelte/experienceLoadErrorStyles.d.ts.map +1 -0
- package/dist/npm/thumbnail/attachThumbnailParallax.d.ts +7 -0
- package/dist/npm/thumbnail/attachThumbnailParallax.d.ts.map +1 -0
- package/dist/npm/thumbnail/ensureStyles.d.ts +3 -0
- package/dist/npm/thumbnail/ensureStyles.d.ts.map +1 -0
- package/dist/npm/thumbnail/hostedLaunchUrl.d.ts +23 -0
- package/dist/npm/thumbnail/hostedLaunchUrl.d.ts.map +1 -0
- package/dist/npm/thumbnail/index.d.ts +9 -0
- package/dist/npm/thumbnail/index.d.ts.map +1 -0
- package/dist/npm/thumbnail/lazyLoad.d.ts +8 -0
- package/dist/npm/thumbnail/lazyLoad.d.ts.map +1 -0
- package/dist/npm/thumbnail/scrollParallax.d.ts +13 -0
- package/dist/npm/thumbnail/scrollParallax.d.ts.map +1 -0
- package/dist/npm/thumbnail/styles.d.ts +3 -0
- package/dist/npm/thumbnail/styles.d.ts.map +1 -0
- package/dist/npm/thumbnail/toGalleryThumbUrl.d.ts +23 -0
- package/dist/npm/thumbnail/toGalleryThumbUrl.d.ts.map +1 -0
- package/dist/npm/thumbnail/types.d.ts +37 -0
- package/dist/npm/thumbnail/types.d.ts.map +1 -0
- package/dist/npm/v2/api/fetchExperiencePreview.d.ts +15 -0
- package/dist/npm/v2/api/fetchExperiencePreview.d.ts.map +1 -0
- package/dist/npm/v2/api/mintPublicSession.d.ts +25 -0
- package/dist/npm/v2/api/mintPublicSession.d.ts.map +1 -0
- package/dist/npm/v2/api/sessionEndpointRequest.d.ts +16 -0
- package/dist/npm/v2/api/sessionEndpointRequest.d.ts.map +1 -0
- package/dist/npm/v2/conversationProcessor.d.ts +6 -0
- package/dist/npm/v2/conversationProcessor.d.ts.map +1 -0
- package/dist/npm/v2/embed/iframeHost.d.ts +70 -0
- package/dist/npm/v2/embed/iframeHost.d.ts.map +1 -0
- package/dist/npm/v2/embed/playerReachability.d.ts +4 -0
- package/dist/npm/v2/embed/playerReachability.d.ts.map +1 -0
- package/dist/npm/v2/embed/protocol.d.ts +181 -0
- package/dist/npm/v2/embed/protocol.d.ts.map +1 -0
- package/dist/npm/v2/embed/readyGate.d.ts +7 -0
- package/dist/npm/v2/embed/readyGate.d.ts.map +1 -0
- package/dist/npm/v2/embed/returnNavigation.d.ts +4 -0
- package/dist/npm/v2/embed/returnNavigation.d.ts.map +1 -0
- package/dist/npm/v2/experience.d.ts +133 -0
- package/dist/npm/v2/experience.d.ts.map +1 -0
- package/dist/npm/v2/experienceEvents.d.ts +27 -0
- package/dist/npm/v2/experienceEvents.d.ts.map +1 -0
- package/dist/npm/v2/index.d.ts +21 -0
- package/dist/npm/v2/index.d.ts.map +1 -0
- package/dist/npm/v2/liforma-experience-thumbnail.d.ts +9 -0
- package/dist/npm/v2/liforma-experience-thumbnail.d.ts.map +1 -0
- package/dist/npm/v2/liforma-experience-widget.d.ts +8 -0
- package/dist/npm/v2/liforma-experience-widget.d.ts.map +1 -0
- package/dist/npm/v2/liforma-experience.d.ts +15 -0
- package/dist/npm/v2/liforma-experience.d.ts.map +1 -0
- package/dist/npm/v2/npm.d.ts +10 -0
- package/dist/npm/v2/npm.d.ts.map +1 -0
- package/dist/npm/v2/shims/embedBaseUrl.d.ts +19 -0
- package/dist/npm/v2/shims/embedBaseUrl.d.ts.map +1 -0
- package/dist/npm/v2/speechOnlyManifest.d.ts +7 -0
- package/dist/npm/v2/speechOnlyManifest.d.ts.map +1 -0
- package/dist/npm/v2/types/index.d.ts +3 -0
- package/dist/npm/v2/types/index.d.ts.map +1 -0
- package/dist/npm/v2/types/sessionInteraction.d.ts +120 -0
- package/dist/npm/v2/types/sessionInteraction.d.ts.map +1 -0
- package/dist/npm/v2/types/sessionManifest.d.ts +93 -0
- package/dist/npm/v2/types/sessionManifest.d.ts.map +1 -0
- package/dist/npm/v2/types/sessionManifestSchema.d.ts +183 -0
- package/dist/npm/v2/types/sessionManifestSchema.d.ts.map +1 -0
- package/dist/npm/v2/types/sessionPipeline.d.ts +23 -0
- package/dist/npm/v2/types/sessionPipeline.d.ts.map +1 -0
- package/dist/npm/widget/dockGeometry.d.ts +26 -0
- package/dist/npm/widget/dockGeometry.d.ts.map +1 -0
- package/dist/npm/widget/index.d.ts +5 -0
- package/dist/npm/widget/index.d.ts.map +1 -0
- package/dist/npm/widget/mountExperienceWidget.d.ts +13 -0
- package/dist/npm/widget/mountExperienceWidget.d.ts.map +1 -0
- package/dist/npm/widget/styles.d.ts +4 -0
- package/dist/npm/widget/styles.d.ts.map +1 -0
- package/dist/npm/widget/types.d.ts +62 -0
- package/dist/npm/widget/types.d.ts.map +1 -0
- package/dist/react/component/experienceComponentLaunch.d.ts +7 -0
- package/dist/react/component/experienceComponentLaunch.d.ts.map +1 -0
- package/dist/react/component/experienceComponentRuntime.d.ts +55 -0
- package/dist/react/component/experienceComponentRuntime.d.ts.map +1 -0
- package/dist/react/component/experienceComponentTypes.d.ts +60 -0
- package/dist/react/component/experienceComponentTypes.d.ts.map +1 -0
- package/dist/react/index.js +5499 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/react/Experience.d.ts +4 -0
- package/dist/react/react/Experience.d.ts.map +1 -0
- package/dist/react/react/ExperienceThumbnail.d.ts +22 -0
- package/dist/react/react/ExperienceThumbnail.d.ts.map +1 -0
- package/dist/react/react/ExperienceWidget.d.ts +35 -0
- package/dist/react/react/ExperienceWidget.d.ts.map +1 -0
- package/dist/react/react/index.d.ts +8 -0
- package/dist/react/react/index.d.ts.map +1 -0
- package/dist/react/shims/apiBaseUrl.d.ts +14 -0
- package/dist/react/shims/apiBaseUrl.d.ts.map +1 -0
- package/dist/react/shims/localStack.d.ts +6 -0
- package/dist/react/shims/localStack.d.ts.map +1 -0
- package/dist/react/svelte/experienceLoadError.d.ts +16 -0
- package/dist/react/svelte/experienceLoadError.d.ts.map +1 -0
- package/dist/react/svelte/experienceLoadErrorOverlay.d.ts +8 -0
- package/dist/react/svelte/experienceLoadErrorOverlay.d.ts.map +1 -0
- package/dist/react/svelte/experienceLoadErrorStyles.d.ts +5 -0
- package/dist/react/svelte/experienceLoadErrorStyles.d.ts.map +1 -0
- package/dist/react/thumbnail/attachThumbnailParallax.d.ts +7 -0
- package/dist/react/thumbnail/attachThumbnailParallax.d.ts.map +1 -0
- package/dist/react/thumbnail/ensureStyles.d.ts +3 -0
- package/dist/react/thumbnail/ensureStyles.d.ts.map +1 -0
- package/dist/react/thumbnail/hostedLaunchUrl.d.ts +23 -0
- package/dist/react/thumbnail/hostedLaunchUrl.d.ts.map +1 -0
- package/dist/react/thumbnail/index.d.ts +9 -0
- package/dist/react/thumbnail/index.d.ts.map +1 -0
- package/dist/react/thumbnail/lazyLoad.d.ts +8 -0
- package/dist/react/thumbnail/lazyLoad.d.ts.map +1 -0
- package/dist/react/thumbnail/scrollParallax.d.ts +13 -0
- package/dist/react/thumbnail/scrollParallax.d.ts.map +1 -0
- package/dist/react/thumbnail/styles.d.ts +3 -0
- package/dist/react/thumbnail/styles.d.ts.map +1 -0
- package/dist/react/thumbnail/toGalleryThumbUrl.d.ts +23 -0
- package/dist/react/thumbnail/toGalleryThumbUrl.d.ts.map +1 -0
- package/dist/react/thumbnail/toGalleryThumbUrl.test.d.ts +2 -0
- package/dist/react/thumbnail/toGalleryThumbUrl.test.d.ts.map +1 -0
- package/dist/react/thumbnail/types.d.ts +37 -0
- package/dist/react/thumbnail/types.d.ts.map +1 -0
- package/dist/react/v2/api/fetchExperiencePreview.d.ts +15 -0
- package/dist/react/v2/api/fetchExperiencePreview.d.ts.map +1 -0
- package/dist/react/v2/api/mintPublicSession.d.ts +25 -0
- package/dist/react/v2/api/mintPublicSession.d.ts.map +1 -0
- package/dist/react/v2/api/sessionEndpointRequest.d.ts +16 -0
- package/dist/react/v2/api/sessionEndpointRequest.d.ts.map +1 -0
- package/dist/react/v2/conversationProcessor.d.ts +6 -0
- package/dist/react/v2/conversationProcessor.d.ts.map +1 -0
- package/dist/react/v2/embed/iframeHost.d.ts +70 -0
- package/dist/react/v2/embed/iframeHost.d.ts.map +1 -0
- package/dist/react/v2/embed/playerReachability.d.ts +4 -0
- package/dist/react/v2/embed/playerReachability.d.ts.map +1 -0
- package/dist/react/v2/embed/protocol.d.ts +181 -0
- package/dist/react/v2/embed/protocol.d.ts.map +1 -0
- package/dist/react/v2/embed/readyGate.d.ts +7 -0
- package/dist/react/v2/embed/readyGate.d.ts.map +1 -0
- package/dist/react/v2/experience.d.ts +133 -0
- package/dist/react/v2/experience.d.ts.map +1 -0
- package/dist/react/v2/experienceEvents.d.ts +27 -0
- package/dist/react/v2/experienceEvents.d.ts.map +1 -0
- package/dist/react/v2/shims/embedBaseUrl.d.ts +19 -0
- package/dist/react/v2/shims/embedBaseUrl.d.ts.map +1 -0
- package/dist/react/v2/speechOnlyManifest.d.ts +7 -0
- package/dist/react/v2/speechOnlyManifest.d.ts.map +1 -0
- package/dist/react/v2/types/sessionInteraction.d.ts +120 -0
- package/dist/react/v2/types/sessionInteraction.d.ts.map +1 -0
- package/dist/react/v2/types/sessionManifest.d.ts +93 -0
- package/dist/react/v2/types/sessionManifest.d.ts.map +1 -0
- package/dist/react/v2/types/sessionManifestSchema.d.ts +183 -0
- package/dist/react/v2/types/sessionManifestSchema.d.ts.map +1 -0
- package/dist/react/v2/types/sessionPipeline.d.ts +23 -0
- package/dist/react/v2/types/sessionPipeline.d.ts.map +1 -0
- package/dist/react/widget/dockGeometry.d.ts +26 -0
- package/dist/react/widget/dockGeometry.d.ts.map +1 -0
- package/dist/react/widget/index.d.ts +5 -0
- package/dist/react/widget/index.d.ts.map +1 -0
- package/dist/react/widget/mountExperienceWidget.d.ts +13 -0
- package/dist/react/widget/mountExperienceWidget.d.ts.map +1 -0
- package/dist/react/widget/styles.d.ts +4 -0
- package/dist/react/widget/styles.d.ts.map +1 -0
- package/dist/react/widget/types.d.ts +62 -0
- package/dist/react/widget/types.d.ts.map +1 -0
- package/dist/sdk/v2/client.js +806 -0
- package/dist/sdk/v2/client.js.map +1 -0
- package/dist/svelte/Experience.svelte +522 -0
- package/dist/svelte/Experience.svelte.d.ts +15 -0
- package/dist/svelte/ExperienceThumbnail.svelte +376 -0
- package/dist/svelte/ExperienceThumbnail.svelte.d.ts +22 -0
- package/dist/svelte/ExperienceWidget.svelte +146 -0
- package/dist/svelte/ExperienceWidget.svelte.d.ts +35 -0
- package/dist/svelte/experienceLoadError.d.ts +15 -0
- package/dist/svelte/experienceLoadError.js +82 -0
- package/dist/svelte/experienceLoadError.test.d.ts +1 -0
- package/dist/svelte/experienceLoadError.test.js +18 -0
- package/dist/svelte/experienceLoadErrorOverlay.d.ts +7 -0
- package/dist/svelte/experienceLoadErrorOverlay.js +48 -0
- package/dist/svelte/experienceLoadErrorStyles.d.ts +4 -0
- package/dist/svelte/experienceLoadErrorStyles.js +112 -0
- package/dist/svelte/index.d.ts +7 -0
- package/dist/svelte/index.js +5 -0
- package/dist/svelte/types.d.ts +1 -0
- package/dist/svelte/types.js +1 -0
- package/package.json +154 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { SessionManifest } from './sessionManifest';
|
|
3
|
+
export declare const sessionManifestSchema: z.ZodObject<{
|
|
4
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
5
|
+
sessionId: z.ZodString;
|
|
6
|
+
experienceId: z.ZodString;
|
|
7
|
+
expiresAt: z.ZodString;
|
|
8
|
+
sessionToken: z.ZodString;
|
|
9
|
+
experience: z.ZodObject<{
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
slug: z.ZodString;
|
|
12
|
+
mode: z.ZodEnum<{
|
|
13
|
+
conversation: "conversation";
|
|
14
|
+
presenter: "presenter";
|
|
15
|
+
}>;
|
|
16
|
+
responseMode: z.ZodEnum<{
|
|
17
|
+
managed: "managed";
|
|
18
|
+
custom: "custom";
|
|
19
|
+
manual: "manual";
|
|
20
|
+
}>;
|
|
21
|
+
speechInputMode: z.ZodEnum<{
|
|
22
|
+
manual: "manual";
|
|
23
|
+
auto: "auto";
|
|
24
|
+
off: "off";
|
|
25
|
+
}>;
|
|
26
|
+
startButton: z.ZodOptional<z.ZodObject<{
|
|
27
|
+
label: z.ZodOptional<z.ZodString>;
|
|
28
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
29
|
+
placement: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
center: "center";
|
|
31
|
+
"bottom-center": "bottom-center";
|
|
32
|
+
"bottom-left": "bottom-left";
|
|
33
|
+
"bottom-right": "bottom-right";
|
|
34
|
+
}>>;
|
|
35
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
primary: "primary";
|
|
37
|
+
secondary: "secondary";
|
|
38
|
+
minimal: "minimal";
|
|
39
|
+
}>>;
|
|
40
|
+
appearance: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
backgroundColor: z.ZodOptional<z.ZodString>;
|
|
42
|
+
textColor: z.ZodOptional<z.ZodString>;
|
|
43
|
+
borderColor: z.ZodOptional<z.ZodString>;
|
|
44
|
+
borderRadiusPx: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
46
|
+
small: "small";
|
|
47
|
+
medium: "medium";
|
|
48
|
+
large: "large";
|
|
49
|
+
}>>;
|
|
50
|
+
shadow: z.ZodOptional<z.ZodEnum<{
|
|
51
|
+
none: "none";
|
|
52
|
+
soft: "soft";
|
|
53
|
+
strong: "strong";
|
|
54
|
+
}>>;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
}, z.core.$strip>>;
|
|
57
|
+
openingMessage: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
transport: z.ZodObject<{
|
|
60
|
+
type: z.ZodLiteral<"http">;
|
|
61
|
+
config: z.ZodObject<{
|
|
62
|
+
apiBaseUrl: z.ZodString;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
runtime: z.ZodObject<{
|
|
66
|
+
cdnBaseUrl: z.ZodString;
|
|
67
|
+
input: z.ZodLiteral<"browserStt">;
|
|
68
|
+
renderer: z.ZodLiteral<"morph2d">;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
pipeline: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
stt: z.ZodObject<{
|
|
72
|
+
placement: z.ZodEnum<{
|
|
73
|
+
browser: "browser";
|
|
74
|
+
cloud: "cloud";
|
|
75
|
+
}>;
|
|
76
|
+
provider: z.ZodString;
|
|
77
|
+
model: z.ZodOptional<z.ZodString>;
|
|
78
|
+
config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
llm: z.ZodObject<{
|
|
81
|
+
placement: z.ZodEnum<{
|
|
82
|
+
browser: "browser";
|
|
83
|
+
cloud: "cloud";
|
|
84
|
+
}>;
|
|
85
|
+
provider: z.ZodString;
|
|
86
|
+
model: z.ZodOptional<z.ZodString>;
|
|
87
|
+
config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
tts: z.ZodObject<{
|
|
90
|
+
placement: z.ZodEnum<{
|
|
91
|
+
browser: "browser";
|
|
92
|
+
cloud: "cloud";
|
|
93
|
+
}>;
|
|
94
|
+
provider: z.ZodString;
|
|
95
|
+
model: z.ZodOptional<z.ZodString>;
|
|
96
|
+
config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
97
|
+
}, z.core.$strip>;
|
|
98
|
+
animation: z.ZodObject<{
|
|
99
|
+
enabled: z.ZodBoolean;
|
|
100
|
+
placement: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
browser: "browser";
|
|
102
|
+
cloud: "cloud";
|
|
103
|
+
}>>;
|
|
104
|
+
source: z.ZodEnum<{
|
|
105
|
+
none: "none";
|
|
106
|
+
azureViseme: "azureViseme";
|
|
107
|
+
speechToAnimation: "speechToAnimation";
|
|
108
|
+
}>;
|
|
109
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
110
|
+
model: z.ZodOptional<z.ZodString>;
|
|
111
|
+
config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
}, z.core.$strip>>;
|
|
114
|
+
capabilities: z.ZodArray<z.ZodString>;
|
|
115
|
+
characters: z.ZodArray<z.ZodObject<{
|
|
116
|
+
characterId: z.ZodString;
|
|
117
|
+
displayName: z.ZodString;
|
|
118
|
+
avatarId: z.ZodString;
|
|
119
|
+
voiceId: z.ZodString;
|
|
120
|
+
sttLang: z.ZodString;
|
|
121
|
+
agentId: z.ZodString;
|
|
122
|
+
appearance: z.ZodOptional<z.ZodObject<{
|
|
123
|
+
costume: z.ZodOptional<z.ZodString>;
|
|
124
|
+
costumeClothes: z.ZodOptional<z.ZodString>;
|
|
125
|
+
hair: z.ZodOptional<z.ZodString>;
|
|
126
|
+
}, z.core.$strip>>;
|
|
127
|
+
}, z.core.$strip>>;
|
|
128
|
+
activeCharacterId: z.ZodString;
|
|
129
|
+
location: z.ZodOptional<z.ZodObject<{
|
|
130
|
+
locationId: z.ZodString;
|
|
131
|
+
title: z.ZodString;
|
|
132
|
+
scene: z.ZodOptional<z.ZodObject<{
|
|
133
|
+
type: z.ZodLiteral<"image">;
|
|
134
|
+
layers: z.ZodArray<z.ZodString>;
|
|
135
|
+
assets: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
136
|
+
}, z.core.$strip>>;
|
|
137
|
+
placement: z.ZodOptional<z.ZodObject<{
|
|
138
|
+
cx: z.ZodNumber;
|
|
139
|
+
cy: z.ZodNumber;
|
|
140
|
+
scale: z.ZodNumber;
|
|
141
|
+
distanceM: z.ZodNumber;
|
|
142
|
+
}, z.core.$strip>>;
|
|
143
|
+
metersPerDepth: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
hasZoomVariant: z.ZodOptional<z.ZodBoolean>;
|
|
145
|
+
}, z.core.$strip>>;
|
|
146
|
+
world: z.ZodOptional<z.ZodObject<{
|
|
147
|
+
worldId: z.ZodString;
|
|
148
|
+
rulesetVersion: z.ZodNumber;
|
|
149
|
+
}, z.core.$strip>>;
|
|
150
|
+
state: z.ZodObject<{
|
|
151
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
152
|
+
values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
153
|
+
}, z.core.$strip>;
|
|
154
|
+
tools: z.ZodArray<z.ZodUnknown>;
|
|
155
|
+
integration: z.ZodOptional<z.ZodObject<{
|
|
156
|
+
returnUrl: z.ZodOptional<z.ZodString>;
|
|
157
|
+
navigateOnClose: z.ZodOptional<z.ZodBoolean>;
|
|
158
|
+
}, z.core.$strip>>;
|
|
159
|
+
closeButton: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
160
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
161
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
162
|
+
text: "text";
|
|
163
|
+
icon: "icon";
|
|
164
|
+
}>>;
|
|
165
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
166
|
+
position: z.ZodOptional<z.ZodString>;
|
|
167
|
+
}, z.core.$strip>>>;
|
|
168
|
+
billing: z.ZodOptional<z.ZodObject<{
|
|
169
|
+
payer: z.ZodLiteral<"creator">;
|
|
170
|
+
meterId: z.ZodString;
|
|
171
|
+
}, z.core.$strip>>;
|
|
172
|
+
language: z.ZodOptional<z.ZodEnum<{
|
|
173
|
+
en: "en";
|
|
174
|
+
es: "es";
|
|
175
|
+
}>>;
|
|
176
|
+
languagePackRevision: z.ZodOptional<z.ZodString>;
|
|
177
|
+
processorId: z.ZodOptional<z.ZodString>;
|
|
178
|
+
}, z.core.$strip>;
|
|
179
|
+
/** Apply API defaults for interaction modes omitted by older mint paths. */
|
|
180
|
+
export declare function normalizeSessionManifestInput(data: unknown): unknown;
|
|
181
|
+
export declare function parseSessionManifest(data: unknown): SessionManifest;
|
|
182
|
+
export declare function manifestHasSessionCredential(manifest: SessionManifest): boolean;
|
|
183
|
+
//# sourceMappingURL=sessionManifestSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionManifestSchema.d.ts","sourceRoot":"","sources":["../../../../src/v2/types/sessionManifestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA0FzD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwEhC,CAAC;AAEH,4EAA4E;AAC5E,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAgBpE;AAWD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAMnE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE/E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type PipelinePlacement = 'browser' | 'cloud';
|
|
2
|
+
export type PipelineStageConfig = {
|
|
3
|
+
readonly placement: PipelinePlacement;
|
|
4
|
+
readonly provider: string;
|
|
5
|
+
readonly model?: string;
|
|
6
|
+
readonly config: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
export type PipelineAnimationSource = 'azureViseme' | 'speechToAnimation' | 'none';
|
|
9
|
+
export type PipelineAnimationStage = {
|
|
10
|
+
readonly enabled: boolean;
|
|
11
|
+
readonly placement?: PipelinePlacement;
|
|
12
|
+
readonly source: PipelineAnimationSource;
|
|
13
|
+
readonly provider?: string;
|
|
14
|
+
readonly model?: string;
|
|
15
|
+
readonly config: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
export type SessionPipeline = {
|
|
18
|
+
readonly stt: PipelineStageConfig;
|
|
19
|
+
readonly llm: PipelineStageConfig;
|
|
20
|
+
readonly tts: PipelineStageConfig;
|
|
21
|
+
readonly animation: PipelineAnimationStage;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=sessionPipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionPipeline.d.ts","sourceRoot":"","sources":["../../../../src/v2/types/sessionPipeline.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAEnF,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Desktop breakpoint for reduce / dock chrome (matches CSS). */
|
|
2
|
+
export declare const WIDGET_DESKTOP_MEDIA = "(min-width: 768px)";
|
|
3
|
+
/** Fraction of the device screen height (not the browser chrome box). */
|
|
4
|
+
export declare const DOCK_HEIGHT_FRAC = 0.5;
|
|
5
|
+
export declare const DOCK_HEIGHT_MAX = 1200;
|
|
6
|
+
/** Portrait width / height. */
|
|
7
|
+
export declare const DOCK_ASPECT: number;
|
|
8
|
+
export type DockSize = {
|
|
9
|
+
readonly width: number;
|
|
10
|
+
readonly height: number;
|
|
11
|
+
};
|
|
12
|
+
export type DockPoint = {
|
|
13
|
+
readonly left: number;
|
|
14
|
+
readonly top: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Docked panel size: ~50% of device screen height (cap 1200), 9:16 portrait,
|
|
18
|
+
* then clamped to fit the browser viewport with margin.
|
|
19
|
+
*/
|
|
20
|
+
export declare function computeDockSize(viewportWidth?: number, viewportHeight?: number, margin?: number, screenHeight?: number): DockSize;
|
|
21
|
+
/** Default bottom-right placement for a docked panel. */
|
|
22
|
+
export declare function defaultDockOrigin(size: DockSize, viewportWidth?: number, viewportHeight?: number, margin?: number): DockPoint;
|
|
23
|
+
/** Keep a docked panel fully inside the viewport. */
|
|
24
|
+
export declare function clampDockOrigin(left: number, top: number, size: DockSize, viewportWidth?: number, viewportHeight?: number, margin?: number): DockPoint;
|
|
25
|
+
export declare function isDesktopViewport(matchMediaFn?: (query: string) => MediaQueryList): boolean;
|
|
26
|
+
//# sourceMappingURL=dockGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dockGeometry.d.ts","sourceRoot":"","sources":["../../../src/widget/dockGeometry.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAGzD,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,eAAe,OAAO,CAAC;AAGpC,+BAA+B;AAC/B,eAAO,MAAM,WAAW,QAAS,CAAC;AAElC,MAAM,MAAM,QAAQ,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB,CAAC;AAQF;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAA2D,EACxE,cAAc,SAA2D,EACzE,MAAM,SAAc,EACpB,YAAY,SAA2D,GACrE,QAAQ,CAoBV;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,QAAQ,EACd,aAAa,SAA2D,EACxE,cAAc,SAA2D,EACzE,MAAM,SAAc,GAClB,SAAS,CAKX;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,aAAa,SAA2D,EACxE,cAAc,SAA2D,EACzE,MAAM,SAAc,GAClB,SAAS,CAOX;AAED,wBAAgB,iBAAiB,CAChC,YAAY,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAEa,GAC5C,OAAO,CAET"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { ExperienceWidgetController, ExperienceWidgetOptions, ExperienceWidgetPosition, ExperienceWidgetPrefetch } from './types';
|
|
2
|
+
export type { GalleryThumb } from '../thumbnail/types';
|
|
3
|
+
export { EXPERIENCE_WIDGET_CSS, ensureExperienceWidgetStyles } from './styles';
|
|
4
|
+
export { mountExperienceWidget } from './mountExperienceWidget';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widget/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ExperienceWidgetController, ExperienceWidgetOptions } from './types';
|
|
2
|
+
/** Normalize offset to a CSS length (default 16px). */
|
|
3
|
+
export declare function resolveWidgetOffsetCss(offset?: number | string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Mount a light collapsed widget that expands an Experience overlay on click.
|
|
6
|
+
* Default `prefetch="onExpand"` is cold (second tap unlocks audio).
|
|
7
|
+
* `idle` / `eager` warm a transparent iframe so one in-iframe click unlocks + expands.
|
|
8
|
+
*
|
|
9
|
+
* When gallery thumb layers are not provided, fetches
|
|
10
|
+
* `GET /v1/experiences/{id}/preview` (no auth / allowlist).
|
|
11
|
+
*/
|
|
12
|
+
export declare function mountExperienceWidget(host: HTMLElement, options: ExperienceWidgetOptions): ExperienceWidgetController;
|
|
13
|
+
//# sourceMappingURL=mountExperienceWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mountExperienceWidget.d.ts","sourceRoot":"","sources":["../../../src/widget/mountExperienceWidget.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACX,0BAA0B,EAC1B,uBAAuB,EAGvB,MAAM,SAAS,CAAC;AAMjB,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQvE;AA+JD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,uBAAuB,GAC9B,0BAA0B,CAq1B5B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Styles for ExperienceWidget (class prefix `liforma-ew`). */
|
|
2
|
+
export declare const EXPERIENCE_WIDGET_CSS = "\n.liforma-ew {\n\tbox-sizing: border-box;\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n}\n\n/* Optional self-positioned FAB (position=bottom-right|bottom-left).\n * Cap at 50vmin so small phones don't get an oversized thumb (desktop 224px stays). */\n.liforma-ew[data-position='bottom-right'],\n.liforma-ew[data-position='bottom-left'] {\n\tposition: fixed;\n\twidth: min(var(--liforma-ew-fab-size, 224px), 50vmin);\n\theight: min(var(--liforma-ew-fab-size, 224px), 50vmin);\n\tbottom: var(--liforma-ew-offset, 16px);\n\tz-index: 2147482900;\n}\n\n.liforma-ew[data-position='bottom-right'] {\n\tright: var(--liforma-ew-offset, 16px);\n\tleft: auto;\n}\n\n.liforma-ew[data-position='bottom-left'] {\n\tleft: var(--liforma-ew-offset, 16px);\n\tright: auto;\n}\n\n/* While open, collapse the FAB box so a corner hole / thumb never remains. */\n.liforma-ew[data-position='bottom-right'][data-state='expanded'],\n.liforma-ew[data-position='bottom-right'][data-state='docked'],\n.liforma-ew[data-position='bottom-left'][data-state='expanded'],\n.liforma-ew[data-position='bottom-left'][data-state='docked'] {\n\twidth: 0;\n\theight: 0;\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: visible;\n\tpointer-events: none;\n}\n\n.liforma-ew[data-state='expanded'] .liforma-ew__warm,\n.liforma-ew[data-state='docked'] .liforma-ew__warm,\n.liforma-ew[data-state='expanded'] .liforma-ew__overlay,\n.liforma-ew[data-state='expanded'] .liforma-ew__toolbar,\n.liforma-ew[data-state='docked'] .liforma-ew__toolbar {\n\tpointer-events: auto;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__overlay {\n\tpointer-events: none;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__panel {\n\tpointer-events: auto;\n}\n\n.liforma-ew__hit {\n\tbox-sizing: border-box;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\tcursor: pointer;\n\tfont: inherit;\n\tappearance: none;\n\t-webkit-tap-highlight-color: transparent;\n\ttransform: scale(1);\n\ttransform-origin: center center;\n\ttransition:\n\t\ttransform 180ms ease,\n\t\tfilter 180ms ease;\n\twill-change: transform;\n}\n\n/* Author display must not defeat the HTML hidden attribute. */\n.liforma-ew__hit[hidden] {\n\tdisplay: none !important;\n}\n\n.liforma-ew__hit:focus-visible {\n\toutline: 2px solid #5b8def;\n\toutline-offset: 3px;\n\tborder-radius: 0.75rem;\n}\n\n@media (hover: hover) and (pointer: fine) {\n\t/* Scale the thumb whenever the collapsed FAB is hovered \u2014 including via the warm iframe hit layer. */\n\t.liforma-ew[data-state='collapsed'] .liforma-ew__hit:not(:disabled):hover,\n\t.liforma-ew[data-state='collapsed']:has(.liforma-ew__warm:hover) .liforma-ew__hit {\n\t\ttransform: scale(1.06);\n\t}\n\n\t.liforma-ew[data-state='collapsed'] .liforma-ew__hit:not(:disabled):hover .liforma-et,\n\t.liforma-ew[data-state='collapsed']:has(.liforma-ew__warm:hover) .liforma-et {\n\t\tbox-shadow: 0 12px 36px rgba(0, 0, 0, 0.34);\n\t}\n}\n\n.liforma-ew__face {\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 0;\n\tposition: relative;\n}\n\n.liforma-ew__face-status {\n\tposition: absolute;\n\tinset: 0;\n\tz-index: 1;\n\tdisplay: grid;\n\tplace-items: center;\n\tpadding: 0.5rem;\n\ttext-align: center;\n\tfont: 600 0.75rem/1.3 system-ui, sans-serif;\n\tcolor: #e8ecf4;\n\tbackground: rgba(10, 12, 18, 0.72);\n\tborder-radius: 0.75rem;\n\tpointer-events: none;\n}\n\n.liforma-ew__face-status[hidden] {\n\tdisplay: none !important;\n}\n\n.liforma-ew__hit:disabled {\n\tcursor: default;\n\topacity: 0.85;\n}\n\n.liforma-ew__face .liforma-et {\n\tborder-radius: 0.75rem;\n\tbox-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);\n\ttransition: box-shadow 180ms ease;\n}\n\n.liforma-ew__warm {\n\tbox-sizing: border-box;\n\tposition: absolute;\n\tinset: 0;\n\tz-index: 2;\n\tborder-radius: 0.75rem;\n\toverflow: hidden;\n\tbackground: transparent;\n\tpointer-events: none;\n\topacity: 1;\n\ttransition: opacity 1000ms ease;\n}\n\n/*\n * Collapsed: keep the warm iframe as an invisible hit target only.\n * Painting it over the thumb causes a \u201Cghost enlarge\u201D (face scales under a static iframe).\n */\n.liforma-ew[data-state='collapsed'] .liforma-ew__warm {\n\topacity: 0;\n\ttransition: none;\n}\n\n.liforma-ew[data-warm='true'] .liforma-ew__warm {\n\tpointer-events: auto;\n}\n\n.liforma-ew[data-warm='true']:not([data-live='true']) .liforma-ew__hit {\n\tpointer-events: none;\n}\n\n.liforma-ew[data-live='true'][data-state='collapsed'] .liforma-ew__hit {\n\tpointer-events: auto;\n}\n\n.liforma-ew[data-live='true'] .liforma-ew__warm,\n.liforma-ew[data-live='true'] .liforma-ew__stage {\n\t/* Hidden under the thumb / until post-resize fade-in (matches cold avatar reveal). */\n\topacity: 0;\n}\n\n.liforma-ew[data-live='true'].liforma-ew--session-revealed[data-state='expanded'] .liforma-ew__warm,\n.liforma-ew[data-live='true'].liforma-ew--session-revealed[data-state='expanded'] .liforma-ew__stage,\n.liforma-ew[data-live='true'].liforma-ew--session-revealed[data-state='docked'] .liforma-ew__warm,\n.liforma-ew[data-live='true'].liforma-ew--session-revealed[data-state='docked'] .liforma-ew__stage {\n\topacity: 1;\n}\n\n.liforma-ew--session-concealing .liforma-ew__warm,\n.liforma-ew--session-concealing .liforma-ew__stage {\n\ttransition-duration: 280ms;\n}\n\n/* Instant hide while dock/maximize geometry settles (player morph resize ~160ms). */\n.liforma-ew--layout-settling .liforma-ew__warm,\n.liforma-ew--layout-settling .liforma-ew__stage {\n\topacity: 0 !important;\n\ttransition: none !important;\n}\n\n.liforma-ew[data-live='true'][data-state='collapsed'] .liforma-ew__warm {\n\t/* Keep the live iframe under the thumb; FAB click resumes the shell. */\n\tpointer-events: none;\n\topacity: 0;\n\t/* Instant hide when collapsed so the FAB never shows a resized live mesh. */\n\ttransition: none;\n}\n\n.liforma-ew[data-state='expanded'] .liforma-ew__warm {\n\tposition: fixed;\n\t/* Match overlay panel inset so the warm iframe fills the conversation shell. */\n\tinset: clamp(12px, 3vw, 28px);\n\tz-index: 2147483001;\n\twidth: auto;\n\theight: auto;\n\tborder-radius: 16px;\n\tpointer-events: auto;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__warm {\n\tposition: fixed;\n\tinset: auto;\n\tz-index: 2147483001;\n\tborder-radius: 16px;\n\tpointer-events: auto;\n\t/* left/top/width/height set inline from dock geometry */\n}\n\n.liforma-ew__toolbar {\n\tdisplay: none;\n\tposition: fixed;\n\tz-index: 2147483002;\n\tpointer-events: auto;\n\tbox-sizing: border-box;\n\talign-items: center;\n\tgap: 0.35rem;\n\tpadding: 0.35rem 0.4rem;\n\tborder-radius: 999px;\n\tbackground: rgba(12, 14, 20, 0.72);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tbox-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);\n}\n\n.liforma-ew[data-state='expanded'] .liforma-ew__toolbar {\n\tdisplay: flex;\n\ttop: calc(clamp(12px, 3vw, 28px) + 10px);\n\tright: calc(clamp(12px, 3vw, 28px) + 10px);\n\tleft: auto;\n\tcursor: default;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__toolbar {\n\tdisplay: flex;\n\t/* left/top set inline to track the panel; strip is the drag handle */\n\tcursor: grab;\n\ttouch-action: none;\n\tuser-select: none;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__toolbar.liforma-ew__toolbar--dragging {\n\tcursor: grabbing;\n}\n\n.liforma-ew__toolbar[hidden] {\n\tdisplay: none !important;\n}\n\n.liforma-ew__icon-btn {\n\tappearance: none;\n\tbox-sizing: border-box;\n\tdisplay: inline-grid;\n\tplace-items: center;\n\twidth: 2rem;\n\theight: 2rem;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 999px;\n\tcolor: #f5f7fb;\n\tbackground: transparent;\n\tcursor: pointer;\n}\n\n.liforma-ew__icon-btn:hover {\n\tbackground: rgba(255, 255, 255, 0.12);\n}\n\n.liforma-ew__icon-btn[aria-pressed='true'] {\n\tbackground: rgba(255, 255, 255, 0.2);\n}\n\n.liforma-ew__icon-btn:focus-visible {\n\toutline: 2px solid #5b8def;\n\toutline-offset: 2px;\n}\n\n.liforma-ew__icon-btn svg {\n\twidth: 1.05rem;\n\theight: 1.05rem;\n\tdisplay: block;\n}\n\n.liforma-ew__drag-grip {\n\tdisplay: none;\n\twidth: 0.85rem;\n\theight: 1.25rem;\n\tmargin: 0 0.15rem 0 0.25rem;\n\tbackground:\n\t\tradial-gradient(circle, currentColor 1.1px, transparent 1.2px) 0 0 / 0.35rem 0.35rem,\n\t\tradial-gradient(circle, currentColor 1.1px, transparent 1.2px) 0.35rem 0 / 0.35rem 0.35rem;\n\tbackground-repeat: repeat-y;\n\topacity: 0.55;\n\tcolor: #f5f7fb;\n\tpointer-events: none;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__drag-grip {\n\tdisplay: block;\n}\n\n.liforma-ew__dock-toggle[hidden] {\n\tdisplay: none !important;\n}\n\n.liforma-ew__overlay {\n\tposition: fixed;\n\tinset: 0;\n\tz-index: 2147483000;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: clamp(12px, 3vw, 28px);\n\tbox-sizing: border-box;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__overlay {\n\tpadding: 0;\n\talign-items: stretch;\n\tjustify-content: stretch;\n\tpointer-events: none;\n\tbackground: transparent;\n}\n\n.liforma-ew__overlay[hidden] {\n\tdisplay: none !important;\n}\n\n.liforma-ew__backdrop {\n\tposition: absolute;\n\tinset: 0;\n\tborder: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: rgba(6, 8, 14, 0.62);\n\tcursor: pointer;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__backdrop {\n\tdisplay: none !important;\n}\n\n.liforma-ew__panel {\n\tposition: relative;\n\tz-index: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\t/* Fill the overlay so player loading / start UI centers in the visible window. */\n\twidth: var(--liforma-ew-max-w, 100%);\n\theight: var(--liforma-ew-max-h, 100%);\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tborder-radius: 16px;\n\toverflow: hidden;\n\tbackground: #030508;\n\tbox-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);\n\t/* Warm iframe sits above as a sibling; keep panel as chrome shell. */\n\tpointer-events: none;\n}\n\n.liforma-ew[data-state='docked'] .liforma-ew__panel {\n\tposition: fixed;\n\tinset: auto;\n\tmax-width: none;\n\tmax-height: none;\n\tpointer-events: auto;\n\t/* left/top/width/height set inline from dock geometry */\n}\n\n.liforma-ew:not([data-warm='true']) .liforma-ew__panel {\n\tpointer-events: auto;\n}\n\n.liforma-ew__stage {\n\tposition: relative;\n\tflex: 1;\n\tmin-height: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: #030508;\n\topacity: 1;\n\ttransition: opacity 1000ms ease;\n}\n\n.liforma-ew__status {\n\tposition: absolute;\n\tinset: 0;\n\tz-index: 1;\n\tdisplay: grid;\n\tplace-items: center;\n\tpadding: 1.5rem;\n\ttext-align: center;\n\tcolor: #d7dde8;\n\tfont: 500 0.9375rem/1.45 system-ui, sans-serif;\n\tbackground: rgba(3, 5, 8, 0.92);\n\tpointer-events: none;\n}\n\n.liforma-ew__status[hidden] {\n\tdisplay: none !important;\n}\n\n/* Mobile expanded: ~90% viewport, no reduce control. */\n@media (max-width: 767px) {\n\t.liforma-ew[data-state='expanded'] .liforma-ew__overlay {\n\t\tpadding: 5vh 5vw;\n\t}\n\n\t.liforma-ew[data-state='expanded'] .liforma-ew__panel {\n\t\twidth: 90vw;\n\t\theight: 90vh;\n\t\tmax-width: 90vw;\n\t\tmax-height: 90vh;\n\t}\n\n\t.liforma-ew[data-state='expanded'] .liforma-ew__warm {\n\t\tinset: 5vh 5vw;\n\t}\n\n\t.liforma-ew[data-state='expanded'] .liforma-ew__toolbar {\n\t\ttop: calc(5vh + 10px);\n\t\tright: calc(5vw + 10px);\n\t}\n\n\t.liforma-ew__dock-toggle {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.liforma-ew__hit {\n\t\ttransition: none;\n\t\twill-change: auto;\n\t}\n\n\t.liforma-ew[data-state='collapsed'] .liforma-ew__hit:not(:disabled):hover,\n\t.liforma-ew[data-state='collapsed']:has(.liforma-ew__warm:hover) .liforma-ew__hit {\n\t\ttransform: none;\n\t}\n\n\t.liforma-ew__face .liforma-et {\n\t\tbox-shadow: none;\n\t\ttransition: none;\n\t}\n\n\t.liforma-ew__warm,\n\t.liforma-ew__stage {\n\t\ttransition: none;\n\t}\n}\n";
|
|
3
|
+
export declare function ensureExperienceWidgetStyles(css?: string): void;
|
|
4
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/widget/styles.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,koXA0djC,CAAC;AAIF,wBAAgB,4BAA4B,CAAC,GAAG,GAAE,MAA8B,GAAG,IAAI,CAYtF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { GalleryThumb } from '../thumbnail/types';
|
|
2
|
+
import type { ExperienceFit, ExperienceMode, SpeechInputMode, StartButtonOptions } from '../v2/types/sessionInteraction';
|
|
3
|
+
export type ExperienceWidgetPrefetch = 'onExpand' | 'idle' | 'eager';
|
|
4
|
+
/**
|
|
5
|
+
* Collapsed FAB placement.
|
|
6
|
+
* - `static` (default): fill the host; developer CSS owns corner layout.
|
|
7
|
+
* - `bottom-right` / `bottom-left`: fixed corner launch (WordPress / paste-snippet friendly).
|
|
8
|
+
*/
|
|
9
|
+
export type ExperienceWidgetPosition = 'static' | 'bottom-right' | 'bottom-left';
|
|
10
|
+
export type ExperienceWidgetOptions = {
|
|
11
|
+
readonly experienceId: string;
|
|
12
|
+
readonly alt: string;
|
|
13
|
+
readonly galleryThumb?: GalleryThumb;
|
|
14
|
+
readonly avatarImage?: string;
|
|
15
|
+
readonly backgroundImage?: string;
|
|
16
|
+
readonly foregroundImage?: string;
|
|
17
|
+
readonly fallbackImage?: string;
|
|
18
|
+
readonly prefetch?: ExperienceWidgetPrefetch;
|
|
19
|
+
readonly parallax?: boolean;
|
|
20
|
+
/** Default `static`. Corner values pin a 224×224 FAB without host CSS. */
|
|
21
|
+
readonly position?: ExperienceWidgetPosition;
|
|
22
|
+
/**
|
|
23
|
+
* Inset from the chosen corner when `position` is not `static`.
|
|
24
|
+
* Number = pixels; string may be `16`, `16px`, or any CSS length. Default `16`.
|
|
25
|
+
*/
|
|
26
|
+
readonly offset?: number | string;
|
|
27
|
+
/** Optional authenticated / same-origin mint endpoint (same as Experience). */
|
|
28
|
+
readonly sessionEndpoint?: string;
|
|
29
|
+
readonly language?: 'en' | 'es';
|
|
30
|
+
readonly mode?: ExperienceMode;
|
|
31
|
+
readonly speechInputMode?: SpeechInputMode;
|
|
32
|
+
readonly speechOnly?: boolean;
|
|
33
|
+
readonly fit?: ExperienceFit;
|
|
34
|
+
readonly embedBaseUrl?: string;
|
|
35
|
+
readonly expandedMaxWidth?: string;
|
|
36
|
+
readonly expandedMaxHeight?: string;
|
|
37
|
+
/** Convenience: sets startButton.label when startButton is omitted. */
|
|
38
|
+
readonly startButtonLabel?: string;
|
|
39
|
+
readonly startButton?: StartButtonOptions;
|
|
40
|
+
readonly onExpanded?: () => void;
|
|
41
|
+
readonly onCollapsed?: () => void;
|
|
42
|
+
readonly onStarted?: () => void;
|
|
43
|
+
readonly onClose?: () => void;
|
|
44
|
+
readonly onError?: (error: Error) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Cold (`onExpand`): thumbs painted.
|
|
47
|
+
* Warm (`idle`/`eager`): transparent iframe hit is armed (`widgetReady`).
|
|
48
|
+
*/
|
|
49
|
+
readonly onPrefetchReady?: () => void;
|
|
50
|
+
};
|
|
51
|
+
export type ExperienceWidgetController = {
|
|
52
|
+
readonly root: HTMLElement;
|
|
53
|
+
expand(): void;
|
|
54
|
+
collapse(): void;
|
|
55
|
+
/** Desktop: shrink the open shell to a draggable portrait dock. */
|
|
56
|
+
dock(): void;
|
|
57
|
+
/** Restore a docked shell to near-fullscreen expanded. */
|
|
58
|
+
maximize(): void;
|
|
59
|
+
prefetch(): void;
|
|
60
|
+
destroy(): void;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/widget/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AAEjF,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,IAAI,IAAI,CAAC;IACjB,mEAAmE;IACnE,IAAI,IAAI,IAAI,CAAC;IACb,0DAA0D;IAC1D,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,OAAO,IAAI,IAAI,CAAC;CAChB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StartSessionOptions } from '@liforma/client';
|
|
2
|
+
import type { ExperienceProps } from './experienceComponentTypes';
|
|
3
|
+
export declare function stableSerialize(value: unknown): string;
|
|
4
|
+
export declare function identityKey(value: object): number;
|
|
5
|
+
export declare function buildExperienceStartOptions(props: ExperienceProps): StartSessionOptions;
|
|
6
|
+
export declare function experienceLaunchKey(props: ExperienceProps): string;
|
|
7
|
+
//# sourceMappingURL=experienceComponentLaunch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceComponentLaunch.d.ts","sourceRoot":"","sources":["../../../src/component/experienceComponentLaunch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKlE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAStD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB,CAyDvF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAmBlE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type CloseEvent, type EmbedState, type ExperienceEvents, type ExperienceSession, type StartSessionOptions } from '@liforma/client';
|
|
2
|
+
import { type ExperienceLoadErrorPresentation } from '../svelte/experienceLoadError';
|
|
3
|
+
export type Deferred<T> = {
|
|
4
|
+
readonly promise: Promise<T>;
|
|
5
|
+
resolve(value: T): void;
|
|
6
|
+
reject(reason: unknown): void;
|
|
7
|
+
};
|
|
8
|
+
export type ExperienceGeneration = {
|
|
9
|
+
readonly id: number;
|
|
10
|
+
readonly session: Deferred<ExperienceSession>;
|
|
11
|
+
readonly ready: Deferred<ExperienceEvents['ready']>;
|
|
12
|
+
readonly started: Deferred<ExperienceEvents['started']>;
|
|
13
|
+
readonly unsubscribers: (() => void)[];
|
|
14
|
+
readonly reportedErrors: Set<Error>;
|
|
15
|
+
instance: ExperienceSession | null;
|
|
16
|
+
destroyed: boolean;
|
|
17
|
+
instanceDestroyed: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type LaunchSnapshot = {
|
|
20
|
+
readonly options: StartSessionOptions;
|
|
21
|
+
readonly error?: never;
|
|
22
|
+
} | {
|
|
23
|
+
readonly options?: never;
|
|
24
|
+
readonly error: Error;
|
|
25
|
+
};
|
|
26
|
+
export type ExperienceEventCallbacks = {
|
|
27
|
+
onReady?: (event: ExperienceEvents['ready']) => void;
|
|
28
|
+
onStarted?: (event: ExperienceEvents['started']) => void;
|
|
29
|
+
onUserTranscript?: (event: ExperienceEvents['userTranscript']) => void;
|
|
30
|
+
onUserSpeechStarted?: (event: ExperienceEvents['userSpeechStarted']) => void;
|
|
31
|
+
onUserSpeechEnded?: (event: ExperienceEvents['userSpeechEnded']) => void;
|
|
32
|
+
onCharacterSpeechStarted?: (event: ExperienceEvents['characterSpeechStarted']) => void;
|
|
33
|
+
onCharacterSpeechEnded?: (event: ExperienceEvents['characterSpeechEnded']) => void;
|
|
34
|
+
onConversationUpdate?: (event: ExperienceEvents['conversationUpdate']) => void;
|
|
35
|
+
onMessage?: (event: ExperienceEvents['message']) => void;
|
|
36
|
+
onListeningState?: (event: ExperienceEvents['listeningState']) => void;
|
|
37
|
+
onModeChange?: (event: ExperienceEvents['modeChange']) => void;
|
|
38
|
+
onConversationProcessorError?: (event: ExperienceEvents['conversationProcessorError']) => void;
|
|
39
|
+
onStateUpdate?: (state: EmbedState) => void;
|
|
40
|
+
onClose?: (event: CloseEvent) => void;
|
|
41
|
+
onError?: (error: Error) => void;
|
|
42
|
+
};
|
|
43
|
+
export type ExperienceGenerationController = {
|
|
44
|
+
createGeneration(): ExperienceGeneration;
|
|
45
|
+
cancelGeneration(generation: ExperienceGeneration): void;
|
|
46
|
+
activateGeneration(container: HTMLDivElement, snapshot: LaunchSnapshot, returnUrl?: string, onLoadError?: (error: ExperienceLoadErrorPresentation | null) => void): ExperienceGeneration;
|
|
47
|
+
withSession<T>(operation: (session: ExperienceSession) => Promise<T>): Promise<T>;
|
|
48
|
+
getActiveInstance(): ExperienceSession | null;
|
|
49
|
+
};
|
|
50
|
+
export declare function createDeferred<T>(): Deferred<T>;
|
|
51
|
+
export declare function abortError(): DOMException;
|
|
52
|
+
export declare function toError(error: unknown): Error;
|
|
53
|
+
export declare function isAbortError(error: unknown): boolean;
|
|
54
|
+
export declare function createExperienceGenerationController(getCallbacks?: () => ExperienceEventCallbacks): ExperienceGenerationController;
|
|
55
|
+
//# sourceMappingURL=experienceComponentRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceComponentRuntime.d.ts","sourceRoot":"","sources":["../../../src/component/experienceComponentRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { CloseEvent, ConversationMessage, ConversationProcessorFn, EmbedState, ExperienceEvents, ExperienceFit, ExperienceMode, ListenOnceOptions, ResponseMode, SessionManifest, SpeakOptions, SpeechInputMode, SpeechResult, StartButtonOptions, UtteranceResult } from '@liforma/client';
|
|
2
|
+
export type ExperienceProps = {
|
|
3
|
+
experienceId?: string;
|
|
4
|
+
sessionEndpoint?: string;
|
|
5
|
+
manifest?: SessionManifest;
|
|
6
|
+
acceptCredentialExposure?: boolean;
|
|
7
|
+
language?: 'en' | 'es';
|
|
8
|
+
mode?: ExperienceMode;
|
|
9
|
+
/** @deprecated Response ownership is derived from mode. */
|
|
10
|
+
responseMode?: ResponseMode;
|
|
11
|
+
speechInputMode?: SpeechInputMode;
|
|
12
|
+
/**
|
|
13
|
+
* Structurally equivalent values do not restart the session. Keep this value
|
|
14
|
+
* stable when possible so parent updates do not require repeated comparison.
|
|
15
|
+
*/
|
|
16
|
+
startButton?: StartButtonOptions;
|
|
17
|
+
/** Changing this function reference restarts the session. */
|
|
18
|
+
conversationProcessor?: ConversationProcessorFn;
|
|
19
|
+
/** Voice-only session: skip avatar renderer and location scene asset loading. */
|
|
20
|
+
speechOnly?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Scene framing in the host container. `face` cover-zooms onto the mesh face
|
|
23
|
+
* oval (with location background). Default `full` height-fits the whole avatar.
|
|
24
|
+
* Session-start only — changing it restarts the session.
|
|
25
|
+
*/
|
|
26
|
+
fit?: ExperienceFit;
|
|
27
|
+
avatarId?: string;
|
|
28
|
+
locationId?: string;
|
|
29
|
+
embedBaseUrl?: string;
|
|
30
|
+
debug?: boolean;
|
|
31
|
+
/** Used when the session manifest omits `integration.returnUrl`. */
|
|
32
|
+
returnUrl?: string;
|
|
33
|
+
onReady?: (event: ExperienceEvents['ready']) => void;
|
|
34
|
+
onStarted?: (event: ExperienceEvents['started']) => void;
|
|
35
|
+
onUserTranscript?: (event: ExperienceEvents['userTranscript']) => void;
|
|
36
|
+
onUserSpeechStarted?: (event: ExperienceEvents['userSpeechStarted']) => void;
|
|
37
|
+
onUserSpeechEnded?: (event: ExperienceEvents['userSpeechEnded']) => void;
|
|
38
|
+
onCharacterSpeechStarted?: (event: ExperienceEvents['characterSpeechStarted']) => void;
|
|
39
|
+
onCharacterSpeechEnded?: (event: ExperienceEvents['characterSpeechEnded']) => void;
|
|
40
|
+
onConversationUpdate?: (conversation: ExperienceEvents['conversationUpdate']) => void;
|
|
41
|
+
onMessage?: (message: ExperienceEvents['message']) => void;
|
|
42
|
+
onListeningState?: (listening: ExperienceEvents['listeningState']) => void;
|
|
43
|
+
onModeChange?: (event: ExperienceEvents['modeChange']) => void;
|
|
44
|
+
onConversationProcessorError?: (event: ExperienceEvents['conversationProcessorError']) => void;
|
|
45
|
+
onStateUpdate?: (state: EmbedState) => void;
|
|
46
|
+
onClose?: (event: CloseEvent) => void;
|
|
47
|
+
onError?: (error: Error) => void;
|
|
48
|
+
};
|
|
49
|
+
export type ExperienceHandle = {
|
|
50
|
+
ready(): Promise<ExperienceEvents['ready']>;
|
|
51
|
+
started(): Promise<ExperienceEvents['started']>;
|
|
52
|
+
speak(options: SpeakOptions): Promise<SpeechResult>;
|
|
53
|
+
startListening(): Promise<void>;
|
|
54
|
+
stopListening(): Promise<UtteranceResult>;
|
|
55
|
+
listenOnce(options?: ListenOnceOptions): Promise<UtteranceResult>;
|
|
56
|
+
getManifest(): SessionManifest | null;
|
|
57
|
+
getConversation(): readonly ConversationMessage[];
|
|
58
|
+
end(): Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=experienceComponentTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceComponentTypes.d.ts","sourceRoot":"","sources":["../../../src/component/experienceComponentTypes.ts"],"names":[],"mappings":"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"}
|