@alxxsck/ai-assistant 3.0.0 → 3.1.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.
@@ -0,0 +1,5 @@
1
+ export declare function ChatInlineProgressStatus({ label, className, dotClassName, }: {
2
+ label: string;
3
+ className?: string;
4
+ dotClassName?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function ChatUiActionProgress(): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import type { PropsWithChildren } from "react";
2
2
  import { type ChatSurfacePresentation } from "./ChatSurfaceFrameContext";
3
+ import type { SurfaceFocusDisposition } from "@/domain/scenario-interaction/scenario-interaction.types";
3
4
  type ChatWidgetFrameProps = PropsWithChildren<{
4
5
  open: boolean;
5
6
  onOpenChange: (open: boolean) => void;
@@ -13,9 +14,10 @@ type ChatWidgetFrameProps = PropsWithChildren<{
13
14
  compactPreviewAnnouncement?: string;
14
15
  compactPreviewCollapsible?: boolean;
15
16
  compactPreviewSuspended?: boolean;
17
+ closeFocusDisposition?: SurfaceFocusDisposition;
16
18
  storageScope?: string | null;
17
19
  onLauncherDragSuspended?: (suspended: boolean) => void;
18
20
  onCompactPreviewCollapse?: () => void;
19
21
  }>;
20
- export declare function ChatWidgetFrame({ open, onOpenChange, presentation, hideOpenButton, loadingProgress, launcherImageSrc, unreadIndicator, launcherDescriptionId, compactPreview, compactPreviewAnnouncement, compactPreviewCollapsible, compactPreviewSuspended, storageScope, onLauncherDragSuspended, onCompactPreviewCollapse, children, }: ChatWidgetFrameProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function ChatWidgetFrame({ open, onOpenChange, presentation, hideOpenButton, loadingProgress, launcherImageSrc, unreadIndicator, launcherDescriptionId, compactPreview, compactPreviewAnnouncement, compactPreviewCollapsible, compactPreviewSuspended, closeFocusDisposition, storageScope, onLauncherDragSuspended, onCompactPreviewCollapse, children, }: ChatWidgetFrameProps): import("react/jsx-runtime").JSX.Element;
21
23
  export {};
@@ -14,5 +14,10 @@ type VoiceComposerProps = {
14
14
  onClose: () => void;
15
15
  className?: string;
16
16
  meter?: Pick<VoiceAudioMeter, "read" | "subscribe">;
17
+ spectrumSource?: VoiceSpectrumSource;
17
18
  };
18
- export declare function VoiceComposer({ phase, assistantActivity, microphoneEnabled, statusLabel, microphoneLabel, closeLabel, disabled, frozen, onToggleMicrophone, onClose, className, meter, }: VoiceComposerProps): import("react/jsx-runtime").JSX.Element;
19
+ export type VoiceSpectrumSource = {
20
+ /** Overwrite every entry with a normalized low-to-high microphone band. */
21
+ readBands: (target: Float32Array) => void;
22
+ };
23
+ export declare function VoiceComposer({ phase, assistantActivity, microphoneEnabled, statusLabel, microphoneLabel, closeLabel, disabled, frozen, onToggleMicrophone, onClose, className, meter, spectrumSource, }: VoiceComposerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,20 @@
1
1
  export type VoiceComposerPhase = "connecting" | "ready";
2
2
  export type VoiceAssistantActivity = "idle" | "thinking" | "speaking";
3
- export declare const VOICE_SIDE_BAR_HEIGHTS: readonly [12, 5, 9, 18, 20, 5, 3, 7, 18, 9, 3];
4
- export declare const VOICE_CENTER_BAR_HEIGHTS: readonly [5, 18, 32, 24, 5];
5
3
  export type VoiceWaveformFrame = Readonly<{
6
- sideHeights: readonly number[];
7
- centerHeights: readonly number[];
4
+ activity: number;
5
+ leftHeights: readonly number[];
6
+ rightHeights: readonly number[];
8
7
  }>;
9
8
  type VoiceWaveformLevels = Readonly<{
10
9
  inputLevel: number;
11
10
  outputLevel: number;
12
11
  microphoneEnabled: boolean;
12
+ barCount?: number;
13
+ timeMs?: number;
14
+ inputBands?: ArrayLike<number>;
13
15
  }>;
14
- export declare function createVoiceWaveformFrame({ inputLevel, outputLevel, microphoneEnabled, }: VoiceWaveformLevels): VoiceWaveformFrame;
16
+ export declare function writeFallbackVoiceBands(target: Float32Array, inputLevel: number, timeMs: number): void;
17
+ export declare function smoothVoiceLevel(currentLevel: number, targetLevel: number, elapsedMs: number): number;
18
+ export declare function writeVoiceWaveformHeights(leftTarget: Float32Array, rightTarget: Float32Array, inputLevel: number, microphoneEnabled: boolean, inputBands?: ArrayLike<number>, timeMs?: number): number;
19
+ export declare function createVoiceWaveformFrame({ inputLevel, outputLevel, microphoneEnabled, barCount, timeMs, inputBands, }: VoiceWaveformLevels): VoiceWaveformFrame;
15
20
  export {};
@@ -5,6 +5,7 @@ export declare const CHAT_ERROR_MESSAGES: {
5
5
  readonly agentResponseFailed: "error.agentResponseFailed";
6
6
  readonly sendMessageFallback: "error.sendMessageFailed";
7
7
  readonly conversationClosed: "error.conversationClosed";
8
+ readonly openChatFailed: "compact.openFailed";
8
9
  };
9
10
  export declare const translateChatError: (error: string, t: (key: TranslationKey) => string) => string;
10
11
  export declare const VOICE_ERROR_MESSAGES: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alxxsck/ai-assistant",
3
3
  "private": false,
4
- "version": "3.0.0",
4
+ "version": "3.1.0",
5
5
  "description": "Embeddable Lola AI assistant library",
6
6
  "type": "module",
7
7
  "main": "dist/bridge-ai-chat-widget.es.js",