@burdenoff/website-sdk 2026.1105.2 → 2026.1105.3
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 +54 -0
- package/dist/avatar-live-view/index.d.mts +1 -1
- package/dist/avatar-live-view/index.d.ts +1 -1
- package/dist/avatar-live-view/index.js +269 -78
- package/dist/avatar-live-view/index.js.map +1 -1
- package/dist/avatar-live-view/index.mjs +262 -71
- package/dist/avatar-live-view/index.mjs.map +1 -1
- package/dist/avatar-mic/index.d.mts +187 -62
- package/dist/avatar-mic/index.d.ts +187 -62
- package/dist/avatar-mic/index.js +457 -5
- package/dist/avatar-mic/index.js.map +1 -1
- package/dist/avatar-mic/index.mjs +457 -6
- package/dist/avatar-mic/index.mjs.map +1 -1
- package/dist/{chunk-XIZE37IB.js → chunk-3AIAJ2L4.js} +2 -2
- package/dist/chunk-3AIAJ2L4.js.map +1 -0
- package/dist/{chunk-MVNN6LLO.mjs → chunk-JGU6JW4N.mjs} +2 -2
- package/dist/chunk-JGU6JW4N.mjs.map +1 -0
- package/dist/{explore-avatar-live-config-auLKxSzx.d.ts → explore-avatar-live-config-1zeXdMer.d.ts} +6 -3
- package/dist/{explore-avatar-live-config-BL8FTm0I.d.mts → explore-avatar-live-config-BxiE66Im.d.mts} +6 -3
- package/dist/index.d.mts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-MVNN6LLO.mjs.map +0 -1
- package/dist/chunk-XIZE37IB.js.map +0 -1
package/README.md
CHANGED
|
@@ -420,6 +420,60 @@ publishes audio, video or data, and it sends the avatar nothing to say.
|
|
|
420
420
|
site's main bundle and the view's chunk carry none of it. On alpha, a browser
|
|
421
421
|
WebSocket cannot carry Cloudflare Access service-token headers, so the
|
|
422
422
|
stream needs the Access cookie for the gateway host.
|
|
423
|
+
- **The mic through the browser's own speech recognition (BOFF-9797 Stage C,
|
|
424
|
+
the operator's decision of 2026-11-05, dark).** The same `mic: true` opt-in
|
|
425
|
+
(default unset: no mic); the server's availability decides how the mic works.
|
|
426
|
+
Where the last `ok` answer carries `mic: {"mode": "browser",
|
|
427
|
+
"maxPressSeconds": 30}` (contract v1.6, the avatar service's
|
|
428
|
+
`AVATAR_WEB_MIC=browser`; read strictly: any other value is `unreadable` and
|
|
429
|
+
means no mic) and the consent version's words describe it (the new
|
|
430
|
+
`AvatarConsentCopy.micNotice`), the mic uses `SpeechRecognition` /
|
|
431
|
+
`webkitSpeechRecognition`, as the product assistant does: the browser's own
|
|
432
|
+
speech service turns the voice into text, and **nothing of a press reaches
|
|
433
|
+
our server**; the text goes into the box and leaves only on Send. Offered
|
|
434
|
+
only in a secure context with a recognizer, and never in Firefox (`Firefox/`,
|
|
435
|
+
`FxiOS/`: desktop Firefox gains an on-device recognizer in release 160) or
|
|
436
|
+
Brave (`navigator.brave`: no speech service behind its recognizer). The
|
|
437
|
+
gateway's stream is never offered beside a `mic` the server sent (readable or
|
|
438
|
+
not), nor under words that name a `micNotice`; without a `mic` it is offered
|
|
439
|
+
exactly as before. The first tap shows the notice the words name,
|
|
440
|
+
`web-mic-2026-11-21-c` (714 bytes, SHA-256 `0a15bf5d…8e06de8f`); agreement is
|
|
441
|
+
kept per notice version, so another version is shown again. Two new consent
|
|
442
|
+
versions, DRAFTS for the privacy review that no server names yet:
|
|
443
|
+
`web-consent-2026-11-21-c` (bot check `turnstile`, 1,761 bytes, SHA-256
|
|
444
|
+
`824f389a…111790db`) and `web-consent-2026-11-22-c` (bot check `off`, 1,717
|
|
445
|
+
bytes, SHA-256 `d84a038b…1eb6200c`), Stage D's words with the mic's sentences
|
|
446
|
+
added. Tap to start, tap to stop on every platform: the recognizer
|
|
447
|
+
(`en-IN`, one `en-US` retry on `language-not-supported`, interim results,
|
|
448
|
+
`continuous` except on a touch device) starts inside the tap where the
|
|
449
|
+
browser reports the microphone granted; otherwise the tap first opens the
|
|
450
|
+
microphone and releases it at once (`getUserMedia`, nothing kept or sent),
|
|
451
|
+
which is what raises the permission prompt on Android Chrome and iOS, and
|
|
452
|
+
the recognizer starts 250 ms later (the Chat dictation's mobile handling,
|
|
453
|
+
`use-speech-input`). The 30 s limit counts from its `onstart`, and an engine
|
|
454
|
+
that ends by itself (a pause, a phone's single utterance, `no-speech`) is
|
|
455
|
+
replaced in the same press, its words joined: at once on a computer, after
|
|
456
|
+
120 ms on a touch device, after a 2 s cooldown after a throw (or, on a
|
|
457
|
+
computer, an instant end); only 8 instant ends in a row, or 60 recognizers
|
|
458
|
+
in all, end a press by itself. The last words after `stop()` are waited for
|
|
459
|
+
(3 s), and a tap meanwhile does nothing. A refused microphone
|
|
460
|
+
(`NotAllowedError`, or `not-allowed` where the microphone was not
|
|
461
|
+
confirmed) says it is blocked (the mic stays); a refusal right after a grant
|
|
462
|
+
is retried once after 350 ms; refused again, or `service-not-allowed`,
|
|
463
|
+
`audio-capture`, no microphone, or a second `network` in a row, it says it
|
|
464
|
+
can't be used here and goes for the page. Words heard before any failure are
|
|
465
|
+
kept. Inside a Stage D session a tap while the avatar speaks sends
|
|
466
|
+
`interrupt`, recording sends `listening` marks from `onstart`, never within
|
|
467
|
+
5 s of the one before (at most 12 a minute, within the session's 30 turns a
|
|
468
|
+
minute); the mic goes the moment a question is sent and is back once its
|
|
469
|
+
answer has gone to the session, so the avatar never starts an answer into
|
|
470
|
+
an open microphone (a tap while it speaks sends `interrupt` first; how fast
|
|
471
|
+
the cut lands, and whether to mute the avatar locally on that tap, are open
|
|
472
|
+
Stage D items). What is heard and the box carry rrweb's `rr-block`/`rr-mask` (the box also `rr-ignore`), so a site's
|
|
473
|
+
session replay records none of it before Send, and nothing in the mic calls
|
|
474
|
+
the site's analytics. **Before alpha is switched on:** each of the four sites'
|
|
475
|
+
session replay must be off, or honour those classes, and each privacy notice
|
|
476
|
+
(`/privacy#live-avatar`) needs its microphone paragraph.
|
|
423
477
|
- **The answers after the first (BOFF-9797 Stage D, dark).** Only where the
|
|
424
478
|
create's 201 carries `followUps: {maxAnswers, idleSeconds,
|
|
425
479
|
maxAnswerWaitSeconds}` (the avatar service adds it only under its
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { E as ExplorePanelAvatarLive, a as ExploreLocale, A as AvatarConversation } from '../explore-avatar-live-config-
|
|
3
|
+
import { E as ExplorePanelAvatarLive, a as ExploreLocale, A as AvatarConversation } from '../explore-avatar-live-config-BxiE66Im.mjs';
|
|
4
4
|
import '../types-CTUJNvQu.mjs';
|
|
5
5
|
import '../use-explore-chat-CbfohA9O.mjs';
|
|
6
6
|
import '../explore-types-Ol1Mm3dW.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { E as ExplorePanelAvatarLive, a as ExploreLocale, A as AvatarConversation } from '../explore-avatar-live-config-
|
|
3
|
+
import { E as ExplorePanelAvatarLive, a as ExploreLocale, A as AvatarConversation } from '../explore-avatar-live-config-1zeXdMer.js';
|
|
4
4
|
import '../types-CTUJNvQu.js';
|
|
5
5
|
import '../use-explore-chat-B3dOOvJN.js';
|
|
6
6
|
import '../explore-types-Ol1Mm3dW.js';
|