@djangocfg/widget-chat 0.1.18 → 0.1.23

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/README.md CHANGED
@@ -29,6 +29,8 @@ none of them is a working read-and-send surface, not a degraded one. The nine
29
29
  are `suggestions`, `tools`, `retry`, `cancelRun`, `voice`, `voiceSounds`,
30
30
  `think`, `media` and `mentionNames`.
31
31
 
32
+ `sounds` is the one exception: message sounds (a prompt sent, the answer starts, the answer finishes, an error) are **on by default**, bundled as base64 in `src/sounds`, played through ui-core's `createSoundBus` and driven by store transitions (loading history or switching conversation is silent). `capabilities={{ sounds: false }}` silences them; `{ volume, muted, urls: { error: false } }` tunes or replaces them. The browser still needs one user gesture before it plays anything.
33
+
32
34
  ## Layers
33
35
 
34
36
  Layers import strictly downward and each is importable alone.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/widget-chat",
3
- "version": "0.1.18",
3
+ "version": "0.1.23",
4
4
  "description": "A transport-agnostic chat surface: a pure core, a store, primitives, a composer, and the assembled components a host mounts",
5
5
  "keywords": [
6
6
  "chat",
@@ -55,8 +55,8 @@
55
55
  "test:watch": "vitest"
56
56
  },
57
57
  "dependencies": {
58
- "@djangocfg/widget-kit": "^0.1.18",
59
- "@djangocfg/widget-media": "^0.1.34",
58
+ "@djangocfg/widget-kit": "^0.1.19",
59
+ "@djangocfg/widget-media": "^0.1.35",
60
60
  "@streamdown/code": "^2.0.0",
61
61
  "@streamdown/math": "^1.0.3",
62
62
  "mdast-util-to-string": "^4.0.0",
@@ -66,19 +66,19 @@
66
66
  "use-stick-to-bottom": "^1.1.6"
67
67
  },
68
68
  "peerDependencies": {
69
- "@djangocfg/api": "^2.1.612",
70
- "@djangocfg/i18n": "^2.1.612",
71
- "@djangocfg/ui-core": "^2.1.612",
69
+ "@djangocfg/api": "^2.1.622",
70
+ "@djangocfg/i18n": "^2.1.622",
71
+ "@djangocfg/ui-core": "^2.1.622",
72
72
  "lucide-react": "^1.68.0",
73
73
  "react": "^19.0.0",
74
74
  "remark-gfm": "^4.0.0",
75
75
  "streamdown": "^2.6.0"
76
76
  },
77
77
  "devDependencies": {
78
- "@djangocfg/api": "^2.1.612",
79
- "@djangocfg/i18n": "^2.1.612",
80
- "@djangocfg/typescript-config": "^2.1.612",
81
- "@djangocfg/ui-core": "^2.1.612",
78
+ "@djangocfg/api": "^2.1.622",
79
+ "@djangocfg/i18n": "^2.1.622",
80
+ "@djangocfg/typescript-config": "^2.1.622",
81
+ "@djangocfg/ui-core": "^2.1.622",
82
82
  "@storybook/react-vite": "^10.6.5",
83
83
  "@types/node": "^25.9.5",
84
84
  "@types/react": "19.3.0",
@@ -273,6 +273,21 @@ export interface ThinkCapability {
273
273
  readonly setEnabled: (enabled: boolean) => void;
274
274
  }
275
275
 
276
+ /** The events the chat plays a sound for. */
277
+ export type ChatSoundEvent = "messageSent" | "messageReceived" | "streamStart" | "error";
278
+
279
+ /**
280
+ * The message sounds. Absent means ON with the bundled sounds; `false` means silent. Everything here is optional tuning.
281
+ */
282
+ export interface ChatSoundsCapability {
283
+ /** 0..1, on top of each event's own level. Default 1. */
284
+ readonly volume?: number;
285
+ /** Mute without removing the capability (a host's own "sound off" switch). */
286
+ readonly muted?: boolean;
287
+ /** Replace the sound of an event with a URL (a data URL works), or `false` to silence that event alone. */
288
+ readonly urls?: Partial<Record<ChatSoundEvent, string | false>>;
289
+ }
290
+
276
291
  export interface ChatCapabilities {
277
292
  readonly suggestions?: SuggestionsCapability;
278
293
  readonly tools?: ToolsCapability;
@@ -280,6 +295,8 @@ export interface ChatCapabilities {
280
295
  readonly cancelRun?: CancelRunCapability;
281
296
  readonly voice?: VoiceCapability | false;
282
297
  readonly voiceSounds?: VoiceSoundsCapability;
298
+ /** Message sounds (sent, answer starts, answer done, error). On by default; `false` silences them. */
299
+ readonly sounds?: ChatSoundsCapability | false;
283
300
  readonly think?: ThinkCapability;
284
301
  readonly media?: MediaCapability;
285
302
  readonly mentionNames?: MentionNamesCapability;
@@ -0,0 +1,3 @@
1
+ // Auto-generated from `error.mp3` as a base64 data URL. Inline so consumers
2
+ // don't need a `.mp3` loader or ambient type shim.
3
+ export default 'data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAADcAAFtsAAkNDRISFhYbGx8kJCkpLS0yMjY7Oz8/RERJSU1NUlZWW1tfX2RkaW1tcnJ2dnt7f3+EiYmNjZKSlpabn5+kpKmpra2ysra7u8DAxMTJyc3S0tbW29vg4OTk6e3t8vL29vv7/wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkBBQAAAAAAABbbJLPqWoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+5BkAA/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kmRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5BkQQ/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5JkQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAAQBEhJCJJzIADEjwoWCg0MLAY4ABQwDJgyFC73YtuSrovUX5QqQpEgQ0JGjYOODQsHBihKGF2gpLCAaYksagmEjzlkzXGjGjQQCBIMAEhGpMeoFupxBBqyJkhhiR4IIEo8RjjBCx5mZ0aYIoKCS1xflCooEGLBhQMXGQJIVpEMjfsUBBQiBmRFjNYMMuXBBAdGkI4KEzFkCtEZgHGOk4MJBQhCpQAD8yFYNmVTrwE71JN+YDK0MLEAoCtuOgxhweTxn+KdCRjkq2TzEUaigkFLmKGlox1TdNBDuIwgMSJTmmCYAyUqumgueqRHdM4MDsIgF9QgImNEjwcQW3ALVaKYqJnhp7GMQgYkeYYpkkmcAkQnQ5C2RYMyIjocDFJeFwTLNAyaQ5bdY6/zGaPWMOXuSVBOjcaChmEGYIqOPL5DgwAgEIQSCRwEm4IgIEjF35W6J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' as string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The chat's own message sounds, inlined as base64 data URLs: a host needs no `.mp3` loader, no asset route and no type shim.
3
+ * To replace one: `base64 -i <file>.mp3` and paste the result into the matching module.
4
+ */
5
+ export { default as sent } from "./sent";
6
+ export { default as received } from "./received";
7
+ export { default as start } from "./start";
8
+ export { default as error } from "./error";
@@ -0,0 +1,3 @@
1
+ // Auto-generated from `received.mp3` as a base64 data URL. Inline so consumers
2
+ // don't need a `.mp3` loader or ambient type shim.
3
+ export default 'data:audio/mpeg;base64,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' as string;
@@ -0,0 +1,3 @@
1
+ // Auto-generated from `sent.mp3` as a base64 data URL. Inline so consumers
2
+ // don't need a `.mp3` loader or ambient type shim.
3
+ export default 'data:audio/mpeg;base64,SUQzBAAAAAAARlRQRTEAAAAKAAADQ2hhdHdvb3QAVERSQwAAAAYAAAMyMDIwAFRTU0UAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAAAQAAAgoAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZpmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/////////////////////////////////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkA2gAAAAAAAAIKPf+gBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+5BEAA/x4Ww7mAd/Ukath80EB7TKZbjgAFNfARk3HIAA59gADwBD/9X//55/8wzZThowoB4xg0MM//////+/U889///uZTUmKAGAFlzRuOMKAcFQcEV0F4GAZDAoIgBABRbRaALGAAA/APGMYxjAAAPsxjGP//1f//1///t/////////+YYeeePjdCHMIFRuXEQgeykyg0MHDBwRgABaD8eEgViXz///9SRkTQLDAMUGNS6DQMTpdCAQDUKBYICQY1////////////5iMqBbGO0dIFsYuUVqCLOBuGhOjPANYCIkaIlxRiAVw0SMzwYG2TFqQMnIl8Y7/////////////+YV//LLLLv/vHGUuCLnxXHHKVOENmS8cokA7O16M0r6i58VxuO0w45ZDpnOKFkxYsGZScQdAARaEtzaDqrYKkEKaab/TTTdN+owYHiKCoigeIwh5Bxc44yGEyQczUYGhNn1nBWg41N/21mZNlRJEZcXGT5un////wZZOEbJBVk0I2TUEbJwOyVk8I2SCNkwZZKDLJcGWThHoQM6GEf/+5JkMAH1Fm4qCta9dEfNxaAAFo4SaNcptP2AMRM3GMKBUACh+EehcGdC/wZ0P////////VhE/3hR/uwM/2P9t9QMP9qKwif7QM/2P9gYCsgYiedhBIiXBguiBjLgJGEQAUDAjACDwYn+Bp/T94RT+DE/BFP+Bp/T8EU/win7////////////8I9Cgzof4M6FCPQgZ0MI9CwZ0MGc/Bh6gO/j4QNTbtAiHQIiPC8QkkpFLZIvhkb40z+Br+GkjIL4YJCgHC5z9uG19bBdwyAwNXVzZ2UWezGAYyM/BjYcU8G0MhowkMASjaJ5ipaZOFtfZ2jmY4jG3pJkISWvaflKLH//4d3bibdB0DMYDAMAGIFhlwEWnUUZJDF7DDDDn/3X///////////vCUSzVJVp+/////9fsakLDA0gHklyYaBP/////////////4RZ/wYz4RZ8Is7/CLO/gbOZ0Is/gxnhFneEWd/////////+DPJgzywj5Qj5AZ5QPyeTBnkBn08IhIlK23+sv8rGburkDetFoHfdrEtqN0jj+4jx00Iu//uSZA2ABD1gWO5hpIQ6bsi5wRwAEVEZe7j3kBDhnuTXBiAA5ksciklkXgglxdBtg9jHC5mAqg2iXGDHZHOfBUHwngYxylwonR4EgOwcgU3jGOutMFfHGMGX1KPD35gMkdz7jhGHHmmX/9/uXGQfNyZ/OlRp9jAzni+6JuZ//Q9SHlDMDRNNTMv////9A3Vw8AEAFIp4AAAAB/4AAeDH9tMrxNfth35by/iYHn/tl8v//+NC///+VLjQv//////////////EH////iC4Sx7NsgJKSFJyuCYYAA4HKSlQfixjwH1Fxyfixl+DihsBhhH24v2MqIFIcCnO7cGTl/CQCYLBIlbAYvSmi/A3FQYCzChMUjXX4/+GBkOtRwIjuDCjYxuutnGlH8erHHvrea7tb3186V7nfN48qvVftLGi1/k////7hKzskNzZL/PhRopYKAX9CEbQIAAAAK/YhamNWQGDarBgGZ1AY1kSjno8bpqMDgwUbwD62dRuP0ptWrpNVztx/8FHj4Pg6P/RkiffetsRIAJBEEiINCsBiVzRuBnGZP/7kmQKAAQEQFZuZaAEN6bocMa0AAxsWtL8MwAIwRtTS4AwAKq76MsZKirr34fhpT7/4LYBQxNQ4FyUAGIbyWE+IXBiJAtGGHAIyO4v+JUYmqiAZGxiYofWkkO4aSkmktRie/NikYFowhoPjl5aClof3PmKnRUiXmsyVFT/8oH35tYJmgMdCv/8UBwyYCosLuFkJ6ThhsLMcx//61ZWPUYAaRxG/efODUamxp1cV5dCbBvEsjr/1JLUr/8LQFqQuzJCS/8LX+bIggIACKcYCFOFARMAlVf9VNAIBgGAQUWASVV3nKookS00iixJEcCmhIL52sTYTZoLkNitmhT4wV0VCyOBWDgrorL//+gvBsXE0KbFguQ2K///gV0VCyGgpIYFYisnf/9BWBsXEmfA1Ljff/+HAICMBARMAlVeMdWgIkgwEKoVv//2P19oGFGoCsYoeqlxQESQYCahWUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=' as string;
@@ -0,0 +1,3 @@
1
+ // Auto-generated from `start.mp3` as a base64 data URL. Inline so consumers
2
+ // don't need a `.mp3` loader or ambient type shim.
3
+ export default 'data:audio/mpeg;base64,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YqTCJzed4q5lGV61kgp59Gc4qQECzujK4KSTnejQI0CP9J3Qo/3NInJuTSQtP6bl02DuoC7EEVokK7u5OewQq9/8+6se9/XY///+6AAPy/qGjmnef5TKrLmQpmQyy5xnmZebunUCGQCdDDWY8t8tShrepf1GaCjqNKk8Mtq7xfYukwZ/n+kX/5IklrmkdIkv1FmlFkXUS5eF/8kXyi0SyvKjWwpJZePJFEiS/5ZJBFHsr8ibjkV8lyRHnapEo45R3I/o/kf/1cjyZSlqO3m9RIgin+6RP9SgPOa+/uiRkiCoktqjc2ru9dsbd9PkzMzMziqdRKj4z9MdHCCYGAWoCUuoCVKqSoxJSl1CMCeSlKkvF0SQUJ8l4tKyQebVACAGV+AUVWuw60kAAXkZS2JuqZRpYhRGLuqoPfNO+mDRI6SV1k0UwdXiz1wLHZNE1/KCtKowf8t60MD4aHv/+HJotc03A8VxgRMKtbVmWXZahiXM//uSxO0Dl0XY8gyk+cMsQd5FgzM4u59LNPNHKx6Wva/FrszaWCdd5c80ZXMT06dsdX7YG4trWfpDSzrW5ZclYXUe2L5xmlFx88uXfq3bTVd+W+a17r9k7WZmZmYTFSfQCU0vWdUqngpLhKPnjkBI+CUfLSsQTUeh+UiENJZTHxwBFESgSE8QSy6VlPXBgRnUfXayAu0X1VvT4M4gRsPIe7EKRpqY0FRecpwy1BQk9VaaqnjO3/p5dGv/TtLJGwtGnfKdEkeEgyCW95ZZGHvtDFap0wTi6akp9a6dOLv+tceZhiXQ0/rMssPLafXHsXXqy4ZQqZ2s/OTvs0er1r1Zpb1rEbrWf31yNa1A+tajW58zMzM/W1mWHq9Nt3Pq1C619vrMzO8lcPp8xYR0WnRdIA3ABHgdoxyPybR7bXWwu6wTiqexAkJxREE8BsXyzYYqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7ksTwgtlGDOStIZHDEEEYQYMyMaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=' as string;
@@ -29,3 +29,4 @@ export { useSpeechLanguage } from "./use-speech-language";
29
29
  export type { UseSpeechLanguageResult, SpeechLanguageOptions } from "./use-speech-language";
30
30
  export { useRecall } from "./use-recall";
31
31
  export type { UseRecallOptions, UseRecallResult } from "./use-recall";
32
+ export { useChatSounds } from "./use-chat-sounds";
@@ -4,6 +4,7 @@ import type { ChatAdapter } from "../core/adapter";
4
4
  import type { ChatCapabilities } from "../core/capabilities";
5
5
  import { createChatEvents, type ChatEvents } from "../core/events";
6
6
  import { ChatContext } from "./context";
7
+ import { useChatSounds } from "./use-chat-sounds";
7
8
  import { createChatStore, type ChatStore } from "./store";
8
9
  import { ChatSurfacesContext, useSurfacesRegistry } from "./surfaces";
9
10
 
@@ -88,6 +89,7 @@ export function ChatProvider({
88
89
  // selection. Provided here because it spans BOTH — the composer and the
89
90
  // transcript — and a host asking is usually outside either.
90
91
  const surfaces = useSurfacesRegistry();
92
+ useChatSounds(active as ChatStore, capabilities.sounds);
91
93
 
92
94
  return (
93
95
  <ChatContext.Provider value={value}>
@@ -0,0 +1,68 @@
1
+ import { useEffect, useRef } from "react";
2
+
3
+ import { createSoundBus } from "@djangocfg/ui-core/hooks";
4
+
5
+ import type { ChatSoundsCapability, ChatSoundEvent } from "../core/capabilities";
6
+ import type { ChatStore } from "./store";
7
+ import * as bundled from "../sounds";
8
+
9
+ /** Quieter than a notification: a message sound is a confirmation, not an alert. Per event, on top of the capability's volume. */
10
+ const EVENT_VOLUME: Readonly<Record<ChatSoundEvent, number>> = { messageSent: 0.5, messageReceived: 0.7, streamStart: 0.3, error: 0.25 };
11
+
12
+ const BUNDLED: Readonly<Record<ChatSoundEvent, string>> = {
13
+ messageSent: bundled.sent,
14
+ messageReceived: bundled.received,
15
+ streamStart: bundled.start,
16
+ error: bundled.error,
17
+ };
18
+
19
+ /**
20
+ * Plays the chat's message sounds from what the store does: a prompt sent, the answer starting to stream, the answer finishing, a turn failing.
21
+ * On by default; `sounds: false` silences it, `sounds.urls` replaces or (with `false`) mutes one event. Driven by transitions after the first render, so loading
22
+ * a history, or switching to another conversation, plays nothing. Needs a prior user gesture (the browser's rule); the bus unlocks on the first click or key.
23
+ */
24
+ export function useChatSounds(store: ChatStore, config: ChatSoundsCapability | false | undefined): void {
25
+ const latest = useRef(config);
26
+ latest.current = config;
27
+ const off = config === false;
28
+
29
+ useEffect(() => {
30
+ if (off) return;
31
+ const bus = createSoundBus<ChatSoundEvent>({
32
+ sounds: BUNDLED,
33
+ getVolume: (event) => (latest.current === false ? 0 : (latest.current?.volume ?? 1)) * (event ? EVENT_VOLUME[event] : 1),
34
+ getMuted: () => latest.current === false || latest.current?.muted === true,
35
+ isEnabled: () => true,
36
+ });
37
+ const apply = () => {
38
+ const urls = latest.current === false ? undefined : latest.current?.urls;
39
+ bus.setSounds({ ...BUNDLED, ...urls });
40
+ };
41
+ apply();
42
+ let before = store.getState();
43
+ const unsubscribe = store.subscribe(() => {
44
+ const now = store.getState();
45
+ const was = before;
46
+ before = now;
47
+ if (!was.historyLoaded || !now.historyLoaded) return;
48
+ apply();
49
+ const a = was.transcript;
50
+ const b = now.transcript;
51
+ const grown = b.ids.length > a.ids.length && a.ids.every((id, index) => b.ids[index] === id);
52
+ if (grown && b.ids.slice(a.ids.length).some((id) => b.byId[id]?.role === "user")) bus.play("messageSent");
53
+ if (a.streamingId === null && b.streamingId !== null) bus.play("streamStart");
54
+ // A message that was streaming and is now settled: finished, or failed.
55
+ for (const id of a.ids) {
56
+ const prev = a.byId[id]?.status.state;
57
+ const next = b.byId[id]?.status.state;
58
+ if (prev !== "streaming" || next === undefined || next === "streaming") continue;
59
+ if (next === "complete") bus.play("messageReceived");
60
+ else if (next === "failed") bus.play("error");
61
+ }
62
+ });
63
+ return () => {
64
+ unsubscribe();
65
+ bus.dispose();
66
+ };
67
+ }, [store, off]);
68
+ }
@@ -1,8 +1,6 @@
1
- import { X } from "lucide-react";
2
1
  import { useCallback, useRef, type ReactNode } from "react";
3
2
 
4
3
  import {
5
- Button,
6
4
  Dialog,
7
5
  DialogClose,
8
6
  DialogContent,
@@ -10,6 +8,7 @@ import {
10
8
  DialogTitle,
11
9
  } from "@djangocfg/ui-core/components";
12
10
 
11
+ import { ChatPanelHeader, PANEL_TITLE_CLASS, PanelCloseButton } from "./panel-header";
13
12
  import { useLayer, useViewportBox, type UseLayerOptions } from "../primitives";
14
13
 
15
14
  export interface ChatSheetProps {
@@ -82,24 +81,20 @@ export function ChatSheet({ open, onOpenChange, title, description, closeLabel =
82
81
  heading.current?.focus({ preventScroll: true });
83
82
  }}
84
83
  >
85
- <header className="flex shrink-0 items-center justify-between gap-3 border-b px-4 py-2">
86
- <div className="min-w-0">
87
- <DialogTitle ref={heading} tabIndex={-1} className="truncate text-base font-semibold outline-none">
84
+ <ChatPanelHeader
85
+ heading={
86
+ <DialogTitle ref={heading} tabIndex={-1} className={PANEL_TITLE_CLASS}>
88
87
  {title}
89
88
  </DialogTitle>
90
- {description ? (
91
- <DialogDescription className="truncate text-xs text-muted-foreground">{description}</DialogDescription>
92
- ) : null}
93
- </div>
94
- <div className="flex shrink-0 items-center gap-1">
95
- {actions}
89
+ }
90
+ description={description ? <DialogDescription className="truncate">{description}</DialogDescription> : undefined}
91
+ actions={actions}
92
+ close={
96
93
  <DialogClose asChild>
97
- <Button variant="ghost" size="icon" aria-label={closeLabel}>
98
- <X className="size-5" aria-hidden="true" />
99
- </Button>
94
+ <PanelCloseButton label={closeLabel} />
100
95
  </DialogClose>
101
- </div>
102
- </header>
96
+ }
97
+ />
103
98
  <div className="chat-sheet-body">{children}</div>
104
99
  </DialogContent>
105
100
  </Dialog>
package/src/ui/index.ts CHANGED
@@ -54,3 +54,5 @@ export { LinkChip } from "./link-chip";
54
54
  export type { LinkChipProps } from "./link-chip";
55
55
  export { ChatSheet } from "./chat-sheet";
56
56
  export type { ChatSheetProps } from "./chat-sheet";
57
+ export { ChatPanelHeader, PanelCloseButton, PANEL_TITLE_CLASS } from "./panel-header";
58
+ export type { ChatPanelHeaderProps } from "./panel-header";
@@ -249,6 +249,8 @@ export function ChatMessageFrame({
249
249
  )}
250
250
  >
251
251
  {children}
252
+ {/* The failure reason lives on the status, not in a part: without this a turn that failed before any text is an empty red box. */}
253
+ {message.status.state === "failed" && message.status.message ? <p role="alert" className="text-sm text-destructive">{message.status.message}</p> : null}
252
254
  </div>
253
255
  {/*
254
256
  The toolbar sits in flow under the bubble, and most of the height it
@@ -0,0 +1,53 @@
1
+ import { X } from "lucide-react";
2
+ import type { ReactNode } from "react";
3
+
4
+ import { Button } from "@djangocfg/ui-core/components";
5
+ import { cn } from "@djangocfg/ui-core/lib";
6
+
7
+ /** The heading's look, one for every surface (column, side panel, phone sheet). The caller supplies the element: `h2`, or the dialog's own title. */
8
+ export const PANEL_TITLE_CLASS = "truncate font-display text-sm font-semibold uppercase tracking-wide text-muted-foreground outline-none";
9
+
10
+ export interface ChatPanelHeaderProps {
11
+ /** The heading element, styled with `PANEL_TITLE_CLASS`. */
12
+ readonly heading: ReactNode;
13
+ /** What the thread is about, under the heading. */
14
+ readonly description?: ReactNode;
15
+ /** Controls before the close button (new chat, sessions). */
16
+ readonly actions?: ReactNode;
17
+ /** The close control: `<PanelCloseButton />`, or wrapped in the surface's own close part. */
18
+ readonly close: ReactNode;
19
+ readonly className?: string;
20
+ }
21
+
22
+ /**
23
+ * The one header of a chat surface. A wide column, a tablet side panel and a phone sheet all draw it, so the title, the controls and Close are in the same
24
+ * places at every width: title at the left; at the right the actions, a thin divider, then Close. The divider keeps Close from reading as one more action.
25
+ */
26
+ export function ChatPanelHeader({ heading, description, actions, close, className }: ChatPanelHeaderProps) {
27
+ return (
28
+ <header className={cn("flex shrink-0 items-center justify-between gap-3 border-b px-4 py-2.5", className)}>
29
+ <div className="min-w-0">
30
+ {heading}
31
+ {description ? <div className="truncate text-xs text-muted-foreground">{description}</div> : null}
32
+ </div>
33
+ <div className="flex shrink-0 items-center gap-1">
34
+ {actions ? (
35
+ <>
36
+ {actions}
37
+ <span className="mx-1 h-4 w-px bg-border" aria-hidden="true" />
38
+ </>
39
+ ) : null}
40
+ {close}
41
+ </div>
42
+ </header>
43
+ );
44
+ }
45
+
46
+ /** The close button every surface uses (an `X`, same size as the actions). Pass `onClick`, or wrap it in a close part with `asChild`. */
47
+ export function PanelCloseButton({ label, onClick }: { readonly label: string; readonly onClick?: () => void }) {
48
+ return (
49
+ <Button variant="ghost" size="icon" aria-label={label} onClick={onClick}>
50
+ <X className="size-4" aria-hidden="true" />
51
+ </Button>
52
+ );
53
+ }