@belonguniverseai/react-sdk 0.3.6 → 0.4.1

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.
Files changed (97) hide show
  1. package/dist/api/client.d.ts +238 -0
  2. package/dist/api/queries.d.ts +16 -0
  3. package/dist/api/query-keys.d.ts +1 -0
  4. package/dist/api/report-client-error.d.ts +1 -1
  5. package/dist/api/task-schedules.d.ts +3 -3
  6. package/dist/component/BelongWidget.d.ts +5 -3
  7. package/dist/component/{arc-6nY2VvBR.js → arc-Du1-HUt0.js} +2 -2
  8. package/dist/component/{architectureDiagram-3BPJPVTR-8NzFzSu-.js → architectureDiagram-3BPJPVTR-NTFoFNN-.js} +3 -3
  9. package/dist/component/{blockDiagram-GPEHLZMM-DUEwMafH.js → blockDiagram-GPEHLZMM-9LBL4EUV.js} +4 -4
  10. package/dist/component/{c4Diagram-AAUBKEIU-CDD_6To7.js → c4Diagram-AAUBKEIU-C1enIoRg.js} +3 -3
  11. package/dist/component/{channel-B4iaYdVF.js → channel-CNnOkAN_.js} +2 -2
  12. package/dist/component/{chunk-2J33WTMH-DyOrhFxY.js → chunk-2J33WTMH-X2Iy3mMD.js} +2 -2
  13. package/dist/component/{chunk-4BX2VUAB-Bc66-Fjy.js → chunk-4BX2VUAB-BLlcE09Q.js} +2 -2
  14. package/dist/component/{chunk-55IACEB6-CIN0g3JH.js → chunk-55IACEB6-23v_td5T.js} +2 -2
  15. package/dist/component/{chunk-727SXJPM-BGs-m5or.js → chunk-727SXJPM-BC2kAa1t.js} +6 -6
  16. package/dist/component/{chunk-AQP2D5EJ-CPlwnVcL.js → chunk-AQP2D5EJ-CsRFVdwF.js} +4 -4
  17. package/dist/component/{chunk-FMBD7UC4-09viRWEH.js → chunk-FMBD7UC4-CWrggihb.js} +2 -2
  18. package/dist/component/{chunk-ND2GUHAM-BJo4K53f.js → chunk-ND2GUHAM-Bj78QMsn.js} +2 -2
  19. package/dist/component/{chunk-QZHKN3VN-DufugBok.js → chunk-QZHKN3VN-CS_FAlLS.js} +2 -2
  20. package/dist/component/{classDiagram-4FO5ZUOK-DfAygW-7.js → classDiagram-4FO5ZUOK-ci84KOU1.js} +3 -3
  21. package/dist/component/{classDiagram-v2-Q7XG4LA2-DfAygW-7.js → classDiagram-v2-Q7XG4LA2-ci84KOU1.js} +3 -3
  22. package/dist/component/{cose-bilkent-S5V4N54A-CUKOuMcm.js → cose-bilkent-S5V4N54A-QLIj0pt2.js} +2 -2
  23. package/dist/component/{dagre-BM42HDAG-BPRObW6r.js → dagre-BM42HDAG-D32wP-VH.js} +2 -2
  24. package/dist/component/{diagram-2AECGRRQ-Cxsg-pXz.js → diagram-2AECGRRQ-Dn47q_hT.js} +3 -3
  25. package/dist/component/{diagram-5GNKFQAL-U6L8NDef.js → diagram-5GNKFQAL-Df7a_ICg.js} +4 -4
  26. package/dist/component/{diagram-KO2AKTUF-BxN_e8Dk.js → diagram-KO2AKTUF-CNcoKufc.js} +3 -3
  27. package/dist/component/{diagram-LMA3HP47-Dbkb79LU.js → diagram-LMA3HP47-Dq8j6XNs.js} +3 -3
  28. package/dist/component/{diagram-OG6HWLK6-SASqlYMy.js → diagram-OG6HWLK6-CZ1WglbZ.js} +4 -4
  29. package/dist/component/{erDiagram-TEJ5UH35-CDTBM9wY.js → erDiagram-TEJ5UH35-CDlHARAu.js} +5 -5
  30. package/dist/component/{flowDiagram-I6XJVG4X-DugkNxCw.js → flowDiagram-I6XJVG4X-Cw1mKy8X.js} +7 -7
  31. package/dist/component/{ganttDiagram-6RSMTGT7-D3FuGu21.js → ganttDiagram-6RSMTGT7-B3FUForj.js} +3 -3
  32. package/dist/component/{gitGraphDiagram-PVQCEYII-DMKggb_e.js → gitGraphDiagram-PVQCEYII-BgHuuQ27.js} +4 -4
  33. package/dist/component/{highlighted-body-OFNGDK62-Bnl71RgK.js → highlighted-body-OFNGDK62-BTv_Fxf3.js} +2 -2
  34. package/dist/component/index.js +2 -2
  35. package/dist/component/{infoDiagram-5YYISTIA-BaUo1fFU.js → infoDiagram-5YYISTIA-DE9i_OcK.js} +2 -2
  36. package/dist/component/{ishikawaDiagram-YF4QCWOH-DofOP6uV.js → ishikawaDiagram-YF4QCWOH-BDe88Hz2.js} +2 -2
  37. package/dist/component/{journeyDiagram-JHISSGLW-D-xl9LqQ.js → journeyDiagram-JHISSGLW-D3t45UC1.js} +5 -5
  38. package/dist/component/{kanban-definition-UN3LZRKU-Lfcidbpn.js → kanban-definition-UN3LZRKU-DfFJIuhU.js} +3 -3
  39. package/dist/component/{linear-CtCl_nrs.js → linear-AXxuun7R.js} +2 -2
  40. package/dist/component/{mermaid-GHXKKRXX-CnzRBGo3.js → mermaid-GHXKKRXX-D7NVqIBP.js} +31181 -29271
  41. package/dist/component/{mindmap-definition-RKZ34NQL-RZVaz4dV.js → mindmap-definition-RKZ34NQL-cTac4kYU.js} +4 -4
  42. package/dist/component/{pieDiagram-4H26LBE5-CEwcfNwI.js → pieDiagram-4H26LBE5-B1SubLQb.js} +4 -4
  43. package/dist/component/{quadrantDiagram-W4KKPZXB-BJBEiTgK.js → quadrantDiagram-W4KKPZXB-CzyBW8Cr.js} +3 -3
  44. package/dist/component/{requirementDiagram-4Y6WPE33-CVHog8O-.js → requirementDiagram-4Y6WPE33-DgS33NcX.js} +4 -4
  45. package/dist/component/{sankeyDiagram-5OEKKPKP-Cn1N0qrl.js → sankeyDiagram-5OEKKPKP-Cp4o_akq.js} +2 -2
  46. package/dist/component/{sequenceDiagram-3UESZ5HK-CRaBqdL0.js → sequenceDiagram-3UESZ5HK-2gf91-2b.js} +4 -4
  47. package/dist/component/{stateDiagram-AJRCARHV-9q4hv0ii.js → stateDiagram-AJRCARHV-BByZezJw.js} +3 -3
  48. package/dist/component/{stateDiagram-v2-BHNVJYJU-By7O-5eN.js → stateDiagram-v2-BHNVJYJU-B-IObShO.js} +3 -3
  49. package/dist/component/{timeline-definition-PNZ67QCA-BWfxZI7f.js → timeline-definition-PNZ67QCA-D_2NG1sj.js} +3 -3
  50. package/dist/component/{vennDiagram-CIIHVFJN-B_PQ6bU6.js → vennDiagram-CIIHVFJN-BjrQUaEs.js} +2 -2
  51. package/dist/component/{wardleyDiagram-YWT4CUSO-P7tCzeA0.js → wardleyDiagram-YWT4CUSO-DYcvfAeQ.js} +3 -3
  52. package/dist/component/{xychartDiagram-2RQKCTM6-B4Z_Zrko.js → xychartDiagram-2RQKCTM6-CtLaJFtQ.js} +3 -3
  53. package/dist/components/embed/AgentChatIcon.d.ts +16 -0
  54. package/dist/components/embed/AgentPhaseIcon.d.ts +17 -0
  55. package/dist/components/embed/EmbedAvatar.d.ts +21 -2
  56. package/dist/components/embed/EmbedHeader.d.ts +25 -2
  57. package/dist/components/embed/EmbedRail.d.ts +20 -1
  58. package/dist/components/embed/EmbedSessions.d.ts +33 -8
  59. package/dist/components/embed/MobileNavBar.d.ts +4 -1
  60. package/dist/components/embed/SessionStatsPanel.d.ts +12 -0
  61. package/dist/components/embed/rail-flags.d.ts +23 -0
  62. package/dist/embed/adoption-notice.d.ts +32 -0
  63. package/dist/embed/auth0-cache.d.ts +32 -0
  64. package/dist/embed/auth0-refresh.d.ts +8 -5
  65. package/dist/embed/copy.d.ts +2 -0
  66. package/dist/embed/dock-state.d.ts +16 -0
  67. package/dist/embed/global.d.ts +6 -0
  68. package/dist/embed/host-layout-vars.d.ts +24 -0
  69. package/dist/embed/host-push-controller.d.ts +67 -0
  70. package/dist/embed/host-surface.d.ts +57 -0
  71. package/dist/embed/presets.d.ts +10 -0
  72. package/dist/embed/theme.d.ts +13 -0
  73. package/dist/embed/voice/agent-spawn.d.ts +38 -0
  74. package/dist/embed/voice/audio-utils.d.ts +6 -0
  75. package/dist/embed/voice/call-active-marker.d.ts +67 -0
  76. package/dist/embed/voice/line-dispatch.d.ts +34 -4
  77. package/dist/embed/voice/line-run-reader.d.ts +29 -1
  78. package/dist/embed/voice/line-slots.d.ts +99 -0
  79. package/dist/embed/voice/reconnect-offer.d.ts +29 -0
  80. package/dist/embed/voice/session-create.d.ts +26 -0
  81. package/dist/embed/voice/voice-http.d.ts +12 -0
  82. package/dist/embed/voice-bus.d.ts +2 -0
  83. package/dist/embed/voice-call-lines.d.ts +241 -14
  84. package/dist/embed/voice-call.d.ts +34 -6
  85. package/dist/i18n/messages/en.d.ts +33 -0
  86. package/dist/i18n/messages/surfaces/header.d.ts +18 -0
  87. package/dist/i18n/messages/surfaces/sessions.d.ts +6 -0
  88. package/dist/i18n/messages/surfaces/stats.d.ts +55 -0
  89. package/dist/i18n/messages/surfaces/stream.d.ts +3 -0
  90. package/dist/stream/belong-chat-transport.d.ts +45 -8
  91. package/dist/stream/belong-data-parts.d.ts +8 -0
  92. package/dist/stream/chat-export-store.d.ts +35 -0
  93. package/dist/stream/route-dispatch.d.ts +17 -0
  94. package/dist/stream/session-stats-csv.d.ts +52 -0
  95. package/dist/stream/stream-state-store.d.ts +36 -6
  96. package/dist/types/public.d.ts +3 -1
  97. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { g as oe } from "./chunk-55IACEB6-CIN0g3JH.js";
2
- import { s as ae } from "./chunk-2J33WTMH-DyOrhFxY.js";
3
- import { _ as l, l as C, p as ce, r as le, G as he, K as G, c as B, i as F, b6 as de, af as ge, ag as ue, ah as pe } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { g as oe } from "./chunk-55IACEB6-23v_td5T.js";
2
+ import { s as ae } from "./chunk-2J33WTMH-X2Iy3mMD.js";
3
+ import { _ as l, l as C, p as ce, r as le, G as he, K as G, c as B, i as F, b6 as de, af as ge, ag as ue, ah as pe } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
6
6
  const b = [];
@@ -830,4 +830,4 @@ var _e = Y, ke = 12, N = {
830
830
  export {
831
831
  we as diagram
832
832
  };
833
- //# sourceMappingURL=mindmap-definition-RKZ34NQL-RZVaz4dV.js.map
833
+ //# sourceMappingURL=mindmap-definition-RKZ34NQL-cTac4kYU.js.map
@@ -1,7 +1,7 @@
1
- import { a0 as S, S as R, b5 as J, g as Q, s as Y, a as tt, b as et, t as at, q as nt, _ as g, l as W, c as rt, I as it, N as st, a7 as lt, e as ot, B as ct, K as ut } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
2
- import { p as gt } from "./chunk-4BX2VUAB-Bc66-Fjy.js";
1
+ import { a0 as S, S as R, b5 as J, g as Q, s as Y, a as tt, b as et, t as at, q as nt, _ as g, l as W, c as rt, I as it, N as st, a7 as lt, e as ot, B as ct, K as ut } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
+ import { p as gt } from "./chunk-4BX2VUAB-BLlcE09Q.js";
3
3
  import { p as dt } from "./wardley-L42UT6IY-HA1eSIS_.js";
4
- import { d as P } from "./arc-6nY2VvBR.js";
4
+ import { d as P } from "./arc-Du1-HUt0.js";
5
5
  import { o as pt } from "./ordinal-D0x7izaa.js";
6
6
  globalThis.process = globalThis.process || { env: {} };
7
7
  globalThis.global = globalThis.global || globalThis;
@@ -163,4 +163,4 @@ var vt = ut.pie, z = {
163
163
  export {
164
164
  Lt as diagram
165
165
  };
166
- //# sourceMappingURL=pieDiagram-4H26LBE5-CEwcfNwI.js.map
166
+ //# sourceMappingURL=pieDiagram-4H26LBE5-B1SubLQb.js.map
@@ -1,5 +1,5 @@
1
- import { s as Se, g as _e, t as ee, q as Ae, a as ke, b as Fe, _ as r, c as Et, l as qt, d as vt, e as Pe, B as ve, K as z, i as Ce, a4 as Le } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
2
- import { l as te } from "./linear-CtCl_nrs.js";
1
+ import { s as Se, g as _e, t as ee, q as Ae, a as ke, b as Fe, _ as r, c as Et, l as qt, d as vt, e as Pe, B as ve, K as z, i as Ce, a4 as Le } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
+ import { l as te } from "./linear-AXxuun7R.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var Ct = (function() {
@@ -1030,4 +1030,4 @@ var Ve = /* @__PURE__ */ r(function() {
1030
1030
  export {
1031
1031
  We as diagram
1032
1032
  };
1033
- //# sourceMappingURL=quadrantDiagram-W4KKPZXB-BJBEiTgK.js.map
1033
+ //# sourceMappingURL=quadrantDiagram-W4KKPZXB-CzyBW8Cr.js.map
@@ -1,6 +1,6 @@
1
- import { g as Ge } from "./chunk-55IACEB6-CIN0g3JH.js";
2
- import { s as ze } from "./chunk-2J33WTMH-DyOrhFxY.js";
3
- import { _ as h, G as Ye, b as Xe, a as Je, s as Ze, g as et, q as tt, t as st, c as ke, l as Ne, B as it, F as rt, p as nt, r as at, u as lt } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { g as Ge } from "./chunk-55IACEB6-23v_td5T.js";
2
+ import { s as ze } from "./chunk-2J33WTMH-X2Iy3mMD.js";
3
+ import { _ as h, G as Ye, b as Xe, a as Je, s as Ze, g as et, q as tt, t as st, c as ke, l as Ne, B as it, F as rt, p as nt, r as at, u as lt } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
6
6
  var qe = (function() {
@@ -885,4 +885,4 @@ var mt = /* @__PURE__ */ h(async function(e, u, o, n) {
885
885
  export {
886
886
  Rt as diagram
887
887
  };
888
- //# sourceMappingURL=requirementDiagram-4Y6WPE33-CVHog8O-.js.map
888
+ //# sourceMappingURL=requirementDiagram-4Y6WPE33-DgS33NcX.js.map
@@ -1,4 +1,4 @@
1
- import { q as kt, t as mt, s as xt, g as _t, b as vt, a as bt, _ as y, c as ot, C as St, d as G, ai as wt, B as Lt, k as Et } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { q as kt, t as mt, s as xt, g as _t, b as vt, a as bt, _ as y, c as ot, C as St, d as G, ai as wt, B as Lt, k as Et } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
2
  import { o as Tt } from "./ordinal-D0x7izaa.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
@@ -859,4 +859,4 @@ var ge = {
859
859
  export {
860
860
  ge as diagram
861
861
  };
862
- //# sourceMappingURL=sankeyDiagram-5OEKKPKP-Cn1N0qrl.js.map
862
+ //# sourceMappingURL=sankeyDiagram-5OEKKPKP-Cp4o_akq.js.map
@@ -1,6 +1,6 @@
1
- import { _ as g, o as tr, c as $, d as Mt, l as at, j as Ce, e as er, f as rr, k as P, b as ke, s as ar, q as sr, a as ir, g as nr, t as or, v as cr, J as lr, B as hr, i as Bt, u as Z, a5 as Q, a6 as wt, a7 as Me, a8 as dr, G as Yt, a9 as Tr, aa as Be } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
2
- import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-BJo4K53f.js";
3
- import { I as ur } from "./chunk-QZHKN3VN-DufugBok.js";
1
+ import { _ as g, o as tr, c as $, d as Mt, l as at, j as Ce, e as er, f as rr, k as P, b as ke, s as ar, q as sr, a as ir, g as nr, t as or, v as cr, J as lr, B as hr, i as Bt, u as Z, a5 as Q, a6 as wt, a7 as Me, a8 as dr, G as Yt, a9 as Tr, aa as Be } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
+ import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-Bj78QMsn.js";
3
+ import { I as ur } from "./chunk-QZHKN3VN-CS_FAlLS.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
6
6
  var $t = (function() {
@@ -2894,4 +2894,4 @@ var ra = /* @__PURE__ */ g(async function(e, t, a) {
2894
2894
  export {
2895
2895
  Ta as diagram
2896
2896
  };
2897
- //# sourceMappingURL=sequenceDiagram-3UESZ5HK-CRaBqdL0.js.map
2897
+ //# sourceMappingURL=sequenceDiagram-3UESZ5HK-2gf91-2b.js.map
@@ -1,5 +1,5 @@
1
- import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-CPlwnVcL.js";
2
- import { _ as f, c as t, d as M, l as S, e as P, k as z, ac as _, ad as U, a9 as C, u as F } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-CsRFVdwF.js";
2
+ import { _ as f, c as t, d as M, l as S, e as P, k as z, ac as _, ad as U, a9 as C, u as F } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
3
3
  import { G as O } from "./graph-BZLHvygk.js";
4
4
  import { l as J } from "./layout-Bu6nRdWm.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
@@ -263,4 +263,4 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
263
263
  export {
264
264
  ot as diagram
265
265
  };
266
- //# sourceMappingURL=stateDiagram-AJRCARHV-9q4hv0ii.js.map
266
+ //# sourceMappingURL=stateDiagram-AJRCARHV-BByZezJw.js.map
@@ -1,5 +1,5 @@
1
- import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-CPlwnVcL.js";
2
- import { _ as l } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-CsRFVdwF.js";
2
+ import { _ as l } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var b = {
@@ -16,4 +16,4 @@ var b = {
16
16
  export {
17
17
  b as diagram
18
18
  };
19
- //# sourceMappingURL=stateDiagram-v2-BHNVJYJU-By7O-5eN.js.map
19
+ //# sourceMappingURL=stateDiagram-v2-BHNVJYJU-B-IObShO.js.map
@@ -1,5 +1,5 @@
1
- import { _ as o, G as gt, af as Rt, ag as Ct, ah as Wt, c as pt, l as E, N as Pt, a7 as Bt, ai as ft, d as U, F as Vt, aj as Ft, B as zt } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
2
- import { d as ot } from "./arc-6nY2VvBR.js";
1
+ import { _ as o, G as gt, af as Rt, ag as Ct, ah as Wt, c as pt, l as E, N as Pt, a7 as Bt, ai as ft, d as U, F as Vt, aj as Ft, B as zt } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
+ import { d as ot } from "./arc-Du1-HUt0.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var tt = (function() {
@@ -1055,4 +1055,4 @@ var Qt = /* @__PURE__ */ o(function(e, t, n, i, r, h = !1) {
1055
1055
  export {
1056
1056
  me as diagram
1057
1057
  };
1058
- //# sourceMappingURL=timeline-definition-PNZ67QCA-BWfxZI7f.js.map
1058
+ //# sourceMappingURL=timeline-definition-PNZ67QCA-D_2NG1sj.js.map
@@ -1,4 +1,4 @@
1
- import { aX as Gt, s as Wt, g as Kt, t as Ht, q as Xt, a as Yt, b as Zt, _ as w, G as wt, N as Jt, d as ot, ao as Qt, af as $t, ag as te, ah as ee, e as ne, B as se, I as ie, K as oe } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { aX as Gt, s as Wt, g as Kt, t as Ht, q as Xt, a as Yt, b as Zt, _ as w, G as wt, N as Jt, d as ot, ao as Qt, af as $t, ag as te, ah as ee, e as ne, B as se, I as ie, K as oe } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  const kt = (t, n) => Gt(t, "a", -n), _t = 1e-10;
@@ -1557,4 +1557,4 @@ var qe = { draw: Ve }, Ge = {
1557
1557
  export {
1558
1558
  Ge as diagram
1559
1559
  };
1560
- //# sourceMappingURL=vennDiagram-CIIHVFJN-B_PQ6bU6.js.map
1560
+ //# sourceMappingURL=vennDiagram-CIIHVFJN-BjrQUaEs.js.map
@@ -1,5 +1,5 @@
1
- import { s as St, g as Mt, t as Nt, q as Tt, a as zt, b as Lt, _ as u, a4 as At, G as Xt, I as U, l as K, N as Et, e as Yt, B as It, c as j } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
2
- import { p as Bt } from "./chunk-4BX2VUAB-Bc66-Fjy.js";
1
+ import { s as St, g as Mt, t as Nt, q as Tt, a as zt, b as Lt, _ as u, a4 as At, G as Xt, I as U, l as K, N as Et, e as Yt, B as It, c as j } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
+ import { p as Bt } from "./chunk-4BX2VUAB-BLlcE09Q.js";
3
3
  import { p as Ft } from "./wardley-L42UT6IY-HA1eSIS_.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
@@ -678,4 +678,4 @@ var Dt = {
678
678
  export {
679
679
  Qt as diagram
680
680
  };
681
- //# sourceMappingURL=wardleyDiagram-YWT4CUSO-P7tCzeA0.js.map
681
+ //# sourceMappingURL=wardleyDiagram-YWT4CUSO-DYcvfAeQ.js.map
@@ -1,7 +1,7 @@
1
- import { s as ei, g as si, t as Lt, q as ni, a as ai, b as oi, _ as a, l as Et, N as ri, e as hi, B as li, G as dt, i as ci, I as It, K as ui, a4 as gi, ap as xi, ac as Rt } from "./mermaid-GHXKKRXX-CnzRBGo3.js";
1
+ import { s as ei, g as si, t as Lt, q as ni, a as ai, b as oi, _ as a, l as Et, N as ri, e as hi, B as li, G as dt, i as ci, I as It, K as ui, a4 as gi, ap as xi, ac as Rt } from "./mermaid-GHXKKRXX-D7NVqIBP.js";
2
2
  import { i as di } from "./init-BOu0eQYQ.js";
3
3
  import { o as fi } from "./ordinal-D0x7izaa.js";
4
- import { l as Dt } from "./linear-CtCl_nrs.js";
4
+ import { l as Dt } from "./linear-AXxuun7R.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
7
7
  function pi(t, i, e) {
@@ -1372,4 +1372,4 @@ var Ti = /* @__PURE__ */ a(function() {
1372
1372
  export {
1373
1373
  Mi as diagram
1374
1374
  };
1375
- //# sourceMappingURL=xychartDiagram-2RQKCTM6-B4Z_Zrko.js.map
1375
+ //# sourceMappingURL=xychartDiagram-2RQKCTM6-CtLaJFtQ.js.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The agent glyph for the multi-agent rail group: the EXACT chat-bubble icon
3
+ * the single-agent rail item uses (same `MessageSquare`, same size — the
4
+ * icons must not read as a different family), with the agent's number as a
5
+ * small counter disc at the bottom-right corner, unread-count style. The
6
+ * disc mirrors the working badge's idiom (`size-3.5` rounded disc on
7
+ * `bg-background`, EmbedRail's `lineBadge`) so the two corners speak the same
8
+ * visual language: status top-right, identity bottom-right.
9
+ *
10
+ * Decorative: callers put the accessible name ("Main agent",
11
+ * "Agent 2 — invoices") on the button itself, so the numeral is aria-hidden.
12
+ */
13
+ export declare function AgentChatIcon({ line, className, }: {
14
+ readonly line: number;
15
+ readonly className?: string;
16
+ }): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { WorkPhase } from '../../embed/voice-narration.ts';
2
+ /**
3
+ * The ONE phase→icon mapping for "an agent is working right now" — extracted
4
+ * from CallScreen (the orb's work badge + each agent-board card's working
5
+ * icon) so the rail's agent-group badges (Rail-C) wear the SAME icon per
6
+ * phase instead of a second hand-rolled copy drifting from the first.
7
+ *
8
+ * `phase === null` means "working but the kind of work isn't classified yet"
9
+ * (e.g. between dispatch and the run's first tool call) — a spinner, not a
10
+ * missing icon. Every caller passes its own `className` for sizing/color;
11
+ * the spinner's `animate-spin` is baked in here rather than left to callers,
12
+ * since a non-spinning "spinner" icon would be a silent visual bug.
13
+ */
14
+ export declare function AgentPhaseIcon({ phase, className, }: {
15
+ readonly phase: WorkPhase | null;
16
+ readonly className?: string;
17
+ }): import("react").JSX.Element;
@@ -1,3 +1,4 @@
1
+ import { SessionSummary } from './EmbedSessions.tsx';
1
2
  import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.ts';
2
3
  /**
3
4
  * Logged-in user avatar (rail top). Opens a menu: "Signed in as …", the theme
@@ -7,7 +8,7 @@ import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.
7
8
  * colour + custom CSS), then Log out. Gradient is brand-driven (Ocean → Deep
8
9
  * Sea) via the active palette.
9
10
  */
10
- export declare function EmbedAvatar({ user, size, theme, palette, side, menuSide: menuSideOverride, sessionId, voiceSupported, accent, cssVars, presets, activePreset, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, }: {
11
+ export declare function EmbedAvatar({ user, size, theme, palette, side, menuSide: menuSideOverride, sessionId, voiceSupported, sessions, accent, cssVars, presets, activePreset, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, sessionAgentLine, }: {
11
12
  user: string | null;
12
13
  size?: number;
13
14
  theme: BelongTheme;
@@ -17,10 +18,14 @@ export declare function EmbedAvatar({ user, size, theme, palette, side, menuSide
17
18
  * the mobile bottom nav bar overrides it to open upward. */
18
19
  menuSide?: "left" | "right" | "top";
19
20
  /** Active chat session id (null when no conversation is open yet). Shown in
20
- * the menu under the build stamp and copyable for telemetry correlation. */
21
+ * the menu under the build stamp and copyable for telemetry correlation;
22
+ * also the History submenu's active-row indicator (Rail-D). */
21
23
  sessionId: string | null;
22
24
  /** Browser supports mic capture — gates the Voice (push-to-talk) section. */
23
25
  voiceSupported: boolean;
26
+ /** Recent sessions for the History submenu (Rail-D: demoted from the
27
+ * rail's own dropdown into the settings menu). */
28
+ sessions: readonly SessionSummary[];
24
29
  accent: string | null;
25
30
  cssVars: Record<string, string>;
26
31
  presets: readonly {
@@ -35,4 +40,18 @@ export declare function EmbedAvatar({ user, size, theme, palette, side, menuSide
35
40
  onCssVarsChange: (v: Record<string, string>) => void;
36
41
  onApplyPreset: (name: PresetName) => void;
37
42
  onLogout: () => void;
43
+ onNewSession: () => void;
44
+ onSelectSession: (id: string) => void;
45
+ onDeleteSession: (id: string) => void;
46
+ onRenameSession: (id: string, title: string) => void;
47
+ /** Fired when the History submenu opens — the dock refetches the list so
48
+ * it's fresh (mirrors EmbedSessions' own `onOpen`). */
49
+ onSessionsOpen?: () => void;
50
+ /** Open the per-session stats dialog (plan 2026-07-24). Optional so the
51
+ * avatar menu still renders without the dock's panel host wired up. */
52
+ onViewStats?: (sessionId: string) => void;
53
+ /** sessionId -> the agent line currently bound to it (F3) — threaded
54
+ * straight through to the History submenu's `EmbedSessionsBody` so an
55
+ * already-open row wears its "Agent N" badge. */
56
+ sessionAgentLine?: ReadonlyMap<string, number>;
38
57
  }): import("react").JSX.Element;
@@ -2,10 +2,33 @@ import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
2
2
  /**
3
3
  * Slim brand bar at the top of the chat: the mark + the brand/view title, with
4
4
  * a small "by Belong" tagline when a tenant brand is active. Action controls
5
- * live in the rail (EmbedRail), not here.
5
+ * live in the rail (EmbedRail), not here — with TWO exceptions:
6
+ * • `onExportChat` — download the current conversation as JSON. Stateful:
7
+ * while the backend generates the export the button shows a spinner and
8
+ * is disabled; the label (aria + hover title) carries the timestamp of
9
+ * the session's last export when one exists.
10
+ * • `onCloseChat` — the in-surface way to close the CURRENT agent chat.
11
+ * The dock passes it only while the chat view is up AND more than one
12
+ * agent chat exists (closing the only conversation is meaningless — there
13
+ * is nothing to fall back to), so the single-chat header stays exactly as
14
+ * it always was.
6
15
  */
7
- export declare function EmbedHeader({ title, palette, brand, }: {
16
+ export declare function EmbedHeader({ title, palette, brand, onExportChat, exportState, exportChatLabel, onCloseChat, closeChatLabel, }: {
8
17
  title: string;
9
18
  palette: BelongThemePalette;
10
19
  brand: BelongThemeBrand;
20
+ /** Request a chat export (rendered only when provided — chat view with a
21
+ * server-bound session). Disabled while `exportState` is "generating". */
22
+ onExportChat?: () => void;
23
+ exportState?: "idle" | "generating";
24
+ /** Accessible name + hover title for the export control. Carries the last
25
+ * export timestamp when the session has one. Required with `onExportChat`. */
26
+ exportChatLabel?: string;
27
+ /** Close the current agent chat (release its line, fall back to the next
28
+ * agent). Rendered only when provided — see the component doc for the
29
+ * dock's gating rule. */
30
+ onCloseChat?: () => void;
31
+ /** Accessible name for the close control (carries the agent's identity,
32
+ * e.g. "Close Agent 2 — invoices"). Required alongside `onCloseChat`. */
33
+ closeChatLabel?: string;
11
34
  }): import("react").JSX.Element;
@@ -11,7 +11,7 @@ export type EmbedView = "chat" | "files" | "scheduled";
11
11
  * expand-to-modal — then the collapse toggle. Active fill + brand colours come
12
12
  * from `palette` so a host brand push re-themes everything.
13
13
  */
14
- export declare function EmbedRail({ view, collapsed, user, theme, palette, sessions, activeId, planProgress, speakEnabled, ttsSupported, voiceSupported, voiceStatus, pendingVoiceDraft, voiceActionFlash, accent, cssVars, presets, activePreset, onSelectView, onToggleCollapse, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onToggleSpeak, onExpand, }: {
14
+ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessions, activeId, planProgress, speakEnabled, ttsSupported, voiceSupported, voiceStatus, pendingVoiceDraft, voiceActionFlash, accent, cssVars, presets, activePreset, onSelectView, onToggleCollapse, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onSelectAgentLine, onCloseAgentLine, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, onToggleSpeak, onExpand, }: {
15
15
  view: EmbedView;
16
16
  collapsed: boolean;
17
17
  user: string | null;
@@ -58,9 +58,28 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
58
58
  onLogout: () => void;
59
59
  onNewSession: () => void;
60
60
  onSelectSession: (id: string) => void;
61
+ /** Rail agent chip clicked with a BOUND session — switches to the chat view
62
+ * AND selects that agent's slot session (also clears its unseen-result
63
+ * flag, via BelongDock's existing onSelectSession → markLineSeen lookup).
64
+ * Also reached with `null` for the UNBOUND line-1 chip specifically — the
65
+ * one line whose chip is meaningfully clickable before it has a session —
66
+ * which BelongDock reads as "start a new foreground chat" (see its own
67
+ * doc). A line 2+ chip still unbound (the transient spinner window between
68
+ * reserving the line and its session mint) does NOT reach this — it falls
69
+ * back to `onSelectView("chat")` instead, same as today's plain chat item;
70
+ * there is nothing meaningful to select yet and no stale session to escape. */
71
+ onSelectAgentLine: (sessionId: string | null) => void;
72
+ /** User closed an agent tab — RELEASES that line's slot (in memory + durably)
73
+ * and nothing else. The conversation itself is NOT deleted server-side: it
74
+ * stays in History and can be re-adopted from the avatar menu. Only offered
75
+ * for lines 2+ (line 1 is the foreground chat; see `agentItem`). */
76
+ onCloseAgentLine: (line: number) => void;
61
77
  onDeleteSession: (id: string) => void;
62
78
  onRenameSession: (id: string, title: string) => void;
63
79
  onSessionsOpen?: () => void;
80
+ /** Open the per-session stats dialog (plan 2026-07-24). Optional so the
81
+ * rail still renders without the dock's panel host wired up. */
82
+ onViewStats?: (sessionId: string) => void;
64
83
  onToggleSpeak: () => void;
65
84
  onExpand: () => void;
66
85
  }): import("react").JSX.Element;
@@ -4,14 +4,43 @@ export interface SessionSummary {
4
4
  readonly title: string | null;
5
5
  readonly updatedAt: string;
6
6
  }
7
+ type SessionsBodyProps = {
8
+ sessions: readonly SessionSummary[];
9
+ activeId: string | null;
10
+ onNew: () => void;
11
+ onSelect: (id: string) => void;
12
+ onDelete: (id: string) => void;
13
+ /** Persist a user-chosen chat name (BEL-120). Only fired for a non-blank change. */
14
+ onRename: (id: string, title: string) => void;
15
+ /** sessionId -> the agent line currently bound to it (F3). A row present in
16
+ * this map is open somewhere in the rail and wears a small "Agent N"
17
+ * badge; a row absent from it is not open in any agent and stays clean.
18
+ * Computed by the caller (EmbedRail / MobileNavBar, which already
19
+ * subscribe to the agent-lines registry) so this stays a pure
20
+ * presentational component — optional so a plain sessions list (no rail
21
+ * context) still renders without one. */
22
+ sessionAgentLine?: ReadonlyMap<string, number>;
23
+ /** Open the per-session stats dialog (plan 2026-07-24). Optional so a plain
24
+ * list without the dock's panel host still renders. */
25
+ onViewStats?: (sessionId: string) => void;
26
+ };
27
+ /**
28
+ * The "New chat" item + recent-sessions list, WITHOUT a menu shell of its own —
29
+ * the reusable half of the sessions switcher. `EmbedSessions` below wraps this
30
+ * in its own `DropdownMenu`/`DropdownMenuContent` for the rail/mobile trigger;
31
+ * `EmbedAvatar`'s History submenu wraps the SAME body in a
32
+ * `DropdownMenuSub`/`DropdownMenuSubContent` instead (Rail-D) — one
33
+ * implementation of rename/delete/select, two menu shells. Radix unmounts a
34
+ * closed Content/SubContent by default, so this component's local edit/confirm
35
+ * state resets for free on every close — no explicit reset needed here.
36
+ */
37
+ export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, }: SessionsBodyProps): import("react").JSX.Element;
7
38
  /**
8
39
  * Header control to start a new chat, switch to a recent session, rename one via
9
40
  * an inline text edit, or delete one via an inline trash → confirm flow. Rename +
10
41
  * delete are per-row inline affordances that keep the menu open (BEL-120).
11
42
  */
12
- export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, }: {
13
- sessions: readonly SessionSummary[];
14
- activeId: string | null;
43
+ export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
15
44
  theme: BelongTheme;
16
45
  /** Which way the menu opens — toward the panel from the rail edge, or
17
46
  * upward when the trigger lives in the mobile bottom nav bar. */
@@ -22,11 +51,7 @@ export declare function EmbedSessions({ sessions, activeId, theme, side, trigger
22
51
  /** Visible text under the trigger icon (mobile nav names its cells; the
23
52
  * rail stays icon-only). */
24
53
  triggerLabel?: string;
25
- onNew: () => void;
26
- onSelect: (id: string) => void;
27
- onDelete: (id: string) => void;
28
- /** Persist a user-chosen chat name (BEL-120). Only fired for a non-blank change. */
29
- onRename: (id: string, title: string) => void;
30
54
  /** Fired when the menu opens — the dock refetches the list so it's fresh. */
31
55
  onOpen?: () => void;
32
56
  }): import("react").JSX.Element;
57
+ export {};
@@ -7,7 +7,7 @@ import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.
7
7
  * (chat / files / scheduled), the sessions switcher, the account avatar, and
8
8
  * a close chevron. Every cell is a ≥44px touch target; menus open upward.
9
9
  */
10
- export declare function MobileNavBar({ view, user, theme, palette, sessions, activeId, voiceSupported, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, }: {
10
+ export declare function MobileNavBar({ view, user, theme, palette, sessions, activeId, voiceSupported, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, }: {
11
11
  view: EmbedView;
12
12
  user: string | null;
13
13
  theme: BelongTheme;
@@ -36,4 +36,7 @@ export declare function MobileNavBar({ view, user, theme, palette, sessions, act
36
36
  onDeleteSession: (id: string) => void;
37
37
  onRenameSession: (id: string, title: string) => void;
38
38
  onSessionsOpen?: () => void;
39
+ /** Open the per-session stats dialog (plan 2026-07-24). Optional so the
40
+ * mobile nav still renders without the dock's panel host wired up. */
41
+ onViewStats?: (sessionId: string) => void;
39
42
  }): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SessionStatsPanel (plan 2026-07-24) — a centered dialog opened from a history
3
+ * row's "Stats" action. Fetches GET /v1/session-stats/:id on open (works for ANY
4
+ * session, not just the active one, so REST not folded stream parts). Shows
5
+ * tokens, time running, turns, tool calls, runtime + a per-turn table, with two
6
+ * CSV exports.
7
+ */
8
+ export type SessionStatsPanelProps = {
9
+ readonly sessionId: string | null;
10
+ readonly onClose: () => void;
11
+ };
12
+ export declare const SessionStatsPanel: ({ sessionId, onClose, }: SessionStatsPanelProps) => React.ReactElement | null;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Rail feature flags — deliberately kept OUT of EmbedRail.tsx.
3
+ *
4
+ * A component file that ALSO exports a non-component value breaks React Fast
5
+ * Refresh's module boundary: Vite can no longer hot-swap the component and
6
+ * falls back to a full reload, and an already-open tab can be left in a
7
+ * broken HMR state until a hard reload. Living in a plain `.ts` module keeps
8
+ * EmbedRail.tsx a clean component-only Fast Refresh boundary.
9
+ */
10
+ /**
11
+ * Multi-agent rail (parallel chat "agent lines" spawned from the "+" button,
12
+ * capped at MAX_AGENT_LINES) is DEACTIVATED — switching between the spawned
13
+ * agents was buggy. While off:
14
+ * - the "+" spawn button is not rendered (no new chat agent lines can be
15
+ * started from the rail), so a plain chat session stays on line 1 and the
16
+ * rail is the single-chat item exactly as before; and
17
+ * - the standalone Chats/history dropdown is restored to the rail (it was
18
+ * demoted into the avatar menu when the agent rail landed).
19
+ * The underlying agent-line registry + voice multi-agent call board are left
20
+ * intact (the rail still renders line chips if a VOICE call opens more than
21
+ * one). Flip this to `true` to re-enable the chat spawn UX.
22
+ */
23
+ export declare const MULTI_AGENT_RAIL_ENABLED = false;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Pending session-adoption notice (Rail-D) — the "Loaded into Agent N" line
3
+ * the chat shows after the user opens an old conversation from the History
4
+ * menu. Selecting a session REMOUNTS ChatRoute (BelongDock's `setChatMount`),
5
+ * which wipes any notice appended at select time — so the notice can't be
6
+ * fired where the selection happens. Instead the select handler records a
7
+ * pending entry here (module singleton, survives the remount), and the NEW
8
+ * ChatRoute consumes it once it mounts on that session.
9
+ *
10
+ * One slot, last-write-wins: a second selection before the first mount lands
11
+ * simply replaces the pending entry — only the session actually mounted gets
12
+ * its notice. Consuming for a non-matching session leaves the entry alone
13
+ * (an unrelated remount must not swallow it) — it is dropped only when a
14
+ * NEWER selection overwrites it.
15
+ */
16
+ /** Record that `sessionId` was just opened from History into agent `line`. */
17
+ export declare const setPendingAdoptionNotice: (sessionId: string, line: number) => void;
18
+ /** The line number to announce for `sessionId`, or null when this mount has
19
+ * nothing pending. Consuming clears the entry (the notice fires once). */
20
+ export declare const consumePendingAdoptionNotice: (sessionId: string) => number | null;
21
+ /** Non-consuming read of the SAME entry (F3) — chat.tsx's line-1 bind effect
22
+ * uses this to learn WHICH line a freshly-opened History session should
23
+ * adopt onto (BelongDock recorded the intended target — the currently active
24
+ * line, not always line 1 — before the select remounted this route). Must
25
+ * not clear the entry: the notice effect above still needs to consume it
26
+ * once, for its own one-time "Loaded into Agent N" message, and the bind
27
+ * effect re-runs on every render (no dep array) so it would otherwise race
28
+ * that single consume. Returns null for a non-matching or already-consumed
29
+ * session, same as `consumePendingAdoptionNotice`. */
30
+ export declare const peekPendingAdoptionLine: (sessionId: string) => number | null;
31
+ /** Test-only: forget any pending entry between test cases. */
32
+ export declare const __clearPendingAdoptionNoticeForTest: () => void;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Auth0 SPA localStorage-cache discovery, shared by the script auto-embed,
3
+ * React component compatibility path, and proactive refresher.
4
+ *
5
+ * Entries live under `@@auth0spajs@@::<clientId>::<audience>::<scope>`. Callers
6
+ * provide the exact audience(s) they are allowed to forward. We never fall
7
+ * back to an unrelated entry: localStorage can contain credentials for several
8
+ * APIs, and forwarding an arbitrary bearer token to Belong would disclose it
9
+ * before belong-cloud had a chance to reject its audience.
10
+ */
11
+ /**
12
+ * Known Simetrik API audiences accepted by belong-cloud. Regional values take
13
+ * precedence over the legacy misspelled value so an old cache entry cannot
14
+ * mask a current region token. The list lets both the script and React
15
+ * component integrations find the token already cached by app.simetrik.com,
16
+ * app.mx.simetrik.com, or app.br.simetrik.com.
17
+ */
18
+ export declare const DEFAULT_AUTH0_AUDIENCES: readonly string[];
19
+ export type Auth0CacheEntry = {
20
+ readonly clientId: string;
21
+ readonly audience: string;
22
+ readonly scope: string;
23
+ readonly accessToken: string;
24
+ };
25
+ /** A single audience (possibly a comma-separated list) or an explicit list →
26
+ * the ordered, trimmed, non-empty audience array. */
27
+ export declare const normalizeAudiences: (audience: string | readonly string[]) => readonly string[];
28
+ /**
29
+ * The cache entry the dock should use: the first configured audience with an
30
+ * entry wins in list order. Null when no explicitly allowed audience is cached.
31
+ */
32
+ export declare const findAuth0CacheEntry: (audience: string | readonly string[]) => Auth0CacheEntry | null;
@@ -55,13 +55,16 @@ export type TokenRefreshClient = {
55
55
  };
56
56
  /**
57
57
  * Derive the Auth0 config from the host's `@@auth0spajs@@` localStorage cache.
58
- * Returns null when no entry matches `audience` (host isn't Auth0-SPA, or the
59
- * user isn't signed in for this API) the caller then degrades to a no-op.
58
+ * Accepts one audience or an ordered list. Resolution is shared with the token
59
+ * provider via `findAuth0CacheEntry`, so the refresher keys its Auth0Client to
60
+ * the SAME explicitly allowed entry whose token the dock sends. Returns null
61
+ * when nothing usable is cached (host isn't Auth0-SPA, or the user isn't signed
62
+ * in) — the caller then degrades to a no-op.
60
63
  */
61
- export declare const deriveAuth0RefreshConfig: (audience: string) => Auth0RefreshConfig | null;
64
+ export declare const deriveAuth0RefreshConfig: (audience: string | readonly string[]) => Auth0RefreshConfig | null;
62
65
  export type InstallAuth0RefreshOptions = {
63
- /** The API audience whose token the dock sends (matches auto-embed's). */
64
- readonly audience: string;
66
+ /** The API audience(s) whose token the dock sends (matches auto-embed's). */
67
+ readonly audience: string | readonly string[];
65
68
  /** Idle keepalive cadence; defaults to 10 min. */
66
69
  readonly keepaliveIntervalMs?: number;
67
70
  /** Injected in tests so no real Auth0Client / network is constructed. */
@@ -68,6 +68,8 @@ export type MenuCopy = {
68
68
  readonly lightMode: string;
69
69
  readonly moveLeft: string;
70
70
  readonly moveRight: string;
71
+ /** History submenu label (Rail-D: the demoted sessions switcher). */
72
+ readonly history: string;
71
73
  readonly voice: string;
72
74
  readonly pushToTalk: string;
73
75
  readonly pressAnyKey: string;
@@ -30,3 +30,19 @@ export type ViewClickResult = {
30
30
  readonly size: DockSize;
31
31
  };
32
32
  export declare const resolveViewClick: (clickedView: DockView, currentView: DockView, currentSize: DockSize) => ViewClickResult;
33
+ /**
34
+ * Decide what a NAVIGATION intent does — "show me this view", as opposed to a
35
+ * rail icon's toggle. A rail agent chip is navigation: the user is asking for
36
+ * that agent's chat, so it must ALWAYS land on the view (expanding a collapsed
37
+ * dock) and must never minimize, even when the dock is already open on chat.
38
+ * Routing an agent chip through `resolveViewClick` made "select Agent 2 while
39
+ * chat is open" collapse the dock instead of switching agents.
40
+ *
41
+ * Deliberately a SEPARATE entry point rather than a flag on `resolveViewClick`:
42
+ * the Chat rail icon's minimize toggle is intentional behaviour and stays
43
+ * exactly as it was.
44
+ */
45
+ export declare const resolveViewNavigation: (currentSize: DockSize) => {
46
+ readonly action: "navigate";
47
+ readonly size: DockSize;
48
+ };
@@ -28,6 +28,12 @@ export declare const peekPanelEnabled: () => boolean;
28
28
  * didn't configure one — the consent surface stays hidden then.
29
29
  */
30
30
  export declare const peekAgentGrantConfig: () => AgentGrantConfig | null;
31
+ /** Grant provider when the host set a workspace but named none (single-provider
32
+ * product today). Keep in sync with the backend's default grant provider.
33
+ * DEPRECATED backcompat default: a generic host should never inherit another
34
+ * tenant's provider. The next major requires an explicit
35
+ * `init({ agentGrant: { provider } })` (omitted → grants off). */
36
+ export declare const DEFAULT_AGENT_GRANT_PROVIDER = "simetrik";
31
37
  /**
32
38
  * The CURRENT grant scope. A workspace in effect (host override ▸ live URL param
33
39
  * ▸ static init value — see embed/workspace-scope.ts) IS the trigger: the dock
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The dock → host layout contract: the CSS custom properties the SDK publishes
3
+ * on `document.documentElement` so a host page can lay its own fixed, sticky,
4
+ * and portal-mounted UI out inside the viewport the dock leaves free.
5
+ *
6
+ * See docs/guides/011-host-layout-contract.md.
7
+ *
8
+ * EVERY variable is written on EVERY update — the inactive side is `0px`, not
9
+ * absent. A host stylesheet computing
10
+ *
11
+ * width: calc(100vw - var(--belong-dock-left-offset) - var(--belong-dock-right-offset))
12
+ *
13
+ * must never hit an undefined operand, which would invalidate the whole
14
+ * declaration.
15
+ */
16
+ export declare const HOST_LAYOUT_VAR_NAMES: readonly ["--belong-dock-side", "--belong-dock-width", "--belong-dock-left-offset", "--belong-dock-right-offset", "--belong-dock-reserve-left", "--belong-dock-reserve-right"];
17
+ export type HostLayoutVars = Readonly<Record<string, string>>;
18
+ /**
19
+ * `reservePx` is the dock's TOTAL footprint on its side (chat dock + plan +
20
+ * preview panels) — exactly what `<body>` padding reserves. Pass 0 when the
21
+ * dock overlays instead of reserving (mobile sheet, no configured panel), so
22
+ * the host reads a full-width viewport.
23
+ */
24
+ export declare const resolveHostLayoutVars: (side: "left" | "right", reservePx: number) => HostLayoutVars;