@belonguniverseai/react-sdk 0.1.3 → 0.1.4-beta

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 (75) hide show
  1. package/dist/api/client.d.ts +57 -9
  2. package/dist/api/query-keys.d.ts +9 -0
  3. package/dist/api/workspace-files.d.ts +1 -1
  4. package/dist/component/{arc-Dftg9hbM.js → arc-BxS7Httb.js} +2 -2
  5. package/dist/component/{architectureDiagram-3BPJPVTR-LDQnfAgM.js → architectureDiagram-3BPJPVTR-C9p6wCFY.js} +3 -3
  6. package/dist/component/{blockDiagram-GPEHLZMM-7C0jnncw.js → blockDiagram-GPEHLZMM-B_4sjrFH.js} +4 -4
  7. package/dist/component/{c4Diagram-AAUBKEIU-BGEe9CdO.js → c4Diagram-AAUBKEIU-BAZBnWkR.js} +3 -3
  8. package/dist/component/{channel-CsGW22vj.js → channel-D_9jCQmy.js} +2 -2
  9. package/dist/component/{chunk-2J33WTMH-Dg3NXbVg.js → chunk-2J33WTMH-BAqJCIVt.js} +2 -2
  10. package/dist/component/{chunk-4BX2VUAB-BDtEKe-l.js → chunk-4BX2VUAB-CTC8q-Ea.js} +2 -2
  11. package/dist/component/{chunk-55IACEB6-Da2BRT6c.js → chunk-55IACEB6-CcASKowe.js} +2 -2
  12. package/dist/component/{chunk-727SXJPM-DhH-ppYY.js → chunk-727SXJPM-DUSkaQ6e.js} +6 -6
  13. package/dist/component/{chunk-AQP2D5EJ-D8PxFJHV.js → chunk-AQP2D5EJ-B_-4XjtP.js} +4 -4
  14. package/dist/component/{chunk-FMBD7UC4--IsNL9At.js → chunk-FMBD7UC4-D4VtGmb1.js} +2 -2
  15. package/dist/component/{chunk-ND2GUHAM-DbdImadK.js → chunk-ND2GUHAM-_nr7rOab.js} +2 -2
  16. package/dist/component/{chunk-QZHKN3VN-6IxJ3-HB.js → chunk-QZHKN3VN-BCKH-gFC.js} +2 -2
  17. package/dist/component/{classDiagram-4FO5ZUOK-BhkVSVk_.js → classDiagram-4FO5ZUOK-Dnq69pDR.js} +3 -3
  18. package/dist/component/{classDiagram-v2-Q7XG4LA2-BhkVSVk_.js → classDiagram-v2-Q7XG4LA2-Dnq69pDR.js} +3 -3
  19. package/dist/component/{cose-bilkent-S5V4N54A-_2z1EHfc.js → cose-bilkent-S5V4N54A-Ci3256Cw.js} +2 -2
  20. package/dist/component/{dagre-BM42HDAG-DlKG5hsO.js → dagre-BM42HDAG-D1H7ndes.js} +2 -2
  21. package/dist/component/{diagram-2AECGRRQ-CFAaADeR.js → diagram-2AECGRRQ-DA0oXo6P.js} +3 -3
  22. package/dist/component/{diagram-5GNKFQAL-ZJ957Qm9.js → diagram-5GNKFQAL-DwMOYjf9.js} +4 -4
  23. package/dist/component/{diagram-KO2AKTUF-CROmuIwX.js → diagram-KO2AKTUF-BAVad1Vy.js} +3 -3
  24. package/dist/component/{diagram-LMA3HP47-4YR2hh1P.js → diagram-LMA3HP47-BWNN256P.js} +3 -3
  25. package/dist/component/{diagram-OG6HWLK6-CfsgJnIX.js → diagram-OG6HWLK6-CTsISqXy.js} +4 -4
  26. package/dist/component/{erDiagram-TEJ5UH35-BajpSizj.js → erDiagram-TEJ5UH35-BLKTD8lF.js} +5 -5
  27. package/dist/component/{flowDiagram-I6XJVG4X-DYfoJvQB.js → flowDiagram-I6XJVG4X-DNmugITh.js} +7 -7
  28. package/dist/component/{ganttDiagram-6RSMTGT7-DxWg1-cU.js → ganttDiagram-6RSMTGT7-C834AkNu.js} +3 -3
  29. package/dist/component/{gitGraphDiagram-PVQCEYII-DPfijUuS.js → gitGraphDiagram-PVQCEYII-KpnFC5UI.js} +4 -4
  30. package/dist/component/{highlighted-body-OFNGDK62-BFpReqjo.js → highlighted-body-OFNGDK62-CNK-tfA_.js} +2 -2
  31. package/dist/component/index.js +2 -2
  32. package/dist/component/{infoDiagram-5YYISTIA-Cs3ZkSNq.js → infoDiagram-5YYISTIA-D7-Yqlci.js} +2 -2
  33. package/dist/component/{ishikawaDiagram-YF4QCWOH-wgyW2oOS.js → ishikawaDiagram-YF4QCWOH-Dkl6wTqA.js} +2 -2
  34. package/dist/component/{journeyDiagram-JHISSGLW-qvEHDcP8.js → journeyDiagram-JHISSGLW-CcN28ByV.js} +5 -5
  35. package/dist/component/{kanban-definition-UN3LZRKU-CS8E5I3H.js → kanban-definition-UN3LZRKU-hS_UMH7H.js} +3 -3
  36. package/dist/component/{linear-DSEm-mVJ.js → linear-BdhJkh0B.js} +2 -2
  37. package/dist/component/{mermaid-GHXKKRXX-mE-t6fEG.js → mermaid-GHXKKRXX-CUwFO8-B.js} +26675 -26113
  38. package/dist/component/{mindmap-definition-RKZ34NQL-4eLujZip.js → mindmap-definition-RKZ34NQL-DB-r9g1c.js} +4 -4
  39. package/dist/component/{pieDiagram-4H26LBE5-Bv3aeU7h.js → pieDiagram-4H26LBE5-CMqPVjRg.js} +4 -4
  40. package/dist/component/{quadrantDiagram-W4KKPZXB-BlpxPqAT.js → quadrantDiagram-W4KKPZXB-DWWi29dP.js} +3 -3
  41. package/dist/component/{requirementDiagram-4Y6WPE33-DGG1FxFS.js → requirementDiagram-4Y6WPE33-D1nFFrnS.js} +4 -4
  42. package/dist/component/{sankeyDiagram-5OEKKPKP-CQ-jfvW-.js → sankeyDiagram-5OEKKPKP-BnfzKSOs.js} +2 -2
  43. package/dist/component/{sequenceDiagram-3UESZ5HK-Ck-VbsGz.js → sequenceDiagram-3UESZ5HK-D3r-W-Vw.js} +4 -4
  44. package/dist/component/{stateDiagram-AJRCARHV-KlZdFGFQ.js → stateDiagram-AJRCARHV-Ba3bMrr0.js} +3 -3
  45. package/dist/component/{stateDiagram-v2-BHNVJYJU-Djoz6HMn.js → stateDiagram-v2-BHNVJYJU-YCAvqrHf.js} +3 -3
  46. package/dist/component/{timeline-definition-PNZ67QCA-C3x7MWUx.js → timeline-definition-PNZ67QCA-DlxU8RFH.js} +3 -3
  47. package/dist/component/{vennDiagram-CIIHVFJN-B4SXjWyu.js → vennDiagram-CIIHVFJN-teVIHl4-.js} +2 -2
  48. package/dist/component/{wardleyDiagram-YWT4CUSO-B_0Q8QFc.js → wardleyDiagram-YWT4CUSO-B31MFPtu.js} +3 -3
  49. package/dist/component/{xychartDiagram-2RQKCTM6-yIfLkIZO.js → xychartDiagram-2RQKCTM6-csegzRq-.js} +3 -3
  50. package/dist/components/embed/AgentGrantCard.d.ts +6 -4
  51. package/dist/components/embed/ComposerMenu.d.ts +9 -1
  52. package/dist/components/embed/EmbedRail.d.ts +17 -1
  53. package/dist/components/embed/SlashCommandMenu.d.ts +10 -6
  54. package/dist/components/feedback/feedback-metadata.d.ts +4 -30
  55. package/dist/embed/approval-bus.d.ts +14 -0
  56. package/dist/embed/approval-decision.d.ts +10 -0
  57. package/dist/embed/closed-surface-voice-bus.d.ts +25 -0
  58. package/dist/embed/copy.d.ts +3 -0
  59. package/dist/embed/global.d.ts +4 -3
  60. package/dist/embed/plan-decision.d.ts +3 -1
  61. package/dist/embed/use-workspace-file-download.d.ts +2 -0
  62. package/dist/embed/voice-decision.d.ts +27 -0
  63. package/dist/embed/voice-phrase-match.d.ts +5 -0
  64. package/dist/embed/voice-prefs.d.ts +4 -0
  65. package/dist/embed/voice-send-intent.d.ts +12 -0
  66. package/dist/embed/workspace-scope.d.ts +44 -0
  67. package/dist/i18n/messages/en.d.ts +3 -0
  68. package/dist/i18n/messages/surfaces/embedMisc.d.ts +4 -0
  69. package/dist/stream/ai-sdk-part-renderers.d.ts +8 -1
  70. package/dist/stream/belong-chat-transport.d.ts +54 -1
  71. package/dist/stream/belong-data-parts.d.ts +6 -4
  72. package/dist/stream/message-metadata.d.ts +45 -0
  73. package/dist/stream/stream-state-store.d.ts +4 -4
  74. package/dist/types/public.d.ts +11 -0
  75. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { g as oe } from "./chunk-55IACEB6-Da2BRT6c.js";
2
- import { s as ae } from "./chunk-2J33WTMH-Dg3NXbVg.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-mE-t6fEG.js";
1
+ import { g as oe } from "./chunk-55IACEB6-CcASKowe.js";
2
+ import { s as ae } from "./chunk-2J33WTMH-BAqJCIVt.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-CUwFO8-B.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-4eLujZip.js.map
833
+ //# sourceMappingURL=mindmap-definition-RKZ34NQL-DB-r9g1c.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-mE-t6fEG.js";
2
- import { p as gt } from "./chunk-4BX2VUAB-BDtEKe-l.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-CUwFO8-B.js";
2
+ import { p as gt } from "./chunk-4BX2VUAB-CTC8q-Ea.js";
3
3
  import { p as dt } from "./wardley-L42UT6IY-HA1eSIS_.js";
4
- import { d as P } from "./arc-Dftg9hbM.js";
4
+ import { d as P } from "./arc-BxS7Httb.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-Bv3aeU7h.js.map
166
+ //# sourceMappingURL=pieDiagram-4H26LBE5-CMqPVjRg.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-mE-t6fEG.js";
2
- import { l as te } from "./linear-DSEm-mVJ.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-CUwFO8-B.js";
2
+ import { l as te } from "./linear-BdhJkh0B.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-BlpxPqAT.js.map
1033
+ //# sourceMappingURL=quadrantDiagram-W4KKPZXB-DWWi29dP.js.map
@@ -1,6 +1,6 @@
1
- import { g as Ge } from "./chunk-55IACEB6-Da2BRT6c.js";
2
- import { s as ze } from "./chunk-2J33WTMH-Dg3NXbVg.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-mE-t6fEG.js";
1
+ import { g as Ge } from "./chunk-55IACEB6-CcASKowe.js";
2
+ import { s as ze } from "./chunk-2J33WTMH-BAqJCIVt.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-CUwFO8-B.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-DGG1FxFS.js.map
888
+ //# sourceMappingURL=requirementDiagram-4Y6WPE33-D1nFFrnS.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-mE-t6fEG.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-CUwFO8-B.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-CQ-jfvW-.js.map
862
+ //# sourceMappingURL=sankeyDiagram-5OEKKPKP-BnfzKSOs.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-mE-t6fEG.js";
2
- import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-DbdImadK.js";
3
- import { I as ur } from "./chunk-QZHKN3VN-6IxJ3-HB.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-CUwFO8-B.js";
2
+ import { a as pr, b as ee, g as dt, d as Er, e as re, f as ae } from "./chunk-ND2GUHAM-_nr7rOab.js";
3
+ import { I as ur } from "./chunk-QZHKN3VN-BCKH-gFC.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-Ck-VbsGz.js.map
2897
+ //# sourceMappingURL=sequenceDiagram-3UESZ5HK-D3r-W-Vw.js.map
@@ -1,5 +1,5 @@
1
- import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-D8PxFJHV.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-mE-t6fEG.js";
1
+ import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-B_-4XjtP.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-CUwFO8-B.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-KlZdFGFQ.js.map
266
+ //# sourceMappingURL=stateDiagram-AJRCARHV-Ba3bMrr0.js.map
@@ -1,5 +1,5 @@
1
- import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-D8PxFJHV.js";
2
- import { _ as l } from "./mermaid-GHXKKRXX-mE-t6fEG.js";
1
+ import { s as e, b as r, a as s, S as t } from "./chunk-AQP2D5EJ-B_-4XjtP.js";
2
+ import { _ as l } from "./mermaid-GHXKKRXX-CUwFO8-B.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-Djoz6HMn.js.map
19
+ //# sourceMappingURL=stateDiagram-v2-BHNVJYJU-YCAvqrHf.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-mE-t6fEG.js";
2
- import { d as ot } from "./arc-Dftg9hbM.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-CUwFO8-B.js";
2
+ import { d as ot } from "./arc-BxS7Httb.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-C3x7MWUx.js.map
1058
+ //# sourceMappingURL=timeline-definition-PNZ67QCA-DlxU8RFH.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-mE-t6fEG.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-CUwFO8-B.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-B4SXjWyu.js.map
1560
+ //# sourceMappingURL=vennDiagram-CIIHVFJN-teVIHl4-.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-mE-t6fEG.js";
2
- import { p as Bt } from "./chunk-4BX2VUAB-BDtEKe-l.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-CUwFO8-B.js";
2
+ import { p as Bt } from "./chunk-4BX2VUAB-CTC8q-Ea.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-B_0Q8QFc.js.map
681
+ //# sourceMappingURL=wardleyDiagram-YWT4CUSO-B31MFPtu.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-mE-t6fEG.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-CUwFO8-B.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-DSEm-mVJ.js";
4
+ import { l as Dt } from "./linear-BdhJkh0B.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-yIfLkIZO.js.map
1375
+ //# sourceMappingURL=xychartDiagram-2RQKCTM6-csegzRq-.js.map
@@ -9,10 +9,12 @@ import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
9
9
  * active → slim "connected until <time>" row + revoke
10
10
  * unconfigured embed → renders nothing (host didn't pass a scope)
11
11
  *
12
- * The scope (the host's active workspace) is re-read from the page URL
13
- * (SPA pushState doesn't fire events, so poll): switching workspace
14
- * re-keys the status query a grant is single-workspace, so the new
15
- * workspace prompts its own consent, and dismissal is per-workspace.
12
+ * The scope (the host's active workspace) comes from the shared
13
+ * workspace-scope store (embed/workspace-scope.ts one URL poll +
14
+ * `belong.setWorkspace`, shared with the session list / Files tab / chat):
15
+ * switching workspace re-keys the status query a grant is
16
+ * single-workspace, so the new workspace prompts its own consent, and
17
+ * dismissal is per-workspace.
16
18
  *
17
19
  * The Allow click POSTs with the same host web JWT every API call
18
20
  * carries; only status + expiry ever come back — never tokens.
@@ -10,6 +10,12 @@ import { ReactNode } from 'react';
10
10
  * refocus stays seamless. Each picker passes its own ids / test-ids / aria-label
11
11
  * (consumed by the composer's `aria-controls` + `aria-activedescendant`) and a
12
12
  * `layout` for the only part that differs — the row's flex direction/gap.
13
+ *
14
+ * The option rows live in their own `overflow-auto` scroll region so a long list
15
+ * scrolls INSIDE the capped popover (`max-h-60`); an optional `header` is pinned
16
+ * above that region (it stays put while the rows scroll). Keyboard highlight
17
+ * follows the scroll — see the selected-row `scrollIntoView` in
18
+ * {@link ComposerMenuOption}.
13
19
  */
14
20
  /** The highlight + select callbacks both composer pickers take from the parent. */
15
21
  export type ComposerPickerProps = {
@@ -17,10 +23,12 @@ export type ComposerPickerProps = {
17
23
  onSelect: (value: string) => void;
18
24
  onHighlight: (index: number) => void;
19
25
  };
20
- export declare function ComposerMenu({ id, testId, ariaLabel, children, }: {
26
+ export declare function ComposerMenu({ id, testId, ariaLabel, header, children, }: {
21
27
  id: string;
22
28
  testId: string;
23
29
  ariaLabel: string;
30
+ /** Pinned above the scroll region — stays visible while the rows scroll. */
31
+ header?: ReactNode;
24
32
  children: ReactNode;
25
33
  }): import("react").JSX.Element;
26
34
  export declare function ComposerMenuOption({ id, testId, selected, index, layout, onSelect, onHighlight, children, }: {
@@ -1,3 +1,5 @@
1
+ import { VoiceActionFlash } from '../../embed/closed-surface-voice-bus.ts';
2
+ import { VoiceStatus } from '../../embed/voice-bus.ts';
1
3
  import { SessionSummary } from './EmbedSessions';
2
4
  import { PlanProgress } from '../../stream/plan-progress.ts';
3
5
  import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.ts';
@@ -9,7 +11,7 @@ export type EmbedView = "chat" | "files";
9
11
  * expand-to-modal — then the collapse toggle. Active fill + brand colours come
10
12
  * from `palette` so a host brand push re-themes everything.
11
13
  */
12
- export declare function EmbedRail({ view, collapsed, user, theme, palette, sessions, activeId, planProgress, speakEnabled, ttsSupported, voiceSupported, 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, onDeleteSession, onRenameSession, onSessionsOpen, onToggleSpeak, onExpand, }: {
13
15
  view: EmbedView;
14
16
  collapsed: boolean;
15
17
  user: string | null;
@@ -24,6 +26,20 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
24
26
  ttsSupported: boolean;
25
27
  /** Browser supports mic capture — gates the avatar menu's Voice section. */
26
28
  voiceSupported: boolean;
29
+ /** Live capture status for the rail's voice cue, or null to show none.
30
+ * The dock passes it only while the chat surface (and thus VoiceOverlay)
31
+ * is off-screen — collapsed or on another view — so push-to-talk still
32
+ * gives visible feedback without yanking the panel open. */
33
+ voiceStatus: VoiceStatus | null;
34
+ /** Held dictation draft shown on the rail while the chat surface is closed
35
+ * and confirm-mode is active; null shows no chip. */
36
+ pendingVoiceDraft: string | null;
37
+ /** Transient action confirmation (sent / approved / rejected); the seq lets a
38
+ * repeated same-kind action re-trigger the flash. */
39
+ voiceActionFlash: {
40
+ readonly kind: VoiceActionFlash;
41
+ readonly seq: number;
42
+ } | null;
27
43
  accent: string | null;
28
44
  cssVars: Record<string, string>;
29
45
  presets: readonly {
@@ -2,12 +2,16 @@ import { SkillSummary } from '../../api/skills.ts';
2
2
  import { ComposerPickerProps } from './ComposerMenu';
3
3
  /**
4
4
  * Slash-command menu shown above the composer when the user types `/`. Purely
5
- * presentational — the parent owns the filtered list, highlight, and select.
6
- * Skills render under group headings (app groups, plus a "Your skills" section
7
- * for the user's own installed skills); a header is emitted whenever the group
8
- * changes between consecutive options, so the flat highlight index the parent
9
- * tracks stays intact. Built on the shared {@link ComposerMenu} chrome.
5
+ * presentational — the parent owns the filtered list, highlight, select, and the
6
+ * `collapsed` state. Skills render under group headings (app groups, plus a
7
+ * "Your skills" section for the user's own installed skills); a header is emitted
8
+ * whenever the group changes between consecutive options, so the flat highlight
9
+ * index the parent tracks stays intact. A pinned title bar carries a
10
+ * minimize/expand toggle; when `collapsed`, only that bar shows. Built on the
11
+ * shared {@link ComposerMenu} chrome.
10
12
  */
11
- export declare function SlashCommandMenu({ skills, highlightedIndex, onSelect, onHighlight, }: {
13
+ export declare function SlashCommandMenu({ skills, highlightedIndex, collapsed, onToggleCollapse, onSelect, onHighlight, }: {
12
14
  skills: readonly SkillSummary[];
15
+ collapsed: boolean;
16
+ onToggleCollapse: () => void;
13
17
  } & ComposerPickerProps): import("react").JSX.Element;
@@ -1,36 +1,10 @@
1
- import { z } from 'zod';
1
+ import { BelongMessageMetadata } from '../../stream/message-metadata.ts';
2
2
  import { FeedbackSentiment } from './message-feedback.tsx';
3
- export declare const feedbackMetadataSchema: z.ZodObject<{
4
- taskId: z.ZodString;
5
- feedback: z.ZodOptional<z.ZodNullable<z.ZodObject<{
6
- sentiment: z.ZodEnum<["up", "down"]>;
7
- reason: z.ZodNullable<z.ZodString>;
8
- }, "strip", z.ZodTypeAny, {
9
- reason: string | null;
10
- sentiment: "up" | "down";
11
- }, {
12
- reason: string | null;
13
- sentiment: "up" | "down";
14
- }>>>;
15
- }, "strip", z.ZodTypeAny, {
16
- taskId: string;
17
- feedback?: {
18
- reason: string | null;
19
- sentiment: "up" | "down";
20
- } | null | undefined;
21
- }, {
22
- taskId: string;
23
- feedback?: {
24
- reason: string | null;
25
- sentiment: "up" | "down";
26
- } | null | undefined;
27
- }>;
28
3
  /**
29
- * Narrow an assistant message's `unknown` metadata to its feedback shape, or
30
- * null when it carries no taskId (user turns, pre-feedback rows) — which hides
31
- * the feedback row.
4
+ * Flatten a message's metadata to its feedback shape, or null when it carries
5
+ * no taskId (user turns, pre-feedback rows) — which hides the feedback row.
32
6
  */
33
- export declare const readFeedbackMetadata: (meta: unknown) => {
7
+ export declare const readFeedbackMetadata: (meta: BelongMessageMetadata | undefined) => {
34
8
  readonly taskId: string;
35
9
  readonly sentiment: FeedbackSentiment | null;
36
10
  readonly reason: string | null;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Registry of tool-approval cards awaiting a decision, so the voice transcript
3
+ * handler in ChatRoute can resolve one hands-free (chat surface closed) without
4
+ * reaching into a card's local state. Each ApprovalRenderer registers while its
5
+ * card is actionable and calls the returned cleanup on resolve/unmount. `peek`
6
+ * returns the most-recently-registered entry — the card the user is answering.
7
+ */
8
+ export type ApprovalCardDecision = "approved" | "rejected" | "amend_requested";
9
+ export type PendingApproval = {
10
+ readonly approvalId: string;
11
+ readonly resolve: (decision: ApprovalCardDecision) => void;
12
+ };
13
+ export declare const registerPendingApproval: (entry: PendingApproval) => (() => void);
14
+ export declare const peekPendingApproval: () => PendingApproval | null;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Spoken tool-approval decision (pure, no DOM). While a `data-approval-request`
3
+ * card is actionable, a final voice transcript is classified into the card's
4
+ * wire decisions. Safety bias mirrors plan-decision: a modification marker
5
+ * anywhere → amend_requested (never approve/reject a card the user wants
6
+ * changed); reject checked before approve; unrecognized speech → "unclear",
7
+ * which the caller ignores rather than resolving the card by accident.
8
+ */
9
+ export type ApprovalVoiceDecision = "approved" | "rejected" | "amend_requested" | "unclear";
10
+ export declare const interpretApprovalDecision: (transcript: string) => ApprovalVoiceDecision;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Coordinates CLOSED-surface voice UI state between the two always-mounted
3
+ * sibling components: BelongDock (owns the rail + collapse/view) publishes
4
+ * `surfaceHidden`; ChatRoute (owns conversation + draft) publishes the pending
5
+ * dictation draft and fires a transient action flash. BelongDock feeds the
6
+ * draft + flash into the rail as props. One immutable snapshot per mutation so
7
+ * `useSyncExternalStore` observes identity changes.
8
+ */
9
+ export type VoiceActionFlash = "sent" | "approved" | "rejected";
10
+ export type ClosedSurfaceVoiceState = {
11
+ readonly surfaceHidden: boolean;
12
+ readonly pendingDraft: string | null;
13
+ readonly lastAction: {
14
+ readonly kind: VoiceActionFlash;
15
+ readonly seq: number;
16
+ } | null;
17
+ };
18
+ export declare const subscribeClosedSurfaceVoice: (listener: () => void) => (() => void);
19
+ export declare const peekClosedSurfaceVoice: () => ClosedSurfaceVoiceState;
20
+ export declare const peekSurfaceHidden: () => boolean;
21
+ export declare const peekPendingDraft: () => string | null;
22
+ export declare const setSurfaceHidden: (hidden: boolean) => void;
23
+ export declare const setPendingDraft: (text: string | null) => void;
24
+ export declare const flashVoiceAction: (kind: VoiceActionFlash) => void;
25
+ export declare const __resetClosedSurfaceVoiceForTest: () => void;
@@ -42,6 +42,9 @@ export type MenuCopy = {
42
42
  readonly pressAnyKey: string;
43
43
  readonly change: string;
44
44
  readonly reset: string;
45
+ readonly voiceSend: string;
46
+ readonly voiceSendConfirm: string;
47
+ readonly voiceSendAuto: string;
45
48
  readonly style: string;
46
49
  readonly appearance: string;
47
50
  readonly accentColor: string;
@@ -29,9 +29,10 @@ export declare const peekPanelEnabled: () => boolean;
29
29
  */
30
30
  export declare const peekAgentGrantConfig: () => AgentGrantConfig | null;
31
31
  /**
32
- * The CURRENT scope: the live URL param when tracking is configured (the
33
- * host SPA rewrites it on workspace switch without a reload), else the
34
- * static value from init. Null = no scope grant surface hidden.
32
+ * The CURRENT scope: resolved by the workspace-scope store (host override
33
+ * live URL param static init value see embed/workspace-scope.ts, which
34
+ * the whole dock keys off). Null = no grant config or no workspace in effect
35
+ * → grant surface hidden.
35
36
  */
36
37
  export declare const resolveAgentGrantScope: () => {
37
38
  provider: string;
@@ -1,6 +1,8 @@
1
1
  import { PlanData } from '../stream/belong-data-parts.ts';
2
2
  export type PlanDecision = "approve" | "reject" | "feedback";
3
- /** Classify a final voice transcript while a plan is awaiting a decision. */
3
+ /** Classify a final voice transcript while a plan is awaiting a decision. A
4
+ * modification marker (or anything unrecognized) is "feedback" — forwarded to
5
+ * the agent verbatim rather than approving/rejecting a plan the user is tweaking. */
4
6
  export declare const interpretPlanDecision: (transcript: string) => PlanDecision;
5
7
  /**
6
8
  * Spoken announcement for a freshly proposed plan: title, summary, step
@@ -10,6 +10,8 @@
10
10
  * `onError` so each component keeps its own `error` state (also used by its
11
11
  * `load()` flow).
12
12
  */
13
+ /** `path` (+ the current workspace scope) as a workspace-file query string. */
14
+ export declare const workspaceFileQuery: (path: string) => string;
13
15
  export declare function useWorkspaceFileDownload(apiBaseUrl: string, onError: (message: string | null) => void): {
14
16
  download: (path: string) => Promise<void>;
15
17
  downloading: string | null;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared spoken-decision classifier for the two places we accept a voice
3
+ * approve/reject: a proposed plan (`plan-decision.ts`) and a tool-approval card
4
+ * (`approval-decision.ts`). Both apply the same safety ordering — a modification
5
+ * marker anywhere wins, reject is checked before approve, and bare yes/no/ok
6
+ * only decide on short utterances — over their own vocabularies, then map the
7
+ * outcome to their own domain type. Keeping the algorithm here (not copied into
8
+ * each caller) is the single source for that ordering.
9
+ */
10
+ /** Per-caller vocabulary + the short-utterance bound for bare words. */
11
+ export type DecisionVocab = {
12
+ /** Modification markers — any occurrence routes to "marker" (feedback/amend). */
13
+ readonly markers: readonly string[];
14
+ /** Unambiguous reject phrases, matched as a word-boundary prefix. */
15
+ readonly rejectPhrases: readonly string[];
16
+ /** Unambiguous approve phrases, matched as a word-boundary prefix. */
17
+ readonly approvePhrases: readonly string[];
18
+ /** Bare rejects ("no"…) — decide only as the first word of a short utterance. */
19
+ readonly bareRejectWords: readonly string[];
20
+ /** Bare approvals ("yes"…) — decide only as the first word of a short utterance. */
21
+ readonly bareApproveWords: readonly string[];
22
+ /** Bare words decide only when the utterance is at most this many words. */
23
+ readonly maxBareWords: number;
24
+ };
25
+ export type DecisionOutcome = "approve" | "reject" | "marker" | "none";
26
+ /** Classify a final voice transcript against a caller's decision vocabulary. */
27
+ export declare const classifyDecision: (transcript: string, vocab: DecisionVocab) => DecisionOutcome;
@@ -0,0 +1,5 @@
1
+ /** Shared voice-transcript normalization + word-prefix matching. */
2
+ /** Lowercase, strip diacritics + punctuation, collapse whitespace. */
3
+ export declare const normalizeTranscript: (transcript: string) => string;
4
+ /** True when `phrase` is a word-boundary prefix of the utterance's words. */
5
+ export declare const startsWithPhrase: (words: readonly string[], phrase: string) => boolean;
@@ -42,6 +42,10 @@ export declare const readPersistedTtsEnabled: () => boolean | null;
42
42
  export declare const setPersistedTtsEnabled: (enabled: boolean) => void;
43
43
  /** Drop the persisted speaker choice (back to the host default). Test-only. */
44
44
  export declare const clearPersistedTtsEnabled: () => void;
45
+ export type VoiceClosedSendMode = "confirm" | "auto";
46
+ export declare const subscribeVoiceClosedSendMode: (listener: () => void) => (() => void);
47
+ export declare const peekVoiceClosedSendMode: () => VoiceClosedSendMode;
48
+ export declare const setVoiceClosedSendMode: (mode: VoiceClosedSendMode) => void;
45
49
  /**
46
50
  * Human label for a `KeyboardEvent.code`: "ControlLeft" → "Left Ctrl",
47
51
  * "KeyA" → "A", "Digit7" → "7". Codes with no friendlier reading ("Space",
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Spoken send/cancel intent for the CLOSED-surface dictation flow (pure, no DOM).
3
+ *
4
+ * With the chat surface hidden, a dictated draft is held on the rail and a
5
+ * FOLLOW-UP push-to-talk utterance either sends it, discards it, or adds more
6
+ * words. Safety bias: a mis-fired "send" posts a turn the user can't see, so
7
+ * only an utterance that is EXACTLY a command word counts — anything richer is
8
+ * dictation (appended, always recoverable).
9
+ */
10
+ export type VoiceSendIntent = "send" | "cancel" | "dictate";
11
+ /** Classify a follow-up transcript while a closed-surface draft is pending. */
12
+ export declare const interpretVoiceSendIntent: (transcript: string) => VoiceSendIntent;
@@ -0,0 +1,44 @@
1
+ export declare const isWorkspaceExternalId: (value: string) => boolean;
2
+ export type WorkspaceScope = {
3
+ readonly kind: "unconfigured";
4
+ } | {
5
+ readonly kind: "scoped";
6
+ readonly id: string;
7
+ } | {
8
+ readonly kind: "missing";
9
+ };
10
+ /** Poll cadence for URL-param tracking (the grant card's historical 2s). */
11
+ export declare const WORKSPACE_SCOPE_POLL_MS = 2000;
12
+ /** Resolve the scope LIVE (fresh URL read). See the header for precedence. */
13
+ export declare const peekWorkspaceScope: () => WorkspaceScope;
14
+ /**
15
+ * The scoped id, or null (unconfigured AND missing both read as null).
16
+ * CAUTION: because this collapses `missing`, it is only safe where the
17
+ * caller's surface is already disabled/blocked in the missing state (e.g.
18
+ * the stream-state pointer key). Request paths that WRITE must use
19
+ * `peekWorkspaceScope()` and refuse `missing` explicitly — never fall back
20
+ * to the shared legacy root.
21
+ */
22
+ export declare const peekWorkspaceId: () => string | null;
23
+ export declare const subscribeWorkspaceScope: (listener: () => void) => (() => void);
24
+ /** `useSyncExternalStore` hook — the effective scope, re-rendering on change. */
25
+ export declare const useWorkspaceScope: () => WorkspaceScope;
26
+ /**
27
+ * Configure tracking from the embed config (`applyInitConfig` derives it from
28
+ * `agentGrant.scopeUrlParam` / `scopeExternalId`, so existing Simetrik embeds
29
+ * get workspace isolation with zero host changes). Re-applying the same
30
+ * config (re-`init`, React effect re-runs) is a no-op.
31
+ */
32
+ export declare const configureWorkspaceScope: (input: {
33
+ readonly urlParam?: string | null;
34
+ readonly staticId?: string | null;
35
+ }) => void;
36
+ /**
37
+ * Imperative host switch (`belong.setWorkspace`) — wins over URL tracking
38
+ * until cleared with `null`, and notifies synchronously (no poll latency).
39
+ * An invalid id is rejected with a warning and leaves the scope unchanged —
40
+ * a host bug must never silently break the dock.
41
+ */
42
+ export declare const setHostWorkspace: (id: string | null) => void;
43
+ /** Test-only: reset config + override and re-seed the snapshot. Keeps listeners. */
44
+ export declare const __resetWorkspaceScopeForTest: () => void;
@@ -171,6 +171,8 @@ export declare const en: {
171
171
  readonly embed: {
172
172
  readonly yourSkills: "Your skills";
173
173
  readonly skillsMenuLabel: "Skills";
174
+ readonly minimizeSkills: "Minimize skills";
175
+ readonly expandSkills: "Expand skills";
174
176
  readonly workspaceFilesMenuLabel: "Workspace files";
175
177
  readonly previewFile: "Preview {{name}}";
176
178
  readonly downloadFile: "Download {{name}}";
@@ -342,6 +344,7 @@ export declare const en: {
342
344
  readonly backendUnavailable: "Can't reach the assistant service — check your connection.";
343
345
  readonly streamError: "Stream error — {{message}}";
344
346
  readonly streamErrorFallback: "please retry";
347
+ readonly workspaceUnavailable: "Waiting for a workspace — select one in the app to continue.";
345
348
  };
346
349
  };
347
350
  export type EnMessages = typeof en;
@@ -4,6 +4,8 @@ export declare const embedMiscEn: {
4
4
  readonly embed: {
5
5
  readonly yourSkills: "Your skills";
6
6
  readonly skillsMenuLabel: "Skills";
7
+ readonly minimizeSkills: "Minimize skills";
8
+ readonly expandSkills: "Expand skills";
7
9
  readonly workspaceFilesMenuLabel: "Workspace files";
8
10
  readonly previewFile: "Preview {{name}}";
9
11
  readonly downloadFile: "Download {{name}}";
@@ -51,6 +53,8 @@ export declare const embedMiscEs: {
51
53
  embed: {
52
54
  yourSkills: string;
53
55
  skillsMenuLabel: string;
56
+ minimizeSkills: string;
57
+ expandSkills: string;
54
58
  workspaceFilesMenuLabel: string;
55
59
  previewFile: string;
56
60
  downloadFile: string;
@@ -31,6 +31,13 @@ export type PartRendererProps = {
31
31
  * omits it while a run streams so the CTA can't double-submit).
32
32
  */
33
33
  readonly onExecutePlan?: (() => void) | undefined;
34
+ /**
35
+ * The part belongs to a restored-history message (`metadata.fromHistory`,
36
+ * stamped by `loadSessionHistory`). The dispatch renderers (navigation,
37
+ * ui_action, cli-reconnect) render settled and never re-fire their one-shot
38
+ * side effects. Absent/false = live part, dispatch as usual.
39
+ */
40
+ readonly historical?: boolean | undefined;
34
41
  };
35
42
  /**
36
43
  * The AI SDK's `UIMessagePart` union is open at the patch-version
@@ -39,7 +46,7 @@ export type PartRendererProps = {
39
46
  * `BelongDataParts` (above) plus the SDK's built-in `text` and
40
47
  * `reasoning` parts.
41
48
  */
42
- export declare const PartRenderer: ({ part, onExecutePlan }: PartRendererProps) => import("react").JSX.Element | null;
49
+ export declare const PartRenderer: ({ part, onExecutePlan, historical }: PartRendererProps) => import("react").JSX.Element | null;
43
50
  /** One shell command paired with its (same-id) sandbox output, if any. */
44
51
  export type TerminalCommand = {
45
52
  readonly command: ToolCallData;