@belonguniverseai/react-sdk 0.3.6 → 0.4.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.
Files changed (85) hide show
  1. package/dist/api/client.d.ts +1 -0
  2. package/dist/api/report-client-error.d.ts +1 -1
  3. package/dist/component/BelongWidget.d.ts +5 -3
  4. package/dist/component/{arc-6nY2VvBR.js → arc-BhIvhaIH.js} +2 -2
  5. package/dist/component/{architectureDiagram-3BPJPVTR-8NzFzSu-.js → architectureDiagram-3BPJPVTR-BWNCirdr.js} +3 -3
  6. package/dist/component/{blockDiagram-GPEHLZMM-DUEwMafH.js → blockDiagram-GPEHLZMM-BnslF4z5.js} +4 -4
  7. package/dist/component/{c4Diagram-AAUBKEIU-CDD_6To7.js → c4Diagram-AAUBKEIU-ByIoAzxn.js} +3 -3
  8. package/dist/component/{channel-B4iaYdVF.js → channel-BSkI2ZMQ.js} +2 -2
  9. package/dist/component/{chunk-2J33WTMH-DyOrhFxY.js → chunk-2J33WTMH-DdP5frJt.js} +2 -2
  10. package/dist/component/{chunk-4BX2VUAB-Bc66-Fjy.js → chunk-4BX2VUAB-DlsylVfZ.js} +2 -2
  11. package/dist/component/{chunk-55IACEB6-CIN0g3JH.js → chunk-55IACEB6-CcJHjxtI.js} +2 -2
  12. package/dist/component/{chunk-727SXJPM-BGs-m5or.js → chunk-727SXJPM-IzRNu9Aj.js} +6 -6
  13. package/dist/component/{chunk-AQP2D5EJ-CPlwnVcL.js → chunk-AQP2D5EJ-DmcGMHHV.js} +4 -4
  14. package/dist/component/{chunk-FMBD7UC4-09viRWEH.js → chunk-FMBD7UC4-T7thtdBK.js} +2 -2
  15. package/dist/component/{chunk-ND2GUHAM-BJo4K53f.js → chunk-ND2GUHAM-Dm_d0Ags.js} +2 -2
  16. package/dist/component/{chunk-QZHKN3VN-DufugBok.js → chunk-QZHKN3VN-D2PGEfVN.js} +2 -2
  17. package/dist/component/{classDiagram-4FO5ZUOK-DfAygW-7.js → classDiagram-4FO5ZUOK-Bn7KwDp9.js} +3 -3
  18. package/dist/component/{classDiagram-v2-Q7XG4LA2-DfAygW-7.js → classDiagram-v2-Q7XG4LA2-Bn7KwDp9.js} +3 -3
  19. package/dist/component/{cose-bilkent-S5V4N54A-CUKOuMcm.js → cose-bilkent-S5V4N54A-BtDuNpUN.js} +2 -2
  20. package/dist/component/{dagre-BM42HDAG-BPRObW6r.js → dagre-BM42HDAG-BknZdIOQ.js} +2 -2
  21. package/dist/component/{diagram-2AECGRRQ-Cxsg-pXz.js → diagram-2AECGRRQ-ISHN0dHe.js} +3 -3
  22. package/dist/component/{diagram-5GNKFQAL-U6L8NDef.js → diagram-5GNKFQAL-7gWbpLCQ.js} +4 -4
  23. package/dist/component/{diagram-KO2AKTUF-BxN_e8Dk.js → diagram-KO2AKTUF-B63ZLzkh.js} +3 -3
  24. package/dist/component/{diagram-LMA3HP47-Dbkb79LU.js → diagram-LMA3HP47-hhw0MjoS.js} +3 -3
  25. package/dist/component/{diagram-OG6HWLK6-SASqlYMy.js → diagram-OG6HWLK6-D_L9Gvuh.js} +4 -4
  26. package/dist/component/{erDiagram-TEJ5UH35-CDTBM9wY.js → erDiagram-TEJ5UH35-BAg27ZHd.js} +5 -5
  27. package/dist/component/{flowDiagram-I6XJVG4X-DugkNxCw.js → flowDiagram-I6XJVG4X-DDYjK7xG.js} +7 -7
  28. package/dist/component/{ganttDiagram-6RSMTGT7-D3FuGu21.js → ganttDiagram-6RSMTGT7-CDNAiKQG.js} +3 -3
  29. package/dist/component/{gitGraphDiagram-PVQCEYII-DMKggb_e.js → gitGraphDiagram-PVQCEYII-CY1N7jOJ.js} +4 -4
  30. package/dist/component/{highlighted-body-OFNGDK62-Bnl71RgK.js → highlighted-body-OFNGDK62-DHwLnkF_.js} +2 -2
  31. package/dist/component/index.js +2 -2
  32. package/dist/component/{infoDiagram-5YYISTIA-BaUo1fFU.js → infoDiagram-5YYISTIA-Cbgk6g6j.js} +2 -2
  33. package/dist/component/{ishikawaDiagram-YF4QCWOH-DofOP6uV.js → ishikawaDiagram-YF4QCWOH-BUfiorJj.js} +2 -2
  34. package/dist/component/{journeyDiagram-JHISSGLW-D-xl9LqQ.js → journeyDiagram-JHISSGLW-Bh4IizEm.js} +5 -5
  35. package/dist/component/{kanban-definition-UN3LZRKU-Lfcidbpn.js → kanban-definition-UN3LZRKU-CgWqLfFM.js} +3 -3
  36. package/dist/component/{linear-CtCl_nrs.js → linear-D1rJivs3.js} +2 -2
  37. package/dist/component/{mermaid-GHXKKRXX-CnzRBGo3.js → mermaid-GHXKKRXX-iO2IZZUN.js} +31474 -30252
  38. package/dist/component/{mindmap-definition-RKZ34NQL-RZVaz4dV.js → mindmap-definition-RKZ34NQL-DeQED-9b.js} +4 -4
  39. package/dist/component/{pieDiagram-4H26LBE5-CEwcfNwI.js → pieDiagram-4H26LBE5-CZ5Zt_mz.js} +4 -4
  40. package/dist/component/{quadrantDiagram-W4KKPZXB-BJBEiTgK.js → quadrantDiagram-W4KKPZXB-Dib1AukJ.js} +3 -3
  41. package/dist/component/{requirementDiagram-4Y6WPE33-CVHog8O-.js → requirementDiagram-4Y6WPE33-DubjTJYS.js} +4 -4
  42. package/dist/component/{sankeyDiagram-5OEKKPKP-Cn1N0qrl.js → sankeyDiagram-5OEKKPKP-Cq2S3XKs.js} +2 -2
  43. package/dist/component/{sequenceDiagram-3UESZ5HK-CRaBqdL0.js → sequenceDiagram-3UESZ5HK-BUo5k0zn.js} +4 -4
  44. package/dist/component/{stateDiagram-AJRCARHV-9q4hv0ii.js → stateDiagram-AJRCARHV-DJwQp0D7.js} +3 -3
  45. package/dist/component/{stateDiagram-v2-BHNVJYJU-By7O-5eN.js → stateDiagram-v2-BHNVJYJU-BX77P5aq.js} +3 -3
  46. package/dist/component/{timeline-definition-PNZ67QCA-BWfxZI7f.js → timeline-definition-PNZ67QCA-DnQ481VI.js} +3 -3
  47. package/dist/component/{vennDiagram-CIIHVFJN-B_PQ6bU6.js → vennDiagram-CIIHVFJN-BQ0X92lQ.js} +2 -2
  48. package/dist/component/{wardleyDiagram-YWT4CUSO-P7tCzeA0.js → wardleyDiagram-YWT4CUSO-CMTnjVTA.js} +3 -3
  49. package/dist/component/{xychartDiagram-2RQKCTM6-B4Z_Zrko.js → xychartDiagram-2RQKCTM6-BLSiRWug.js} +3 -3
  50. package/dist/components/embed/AgentChatIcon.d.ts +16 -0
  51. package/dist/components/embed/AgentPhaseIcon.d.ts +17 -0
  52. package/dist/components/embed/EmbedAvatar.d.ts +14 -2
  53. package/dist/components/embed/EmbedRail.d.ts +12 -1
  54. package/dist/components/embed/EmbedSessions.d.ts +22 -8
  55. package/dist/embed/adoption-notice.d.ts +22 -0
  56. package/dist/embed/auth0-cache.d.ts +32 -0
  57. package/dist/embed/auth0-refresh.d.ts +8 -5
  58. package/dist/embed/copy.d.ts +2 -0
  59. package/dist/embed/dock-state.d.ts +16 -0
  60. package/dist/embed/global.d.ts +6 -0
  61. package/dist/embed/host-layout-vars.d.ts +24 -0
  62. package/dist/embed/host-push-controller.d.ts +67 -0
  63. package/dist/embed/host-surface.d.ts +57 -0
  64. package/dist/embed/voice/agent-spawn.d.ts +38 -0
  65. package/dist/embed/voice/audio-utils.d.ts +6 -0
  66. package/dist/embed/voice/call-active-marker.d.ts +67 -0
  67. package/dist/embed/voice/line-dispatch.d.ts +13 -4
  68. package/dist/embed/voice/line-run-reader.d.ts +13 -0
  69. package/dist/embed/voice/line-slots.d.ts +61 -0
  70. package/dist/embed/voice/reconnect-offer.d.ts +29 -0
  71. package/dist/embed/voice/session-create.d.ts +26 -0
  72. package/dist/embed/voice/voice-http.d.ts +12 -0
  73. package/dist/embed/voice-bus.d.ts +2 -0
  74. package/dist/embed/voice-call-lines.d.ts +211 -14
  75. package/dist/embed/voice-call.d.ts +34 -6
  76. package/dist/i18n/messages/en.d.ts +11 -0
  77. package/dist/i18n/messages/surfaces/header.d.ts +6 -0
  78. package/dist/i18n/messages/surfaces/sessions.d.ts +3 -0
  79. package/dist/i18n/messages/surfaces/stream.d.ts +3 -0
  80. package/dist/stream/belong-chat-transport.d.ts +26 -0
  81. package/dist/stream/belong-data-parts.d.ts +8 -0
  82. package/dist/stream/route-dispatch.d.ts +17 -0
  83. package/dist/stream/stream-state-store.d.ts +7 -6
  84. package/dist/types/public.d.ts +3 -1
  85. 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-CcJHjxtI.js";
2
+ import { s as ae } from "./chunk-2J33WTMH-DdP5frJt.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-iO2IZZUN.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-DeQED-9b.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-iO2IZZUN.js";
2
+ import { p as gt } from "./chunk-4BX2VUAB-DlsylVfZ.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-BhIvhaIH.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-CZ5Zt_mz.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-iO2IZZUN.js";
2
+ import { l as te } from "./linear-D1rJivs3.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-Dib1AukJ.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-CcJHjxtI.js";
2
+ import { s as ze } from "./chunk-2J33WTMH-DdP5frJt.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-iO2IZZUN.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-DubjTJYS.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-iO2IZZUN.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-Cq2S3XKs.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-iO2IZZUN.js";
2
+ import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-Dm_d0Ags.js";
3
+ import { I as ur } from "./chunk-QZHKN3VN-D2PGEfVN.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-BUo5k0zn.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-DmcGMHHV.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-iO2IZZUN.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-DJwQp0D7.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-DmcGMHHV.js";
2
+ import { _ as l } from "./mermaid-GHXKKRXX-iO2IZZUN.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-BX77P5aq.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-iO2IZZUN.js";
2
+ import { d as ot } from "./arc-BhIvhaIH.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-DnQ481VI.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-iO2IZZUN.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-BQ0X92lQ.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-iO2IZZUN.js";
2
+ import { p as Bt } from "./chunk-4BX2VUAB-DlsylVfZ.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-CMTnjVTA.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-iO2IZZUN.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-D1rJivs3.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-BLSiRWug.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, }: {
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,11 @@ 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;
38
50
  }): 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, onToggleSpeak, onExpand, }: {
15
15
  view: EmbedView;
16
16
  collapsed: boolean;
17
17
  user: string | null;
@@ -58,6 +58,17 @@ 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
+ * An unbound line (no sessionId yet) never reaches this — the chip falls
65
+ * back to `onSelectView("chat")` instead, same as today's plain chat item. */
66
+ onSelectAgentLine: (sessionId: string) => void;
67
+ /** User closed an agent tab — RELEASES that line's slot (in memory + durably)
68
+ * and nothing else. The conversation itself is NOT deleted server-side: it
69
+ * stays in History and can be re-adopted from the avatar menu. Only offered
70
+ * for lines 2+ (line 1 is the foreground chat; see `agentItem`). */
71
+ onCloseAgentLine: (line: number) => void;
61
72
  onDeleteSession: (id: string) => void;
62
73
  onRenameSession: (id: string, title: string) => void;
63
74
  onSessionsOpen?: () => void;
@@ -4,14 +4,32 @@ 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
+ };
16
+ /**
17
+ * The "New chat" item + recent-sessions list, WITHOUT a menu shell of its own —
18
+ * the reusable half of the sessions switcher. `EmbedSessions` below wraps this
19
+ * in its own `DropdownMenu`/`DropdownMenuContent` for the rail/mobile trigger;
20
+ * `EmbedAvatar`'s History submenu wraps the SAME body in a
21
+ * `DropdownMenuSub`/`DropdownMenuSubContent` instead (Rail-D) — one
22
+ * implementation of rename/delete/select, two menu shells. Radix unmounts a
23
+ * closed Content/SubContent by default, so this component's local edit/confirm
24
+ * state resets for free on every close — no explicit reset needed here.
25
+ */
26
+ export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, }: SessionsBodyProps): import("react").JSX.Element;
7
27
  /**
8
28
  * Header control to start a new chat, switch to a recent session, rename one via
9
29
  * an inline text edit, or delete one via an inline trash → confirm flow. Rename +
10
30
  * delete are per-row inline affordances that keep the menu open (BEL-120).
11
31
  */
12
- export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, }: {
13
- sessions: readonly SessionSummary[];
14
- activeId: string | null;
32
+ export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, }: SessionsBodyProps & {
15
33
  theme: BelongTheme;
16
34
  /** Which way the menu opens — toward the panel from the rail edge, or
17
35
  * upward when the trigger lives in the mobile bottom nav bar. */
@@ -22,11 +40,7 @@ export declare function EmbedSessions({ sessions, activeId, theme, side, trigger
22
40
  /** Visible text under the trigger icon (mobile nav names its cells; the
23
41
  * rail stays icon-only). */
24
42
  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
43
  /** Fired when the menu opens — the dock refetches the list so it's fresh. */
31
44
  onOpen?: () => void;
32
45
  }): import("react").JSX.Element;
46
+ export {};
@@ -0,0 +1,22 @@
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
+ /** Test-only: forget any pending entry between test cases. */
22
+ 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;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * BEL-112 / push layout: keeps HOST `position: fixed` surfaces out from under
3
+ * the dock.
4
+ *
5
+ * `<body>` padding reserves the dock's width for everything in the normal
6
+ * flow. Fixed host UI escapes that flow — a right-anchored Simetrik drawer,
7
+ * a portal-mounted popout, a drawer scrim, a centered modal — so this
8
+ * controller finds those surfaces and writes ONE inline margin per element to
9
+ * shift or shrink them into the free viewport. The geometry lives in
10
+ * embed/host-surface.ts; this file is the DOM adapter around it.
11
+ *
12
+ * Two escape hatches for the failure modes a host can put us in:
13
+ *
14
+ * fight detection a host that repositions its own surface against our
15
+ * margin never converges (customer report: rename dialog
16
+ * shaking left↔right). Writes are budgeted per element
17
+ * within a stable footprint+viewport epoch; past the cap
18
+ * the element is left alone forever.
19
+ * yield a surface too wide to fit beside the dock can't be
20
+ * corrected at all, so the DOCK gives way instead — the
21
+ * owner collapses it to the rail via `onYieldNeeded` and
22
+ * restores on `onYieldCleared`.
23
+ *
24
+ * No React: the owner injects the two callbacks and pushes layout changes in.
25
+ */
26
+ /** Per-element inline-margin writes allowed inside one stable epoch. */
27
+ export declare const MAX_HOST_SURFACE_SHIFT_WRITES = 4;
28
+ export type HostPushLayout = {
29
+ readonly side: "left" | "right";
30
+ /** Total width the dock reserves: chat dock + plan panel + preview panel. */
31
+ readonly reservePx: number;
32
+ };
33
+ export type HostPushControllerDeps = {
34
+ /**
35
+ * A surface can't fit beside the dock — the owner should collapse. Called
36
+ * once per yield episode, never while a yield is already pending.
37
+ */
38
+ readonly onYieldNeeded: () => void;
39
+ /** Every surface that forced the yield is gone — the owner may restore. */
40
+ readonly onYieldCleared: () => void;
41
+ };
42
+ export type HostPushController = {
43
+ /** Push new layout inputs and re-evaluate (dock resized, side flipped). */
44
+ readonly setLayout: (layout: HostPushLayout) => void;
45
+ /** Request an evaluation on the next frame (coalesced). */
46
+ readonly schedule: () => void;
47
+ /** Disconnect observers and restore every margin this controller wrote. */
48
+ readonly stop: () => void;
49
+ };
50
+ /**
51
+ * Candidate host surfaces, from three complementary sources:
52
+ *
53
+ * 1. dialog-ish elements anywhere (Radix and friends set one of these);
54
+ * 2. DIRECT CHILDREN of <body> that compute to `position: fixed` — where
55
+ * React and Radix portals land, hit-testable or not;
56
+ * 3. anything currently under the dock, found by hit-testing the reserve
57
+ * band — this is what catches a fixed drawer rendered INLINE deep in the
58
+ * host's own tree, which is how plenty of hosts (Simetrik included) build
59
+ * them.
60
+ *
61
+ * Probing every element's computed style would be far too expensive for a
62
+ * MutationObserver callback; between them these three cost a bounded number of
63
+ * style reads per evaluation. `position: sticky` is deliberately excluded —
64
+ * sticky lives in the normal flow, so the body padding already moves it.
65
+ */
66
+ export declare const collectHostSurfaces: (side: "left" | "right", reservePx: number) => readonly HTMLElement[];
67
+ export declare const startHostPushController: (initialLayout: HostPushLayout, deps: HostPushControllerDeps) => HostPushController;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Pure classification + correction geometry for HOST viewport-anchored
3
+ * surfaces (drawers, popouts, side panels, modal backdrops, centered modals).
4
+ *
5
+ * The dock reserves its width with `<body>` padding, which reflows everything
6
+ * in the normal flow. `position: fixed` host UI escapes that flow and would
7
+ * render underneath the dock, so the dock corrects it with one inline margin.
8
+ * Which margin, and how far, is decided here — no DOM, no React.
9
+ *
10
+ * Three correctable shapes:
11
+ *
12
+ * full_bleed an overlay spanning the viewport (a drawer's backdrop, an
13
+ * `inset: 0` scrim). Shifting it would just move it off screen;
14
+ * a margin on the dock side SHRINKS it, which is the fix.
15
+ * anchored a drawer/panel pinned to the dock's own viewport edge.
16
+ * floating a centered modal that merely overlaps the reserve band.
17
+ *
18
+ * `anchored` and `floating` share the legacy `resolveHostModalShiftPx`
19
+ * magnitude; they are distinguished so the classification is explicit and
20
+ * testable, and so a future rule can treat them differently.
21
+ */
22
+ export type HostSurfaceRect = {
23
+ readonly left: number;
24
+ readonly right: number;
25
+ };
26
+ export type HostSurfaceKind = "clear" | "full_bleed" | "anchored" | "floating";
27
+ /**
28
+ * How far a surface edge may sit from the viewport edge and still count as
29
+ * pinned to it. Generous on purpose: hosts inset drawers and scrims by a few
30
+ * pixels (`right: 8px`, a 1px border, scrollbar-gutter compensation) and those
31
+ * are still edge-anchored — misreading one as a free-floating modal would send
32
+ * it a margin the browser cannot act on.
33
+ */
34
+ export declare const EDGE_ANCHOR_TOLERANCE_PX = 24;
35
+ /**
36
+ * The inline property a correction writes, the signed DELTA to add to whatever
37
+ * margin the host already set there, and the shape it was derived from — the
38
+ * caller needs the kind to back the correction out of a later measurement (a
39
+ * shift moves the box; a shrink moves one edge).
40
+ */
41
+ export type HostSurfaceCorrection = {
42
+ readonly property: "margin-left" | "margin-right";
43
+ readonly px: number;
44
+ readonly kind: HostSurfaceKind;
45
+ };
46
+ export declare const classifyHostSurface: (rect: HostSurfaceRect, viewportWidthPx: number, side: "left" | "right", reservePx: number) => HostSurfaceKind;
47
+ /**
48
+ * The inline correction that moves `rect` (its UNSHIFTED position) out from
49
+ * under a dock reserving `reservePx` on `side`. `px: 0` means leave it alone.
50
+ */
51
+ export declare const resolveHostSurfaceCorrection: (rect: HostSurfaceRect, viewportWidthPx: number, side: "left" | "right", reservePx: number) => HostSurfaceCorrection;
52
+ /**
53
+ * Can this surface be corrected and still sit fully on screen? A full-bleed
54
+ * overlay always can (shrinking it never pushes it off). Shifted surfaces are
55
+ * judged by the legacy fit test. False means the dock must yield instead.
56
+ */
57
+ export declare const canHostSurfaceFitBesideDock: (rect: HostSurfaceRect, viewportWidthPx: number, side: "left" | "right", reservePx: number) => boolean;