@bircleai/widget-protocol 0.4.3 → 0.6.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.
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
package/dist/index.d.cts
CHANGED
|
@@ -40,6 +40,15 @@ interface SessionRequest {
|
|
|
40
40
|
* "ORIGIN EN CLIENTES NATIVOS" del README del SDK.
|
|
41
41
|
*/
|
|
42
42
|
host_origin?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Plataforma del cliente (enum de canales de la plataforma: web · mobile ·
|
|
45
|
+
* api · whatsapp · email). El ÚNICO valor con efecto es `"mobile"` — lo
|
|
46
|
+
* declara `@bircleai/react-native` y el Gateway lo valida contra el enum
|
|
47
|
+
* (cualquier otro valor degrada a `web`) y lo FIRMA como claim del session
|
|
48
|
+
* token: los hilos de la app quedan con canal `mobile` en el Dashboard.
|
|
49
|
+
* Ausente ⇒ `web` (los SDK web no lo mandan).
|
|
50
|
+
*/
|
|
51
|
+
client_platform?: string;
|
|
43
52
|
/**
|
|
44
53
|
* Identificador OPACO y persistente del visitante, generado y guardado por el
|
|
45
54
|
* cliente (`localStorage` en web, `AsyncStorage`/Keychain en mobile). Si cumple
|
|
@@ -348,6 +357,21 @@ interface ThemeResponse {
|
|
|
348
357
|
launcherLabel?: string;
|
|
349
358
|
/** `false` oculta el footer "Powered by BircleAI". Cualquier otro valor lo muestra. */
|
|
350
359
|
poweredBy?: boolean;
|
|
360
|
+
/**
|
|
361
|
+
* Preguntas frecuentes del chat: chips que se muestran sobre el composer
|
|
362
|
+
* mientras la conversación está vacía (después colapsan a un botón que las
|
|
363
|
+
* re-despliega). Tocar una envía su `message` (o el `label` si no hay) como
|
|
364
|
+
* mensaje del usuario, por el camino normal — el agente la responde como
|
|
365
|
+
* cualquier consulta.
|
|
366
|
+
*
|
|
367
|
+
* Configurables desde la pestaña Apariencia del Dashboard, por embed key.
|
|
368
|
+
* Tope 6; `label` <= 60 chars (lo que se ve), `message` <= 500 (lo que se
|
|
369
|
+
* envía). Ambos se renderizan como `textContent`, nunca como markup.
|
|
370
|
+
*/
|
|
371
|
+
faqs?: Array<{
|
|
372
|
+
label: string;
|
|
373
|
+
message?: string;
|
|
374
|
+
}>;
|
|
351
375
|
/**
|
|
352
376
|
* Hosts https permitidos para renderizar media rica (allow-list; lo consume la
|
|
353
377
|
* UI, no el core).
|
|
@@ -401,7 +425,7 @@ interface ThemeResponse {
|
|
|
401
425
|
* blancas (el `toUiView` del Gateway y la del widget web) — son defensa en
|
|
402
426
|
* profundidad a propósito, no una duplicación accidental.
|
|
403
427
|
*/
|
|
404
|
-
declare const SERVER_PROVIDED_THEME_FIELDS: readonly ["primaryColor", "accentColor", "launcherIcon", "launcherLabel", "position", "headerLogo", "assistantName", "assistantTagline", "assistantAvatar", "fontFamily", "colorScheme", "poweredBy", "locale", "texts"];
|
|
428
|
+
declare const SERVER_PROVIDED_THEME_FIELDS: readonly ["primaryColor", "accentColor", "launcherIcon", "launcherLabel", "position", "headerLogo", "assistantName", "assistantTagline", "assistantAvatar", "fontFamily", "colorScheme", "poweredBy", "locale", "texts", "faqs"];
|
|
405
429
|
/** Subconjunto de `ThemeResponse` que el server realmente puede mandar (ver `SERVER_PROVIDED_THEME_FIELDS`). */
|
|
406
430
|
type ServerThemeResponse = Pick<ThemeResponse, (typeof SERVER_PROVIDED_THEME_FIELDS)[number]>;
|
|
407
431
|
/** Tope de `assistantName` y `launcherLabel`. Más que esto no entra en un header de teléfono. */
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,15 @@ interface SessionRequest {
|
|
|
40
40
|
* "ORIGIN EN CLIENTES NATIVOS" del README del SDK.
|
|
41
41
|
*/
|
|
42
42
|
host_origin?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Plataforma del cliente (enum de canales de la plataforma: web · mobile ·
|
|
45
|
+
* api · whatsapp · email). El ÚNICO valor con efecto es `"mobile"` — lo
|
|
46
|
+
* declara `@bircleai/react-native` y el Gateway lo valida contra el enum
|
|
47
|
+
* (cualquier otro valor degrada a `web`) y lo FIRMA como claim del session
|
|
48
|
+
* token: los hilos de la app quedan con canal `mobile` en el Dashboard.
|
|
49
|
+
* Ausente ⇒ `web` (los SDK web no lo mandan).
|
|
50
|
+
*/
|
|
51
|
+
client_platform?: string;
|
|
43
52
|
/**
|
|
44
53
|
* Identificador OPACO y persistente del visitante, generado y guardado por el
|
|
45
54
|
* cliente (`localStorage` en web, `AsyncStorage`/Keychain en mobile). Si cumple
|
|
@@ -348,6 +357,21 @@ interface ThemeResponse {
|
|
|
348
357
|
launcherLabel?: string;
|
|
349
358
|
/** `false` oculta el footer "Powered by BircleAI". Cualquier otro valor lo muestra. */
|
|
350
359
|
poweredBy?: boolean;
|
|
360
|
+
/**
|
|
361
|
+
* Preguntas frecuentes del chat: chips que se muestran sobre el composer
|
|
362
|
+
* mientras la conversación está vacía (después colapsan a un botón que las
|
|
363
|
+
* re-despliega). Tocar una envía su `message` (o el `label` si no hay) como
|
|
364
|
+
* mensaje del usuario, por el camino normal — el agente la responde como
|
|
365
|
+
* cualquier consulta.
|
|
366
|
+
*
|
|
367
|
+
* Configurables desde la pestaña Apariencia del Dashboard, por embed key.
|
|
368
|
+
* Tope 6; `label` <= 60 chars (lo que se ve), `message` <= 500 (lo que se
|
|
369
|
+
* envía). Ambos se renderizan como `textContent`, nunca como markup.
|
|
370
|
+
*/
|
|
371
|
+
faqs?: Array<{
|
|
372
|
+
label: string;
|
|
373
|
+
message?: string;
|
|
374
|
+
}>;
|
|
351
375
|
/**
|
|
352
376
|
* Hosts https permitidos para renderizar media rica (allow-list; lo consume la
|
|
353
377
|
* UI, no el core).
|
|
@@ -401,7 +425,7 @@ interface ThemeResponse {
|
|
|
401
425
|
* blancas (el `toUiView` del Gateway y la del widget web) — son defensa en
|
|
402
426
|
* profundidad a propósito, no una duplicación accidental.
|
|
403
427
|
*/
|
|
404
|
-
declare const SERVER_PROVIDED_THEME_FIELDS: readonly ["primaryColor", "accentColor", "launcherIcon", "launcherLabel", "position", "headerLogo", "assistantName", "assistantTagline", "assistantAvatar", "fontFamily", "colorScheme", "poweredBy", "locale", "texts"];
|
|
428
|
+
declare const SERVER_PROVIDED_THEME_FIELDS: readonly ["primaryColor", "accentColor", "launcherIcon", "launcherLabel", "position", "headerLogo", "assistantName", "assistantTagline", "assistantAvatar", "fontFamily", "colorScheme", "poweredBy", "locale", "texts", "faqs"];
|
|
405
429
|
/** Subconjunto de `ThemeResponse` que el server realmente puede mandar (ver `SERVER_PROVIDED_THEME_FIELDS`). */
|
|
406
430
|
type ServerThemeResponse = Pick<ThemeResponse, (typeof SERVER_PROVIDED_THEME_FIELDS)[number]>;
|
|
407
431
|
/** Tope de `assistantName` y `launcherLabel`. Más que esto no entra en un header de teléfono. */
|
package/dist/index.js
CHANGED
package/package.json
CHANGED