@belonguniverseai/react-sdk 0.5.0 → 0.6.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.
- package/dist/api/client.d.ts +93 -8
- package/dist/api/skills.d.ts +6 -1
- package/dist/component/{arc-CtyXH_sw.js → arc-BziuP1aB.js} +2 -2
- package/dist/component/{architectureDiagram-3BPJPVTR-C6NZifN6.js → architectureDiagram-3BPJPVTR-BVwa4QrX.js} +3 -3
- package/dist/component/{blockDiagram-GPEHLZMM-_-K66LP4.js → blockDiagram-GPEHLZMM-CKNImKL2.js} +4 -4
- package/dist/component/{c4Diagram-AAUBKEIU-DL-K-sZW.js → c4Diagram-AAUBKEIU-BcbjcMPA.js} +3 -3
- package/dist/component/{channel-scCA9sxi.js → channel-vtwXLQ1f.js} +2 -2
- package/dist/component/{chunk-2J33WTMH-Dkd9OyM1.js → chunk-2J33WTMH-C6wmoOIl.js} +2 -2
- package/dist/component/{chunk-4BX2VUAB-JbEXcQ3q.js → chunk-4BX2VUAB-DySNI9mv.js} +2 -2
- package/dist/component/{chunk-55IACEB6-Dg96dHvQ.js → chunk-55IACEB6-C4M2cG_c.js} +2 -2
- package/dist/component/{chunk-727SXJPM-Cu3-awqi.js → chunk-727SXJPM-BTqmmKKN.js} +6 -6
- package/dist/component/{chunk-AQP2D5EJ-DLX62MPh.js → chunk-AQP2D5EJ-DiS4043D.js} +4 -4
- package/dist/component/{chunk-FMBD7UC4-BxU0KQRK.js → chunk-FMBD7UC4-Bu05DXe4.js} +2 -2
- package/dist/component/{chunk-ND2GUHAM-CEQj3so6.js → chunk-ND2GUHAM-DfbE4oOG.js} +2 -2
- package/dist/component/{chunk-QZHKN3VN-BWgwT04-.js → chunk-QZHKN3VN-Y8mfHGtB.js} +2 -2
- package/dist/component/{classDiagram-4FO5ZUOK-Ton6m2pw.js → classDiagram-4FO5ZUOK-ChO_m1Vd.js} +3 -3
- package/dist/component/{classDiagram-v2-Q7XG4LA2-Ton6m2pw.js → classDiagram-v2-Q7XG4LA2-ChO_m1Vd.js} +3 -3
- package/dist/component/{cose-bilkent-S5V4N54A-Dja09hp6.js → cose-bilkent-S5V4N54A-B1DDE26M.js} +2 -2
- package/dist/component/{dagre-BM42HDAG-Ch6fODe-.js → dagre-BM42HDAG-BmujNepD.js} +2 -2
- package/dist/component/{diagram-2AECGRRQ-DdDr6tHi.js → diagram-2AECGRRQ-Cbck9DRQ.js} +3 -3
- package/dist/component/{diagram-5GNKFQAL-BT2qfjUH.js → diagram-5GNKFQAL-csRK5clZ.js} +4 -4
- package/dist/component/{diagram-KO2AKTUF-UcWrBVNK.js → diagram-KO2AKTUF-DD3KqnFb.js} +3 -3
- package/dist/component/{diagram-LMA3HP47-D-BCOeIt.js → diagram-LMA3HP47-D6-oakzD.js} +3 -3
- package/dist/component/{diagram-OG6HWLK6-CJDJgfQO.js → diagram-OG6HWLK6-DfxY1IE7.js} +4 -4
- package/dist/component/{erDiagram-TEJ5UH35-kY5sdKqg.js → erDiagram-TEJ5UH35-BDV1C23R.js} +5 -5
- package/dist/component/{flowDiagram-I6XJVG4X-9OddgRiE.js → flowDiagram-I6XJVG4X-mEwMtE2U.js} +7 -7
- package/dist/component/{ganttDiagram-6RSMTGT7-Dc9t8llA.js → ganttDiagram-6RSMTGT7-C_dcTMQX.js} +3 -3
- package/dist/component/{gitGraphDiagram-PVQCEYII-DYjn9Ff5.js → gitGraphDiagram-PVQCEYII-CIKPPQiC.js} +4 -4
- package/dist/component/{highlighted-body-OFNGDK62-D_TDzrFY.js → highlighted-body-OFNGDK62-DpP1DD9S.js} +2 -2
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-5YYISTIA-CBPoKi7E.js → infoDiagram-5YYISTIA-DKTrvjCm.js} +2 -2
- package/dist/component/{ishikawaDiagram-YF4QCWOH-C3rChBg5.js → ishikawaDiagram-YF4QCWOH-BcuncMnU.js} +2 -2
- package/dist/component/{journeyDiagram-JHISSGLW-DVTybrGG.js → journeyDiagram-JHISSGLW-BTTgY3Of.js} +5 -5
- package/dist/component/{kanban-definition-UN3LZRKU-DNMLC4NQ.js → kanban-definition-UN3LZRKU-D9K5810E.js} +3 -3
- package/dist/component/{linear-B_oPUR6_.js → linear-DondfmT2.js} +2 -2
- package/dist/component/{mermaid-GHXKKRXX-CjZr9GWr.js → mermaid-GHXKKRXX-j_0KsvYs.js} +28535 -28932
- package/dist/component/{mindmap-definition-RKZ34NQL-CErhrdm3.js → mindmap-definition-RKZ34NQL-DMC3vCUq.js} +4 -4
- package/dist/component/{pieDiagram-4H26LBE5-Cno02n3_.js → pieDiagram-4H26LBE5-DmYi_D3l.js} +4 -4
- package/dist/component/{quadrantDiagram-W4KKPZXB-DQV7ytCz.js → quadrantDiagram-W4KKPZXB-DMos-d69.js} +3 -3
- package/dist/component/{requirementDiagram-4Y6WPE33-DBORDX5u.js → requirementDiagram-4Y6WPE33-BpgIfnhZ.js} +4 -4
- package/dist/component/{sankeyDiagram-5OEKKPKP-gNBaVNW1.js → sankeyDiagram-5OEKKPKP-xbJGp8Ms.js} +2 -2
- package/dist/component/{sequenceDiagram-3UESZ5HK-BlxJztMa.js → sequenceDiagram-3UESZ5HK-Bnlm4mVO.js} +4 -4
- package/dist/component/{stateDiagram-AJRCARHV-2ziF_Zes.js → stateDiagram-AJRCARHV-BIooqMYf.js} +3 -3
- package/dist/component/{stateDiagram-v2-BHNVJYJU-BWmzKTMS.js → stateDiagram-v2-BHNVJYJU-C6WAOCCe.js} +3 -3
- package/dist/component/{timeline-definition-PNZ67QCA-OcHhxXWM.js → timeline-definition-PNZ67QCA-lTe5jbcD.js} +3 -3
- package/dist/component/{vennDiagram-CIIHVFJN-Fl9VlPVe.js → vennDiagram-CIIHVFJN-5RYbksB1.js} +2 -2
- package/dist/component/{wardleyDiagram-YWT4CUSO-BNHUW0Ex.js → wardleyDiagram-YWT4CUSO-BSz_UDND.js} +3 -3
- package/dist/component/{xychartDiagram-2RQKCTM6-Bog3Ddue.js → xychartDiagram-2RQKCTM6-BmzhiB0a.js} +3 -3
- package/dist/components/embed/EmbedHeader.d.ts +11 -4
- package/dist/components/embed/rail-flags.d.ts +10 -0
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/embed/slash-commands.d.ts +24 -7
- package/dist/embed/voice/call-active-marker.d.ts +75 -19
- package/dist/embed/voice/line-dispatch.d.ts +22 -20
- package/dist/embed/voice/realtime-call.d.ts +12 -0
- package/dist/embed/voice/reconnect-offer.d.ts +14 -5
- package/dist/embed/voice-call-lines.d.ts +4 -25
- package/dist/embed/voice-call.d.ts +112 -73
- package/dist/i18n/messages/en.d.ts +27 -6
- package/dist/i18n/messages/surfaces/embedMisc.d.ts +0 -3
- package/dist/i18n/messages/surfaces/stream.d.ts +74 -0
- package/dist/stream/ai-sdk-part-renderers.d.ts +23 -6
- package/dist/stream/belong-chat-transport.d.ts +57 -0
- package/dist/stream/belong-data-parts.d.ts +44 -1
- package/dist/stream/run-line-progress.d.ts +6 -5
- package/dist/stream/tool-action-label.d.ts +16 -0
- package/package.json +1 -1
- package/dist/components/embed/PoweredByBelong.d.ts +0 -7
- package/dist/embed/voice/agent-queue.d.ts +0 -106
- package/dist/embed/voice/call-roster-store.d.ts +0 -110
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as oe } from "./chunk-55IACEB6-
|
|
2
|
-
import { s as ae } from "./chunk-2J33WTMH-
|
|
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-
|
|
1
|
+
import { g as oe } from "./chunk-55IACEB6-C4M2cG_c.js";
|
|
2
|
+
import { s as ae } from "./chunk-2J33WTMH-C6wmoOIl.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-j_0KsvYs.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-
|
|
833
|
+
//# sourceMappingURL=mindmap-definition-RKZ34NQL-DMC3vCUq.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-
|
|
2
|
-
import { p as gt } from "./chunk-4BX2VUAB-
|
|
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-j_0KsvYs.js";
|
|
2
|
+
import { p as gt } from "./chunk-4BX2VUAB-DySNI9mv.js";
|
|
3
3
|
import { p as dt } from "./wardley-L42UT6IY-HA1eSIS_.js";
|
|
4
|
-
import { d as P } from "./arc-
|
|
4
|
+
import { d as P } from "./arc-BziuP1aB.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-
|
|
166
|
+
//# sourceMappingURL=pieDiagram-4H26LBE5-DmYi_D3l.js.map
|
package/dist/component/{quadrantDiagram-W4KKPZXB-DQV7ytCz.js → quadrantDiagram-W4KKPZXB-DMos-d69.js}
RENAMED
|
@@ -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-
|
|
2
|
-
import { l as te } from "./linear-
|
|
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-j_0KsvYs.js";
|
|
2
|
+
import { l as te } from "./linear-DondfmT2.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-
|
|
1033
|
+
//# sourceMappingURL=quadrantDiagram-W4KKPZXB-DMos-d69.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as Ge } from "./chunk-55IACEB6-
|
|
2
|
-
import { s as ze } from "./chunk-2J33WTMH-
|
|
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-
|
|
1
|
+
import { g as Ge } from "./chunk-55IACEB6-C4M2cG_c.js";
|
|
2
|
+
import { s as ze } from "./chunk-2J33WTMH-C6wmoOIl.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-j_0KsvYs.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-
|
|
888
|
+
//# sourceMappingURL=requirementDiagram-4Y6WPE33-BpgIfnhZ.js.map
|
package/dist/component/{sankeyDiagram-5OEKKPKP-gNBaVNW1.js → sankeyDiagram-5OEKKPKP-xbJGp8Ms.js}
RENAMED
|
@@ -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-
|
|
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-j_0KsvYs.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-
|
|
862
|
+
//# sourceMappingURL=sankeyDiagram-5OEKKPKP-xbJGp8Ms.js.map
|
package/dist/component/{sequenceDiagram-3UESZ5HK-BlxJztMa.js → sequenceDiagram-3UESZ5HK-Bnlm4mVO.js}
RENAMED
|
@@ -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-
|
|
2
|
-
import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-
|
|
3
|
-
import { I as ur } from "./chunk-QZHKN3VN-
|
|
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-j_0KsvYs.js";
|
|
2
|
+
import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-DfbE4oOG.js";
|
|
3
|
+
import { I as ur } from "./chunk-QZHKN3VN-Y8mfHGtB.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-
|
|
2897
|
+
//# sourceMappingURL=sequenceDiagram-3UESZ5HK-Bnlm4mVO.js.map
|
package/dist/component/{stateDiagram-AJRCARHV-2ziF_Zes.js → stateDiagram-AJRCARHV-BIooqMYf.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-
|
|
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-
|
|
1
|
+
import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-DiS4043D.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-j_0KsvYs.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-
|
|
266
|
+
//# sourceMappingURL=stateDiagram-AJRCARHV-BIooqMYf.js.map
|
package/dist/component/{stateDiagram-v2-BHNVJYJU-BWmzKTMS.js → stateDiagram-v2-BHNVJYJU-C6WAOCCe.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-
|
|
2
|
-
import { _ as l } from "./mermaid-GHXKKRXX-
|
|
1
|
+
import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-DiS4043D.js";
|
|
2
|
+
import { _ as l } from "./mermaid-GHXKKRXX-j_0KsvYs.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-
|
|
19
|
+
//# sourceMappingURL=stateDiagram-v2-BHNVJYJU-C6WAOCCe.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-
|
|
2
|
-
import { d as ot } from "./arc-
|
|
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-j_0KsvYs.js";
|
|
2
|
+
import { d as ot } from "./arc-BziuP1aB.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-
|
|
1058
|
+
//# sourceMappingURL=timeline-definition-PNZ67QCA-lTe5jbcD.js.map
|
package/dist/component/{vennDiagram-CIIHVFJN-Fl9VlPVe.js → vennDiagram-CIIHVFJN-5RYbksB1.js}
RENAMED
|
@@ -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-
|
|
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-j_0KsvYs.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-
|
|
1560
|
+
//# sourceMappingURL=vennDiagram-CIIHVFJN-5RYbksB1.js.map
|
package/dist/component/{wardleyDiagram-YWT4CUSO-BNHUW0Ex.js → wardleyDiagram-YWT4CUSO-BSz_UDND.js}
RENAMED
|
@@ -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-
|
|
2
|
-
import { p as Bt } from "./chunk-4BX2VUAB-
|
|
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-j_0KsvYs.js";
|
|
2
|
+
import { p as Bt } from "./chunk-4BX2VUAB-DySNI9mv.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-
|
|
681
|
+
//# sourceMappingURL=wardleyDiagram-YWT4CUSO-BSz_UDND.js.map
|
package/dist/component/{xychartDiagram-2RQKCTM6-Bog3Ddue.js → xychartDiagram-2RQKCTM6-BmzhiB0a.js}
RENAMED
|
@@ -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-
|
|
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-j_0KsvYs.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-
|
|
4
|
+
import { l as Dt } from "./linear-DondfmT2.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-
|
|
1375
|
+
//# sourceMappingURL=xychartDiagram-2RQKCTM6-BmzhiB0a.js.map
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
|
|
2
2
|
/**
|
|
3
|
-
* Slim brand bar at the top of the chat: the mark + the brand/view title,
|
|
4
|
-
* a small
|
|
5
|
-
*
|
|
3
|
+
* Slim brand bar at the top of the chat: the mark + the brand/view title, and
|
|
4
|
+
* a small second line under it — the name of the conversation on screen when
|
|
5
|
+
* the dock passes one (`subtitle`, chat view), otherwise the "by Belong"
|
|
6
|
+
* tagline when a tenant brand is active. Knowing WHICH chat is open beats the
|
|
7
|
+
* co-branding line on the one surface where both compete for the same slot.
|
|
8
|
+
* Action controls live in the rail (EmbedRail), not here — with TWO
|
|
9
|
+
* exceptions:
|
|
6
10
|
* • `onExportChat` — download the current conversation as JSON. Stateful:
|
|
7
11
|
* while the backend generates the export the button shows a spinner and
|
|
8
12
|
* is disabled; the label (aria + hover title) carries the timestamp of
|
|
@@ -13,8 +17,11 @@ import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
|
|
|
13
17
|
* is nothing to fall back to), so the single-chat header stays exactly as
|
|
14
18
|
* it always was.
|
|
15
19
|
*/
|
|
16
|
-
export declare function EmbedHeader({ title, palette, brand, onExportChat, exportState, exportChatLabel, onCloseChat, closeChatLabel, }: {
|
|
20
|
+
export declare function EmbedHeader({ title, subtitle, palette, brand, onExportChat, exportState, exportChatLabel, onCloseChat, closeChatLabel, }: {
|
|
17
21
|
title: string;
|
|
22
|
+
/** Second header line — the current chat's name (chat view). Takes the slot
|
|
23
|
+
* the "by Belong" tagline occupies when absent. */
|
|
24
|
+
subtitle?: string;
|
|
18
25
|
palette: BelongThemePalette;
|
|
19
26
|
brand: BelongThemeBrand;
|
|
20
27
|
/** Request a chat export (rendered only when provided — chat view with a
|
|
@@ -30,3 +30,13 @@
|
|
|
30
30
|
* without touching anything else.
|
|
31
31
|
*/
|
|
32
32
|
export declare const MULTI_AGENT_RAIL_ENABLED = true;
|
|
33
|
+
/**
|
|
34
|
+
* The dial button (`CallButton`) in the desktop rail and the mobile nav bar.
|
|
35
|
+
*
|
|
36
|
+
* Currently `false`: the button is HIDDEN, the voice stack is not. Everything
|
|
37
|
+
* behind it — `startCall`/`endCall`, the CallScreen, push-to-talk, the
|
|
38
|
+
* reload-survival reconnect offer, the rail voice cue — is untouched and still
|
|
39
|
+
* reachable; only this entry point is off. Flip to `true` to bring the button
|
|
40
|
+
* back with no other change.
|
|
41
|
+
*/
|
|
42
|
+
export declare const VOICE_CALL_BUTTON_ENABLED = false;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "link" | "destructive" | "
|
|
4
|
+
variant?: "default" | "link" | "destructive" | "notice" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
5
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
6
|
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
|
|
7
7
|
asChild?: boolean;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { CommandSummary, SkillSummary } from '../api/skills.ts';
|
|
2
|
-
/**
|
|
2
|
+
/** Fallback group label for a workspace command the backend could not
|
|
3
|
+
* attribute to a plugin (flat project commands). Plugin-attributed commands
|
|
4
|
+
* render under their own section instead — see `cmd.group` below. */
|
|
3
5
|
export declare const COMMAND_GROUP = "Commands";
|
|
4
6
|
/**
|
|
5
7
|
* Map a workspace-tree command onto the `SkillSummary` shape the picker
|
|
6
|
-
* renders — display only.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* renders — display only. A command the backend attributed to a discovered
|
|
9
|
+
* plugin (`cmd.group` set — e.g. "sk-data-lab", "implementation-playbook")
|
|
10
|
+
* renders under that plugin's own section; a flat command with no plugin
|
|
11
|
+
* falls back to the generic {@link COMMAND_GROUP}. At submit time a command
|
|
12
|
+
* token is deliberately NOT matched by {@link parseSlashSubmission} (commands
|
|
13
|
+
* aren't in the skills list), so the draft falls through and posts as RAW
|
|
14
|
+
* text: the worker-side Agent SDK parses the leading-slash message against
|
|
15
|
+
* its command registry.
|
|
10
16
|
*/
|
|
11
17
|
export declare const commandOptions: (commands: readonly CommandSummary[]) => readonly SkillSummary[];
|
|
12
18
|
/**
|
|
@@ -52,7 +58,10 @@ export declare const parseBuiltinCommand: (draft: string) => BuiltinCommand | nu
|
|
|
52
58
|
/**
|
|
53
59
|
* The slash menu's option list: built-ins merged ahead of the skills, ranked
|
|
54
60
|
* by {@link filterSkills} (prefix matches first; input order — built-ins
|
|
55
|
-
* before skills — breaks ties within each bucket)
|
|
61
|
+
* before skills — breaks ties within each bucket), then bucketed into
|
|
62
|
+
* contiguous per-group sections by {@link bucketByGroup} — see that
|
|
63
|
+
* function's comment for why grouping is a required SECOND pass over the
|
|
64
|
+
* ranked list, not something ranking alone gives you for free.
|
|
56
65
|
*
|
|
57
66
|
* Built-ins are offered for a token at ANY position (BEL-167). They used to be
|
|
58
67
|
* withheld from a mid-message token because {@link parseBuiltinCommand} could
|
|
@@ -123,5 +132,13 @@ export declare const hoistCommandSubmission: (draft: string, commands: readonly
|
|
|
123
132
|
* The argument-taking builtins ROTATE rather than splice — see below.
|
|
124
133
|
*/
|
|
125
134
|
export declare const hoistBuiltinCommand: (draft: string) => string;
|
|
126
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Name-prefix matches first, then other name/description substring matches,
|
|
137
|
+
* then GROUP word-prefix matches (plugin-section search, ≥3 chars — see
|
|
138
|
+
* {@link GROUP_MATCH_MIN_QUERY_LENGTH}): typing "impl", "data", or a plugin's
|
|
139
|
+
* name (e.g. "sk-data-lab") surfaces every entry in that section even when
|
|
140
|
+
* the query hits neither the name nor the description. Ranked last so an
|
|
141
|
+
* entry actually named after the query still takes the top slot — a query
|
|
142
|
+
* that happens to also be a group name doesn't bump a direct name match down.
|
|
143
|
+
*/
|
|
127
144
|
export declare const filterSkills: (skills: readonly SkillSummary[], query: string) => readonly SkillSummary[];
|
|
@@ -2,33 +2,81 @@ import { z } from 'zod';
|
|
|
2
2
|
declare const callActiveMarkerSchema: z.ZodObject<{
|
|
3
3
|
active: z.ZodLiteral<true>;
|
|
4
4
|
startedAtMs: z.ZodNumber;
|
|
5
|
+
/** Last proof-of-life heartbeat — see the module doc comment above. Required:
|
|
6
|
+
* a marker written by a build that predates this field cannot prove the call
|
|
7
|
+
* was recently alive, so it must parse as absent rather than as "fresh". */
|
|
8
|
+
updatedAtMs: z.ZodNumber;
|
|
9
|
+
/** Consecutive auto-redial attempts with no healthy call since. Required for
|
|
10
|
+
* the same pre-upgrade reason as `updatedAtMs`. */
|
|
11
|
+
redialCount: z.ZodNumber;
|
|
5
12
|
/** Recap of the call so far, same shape/cap as `buildCallContextDigest()`.
|
|
6
13
|
* Empty until the first user/agent timeline row lands. */
|
|
7
14
|
contextDigest: z.ZodString;
|
|
8
15
|
}, "strip", z.ZodTypeAny, {
|
|
9
16
|
active: true;
|
|
10
17
|
startedAtMs: number;
|
|
18
|
+
updatedAtMs: number;
|
|
19
|
+
redialCount: number;
|
|
11
20
|
contextDigest: string;
|
|
12
21
|
}, {
|
|
13
22
|
active: true;
|
|
14
23
|
startedAtMs: number;
|
|
24
|
+
updatedAtMs: number;
|
|
25
|
+
redialCount: number;
|
|
15
26
|
contextDigest: string;
|
|
16
27
|
}>;
|
|
17
28
|
export type CallActiveMarker = z.infer<typeof callActiveMarkerSchema>;
|
|
18
29
|
/** The tab's persisted call marker, or null when absent/malformed — a
|
|
19
30
|
* corrupted or pre-this-feature record just means "nothing to redial". */
|
|
20
31
|
export declare const readCallActiveMarker: () => CallActiveMarker | null;
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Why the call that just reached `in_call` was dialled.
|
|
34
|
+
*
|
|
35
|
+
* `"user"` — a dial the user asked for outright, which is a fresh intent: it
|
|
36
|
+
* inherits nothing from an interrupted call, redial streak included.
|
|
37
|
+
* `"redial"` — a reconnect of an interrupted call, which CONTINUES that
|
|
38
|
+
* streak. `voice-call.ts` maps its `startCall({ isReconnect })` option
|
|
39
|
+
* straight onto this, so the rail's manual "Reconnect" click also continues
|
|
40
|
+
* the streak rather than resetting it: the count only ever gates the
|
|
41
|
+
* AUTOMATIC redial, so continuing it errs toward asking the user again rather
|
|
42
|
+
* than toward reopening the microphone on its own.
|
|
43
|
+
*/
|
|
44
|
+
export type CallDialOrigin = "user" | "redial";
|
|
45
|
+
/** Mark the call live — called on the `in_call` transition. `updatedAtMs`
|
|
46
|
+
* starts equal to `startedAtMs` (no heartbeat has ticked yet). `redialCount`
|
|
47
|
+
* carries over from the interrupted call on a `"redial"` (see the module doc:
|
|
48
|
+
* reaching `in_call` is NOT proof a redial worked — only the 30s healthy-call
|
|
49
|
+
* timer's {@link resetRedialCount} is) and starts at zero on a `"user"` dial.
|
|
50
|
+
* Starts with an empty digest; {@link refreshCallActiveMarkerContext} fills it
|
|
51
|
+
* in as the call progresses. */
|
|
52
|
+
export declare const writeCallActiveMarker: (origin: CallDialOrigin) => void;
|
|
25
53
|
/** Update the persisted digest of an already-active marker. No-op when no
|
|
26
54
|
* marker is active — a digest has nothing to attach itself to once the call
|
|
27
55
|
* has ended. */
|
|
28
56
|
export declare const refreshCallActiveMarkerContext: (contextDigest: string) => void;
|
|
57
|
+
/** How often `voice-call.ts` re-stamps `updatedAtMs` while a call is
|
|
58
|
+
* `in_call` — the proof-of-life cadence a future reload's staleness check is
|
|
59
|
+
* accurate to. */
|
|
60
|
+
export declare const MARKER_HEARTBEAT_MS = 10000;
|
|
61
|
+
/** Refresh the marker's proof-of-life stamp. Called on a
|
|
62
|
+
* `MARKER_HEARTBEAT_MS` interval for as long as the call is live — see the
|
|
63
|
+
* module doc comment for why this can't just ride `refreshCallActiveMarkerContext`.
|
|
64
|
+
* No-op when no marker is active, mirroring `refreshCallActiveMarkerContext`:
|
|
65
|
+
* a heartbeat has nothing left to touch once the call has ended. */
|
|
66
|
+
export declare const touchCallActiveMarker: () => void;
|
|
67
|
+
/** Record one more auto-redial attempt against the persisted marker. No-op
|
|
68
|
+
* when no marker is active — mirrors `refreshCallActiveMarkerContext`. */
|
|
69
|
+
export declare const noteRedialAttempt: () => void;
|
|
70
|
+
/** Zero the redial counter — called once a (re)dialed call has stayed up long
|
|
71
|
+
* enough to call healthy, so it stops counting against the next drop. No-op
|
|
72
|
+
* when no marker is active — mirrors `refreshCallActiveMarkerContext`. */
|
|
73
|
+
export declare const resetRedialCount: () => void;
|
|
29
74
|
/** Call ended (explicit hangup or terminal error) — no reload should redial. */
|
|
30
75
|
export declare const clearCallActiveMarker: () => void;
|
|
31
|
-
|
|
76
|
+
/** What the dock's boot effect should do about an interrupted call: dial it
|
|
77
|
+
* back automatically, put the one-click offer on the rail's call button, or
|
|
78
|
+
* leave the dock alone. */
|
|
79
|
+
export type ReconnectAction = "redial" | "offer" | "skip";
|
|
32
80
|
/**
|
|
33
81
|
* How long after the interrupted call started we still OFFER to reconnect. A
|
|
34
82
|
* reload lands in seconds; a tab the browser restored from a much older session
|
|
@@ -37,29 +85,37 @@ export type ReconnectOfferDecision = "offer" | "skip";
|
|
|
37
85
|
*/
|
|
38
86
|
export declare const RECONNECT_OFFER_MAX_AGE_MS = 600000;
|
|
39
87
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* the
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
|
|
88
|
+
* How stale the marker may be and still earn an AUTOMATIC redial. A reload
|
|
89
|
+
* lands within a couple of seconds; a tab the browser restored from a much
|
|
90
|
+
* older session must not silently reopen the microphone. Read against
|
|
91
|
+
* `updatedAtMs` (the heartbeat), never `startedAtMs` — a call that has been
|
|
92
|
+
* live for 20 minutes must still come back.
|
|
93
|
+
*/
|
|
94
|
+
export declare const REDIAL_MAX_STALENESS_MS = 120000;
|
|
95
|
+
/** Consecutive automatic redials before falling back to the button. A host
|
|
96
|
+
* that crash-loops must not reopen the mic on every load. */
|
|
97
|
+
export declare const MAX_CONSECUTIVE_REDIALS = 2;
|
|
98
|
+
/**
|
|
99
|
+
* What the dock's boot effect should do about a call this tab was in when the
|
|
100
|
+
* page went away.
|
|
50
101
|
*
|
|
51
102
|
* Pure so the branching is unit-testable without React or WebRTC: a marker
|
|
52
103
|
* means a call was live when the page went away; `tokenReady` mirrors the same
|
|
53
104
|
* auth-readiness gate the login screen polls; `alreadyOffered` is the one-shot
|
|
54
|
-
* guard (the
|
|
55
|
-
* consumed against `nowMs` so a stale marker
|
|
105
|
+
* guard (the decision is acted on at most once per page load); and the
|
|
106
|
+
* marker's timestamps are consumed against `nowMs` so a stale marker can
|
|
107
|
+
* neither dial nor offer forever.
|
|
108
|
+
*
|
|
109
|
+
* The gates are what make an unattended `"redial"` acceptable — see the module
|
|
110
|
+
* doc. `"offer"` is the same one-click fallback this file has always decided,
|
|
111
|
+
* now reached only when a redial's gates say no.
|
|
56
112
|
*/
|
|
57
|
-
export declare const
|
|
113
|
+
export declare const decideReconnectAction: (input: {
|
|
58
114
|
readonly marker: CallActiveMarker | null;
|
|
59
115
|
readonly tokenReady: boolean;
|
|
60
116
|
readonly alreadyOffered: boolean;
|
|
61
117
|
readonly nowMs: number;
|
|
62
|
-
}) =>
|
|
118
|
+
}) => ReconnectAction;
|
|
63
119
|
export declare const peekReconnectOffered: () => boolean;
|
|
64
120
|
export declare const markReconnectOffered: () => void;
|
|
65
121
|
/** Test-only: forget the one-shot guard between test cases. */
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
* a workspace must land in THAT workspace, not the shared legacy root — so the
|
|
18
18
|
* create body carries the effective `workspaceExternalId` (absent when the host
|
|
19
19
|
* runs unscoped). The line's registry label seeds the session title when one
|
|
20
|
-
* exists; otherwise (U4 — the common case
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* the
|
|
24
|
-
*
|
|
20
|
+
* exists; otherwise (U4 — the common case, since nothing seeds a freshly
|
|
21
|
+
* materialized line's registry label any more) the REQUEST itself does, so the
|
|
22
|
+
* sessions list still names the background conversation by what it's actually
|
|
23
|
+
* about ("Reconcile the July invoices"), not the agent that happened to run
|
|
24
|
+
* it.
|
|
25
25
|
*
|
|
26
26
|
* BOOT RE-ATTACH (F3/R4): `attachLineReader` below is the ONE seam that wires
|
|
27
|
-
* a
|
|
27
|
+
* a SLOT-tracked line-run reader onto a line, shared by a fresh dispatch
|
|
28
28
|
* (this module, right after a POST accepts a run) and `reattachPendingLineRuns`
|
|
29
29
|
* (called once at boot, after `initAgentLines()` rehydrates the registry)
|
|
30
30
|
* resuming a run that was still going when the page reloaded. Both paths
|
|
@@ -32,26 +32,28 @@
|
|
|
32
32
|
* navigate/artifact/finish/error callbacks — a reload must behave exactly like
|
|
33
33
|
* the live dispatch it is standing in for, not a parallel, easier-to-drift copy.
|
|
34
34
|
*
|
|
35
|
-
* TWO READER KINDS (BEL-90). This module
|
|
36
|
-
*
|
|
35
|
+
* TWO READER KINDS (BEL-90). This module attaches two, and which callback set
|
|
36
|
+
* a caller gets is a correctness question, not a style one. NEITHER speaks —
|
|
37
|
+
* a background line never reaches the call (see voice-call.ts's agent-line
|
|
38
|
+
* section) — but they write different things:
|
|
37
39
|
*
|
|
38
|
-
* - `attachLineReader` — the
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
40
|
+
* - `attachLineReader` — the SLOT reader, for a run this module dispatched.
|
|
41
|
+
* It owns the durable slot runId (`persistSlotRun`, set on dispatch and
|
|
42
|
+
* cleared on terminal), writes the registry through
|
|
43
|
+
* `deliverLineReply`/`deliverLineFailure`/`notifyLinePhase`/
|
|
44
|
+
* `notifyLineApprovalNeeded`, and additionally opens an artifact preview
|
|
45
|
+
* and dispatches host route navigation.
|
|
44
46
|
* - `attachLineProgressReader` — the plain-progress reader, for a run the
|
|
45
47
|
* user started by TYPING that was still in flight at reload. It goes
|
|
46
|
-
* through `reportRunLineProgress
|
|
47
|
-
*
|
|
48
|
-
*
|
|
48
|
+
* through `reportRunLineProgress`, touches only the registry, and — see
|
|
49
|
+
* its own doc — deliberately writes no slot runId, opens no panel, and
|
|
50
|
+
* drives no navigation.
|
|
49
51
|
*/
|
|
50
52
|
/** Abort every live line reader and invalidate their callbacks (call teardown).
|
|
51
53
|
* Subscribed below to fire whenever a call leaves in_call/connecting. */
|
|
52
54
|
export declare const abortAllLineReaders: () => void;
|
|
53
55
|
/** Test-only: drop every plain-progress reader (and the active-session latch)
|
|
54
|
-
* so a case never inherits either from the previous case. The
|
|
56
|
+
* so a case never inherits either from the previous case. The slot
|
|
55
57
|
* readers have `abortAllLineReaders`; these deliberately do NOT ride on it — a
|
|
56
58
|
* voice call ending has nothing to do with a typed run still streaming. */
|
|
57
59
|
export declare const __detachLineProgressReadersForTest: () => void;
|
|
@@ -66,8 +68,8 @@ export declare const __detachLineProgressReadersForTest: () => void;
|
|
|
66
68
|
* TWO paths, because the two dispatch kinds have genuinely different
|
|
67
69
|
* contracts (BEL-90 / B1 — see `attachLineProgressReader`'s doc):
|
|
68
70
|
*
|
|
69
|
-
* - F3/R4, UNCHANGED — a line whose durable SLOT carries a runId
|
|
70
|
-
*
|
|
71
|
+
* - F3/R4, UNCHANGED — a line whose durable SLOT carries a runId went
|
|
72
|
+
* through `dispatchToLine`. It gets the slot reader, on every line that has
|
|
71
73
|
* one, INCLUDING when its session is the one on screen. That last part is
|
|
72
74
|
* load-bearing: `persistSlotRun(line, null)` in that reader's terminal
|
|
73
75
|
* callbacks is the durable slot's clearer, and skipping the on-screen line
|
|
@@ -26,6 +26,12 @@ export type RealtimeCallHandle = {
|
|
|
26
26
|
readonly sendEvent: (event: Record<string, unknown>) => void;
|
|
27
27
|
/** Toggle the local mic track without renegotiating. */
|
|
28
28
|
readonly setMuted: (muted: boolean) => void;
|
|
29
|
+
/** Ask the browser to play the agent's audio again after it refused (see
|
|
30
|
+
* {@link ConnectRealtimeCallInput.onAudioBlocked}). Resolves true only when
|
|
31
|
+
* playback actually started. Call it STRAIGHT from the user's tap handler:
|
|
32
|
+
* the `play()` inside runs before the first await, so the gesture the
|
|
33
|
+
* browser is holding out for is still on the stack. */
|
|
34
|
+
readonly resumeAudio: () => Promise<boolean>;
|
|
29
35
|
/** Tear down mic, peer connection, and audio playback. Idempotent. */
|
|
30
36
|
readonly close: () => void;
|
|
31
37
|
};
|
|
@@ -52,5 +58,11 @@ export type ConnectRealtimeCallInput = {
|
|
|
52
58
|
readonly local: MediaStream;
|
|
53
59
|
readonly remote: MediaStream;
|
|
54
60
|
}) => void;
|
|
61
|
+
/** Fired when the browser REFUSES to play the agent's audio. `autoplay` is
|
|
62
|
+
* a request, not a guarantee — a page that reloaded mid-call has no fresh
|
|
63
|
+
* user gesture behind it — and a refusal we never asked about is completely
|
|
64
|
+
* silent: the call looks connected and says nothing. The store turns this
|
|
65
|
+
* into a one-tap "Tap to hear" control (`resumeAudio` above). */
|
|
66
|
+
readonly onAudioBlocked?: () => void;
|
|
55
67
|
};
|
|
56
68
|
export declare const connectRealtimeCall: (input: ConnectRealtimeCallInput) => Promise<ConnectRealtimeCallResult>;
|
|
@@ -2,12 +2,19 @@
|
|
|
2
2
|
* "A call was interrupted — tap to reconnect" — the one-bit store that turns a
|
|
3
3
|
* surviving call marker (`call-active-marker.ts`) into a USER-DRIVEN redial.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* This is the FALLBACK half of reload survival: the dock's boot effect dials
|
|
6
|
+
* an interrupted call back on its own when the marker clears
|
|
7
|
+
* `decideReconnectAction`'s gates, and raises this offer when it does not —
|
|
8
|
+
* a marker too stale to prove the call was live moments ago, or one already
|
|
9
|
+
* redialed up to the consecutive-redial cap. It raises the offer again when a
|
|
10
|
+
* redial the gates DID allow fails to connect, so a flaky call-token endpoint
|
|
11
|
+
* costs the user one automatic attempt rather than the whole call (see
|
|
12
|
+
* `watchRedialForFallback` in BelongDock.tsx). Whenever it stands, the rail's
|
|
13
|
+
* CallButton dials with `{ isReconnect: true }` (carrying the interrupted
|
|
7
14
|
* call's context digest) and labels itself "Reconnect" instead of "Start voice
|
|
8
15
|
* call". That is the whole mechanism: ONE user click, on a control that is
|
|
9
|
-
* already always visible in the rail — no new surface, and
|
|
10
|
-
*
|
|
16
|
+
* already always visible in the rail — no new surface, and no microphone
|
|
17
|
+
* access without a gesture on exactly the marker the gates declined to trust.
|
|
11
18
|
*
|
|
12
19
|
* Why a separate store rather than a field on `CallState`: the call state is
|
|
13
20
|
* rebuilt from `IDLE` on every dial and every terminal error, which would wipe
|
|
@@ -18,7 +25,9 @@
|
|
|
18
25
|
*/
|
|
19
26
|
export declare const peekReconnectOffer: () => boolean;
|
|
20
27
|
export declare const subscribeReconnectOffer: (listener: () => void) => (() => void);
|
|
21
|
-
/** Raise the offer
|
|
28
|
+
/** Raise the offer: at dock boot when `decideReconnectAction` says `"offer"`
|
|
29
|
+
* (a marker too stale, or too many redials deep, to dial back on its own), and
|
|
30
|
+
* when a redial it DID allow ends in `error` without ever reaching the call. */
|
|
22
31
|
export declare const offerReconnect: () => void;
|
|
23
32
|
/**
|
|
24
33
|
* Take the offer down. Called when the user acts on it (the reconnect click),
|