@burdenoff/website-sdk 2026.1102.2 → 2026.1102.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 +41 -2
- package/dist/avatar-live-view/index.d.mts +13 -4
- package/dist/avatar-live-view/index.d.ts +13 -4
- package/dist/avatar-live-view/index.js +1262 -257
- package/dist/avatar-live-view/index.js.map +1 -1
- package/dist/avatar-live-view/index.mjs +1260 -255
- package/dist/avatar-live-view/index.mjs.map +1 -1
- package/dist/{chunk-FQH3AJN3.js → chunk-7O2I32ZN.js} +2 -2
- package/dist/chunk-7O2I32ZN.js.map +1 -0
- package/dist/{chunk-R742FS5E.js → chunk-DZLUZKOX.js} +19 -17
- package/dist/{chunk-R742FS5E.js.map → chunk-DZLUZKOX.js.map} +1 -1
- package/dist/{chunk-SFT3WHN5.mjs → chunk-K3QZGJEH.mjs} +2 -2
- package/dist/chunk-K3QZGJEH.mjs.map +1 -0
- package/dist/{chunk-SK5UGG6A.js → chunk-P5GMVPR6.js} +76 -20
- package/dist/chunk-P5GMVPR6.js.map +1 -0
- package/dist/{chunk-EUPFS6MZ.mjs → chunk-SMD7MEEA.mjs} +76 -20
- package/dist/chunk-SMD7MEEA.mjs.map +1 -0
- package/dist/{chunk-ETI2HQEC.mjs → chunk-ZWEEBHXJ.mjs} +4 -4
- package/dist/{chunk-ETI2HQEC.mjs.map → chunk-ZWEEBHXJ.mjs.map} +1 -1
- package/dist/components/explore.d.mts +2 -2
- package/dist/components/explore.d.ts +2 -2
- package/dist/components/explore.js +14 -14
- package/dist/components/explore.mjs +2 -2
- package/dist/{explore-DUTNYUOm.d.mts → explore-DaSNdm4O.d.mts} +1 -1
- package/dist/{explore-DjQE7Xia.d.ts → explore-DtSPdlEy.d.ts} +1 -1
- package/dist/{explore-avatar-live-config-Cetx8-Zu.d.ts → explore-avatar-live-config-CAfN5eAX.d.ts} +6 -3
- package/dist/{explore-avatar-live-config-Bp3kQbU2.d.mts → explore-avatar-live-config-N4WhJzgS.d.mts} +6 -3
- package/dist/{explore-types-Bb2Ih3d8.d.mts → explore-types-Ol1Mm3dW.d.mts} +12 -1
- package/dist/{explore-types-Bb2Ih3d8.d.ts → explore-types-Ol1Mm3dW.d.ts} +12 -1
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +9 -9
- package/dist/hooks/index.mjs +1 -1
- package/dist/index.d.mts +15 -9
- package/dist/index.d.ts +15 -9
- package/dist/index.js +92 -63
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -6
- package/dist/index.mjs.map +1 -1
- package/dist/{use-explore-chat-DunjG-3p.d.ts → use-explore-chat-B3dOOvJN.d.ts} +43 -3
- package/dist/{use-explore-chat-zRuoAin6.d.mts → use-explore-chat-CbfohA9O.d.mts} +43 -3
- package/package.json +1 -1
- package/dist/chunk-EUPFS6MZ.mjs.map +0 -1
- package/dist/chunk-FQH3AJN3.js.map +0 -1
- package/dist/chunk-SFT3WHN5.mjs.map +0 -1
- package/dist/chunk-SK5UGG6A.js.map +0 -1
package/README.md
CHANGED
|
@@ -320,7 +320,7 @@ publishes audio, video or data, and it sends the avatar nothing to say.
|
|
|
320
320
|
what the Avatar view shows until it arrives (the same picture, and the same
|
|
321
321
|
bytes in a server render or a prerendered page, as before). A site that never
|
|
322
322
|
passes `avatar.live` never downloads it: its bundle grows by under a kilobyte
|
|
323
|
-
gzipped, instead of the roughly
|
|
323
|
+
gzipped, instead of the roughly twenty-five the view weighs. Your bundler needs
|
|
324
324
|
to split dynamic imports, as Vite, webpack and Rollup do. If the file cannot
|
|
325
325
|
be fetched (offline, or a deploy has replaced it), or has not arrived after
|
|
326
326
|
eight seconds, the Avatar view shows what it showed before the live avatar,
|
|
@@ -358,6 +358,36 @@ publishes audio, video or data, and it sends the avatar nothing to say.
|
|
|
358
358
|
turning the bot check on or off is a server config change: a site needs no
|
|
359
359
|
new build for it, as long as its build carries a site key for `turnstile` and
|
|
360
360
|
its CSP allows Cloudflare (below).
|
|
361
|
+
- **The Avatar tab's own question box (web API contract v1.3, additive).** The
|
|
362
|
+
availability answer's `questions` says which first questions the server
|
|
363
|
+
reads the answer to: `"suggested"` (only the exact suggested questions, as
|
|
364
|
+
before) or `"any"` (a question the visitor typed too). A server older than
|
|
365
|
+
v1.3 sends none and is read as `suggested`; an unknown value leaves the view
|
|
366
|
+
as it was. Under `any`, and only with consent copy written for it (below),
|
|
367
|
+
the Avatar tab has a box of its own ("Ask the avatar…", at most 300
|
|
368
|
+
characters, text only, Enter to ask) and the panel's suggested questions as
|
|
369
|
+
chips. A question asked there is the first of a new chat, sent with
|
|
370
|
+
`surface: "AVATAR"` (the chat's own composer never sends a surface), and its
|
|
371
|
+
first answer is the only one the card is offered for: the card shows while
|
|
372
|
+
the answer is written, with **Start when ready**. That press is bound to this
|
|
373
|
+
conversation, its question and the answer on its way, the site, the locale,
|
|
374
|
+
the page and the consent version and bot check; any of them changing, Cancel,
|
|
375
|
+
leaving the tab, closing the panel or hiding the page calls it off with
|
|
376
|
+
nothing created. Once the answer is ready the view asks availability again
|
|
377
|
+
and checks the answer as the service will (an answer, one to sixty-four
|
|
378
|
+
references, no files, under fourteen minutes old), and creates the session
|
|
379
|
+
only if nothing differs; otherwise it shows the card for what is offered now.
|
|
380
|
+
A create is never sent again by itself. A conversation that is not a new
|
|
381
|
+
chat started in the tab (a question asked in Chat, a second question, an
|
|
382
|
+
answer too old) is never read and never reset by the tab: it offers **New
|
|
383
|
+
chat for the avatar** ("Your current chat stays in History."), and the box
|
|
384
|
+
appears after that tap. After the day's session (a `limits` refusal, or this
|
|
385
|
+
browser's own note of a session today, kept in `localStorage` as
|
|
386
|
+
`boff.explore.avatarUsedOn`), the box asks ordinary questions, without
|
|
387
|
+
`surface`, and the answer shows in the tab as text, with "Read the answer and
|
|
388
|
+
sources in Chat". Pass `currentPath` to `ExplorePanel` (as
|
|
389
|
+
`SiteAssistantDock` does) so a page change calls off a "Start when ready"
|
|
390
|
+
at once; without it, the window's path is checked before the create.
|
|
361
391
|
- **One answer: the first, to a suggested question.** The avatar service
|
|
362
392
|
accepts a conversation only when it holds exactly two messages: the first user
|
|
363
393
|
message (a suggested question) and the first assistant answer, completed. The
|
|
@@ -416,7 +446,16 @@ publishes audio, video or data, and it sends the avatar nothing to say.
|
|
|
416
446
|
version that says so, or the view stays as it was.
|
|
417
447
|
`web-consent-2026-10-31` (which names the product, "a suggested Healthy Bowl
|
|
418
448
|
question") and `web-consent-2026-11` stay, unchanged, for servers that still
|
|
419
|
-
name them.
|
|
449
|
+
name them. Each version also says which questions its words describe, and the
|
|
450
|
+
card is shown only where the server's `questions` is the same.
|
|
451
|
+
`web-consent-2026-11-05` (bot check `turnstile`, 904 bytes, SHA-256
|
|
452
|
+
`75e7e6e84d68bba35ccb208151e2e9e20c69efac2896b17b1d2f1cda46d0bb9f`) and
|
|
453
|
+
`web-consent-2026-11-06` (bot check `off`, 860 bytes, SHA-256
|
|
454
|
+
`f5a673f6c325fe2032f59a561169f5ad8b8598d615e78abbe7b65314e4e6f7bd`) are the
|
|
455
|
+
versions for `questions: "any"`: the avatar reads "the first answer in a new
|
|
456
|
+
chat started in the Avatar tab, provided it passes the speech checks, whether
|
|
457
|
+
you chose a suggested question or typed your own", and the visitor is told
|
|
458
|
+
not to put personal details in a typed question.
|
|
420
459
|
- **How a session ended.** When the worker leaves, the server closes the room,
|
|
421
460
|
or the session's time runs out with the room still open, the view says only
|
|
422
461
|
"The live avatar has ended." (key `finished`). The browser
|
|
@@ -1,9 +1,9 @@
|
|
|
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-N4WhJzgS.mjs';
|
|
4
4
|
import '../types-CndbmBK-.mjs';
|
|
5
|
-
import '../use-explore-chat-
|
|
6
|
-
import '../explore-types-
|
|
5
|
+
import '../use-explore-chat-CbfohA9O.mjs';
|
|
6
|
+
import '../explore-types-Ol1Mm3dW.mjs';
|
|
7
7
|
|
|
8
8
|
interface AvatarLiveViewProps {
|
|
9
9
|
live: ExplorePanelAvatarLive;
|
|
@@ -28,6 +28,15 @@ interface AvatarLiveViewProps {
|
|
|
28
28
|
* `reset`, as the chat's own New chat button does, then the Chat tab) where this conversation can never be read.
|
|
29
29
|
*/
|
|
30
30
|
newChat: string;
|
|
31
|
+
/** "Send" and "Try asking" in the panel's language, for the Avatar tab's own question box. */
|
|
32
|
+
send: string;
|
|
33
|
+
tryAsking: string;
|
|
34
|
+
/** The suggested questions the chat view shows: the box's chips. */
|
|
35
|
+
prompts: readonly string[];
|
|
36
|
+
/** No precise pointer: the box is not focused by itself, so the keyboard does not cover the view. */
|
|
37
|
+
touchFirst: boolean;
|
|
38
|
+
/** The host router's path, when it has one: a "Start when ready" is called off when it changes. */
|
|
39
|
+
currentPath: string | undefined;
|
|
31
40
|
/**
|
|
32
41
|
* Nothing to ask the server about: an incomplete config, no gateway, no shared conversation to read (no provider, or a
|
|
33
42
|
* read-only shared one), or a locale whose strings have not been reviewed. The tab stays as it was. Decided by
|
|
@@ -42,6 +51,6 @@ interface AvatarLiveViewProps {
|
|
|
42
51
|
/** The panel's conversation, null when there is no provider. */
|
|
43
52
|
conversation: AvatarConversation | null;
|
|
44
53
|
}
|
|
45
|
-
declare function AvatarLiveView({ live, active, locale, productName, still, fallback, onContinueInChat, continueInChat, newChat, off, base, headers, conversation, }: AvatarLiveViewProps): react.JSX.Element;
|
|
54
|
+
declare function AvatarLiveView({ live, active, locale, productName, still, fallback, onContinueInChat, continueInChat, newChat, send, tryAsking, prompts, touchFirst, currentPath, off, base, headers, conversation, }: AvatarLiveViewProps): react.JSX.Element;
|
|
46
55
|
|
|
47
56
|
export { AvatarLiveView, type AvatarLiveViewProps };
|
|
@@ -1,9 +1,9 @@
|
|
|
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-CAfN5eAX.js';
|
|
4
4
|
import '../types-CndbmBK-.js';
|
|
5
|
-
import '../use-explore-chat-
|
|
6
|
-
import '../explore-types-
|
|
5
|
+
import '../use-explore-chat-B3dOOvJN.js';
|
|
6
|
+
import '../explore-types-Ol1Mm3dW.js';
|
|
7
7
|
|
|
8
8
|
interface AvatarLiveViewProps {
|
|
9
9
|
live: ExplorePanelAvatarLive;
|
|
@@ -28,6 +28,15 @@ interface AvatarLiveViewProps {
|
|
|
28
28
|
* `reset`, as the chat's own New chat button does, then the Chat tab) where this conversation can never be read.
|
|
29
29
|
*/
|
|
30
30
|
newChat: string;
|
|
31
|
+
/** "Send" and "Try asking" in the panel's language, for the Avatar tab's own question box. */
|
|
32
|
+
send: string;
|
|
33
|
+
tryAsking: string;
|
|
34
|
+
/** The suggested questions the chat view shows: the box's chips. */
|
|
35
|
+
prompts: readonly string[];
|
|
36
|
+
/** No precise pointer: the box is not focused by itself, so the keyboard does not cover the view. */
|
|
37
|
+
touchFirst: boolean;
|
|
38
|
+
/** The host router's path, when it has one: a "Start when ready" is called off when it changes. */
|
|
39
|
+
currentPath: string | undefined;
|
|
31
40
|
/**
|
|
32
41
|
* Nothing to ask the server about: an incomplete config, no gateway, no shared conversation to read (no provider, or a
|
|
33
42
|
* read-only shared one), or a locale whose strings have not been reviewed. The tab stays as it was. Decided by
|
|
@@ -42,6 +51,6 @@ interface AvatarLiveViewProps {
|
|
|
42
51
|
/** The panel's conversation, null when there is no provider. */
|
|
43
52
|
conversation: AvatarConversation | null;
|
|
44
53
|
}
|
|
45
|
-
declare function AvatarLiveView({ live, active, locale, productName, still, fallback, onContinueInChat, continueInChat, newChat, off, base, headers, conversation, }: AvatarLiveViewProps): react.JSX.Element;
|
|
54
|
+
declare function AvatarLiveView({ live, active, locale, productName, still, fallback, onContinueInChat, continueInChat, newChat, send, tryAsking, prompts, touchFirst, currentPath, off, base, headers, conversation, }: AvatarLiveViewProps): react.JSX.Element;
|
|
46
55
|
|
|
47
56
|
export { AvatarLiveView, type AvatarLiveViewProps };
|