@belonguniverseai/react-sdk 0.4.0 → 0.4.2
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 +294 -0
- package/dist/api/queries.d.ts +16 -0
- package/dist/api/query-keys.d.ts +1 -0
- package/dist/api/task-schedules.d.ts +3 -3
- package/dist/component/{arc-BhIvhaIH.js → arc-COH48Rtu.js} +2 -2
- package/dist/component/{architectureDiagram-3BPJPVTR-BWNCirdr.js → architectureDiagram-3BPJPVTR-B5qmE5k5.js} +3 -3
- package/dist/component/{blockDiagram-GPEHLZMM-BnslF4z5.js → blockDiagram-GPEHLZMM-lkovkWkX.js} +4 -4
- package/dist/component/{c4Diagram-AAUBKEIU-ByIoAzxn.js → c4Diagram-AAUBKEIU-CaWDjxTr.js} +3 -3
- package/dist/component/{channel-BSkI2ZMQ.js → channel-DNnfyuhY.js} +2 -2
- package/dist/component/{chunk-2J33WTMH-DdP5frJt.js → chunk-2J33WTMH-I7HgfCPn.js} +2 -2
- package/dist/component/{chunk-4BX2VUAB-DlsylVfZ.js → chunk-4BX2VUAB-CZBTp8pg.js} +2 -2
- package/dist/component/{chunk-55IACEB6-CcJHjxtI.js → chunk-55IACEB6-C-RnqcTj.js} +2 -2
- package/dist/component/{chunk-727SXJPM-IzRNu9Aj.js → chunk-727SXJPM-BFV7YyWV.js} +6 -6
- package/dist/component/{chunk-AQP2D5EJ-DmcGMHHV.js → chunk-AQP2D5EJ-BDVikNJT.js} +4 -4
- package/dist/component/{chunk-FMBD7UC4-T7thtdBK.js → chunk-FMBD7UC4-C864-npb.js} +2 -2
- package/dist/component/{chunk-ND2GUHAM-Dm_d0Ags.js → chunk-ND2GUHAM-DuitYR9A.js} +2 -2
- package/dist/component/{chunk-QZHKN3VN-D2PGEfVN.js → chunk-QZHKN3VN-B9uI1TYV.js} +2 -2
- package/dist/component/{classDiagram-4FO5ZUOK-Bn7KwDp9.js → classDiagram-4FO5ZUOK-BUdCEjaj.js} +3 -3
- package/dist/component/{classDiagram-v2-Q7XG4LA2-Bn7KwDp9.js → classDiagram-v2-Q7XG4LA2-BUdCEjaj.js} +3 -3
- package/dist/component/{cose-bilkent-S5V4N54A-BtDuNpUN.js → cose-bilkent-S5V4N54A-Dgk__ohs.js} +2 -2
- package/dist/component/{dagre-BM42HDAG-BknZdIOQ.js → dagre-BM42HDAG-DGHFHFPf.js} +2 -2
- package/dist/component/{diagram-2AECGRRQ-ISHN0dHe.js → diagram-2AECGRRQ-DvGSzrwW.js} +3 -3
- package/dist/component/{diagram-5GNKFQAL-7gWbpLCQ.js → diagram-5GNKFQAL-XebuIyjn.js} +4 -4
- package/dist/component/{diagram-KO2AKTUF-B63ZLzkh.js → diagram-KO2AKTUF-slUL6XEO.js} +3 -3
- package/dist/component/{diagram-LMA3HP47-hhw0MjoS.js → diagram-LMA3HP47-BEPY8GOZ.js} +3 -3
- package/dist/component/{diagram-OG6HWLK6-D_L9Gvuh.js → diagram-OG6HWLK6-DHI_0aIk.js} +4 -4
- package/dist/component/{erDiagram-TEJ5UH35-BAg27ZHd.js → erDiagram-TEJ5UH35-D-6DbJr-.js} +5 -5
- package/dist/component/{flowDiagram-I6XJVG4X-DDYjK7xG.js → flowDiagram-I6XJVG4X-Cw87OG_x.js} +7 -7
- package/dist/component/{ganttDiagram-6RSMTGT7-CDNAiKQG.js → ganttDiagram-6RSMTGT7-B47s5HUB.js} +3 -3
- package/dist/component/{gitGraphDiagram-PVQCEYII-CY1N7jOJ.js → gitGraphDiagram-PVQCEYII-DqFW3uiq.js} +4 -4
- package/dist/component/{highlighted-body-OFNGDK62-DHwLnkF_.js → highlighted-body-OFNGDK62-CBU3EdTE.js} +2 -2
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-5YYISTIA-Cbgk6g6j.js → infoDiagram-5YYISTIA-_0W78xb_.js} +2 -2
- package/dist/component/{ishikawaDiagram-YF4QCWOH-BUfiorJj.js → ishikawaDiagram-YF4QCWOH-CvybNkGE.js} +2 -2
- package/dist/component/{journeyDiagram-JHISSGLW-Bh4IizEm.js → journeyDiagram-JHISSGLW-DgLrQs9G.js} +5 -5
- package/dist/component/{kanban-definition-UN3LZRKU-CgWqLfFM.js → kanban-definition-UN3LZRKU-ReYnw5Xl.js} +3 -3
- package/dist/component/{linear-D1rJivs3.js → linear-Cih5KQ00.js} +2 -2
- package/dist/component/{mermaid-GHXKKRXX-iO2IZZUN.js → mermaid-GHXKKRXX-B6ix-Z04.js} +30129 -29350
- package/dist/component/{mindmap-definition-RKZ34NQL-DeQED-9b.js → mindmap-definition-RKZ34NQL-hRhkTdF6.js} +4 -4
- package/dist/component/{pieDiagram-4H26LBE5-CZ5Zt_mz.js → pieDiagram-4H26LBE5-DAAEUZCY.js} +4 -4
- package/dist/component/{quadrantDiagram-W4KKPZXB-Dib1AukJ.js → quadrantDiagram-W4KKPZXB-Benxdf_G.js} +3 -3
- package/dist/component/{requirementDiagram-4Y6WPE33-DubjTJYS.js → requirementDiagram-4Y6WPE33-BxvkbDYP.js} +4 -4
- package/dist/component/{sankeyDiagram-5OEKKPKP-Cq2S3XKs.js → sankeyDiagram-5OEKKPKP-RPwwVwu3.js} +2 -2
- package/dist/component/{sequenceDiagram-3UESZ5HK-BUo5k0zn.js → sequenceDiagram-3UESZ5HK-C-prnAtS.js} +4 -4
- package/dist/component/{stateDiagram-AJRCARHV-DJwQp0D7.js → stateDiagram-AJRCARHV-BEIQAx9e.js} +3 -3
- package/dist/component/{stateDiagram-v2-BHNVJYJU-BX77P5aq.js → stateDiagram-v2-BHNVJYJU-BD5dkY8l.js} +3 -3
- package/dist/component/{timeline-definition-PNZ67QCA-DnQ481VI.js → timeline-definition-PNZ67QCA-DQJPMkfL.js} +3 -3
- package/dist/component/{vennDiagram-CIIHVFJN-BQ0X92lQ.js → vennDiagram-CIIHVFJN-CreOqXMc.js} +2 -2
- package/dist/component/{wardleyDiagram-YWT4CUSO-CMTnjVTA.js → wardleyDiagram-YWT4CUSO--dbQqySn.js} +3 -3
- package/dist/component/{xychartDiagram-2RQKCTM6-BLSiRWug.js → xychartDiagram-2RQKCTM6-BOSkmQiX.js} +3 -3
- package/dist/components/embed/EmbedAvatar.d.ts +8 -1
- package/dist/components/embed/EmbedHeader.d.ts +25 -2
- package/dist/components/embed/EmbedRail.d.ts +12 -4
- package/dist/components/embed/EmbedSessions.d.ts +13 -2
- package/dist/components/embed/MobileNavBar.d.ts +4 -1
- package/dist/components/embed/SessionStatsPanel.d.ts +12 -0
- package/dist/components/embed/rail-flags.d.ts +32 -0
- package/dist/embed/adoption-notice.d.ts +10 -0
- package/dist/embed/presets.d.ts +10 -0
- package/dist/embed/theme.d.ts +13 -0
- package/dist/embed/use-workspace-file-download.d.ts +10 -2
- package/dist/embed/voice/line-dispatch.d.ts +21 -0
- package/dist/embed/voice/line-run-reader.d.ts +16 -1
- package/dist/embed/voice/line-slots.d.ts +42 -4
- package/dist/embed/voice-call-lines.d.ts +33 -3
- package/dist/i18n/messages/en.d.ts +22 -0
- package/dist/i18n/messages/surfaces/header.d.ts +12 -0
- package/dist/i18n/messages/surfaces/sessions.d.ts +3 -0
- package/dist/i18n/messages/surfaces/stats.d.ts +55 -0
- package/dist/stream/belong-chat-transport.d.ts +19 -8
- package/dist/stream/chat-export-store.d.ts +35 -0
- package/dist/stream/preview-panel-store.d.ts +8 -0
- package/dist/stream/session-stats-csv.d.ts +52 -0
- package/dist/stream/stream-state-store.d.ts +30 -1
- package/package.json +1 -1
|
@@ -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-C-RnqcTj.js";
|
|
2
|
+
import { s as ae } from "./chunk-2J33WTMH-I7HgfCPn.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-B6ix-Z04.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-hRhkTdF6.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-B6ix-Z04.js";
|
|
2
|
+
import { p as gt } from "./chunk-4BX2VUAB-CZBTp8pg.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-COH48Rtu.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-DAAEUZCY.js.map
|
package/dist/component/{quadrantDiagram-W4KKPZXB-Dib1AukJ.js → quadrantDiagram-W4KKPZXB-Benxdf_G.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-B6ix-Z04.js";
|
|
2
|
+
import { l as te } from "./linear-Cih5KQ00.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-Benxdf_G.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-C-RnqcTj.js";
|
|
2
|
+
import { s as ze } from "./chunk-2J33WTMH-I7HgfCPn.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-B6ix-Z04.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-BxvkbDYP.js.map
|
package/dist/component/{sankeyDiagram-5OEKKPKP-Cq2S3XKs.js → sankeyDiagram-5OEKKPKP-RPwwVwu3.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-B6ix-Z04.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-RPwwVwu3.js.map
|
package/dist/component/{sequenceDiagram-3UESZ5HK-BUo5k0zn.js → sequenceDiagram-3UESZ5HK-C-prnAtS.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-B6ix-Z04.js";
|
|
2
|
+
import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-DuitYR9A.js";
|
|
3
|
+
import { I as ur } from "./chunk-QZHKN3VN-B9uI1TYV.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-C-prnAtS.js.map
|
package/dist/component/{stateDiagram-AJRCARHV-DJwQp0D7.js → stateDiagram-AJRCARHV-BEIQAx9e.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-BDVikNJT.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-B6ix-Z04.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-BEIQAx9e.js.map
|
package/dist/component/{stateDiagram-v2-BHNVJYJU-BX77P5aq.js → stateDiagram-v2-BHNVJYJU-BD5dkY8l.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-BDVikNJT.js";
|
|
2
|
+
import { _ as l } from "./mermaid-GHXKKRXX-B6ix-Z04.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-BD5dkY8l.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-B6ix-Z04.js";
|
|
2
|
+
import { d as ot } from "./arc-COH48Rtu.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-DQJPMkfL.js.map
|
package/dist/component/{vennDiagram-CIIHVFJN-BQ0X92lQ.js → vennDiagram-CIIHVFJN-CreOqXMc.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-B6ix-Z04.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-CreOqXMc.js.map
|
package/dist/component/{wardleyDiagram-YWT4CUSO-CMTnjVTA.js → wardleyDiagram-YWT4CUSO--dbQqySn.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-B6ix-Z04.js";
|
|
2
|
+
import { p as Bt } from "./chunk-4BX2VUAB-CZBTp8pg.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--dbQqySn.js.map
|
package/dist/component/{xychartDiagram-2RQKCTM6-BLSiRWug.js → xychartDiagram-2RQKCTM6-BOSkmQiX.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-B6ix-Z04.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-Cih5KQ00.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-BOSkmQiX.js.map
|
|
@@ -8,7 +8,7 @@ import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.
|
|
|
8
8
|
* colour + custom CSS), then Log out. Gradient is brand-driven (Ocean → Deep
|
|
9
9
|
* Sea) via the active palette.
|
|
10
10
|
*/
|
|
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
|
+
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, }: {
|
|
12
12
|
user: string | null;
|
|
13
13
|
size?: number;
|
|
14
14
|
theme: BelongTheme;
|
|
@@ -47,4 +47,11 @@ export declare function EmbedAvatar({ user, size, theme, palette, side, menuSide
|
|
|
47
47
|
/** Fired when the History submenu opens — the dock refetches the list so
|
|
48
48
|
* it's fresh (mirrors EmbedSessions' own `onOpen`). */
|
|
49
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>;
|
|
50
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, onSelectAgentLine, onCloseAgentLine, 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;
|
|
@@ -61,9 +61,14 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
|
|
|
61
61
|
/** Rail agent chip clicked with a BOUND session — switches to the chat view
|
|
62
62
|
* AND selects that agent's slot session (also clears its unseen-result
|
|
63
63
|
* flag, via BelongDock's existing onSelectSession → markLineSeen lookup).
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
|
|
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;
|
|
67
72
|
/** User closed an agent tab — RELEASES that line's slot (in memory + durably)
|
|
68
73
|
* and nothing else. The conversation itself is NOT deleted server-side: it
|
|
69
74
|
* stays in History and can be re-adopted from the avatar menu. Only offered
|
|
@@ -72,6 +77,9 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
|
|
|
72
77
|
onDeleteSession: (id: string) => void;
|
|
73
78
|
onRenameSession: (id: string, title: string) => void;
|
|
74
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;
|
|
75
83
|
onToggleSpeak: () => void;
|
|
76
84
|
onExpand: () => void;
|
|
77
85
|
}): import("react").JSX.Element;
|
|
@@ -12,6 +12,17 @@ type SessionsBodyProps = {
|
|
|
12
12
|
onDelete: (id: string) => void;
|
|
13
13
|
/** Persist a user-chosen chat name (BEL-120). Only fired for a non-blank change. */
|
|
14
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;
|
|
15
26
|
};
|
|
16
27
|
/**
|
|
17
28
|
* The "New chat" item + recent-sessions list, WITHOUT a menu shell of its own —
|
|
@@ -23,13 +34,13 @@ type SessionsBodyProps = {
|
|
|
23
34
|
* closed Content/SubContent by default, so this component's local edit/confirm
|
|
24
35
|
* state resets for free on every close — no explicit reset needed here.
|
|
25
36
|
*/
|
|
26
|
-
export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, }: SessionsBodyProps): import("react").JSX.Element;
|
|
37
|
+
export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, }: SessionsBodyProps): import("react").JSX.Element;
|
|
27
38
|
/**
|
|
28
39
|
* Header control to start a new chat, switch to a recent session, rename one via
|
|
29
40
|
* an inline text edit, or delete one via an inline trash → confirm flow. Rename +
|
|
30
41
|
* delete are per-row inline affordances that keep the menu open (BEL-120).
|
|
31
42
|
*/
|
|
32
|
-
export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, }: SessionsBodyProps & {
|
|
43
|
+
export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
|
|
33
44
|
theme: BelongTheme;
|
|
34
45
|
/** Which way the menu opens — toward the panel from the rail edge, or
|
|
35
46
|
* upward when the trigger lives in the mobile bottom nav bar. */
|
|
@@ -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,32 @@
|
|
|
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, switchable as rail chips.
|
|
13
|
+
*
|
|
14
|
+
* History: shipped in #171, deactivated a day later in #204 after eight
|
|
15
|
+
* defects in two days, most of them session-IDENTITY bugs (a spawn orphaning
|
|
16
|
+
* line 1's own session; the unbound line-1 chip aliasing into another
|
|
17
|
+
* conversation; History duplicating an agent instead of switching to it; line
|
|
18
|
+
* ownership not surviving a reload). Re-enabled deliberately — see the rail
|
|
19
|
+
* regression tests in EmbedRail.test.tsx and the agent-line ownership tests in
|
|
20
|
+
* voice-call-lines, which now cover that class.
|
|
21
|
+
*
|
|
22
|
+
* The rail carries exactly ONE "+", and this flag decides which:
|
|
23
|
+
* - `true` → the SPAWN "+" (rail-agent-spawn) opens a parallel agent line.
|
|
24
|
+
* - `false` → the NEW-CHAT "+" (rail-new-chat) starts a fresh conversation
|
|
25
|
+
* on line 1 — the same action as the Chats menu's "New chat", so the dock
|
|
26
|
+
* is never left without a visible way to start a chat.
|
|
27
|
+
* Either way the standalone Chats/history dropdown stays on the rail.
|
|
28
|
+
*
|
|
29
|
+
* This remains the kill switch: flip to `false` to fall back to single-chat
|
|
30
|
+
* without touching anything else.
|
|
31
|
+
*/
|
|
32
|
+
export declare const MULTI_AGENT_RAIL_ENABLED = true;
|
|
@@ -18,5 +18,15 @@ export declare const setPendingAdoptionNotice: (sessionId: string, line: number)
|
|
|
18
18
|
/** The line number to announce for `sessionId`, or null when this mount has
|
|
19
19
|
* nothing pending. Consuming clears the entry (the notice fires once). */
|
|
20
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;
|
|
21
31
|
/** Test-only: forget any pending entry between test cases. */
|
|
22
32
|
export declare const __clearPendingAdoptionNoticeForTest: () => void;
|
package/dist/embed/presets.d.ts
CHANGED
|
@@ -17,6 +17,16 @@ export declare const DEFAULT_PRESET: PresetName;
|
|
|
17
17
|
export declare const isSimetrikHost: (hostname: string) => boolean;
|
|
18
18
|
/** The default preset for a host: `simetrik` on a Simetrik domain, else belong. */
|
|
19
19
|
export declare const defaultPresetForHost: (hostname: string) => PresetName;
|
|
20
|
+
/**
|
|
21
|
+
* The preset the dock boots with, given the user's stored choice and the host
|
|
22
|
+
* it's embedded on. **Brand-as-floor:** on a host that defaults to a tenant
|
|
23
|
+
* brand (a Simetrik domain), a stored *generic* built-in preset (`belong`) must
|
|
24
|
+
* not silently downgrade the brand — a stale `localStorage` preset from QA/dev
|
|
25
|
+
* once wiped Simetrik's brand on the real site. Only the user's explicit Custom
|
|
26
|
+
* theme (or a matching brand choice) overrides the host brand. On a non-branded
|
|
27
|
+
* host there's no floor to enforce, so the stored preference always wins.
|
|
28
|
+
*/
|
|
29
|
+
export declare const resolveInitialPreset: (storedPreset: PresetName | undefined, hostname: string) => PresetName;
|
|
20
30
|
export declare const getPreset: (name: PresetName) => PartialBelongTheme;
|
|
21
31
|
export declare const listPresets: () => readonly {
|
|
22
32
|
name: PresetName;
|
package/dist/embed/theme.d.ts
CHANGED
|
@@ -8,6 +8,19 @@ export declare const setTheme: (partial: PartialBelongTheme) => void;
|
|
|
8
8
|
* the Custom style overlays the user's accent/cssVars stash. */
|
|
9
9
|
export declare const applyPreset: (name: PresetName) => void;
|
|
10
10
|
export declare const peekPreset: () => PresetName;
|
|
11
|
+
/**
|
|
12
|
+
* One-line diagnostic of how the boot theme resolved, logged once at init
|
|
13
|
+
* (see `applyInitConfig`). Pairs with the build-provenance line (plan 007 §B4)
|
|
14
|
+
* so a "the dock isn't showing our brand" report is answerable from the host
|
|
15
|
+
* console alone: it names the winning preset + brand, the host that drove the
|
|
16
|
+
* default, and whether the tenant's *published* theme overrode it on top.
|
|
17
|
+
*/
|
|
18
|
+
export declare const describeThemeResolution: (input: {
|
|
19
|
+
hostname: string;
|
|
20
|
+
preset: PresetName;
|
|
21
|
+
brandName: string;
|
|
22
|
+
remoteThemeApplied: boolean;
|
|
23
|
+
}) => string;
|
|
11
24
|
/**
|
|
12
25
|
* Set (or clear, with `null`) the Custom-style accent. Updates the stash and
|
|
13
26
|
* switches to the Custom style so the change is immediately visible.
|
|
@@ -10,8 +10,16 @@
|
|
|
10
10
|
* `onError` so each component keeps its own `error` state (also used by its
|
|
11
11
|
* `load()` flow).
|
|
12
12
|
*/
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* `path` (+ a workspace scope) as a workspace-file query string.
|
|
15
|
+
*
|
|
16
|
+
* Callers rendering a LIVE scoped listing (the file tree) omit the scope and
|
|
17
|
+
* get the current one. Callers holding a path captured earlier — the preview
|
|
18
|
+
* panel — must pass the workspace that path is relative to, because the live
|
|
19
|
+
* scope can have moved on (or gone `missing`, which reads as the unscoped
|
|
20
|
+
* root) since the path was captured.
|
|
21
|
+
*/
|
|
22
|
+
export declare const workspaceFileQuery: (path: string, workspaceId?: string | null) => string;
|
|
15
23
|
export declare function useWorkspaceFileDownload(apiBaseUrl: string, onError: (message: string | null) => void): {
|
|
16
24
|
download: (path: string) => Promise<void>;
|
|
17
25
|
downloading: string | null;
|
|
@@ -18,10 +18,31 @@
|
|
|
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, so the
|
|
20
20
|
* sessions list names the background conversation.
|
|
21
|
+
*
|
|
22
|
+
* BOOT RE-ATTACH (F3/R4): `attachLineReader` below is the ONE seam that wires
|
|
23
|
+
* a line-run reader onto a line, shared by a fresh dispatch (this module,
|
|
24
|
+
* right after a POST accepts a run) and `reattachPendingLineRuns` (called
|
|
25
|
+
* once at boot, after `initAgentLines()` rehydrates the registry) resuming a
|
|
26
|
+
* run that was still going when the page reloaded. Both paths persist the
|
|
27
|
+
* binding (`persistSlotRun`) and wire the identical phase/approval/navigate/
|
|
28
|
+
* artifact/finish/error callbacks — a reload must behave exactly like the
|
|
29
|
+
* live dispatch it is standing in for, not a parallel, easier-to-drift copy.
|
|
21
30
|
*/
|
|
22
31
|
/** Abort every live line reader and invalidate their callbacks (call teardown).
|
|
23
32
|
* Subscribed below to fire whenever a call leaves in_call/connecting. */
|
|
24
33
|
export declare const abortAllLineReaders: () => void;
|
|
34
|
+
/**
|
|
35
|
+
* BOOT RE-ATTACH (F3/R4): call this once, right after `initAgentLines()`
|
|
36
|
+
* rehydrates the registry from persisted slots. Every background line (2/3)
|
|
37
|
+
* whose slot carried a non-null `runId` already shows `status: "working"`
|
|
38
|
+
* (`rehydratedLines()` in voice-call-lines.ts) — this re-attaches its reader
|
|
39
|
+
* so the line actually converges to ready/failed via the SAME
|
|
40
|
+
* `attachLineReader` a live dispatch uses, instead of sitting at an
|
|
41
|
+
* honest-looking but permanently stuck "working". Line 1 never carries a
|
|
42
|
+
* registry `runId` (see `AgentLine.runId`'s doc) and is skipped here — its
|
|
43
|
+
* own reload-resume path is the stream-state store's, not this one.
|
|
44
|
+
*/
|
|
45
|
+
export declare const reattachPendingLineRuns: (fetchFn?: typeof fetch) => void;
|
|
25
46
|
export declare const dispatchToLine: (req: {
|
|
26
47
|
readonly line: number;
|
|
27
48
|
readonly request: string;
|
|
@@ -31,6 +31,21 @@
|
|
|
31
31
|
* NOT terminal, keep reading the same stream. "completed" finishes with
|
|
32
32
|
* the accumulated text; "cancelled" | "failed" | "throttled" are errors.
|
|
33
33
|
*
|
|
34
|
+
* BOOT RE-ATTACH (F3/R4): this reader is also opened for a run that already
|
|
35
|
+
* finished before the read starts (a persisted `runId` re-attached after a
|
|
36
|
+
* reload — see `attachLineReader` in line-dispatch.ts). Two ways that shows
|
|
37
|
+
* up on the wire, both a CLEAN convergence rather than a failure:
|
|
38
|
+
* - the run is still known server-side and just replays its full history
|
|
39
|
+
* (§36 — `GET .../stream` with no cursor replays from the start): the
|
|
40
|
+
* already-written terminal `data-status` event arrives like any other
|
|
41
|
+
* part and is handled by the SAME "completed"/"cancelled"/"failed"
|
|
42
|
+
* branch below — no special-casing needed, this is the ordinary path.
|
|
43
|
+
* - the run (or its task) is truly gone server-side — 404/410 — which
|
|
44
|
+
* reads identically to "nothing left to report", not an error: `onFinish`
|
|
45
|
+
* fires with empty text instead of `onError`, so a boot re-attach never
|
|
46
|
+
* paints a stale run as failed just because its record has since expired
|
|
47
|
+
* or the session behind it was deleted.
|
|
48
|
+
*
|
|
34
49
|
* SSE parsing here is LINE-BY-LINE (split on "\n", not "\n\n") — the server
|
|
35
50
|
* sends exactly one `data:` line per event. `id:` lines carry the event
|
|
36
51
|
* cursor (ignored — v1 has no reconnect/resume) and `:`-prefixed lines are
|
|
@@ -50,6 +65,6 @@ export type WatchLineRunInput = {
|
|
|
50
65
|
mimeType: string;
|
|
51
66
|
}) => void;
|
|
52
67
|
readonly onFinish: (finalText: string) => void;
|
|
53
|
-
readonly onError: (message: string) => void;
|
|
68
|
+
readonly onError: (message: string, kind: "terminal" | "transport") => void;
|
|
54
69
|
};
|
|
55
70
|
export declare const watchLineRun: (input: WatchLineRunInput, fetchFn?: typeof fetch) => (() => void);
|
|
@@ -24,6 +24,18 @@
|
|
|
24
24
|
* slots" — the switchboard just starts fresh, same as a first-ever call. The
|
|
25
25
|
* schema is back-compatible with the pre-line-1 bag: a persisted object with
|
|
26
26
|
* only `line2`/`line3` still parses fine, `line1` just defaults to `null`.
|
|
27
|
+
*
|
|
28
|
+
* `runId` (F3/R4 — reload must not lie about a still-running background
|
|
29
|
+
* line): the durable half of `bindLineRun`'s in-memory tracking, written by
|
|
30
|
+
* `persistSlotRun` (`voice-call-lines.ts`) alongside every `bindLineRun` call
|
|
31
|
+
* a background dispatch makes. Without it, a page reload has no way to know
|
|
32
|
+
* a line was mid-run — `runId` lives only in JS memory otherwise, and the
|
|
33
|
+
* boot rehydrate would show a lying "idle" line while the run keeps
|
|
34
|
+
* streaming server-side. Back-compatible the same way `line1` is: a bag
|
|
35
|
+
* written before this field existed has no `runId` key at all, and the
|
|
36
|
+
* schema defaults it to `null` (nothing was in flight when that bag was
|
|
37
|
+
* written). Line 1 never carries a meaningful value here — its `runId` is
|
|
38
|
+
* always `null` (see `AgentLine.runId`'s doc in voice-call-lines.ts).
|
|
27
39
|
*/
|
|
28
40
|
/** Every line number that gets a persisted slot — all three agent lines. */
|
|
29
41
|
declare const SLOT_LINES: readonly [1, 2, 3];
|
|
@@ -31,6 +43,20 @@ type SlotLine = (typeof SLOT_LINES)[number];
|
|
|
31
43
|
export type LineSlot = {
|
|
32
44
|
readonly sessionId: string;
|
|
33
45
|
readonly label: string;
|
|
46
|
+
readonly runId: string | null;
|
|
47
|
+
};
|
|
48
|
+
/** Input to `writeLineSlot` — `runId` is OPTIONAL here (unlike the stored
|
|
49
|
+
* `LineSlot`) and defaults to `null` when omitted: every existing adoption
|
|
50
|
+
* call site (`persistSlotBinding`) writes a session/label pair without ever
|
|
51
|
+
* having an opinion on `runId`, and a fresh binding correctly has no run of
|
|
52
|
+
* its own yet (any run tracked against the PREVIOUS session at this slot is
|
|
53
|
+
* moot once the binding itself changes identity). `persistSlotRun` is the
|
|
54
|
+
* only writer that ever sets `runId` to a non-null value, via the narrower
|
|
55
|
+
* `writeLineSlotRun` below. */
|
|
56
|
+
export type LineSlotInput = {
|
|
57
|
+
readonly sessionId: string;
|
|
58
|
+
readonly label: string;
|
|
59
|
+
readonly runId?: string | null;
|
|
34
60
|
};
|
|
35
61
|
/** The persisted binding for line 1/2/3, or `null` when never set (or `line`
|
|
36
62
|
* isn't a valid agent line at all). */
|
|
@@ -38,10 +64,22 @@ export declare const readLineSlot: (line: number) => LineSlot | null;
|
|
|
38
64
|
/** Persist a line's current `{ sessionId, label }` so the NEXT rehydration
|
|
39
65
|
* (`resetAgentLines()`, or a plain reload for line 1) rebinds onto the same
|
|
40
66
|
* session. No-op for a line number that isn't 1/2/3, and no-op when the slot
|
|
41
|
-
* already holds this exact `{ sessionId, label }` — callers (e.g.
|
|
42
|
-
* per-render bind effect) call this on every render, so an
|
|
43
|
-
* must not touch storage.
|
|
44
|
-
|
|
67
|
+
* already holds this exact `{ sessionId, label, runId }` — callers (e.g.
|
|
68
|
+
* chat.tsx's per-render bind effect) call this on every render, so an
|
|
69
|
+
* unchanged binding must not touch storage. `runId` defaults to `null` when
|
|
70
|
+
* omitted (see `LineSlotInput`'s doc) — a fresh binding via this function
|
|
71
|
+
* always represents a NEW session identity, so any run tracked against
|
|
72
|
+
* whatever this slot held before is stale by construction. */
|
|
73
|
+
export declare const writeLineSlot: (line: number, slot: LineSlotInput) => void;
|
|
74
|
+
/** Update ONLY the persisted `runId` for a line's slot, leaving `sessionId`/
|
|
75
|
+
* `label` untouched — the durable half of `bindLineRun` (called together as
|
|
76
|
+
* `persistSlotRun` in voice-call-lines.ts), so a background line's in-flight
|
|
77
|
+
* run survives a reload (F3/R4). No-op for a line number that isn't 1/2/3,
|
|
78
|
+
* when the slot doesn't exist yet (nothing to attach a run to — the session
|
|
79
|
+
* itself hasn't been adopted), or when the runId is already what's
|
|
80
|
+
* persisted (bindLineRun's own no-op-on-unchanged tolerance, mirrored here so
|
|
81
|
+
* the two halves stay in lockstep). */
|
|
82
|
+
export declare const writeLineSlotRun: (line: number, runId: string | null) => void;
|
|
45
83
|
/** Drop a line's persisted binding — the durable half of `closeAgentLine`
|
|
46
84
|
* (voice-call-lines.ts). Called when a slot is RELEASED rather than rebound: a
|
|
47
85
|
* spawn whose session mint failed, or a session the user deleted. Without this
|