@belonguniverseai/react-sdk 0.6.28 → 0.6.29

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 (101) hide show
  1. package/README.md +14 -4
  2. package/dist/api/artifact-actions.d.ts +0 -1
  3. package/dist/api/auth-errors.d.ts +21 -0
  4. package/dist/api/client.d.ts +800 -64
  5. package/dist/api/goals.d.ts +19 -2
  6. package/dist/api/task-schedule-sharing.d.ts +18 -3
  7. package/dist/api/task-schedules.d.ts +74 -10
  8. package/dist/app/VoiceOverlay.d.ts +4 -3
  9. package/dist/app/dock-story-data.d.ts +15 -0
  10. package/dist/browser/control-channel.d.ts +9 -0
  11. package/dist/browser/dom-bridge.d.ts +2 -0
  12. package/dist/component/BelongWidget.d.ts +13 -3
  13. package/dist/component/{abnfDiagram-N423BO3Z-BGC_KU0K.js → abnfDiagram-N423BO3Z-BvL7baZ-.js} +4 -4
  14. package/dist/component/{arc-BpIEtZvJ.js → arc-DVUroP2Z.js} +2 -2
  15. package/dist/component/{architectureDiagram-T3A2C74G-DYlEVfnh.js → architectureDiagram-T3A2C74G-CYt93mxs.js} +3 -3
  16. package/dist/component/{blockDiagram-VBNYF7ZC-BWDnhAW1.js → blockDiagram-VBNYF7ZC-yST7U8Pb.js} +4 -4
  17. package/dist/component/{c4Diagram-5PPSVZJV-VKL0Shn2.js → c4Diagram-5PPSVZJV-BHz6Efx3.js} +3 -3
  18. package/dist/component/{channel-gGd0pNDR.js → channel-CKTqNdN4.js} +2 -2
  19. package/dist/component/{chunk-2GRJ4B5K-CEt4y1jX.js → chunk-2GRJ4B5K-Bw2zHHAm.js} +2 -2
  20. package/dist/component/{chunk-2Q5K7J3B-Dj2wrNzr.js → chunk-2Q5K7J3B-DpBuF73m.js} +2 -2
  21. package/dist/component/{chunk-5RXB4S5H-oJQEn1bH.js → chunk-5RXB4S5H-dxBtwi1p.js} +5 -5
  22. package/dist/component/{chunk-5VM5RSS4-DddP8MPP.js → chunk-5VM5RSS4-BOTqM1Rc.js} +2 -2
  23. package/dist/component/{chunk-6Q2QTUOP-CppUJwrF.js → chunk-6Q2QTUOP-DjMXJhRD.js} +2 -2
  24. package/dist/component/{chunk-GF5L2VYU--hyUlO9v.js → chunk-GF5L2VYU-CGpnSfXM.js} +6 -6
  25. package/dist/component/{chunk-JWPE2WC7-CN0Ieqel.js → chunk-JWPE2WC7-L5aYKPho.js} +2 -2
  26. package/dist/component/{chunk-KBJHAD2P-BWhCQoHz.js → chunk-KBJHAD2P-DH2RFBaF.js} +2 -2
  27. package/dist/component/{chunk-RYQCIY6F-BgNewpQe.js → chunk-RYQCIY6F-QPgRO0s7.js} +2 -2
  28. package/dist/component/{chunk-XXDRQBXY-mNH171OF.js → chunk-XXDRQBXY-C1ezaFpA.js} +2 -2
  29. package/dist/component/{classDiagram-JCYQIIEL-UjZbWotD.js → classDiagram-JCYQIIEL-Dx7Qx836.js} +3 -3
  30. package/dist/component/{classDiagram-v2-OCEON4UE-UjZbWotD.js → classDiagram-v2-OCEON4UE-Dx7Qx836.js} +3 -3
  31. package/dist/component/{cose-bilkent-JH36ORCC-lsVWGlMj.js → cose-bilkent-JH36ORCC-Bem1eaLJ.js} +2 -2
  32. package/dist/component/{cynefinDiagram-MW4NZA55-B5Ss0zoy.js → cynefinDiagram-MW4NZA55-DF15EWOu.js} +3 -3
  33. package/dist/component/{dagre-VZM6K2ZE-DisWRVfU.js → dagre-VZM6K2ZE-BVzwev7l.js} +3 -3
  34. package/dist/component/{diagram-7IWD3JNH-B2QrdsOh.js → diagram-7IWD3JNH-DzQhKX_v.js} +4 -4
  35. package/dist/component/{diagram-B4RE2ZJO-Bs8l4THz.js → diagram-B4RE2ZJO-DnHINfhE.js} +3 -3
  36. package/dist/component/{diagram-LBJQPF4R-JTadtYMW.js → diagram-LBJQPF4R-CPqE_GwY.js} +3 -3
  37. package/dist/component/{diagram-Q27KOJAE-BQC33flc.js → diagram-Q27KOJAE-BjpvfqhL.js} +4 -4
  38. package/dist/component/{diagram-UB23O5K3-ujC22dQx.js → diagram-UB23O5K3-BcYqFjqI.js} +3 -3
  39. package/dist/component/{ebnfDiagram-BXEA7PRR-0WnF2wzt.js → ebnfDiagram-BXEA7PRR-DoqGcWGx.js} +4 -4
  40. package/dist/component/{erDiagram-JOGREHBK-CqgMsd5R.js → erDiagram-JOGREHBK-DGrj5tIK.js} +5 -5
  41. package/dist/component/{flowDiagram-UKHOOZJN-BOM0P8Mk.js → flowDiagram-UKHOOZJN-B8OuOrVY.js} +7 -7
  42. package/dist/component/{ganttDiagram-PKOTCBZU-WeRFC1th.js → ganttDiagram-PKOTCBZU-BaxSqTVY.js} +3 -3
  43. package/dist/component/{gitGraphDiagram-DS77QQ5N-CS8L-BA8.js → gitGraphDiagram-DS77QQ5N-W1Sqa3Hc.js} +4 -4
  44. package/dist/component/{highlighted-body-OFNGDK62-CGejnMyq.js → highlighted-body-OFNGDK62-Cf1UqcGe.js} +2 -2
  45. package/dist/component/index.d.ts +1 -0
  46. package/dist/component/index.js +2 -2
  47. package/dist/component/{infoDiagram-6WML65LV-CQQhytkd.js → infoDiagram-6WML65LV-BS0JlYPr.js} +2 -2
  48. package/dist/component/{ishikawaDiagram-WSZJBQD7-CjDo3-zt.js → ishikawaDiagram-WSZJBQD7-Df_NzOQV.js} +2 -2
  49. package/dist/component/{journeyDiagram-NVQOT4AX-BCCoblta.js → journeyDiagram-NVQOT4AX-JWKvZ6rc.js} +5 -5
  50. package/dist/component/{kanban-definition-27J2QSJJ-DgTIrgvB.js → kanban-definition-27J2QSJJ-DMvICKAB.js} +3 -3
  51. package/dist/component/{linear-BOaza_dp.js → linear-D02U2fTS.js} +2 -2
  52. package/dist/component/{mermaid-GHXKKRXX-BAq5-Vj8.js → mermaid-GHXKKRXX-B7CJJdoE.js} +37650 -36676
  53. package/dist/component/{mindmap-definition-FAOFIHXS-D1oolR3A.js → mindmap-definition-FAOFIHXS-AzTh8oju.js} +4 -4
  54. package/dist/component/{pegDiagram-VL7TDLO6-C9UxqvBP.js → pegDiagram-VL7TDLO6-DSCzZs_w.js} +4 -4
  55. package/dist/component/{pieDiagram-7S7Q4E2Y-I5IXzOZM.js → pieDiagram-7S7Q4E2Y-CEByr6BB.js} +4 -4
  56. package/dist/component/{quadrantDiagram-CIZ2JOQS-DPDFBhEd.js → quadrantDiagram-CIZ2JOQS-BrWOf-GT.js} +3 -3
  57. package/dist/component/{railroadDiagram-AXF67PYL-DIAkhVTf.js → railroadDiagram-AXF67PYL-DRtsV2gM.js} +4 -4
  58. package/dist/component/{requirementDiagram-LRYGKXZP-DBEmV-Qy.js → requirementDiagram-LRYGKXZP-_WwAo7AE.js} +4 -4
  59. package/dist/component/{sankeyDiagram-W5VNT64P-BEeDyDj7.js → sankeyDiagram-W5VNT64P-DBxP3yyK.js} +2 -2
  60. package/dist/component/{sequenceDiagram-SI44F4Z6-WYcXWUHF.js → sequenceDiagram-SI44F4Z6-B3SNXrpC.js} +4 -4
  61. package/dist/component/{sizeCapture-X5ZJPWSS-BqDBRpiS.js → sizeCapture-X5ZJPWSS-D5G8pyPC.js} +2 -2
  62. package/dist/component/{stateDiagram-OKZ733FA-CfYfR0OH.js → stateDiagram-OKZ733FA-C4UZwsoc.js} +3 -3
  63. package/dist/component/{stateDiagram-v2-UEYNNEHI-BSa2VwcQ.js → stateDiagram-v2-UEYNNEHI-DIYB5q15.js} +3 -3
  64. package/dist/component/{swimlanes-SLNWSIFB-C-7mrC4X.js → swimlanes-SLNWSIFB-Cc9yJXTh.js} +4 -4
  65. package/dist/component/{swimlanesDiagram-ULZ7WXOC-DXcMd7U4.js → swimlanesDiagram-ULZ7WXOC-DsGPiJ-s.js} +3 -3
  66. package/dist/component/{timeline-definition-Z64GVDOM-Dp65E80E.js → timeline-definition-Z64GVDOM-Dr4-iAeD.js} +3 -3
  67. package/dist/component/{vennDiagram-T6HMQDX7-CRpZ12TH.js → vennDiagram-T6HMQDX7-ZiaZ9jYw.js} +2 -2
  68. package/dist/component/{wardleyDiagram-T6FBY63Y-BupsM8K3.js → wardleyDiagram-T6FBY63Y-KdF37MT-.js} +3 -3
  69. package/dist/component/{xychartDiagram-ELKLHX3M-CUnr8Qbu.js → xychartDiagram-ELKLHX3M-NH_bOKPL.js} +3 -3
  70. package/dist/components/embed/ComposerContext.d.ts +11 -7
  71. package/dist/components/embed/EmbedComposer.d.ts +3 -1
  72. package/dist/components/embed/GoalRefusalCard.d.ts +5 -1
  73. package/dist/components/scheduled/ConfirmRunPausedScheduleDialog.d.ts +18 -0
  74. package/dist/components/scheduled/EmailCopiesFields.d.ts +19 -0
  75. package/dist/components/scheduled/ScheduledDetailSurface.d.ts +2 -1
  76. package/dist/components/scheduled/use-run-now-with-confirmation.d.ts +17 -0
  77. package/dist/embed/artifact-action-bridge.d.ts +11 -3
  78. package/dist/embed/artifact-remint-budget.d.ts +5 -0
  79. package/dist/embed/copy.d.ts +13 -18
  80. package/dist/embed/goal-edit-command.d.ts +6 -5
  81. package/dist/embed/plan-decision-text.d.ts +1 -0
  82. package/dist/embed/voice-config.d.ts +22 -31
  83. package/dist/embed/voice-prefs.d.ts +18 -34
  84. package/dist/i18n/messages/en.d.ts +28 -2
  85. package/dist/i18n/messages/surfaces/feedback.d.ts +12 -0
  86. package/dist/i18n/messages/surfaces/plan.d.ts +4 -0
  87. package/dist/i18n/messages/surfaces/scheduled.d.ts +53 -1
  88. package/dist/i18n/messages/surfaces/usage.d.ts +1 -1
  89. package/dist/lib/tab-control-store.d.ts +14 -0
  90. package/dist/lib/tab-leadership.d.ts +9 -24
  91. package/dist/lib/use-tab-leadership.d.ts +5 -7
  92. package/dist/routes/chat/history-merge.d.ts +53 -0
  93. package/dist/routes/chat/history-paging.d.ts +25 -6
  94. package/dist/routes/chat/use-catch-up-on-return.d.ts +70 -0
  95. package/dist/routes/chat/use-return-to-page.d.ts +7 -0
  96. package/dist/stream/belong-chat-transport.d.ts +8 -6
  97. package/dist/stream/dispatch-once.d.ts +1 -1
  98. package/dist/stream/queued-message-outbox.d.ts +1 -0
  99. package/dist/stream/session-control-context.d.ts +7 -0
  100. package/dist/types/public.d.ts +12 -5
  101. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { g as oe } from "./chunk-XXDRQBXY-mNH171OF.js";
2
- import { s as ae } from "./chunk-KBJHAD2P-BWhCQoHz.js";
3
- import { _ as l, l as C, v as ce, x as le, z as he, E as G, c as B, i as F, b9 as de, ad as ge, ae as ue, af as pe } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { g as oe } from "./chunk-XXDRQBXY-C1ezaFpA.js";
2
+ import { s as ae } from "./chunk-KBJHAD2P-DH2RFBaF.js";
3
+ import { _ as l, l as C, v as ce, x as le, z as he, E as G, c as B, i as F, b9 as de, ad as ge, ae as ue, af as pe } from "./mermaid-GHXKKRXX-B7CJJdoE.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-FAOFIHXS-D1oolR3A.js.map
833
+ //# sourceMappingURL=mindmap-definition-FAOFIHXS-AzTh8oju.js.map
@@ -1,6 +1,6 @@
1
- import { g as i, r as m, d as a } from "./chunk-6Q2QTUOP-CppUJwrF.js";
2
- import { p } from "./chunk-JWPE2WC7-CN0Ieqel.js";
3
- import { _ as t, l as o } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { g as i, r as m, d as a } from "./chunk-6Q2QTUOP-DjMXJhRD.js";
2
+ import { p } from "./chunk-JWPE2WC7-L5aYKPho.js";
3
+ import { _ as t, l as o } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
4
4
  import { M as u, d as c } from "./cynefin-VYW2F7L2-DAyxamLw.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
@@ -95,4 +95,4 @@ var f = c().RailroadPeg.parser.LangiumParser, l = /* @__PURE__ */ t((e) => {
95
95
  export {
96
96
  S as diagram
97
97
  };
98
- //# sourceMappingURL=pegDiagram-VL7TDLO6-C9UxqvBP.js.map
98
+ //# sourceMappingURL=pegDiagram-VL7TDLO6-DSCzZs_w.js.map
@@ -1,7 +1,7 @@
1
- import { p as at } from "./chunk-JWPE2WC7-CN0Ieqel.js";
2
- import { V as D, K as P, b8 as rt, g as nt, s as it, a as ot, b as st, p as lt, o as ct, _ as d, l as B, c as gt, D as ut, G as dt, a4 as ht, e as pt, q as ft, E as mt } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { p as at } from "./chunk-JWPE2WC7-L5aYKPho.js";
2
+ import { V as D, K as P, b8 as rt, g as nt, s as it, a as ot, b as st, p as lt, o as ct, _ as d, l as B, c as gt, D as ut, G as dt, a4 as ht, e as pt, q as ft, E as mt } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
3
  import { p as vt } from "./cynefin-VYW2F7L2-DAyxamLw.js";
4
- import { d as X } from "./arc-BpIEtZvJ.js";
4
+ import { d as X } from "./arc-DVUroP2Z.js";
5
5
  import { o as xt } from "./ordinal-D0x7izaa.js";
6
6
  globalThis.process = globalThis.process || { env: {} };
7
7
  globalThis.global = globalThis.global || globalThis;
@@ -207,4 +207,4 @@ var At = mt.pie, I = {
207
207
  export {
208
208
  It as diagram
209
209
  };
210
- //# sourceMappingURL=pieDiagram-7S7Q4E2Y-I5IXzOZM.js.map
210
+ //# sourceMappingURL=pieDiagram-7S7Q4E2Y-CEByr6BB.js.map
@@ -1,5 +1,5 @@
1
- import { s as Se, g as _e, p as ee, o as Ae, a as ke, b as Fe, _ as r, c as Et, l as qt, d as vt, e as Pe, q as ve, E as z, i as Ce, Z as Le } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
2
- import { l as te } from "./linear-BOaza_dp.js";
1
+ import { s as Se, g as _e, p as ee, o as Ae, a as ke, b as Fe, _ as r, c as Et, l as qt, d as vt, e as Pe, q as ve, E as z, i as Ce, Z as Le } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
2
+ import { l as te } from "./linear-D02U2fTS.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var Ct = (function() {
@@ -1029,4 +1029,4 @@ var ze = /* @__PURE__ */ r(function() {
1029
1029
  export {
1030
1030
  Ne as diagram
1031
1031
  };
1032
- //# sourceMappingURL=quadrantDiagram-CIZ2JOQS-DPDFBhEd.js.map
1032
+ //# sourceMappingURL=quadrantDiagram-CIZ2JOQS-BrWOf-GT.js.map
@@ -1,6 +1,6 @@
1
- import { g as o, r as i, d as t } from "./chunk-6Q2QTUOP-CppUJwrF.js";
2
- import { p } from "./chunk-JWPE2WC7-CN0Ieqel.js";
3
- import { _ as l, l as n } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { g as o, r as i, d as t } from "./chunk-6Q2QTUOP-DjMXJhRD.js";
2
+ import { p } from "./chunk-JWPE2WC7-L5aYKPho.js";
3
+ import { _ as l, l as n } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
4
4
  import { M as m, c as u } from "./cynefin-VYW2F7L2-DAyxamLw.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
@@ -77,4 +77,4 @@ var d = u().Railroad.parser.LangiumParser, a = /* @__PURE__ */ l((e) => {
77
77
  export {
78
78
  E as diagram
79
79
  };
80
- //# sourceMappingURL=railroadDiagram-AXF67PYL-DIAkhVTf.js.map
80
+ //# sourceMappingURL=railroadDiagram-AXF67PYL-DRtsV2gM.js.map
@@ -1,6 +1,6 @@
1
- import { g as ze } from "./chunk-XXDRQBXY-mNH171OF.js";
2
- import { s as Ge } from "./chunk-KBJHAD2P-BWhCQoHz.js";
3
- import { _ as h, z as Ye, b as Xe, a as Je, s as Ze, g as et, o as tt, p as st, c as ke, l as Ne, q as it, u as rt, v as nt, x as at, y as lt } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { g as ze } from "./chunk-XXDRQBXY-C1ezaFpA.js";
2
+ import { s as Ge } from "./chunk-KBJHAD2P-DH2RFBaF.js";
3
+ import { _ as h, z as Ye, b as Xe, a as Je, s as Ze, g as et, o as tt, p as st, c as ke, l as Ne, q as it, u as rt, v as nt, x as at, y as lt } from "./mermaid-GHXKKRXX-B7CJJdoE.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-LRYGKXZP-DBEmV-Qy.js.map
888
+ //# sourceMappingURL=requirementDiagram-LRYGKXZP-_WwAo7AE.js.map
@@ -1,4 +1,4 @@
1
- import { o as kt, p as mt, s as xt, g as _t, b as vt, a as bt, _ as y, c as ot, bc as St, d as G, ag as wt, q as Lt, k as Et } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { o as kt, p as mt, s as xt, g as _t, b as vt, a as bt, _ as y, c as ot, bc as St, d as G, ag as wt, q as Lt, k as Et } from "./mermaid-GHXKKRXX-B7CJJdoE.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-W5VNT64P-BEeDyDj7.js.map
862
+ //# sourceMappingURL=sankeyDiagram-W5VNT64P-DBxP3yyK.js.map
@@ -1,6 +1,6 @@
1
- import { I as tr } from "./chunk-2Q5K7J3B-Dj2wrNzr.js";
2
- import { _ as x, $ as er, c as $, d as Vt, l as at, j as Ce, e as rr, f as ar, k as N, b as ke, s as sr, o as ir, a as nr, g as or, p as cr, a0 as lr, a1 as hr, q as dr, i as Yt, y as Z, a2 as Q, a3 as Pt, a4 as Me, a5 as Tr, z as Kt, a6 as pr, a7 as Be } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
3
- import { a as Er, b as ae, g as dt, d as ur, c as se, e as ie } from "./chunk-2GRJ4B5K-CEt4y1jX.js";
1
+ import { I as tr } from "./chunk-2Q5K7J3B-DpBuF73m.js";
2
+ import { _ as x, $ as er, c as $, d as Vt, l as at, j as Ce, e as rr, f as ar, k as N, b as ke, s as sr, o as ir, a as nr, g as or, p as cr, a0 as lr, a1 as hr, q as dr, i as Yt, y as Z, a2 as Q, a3 as Pt, a4 as Me, a5 as Tr, z as Kt, a6 as pr, a7 as Be } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
+ import { a as Er, b as ae, g as dt, d as ur, c as se, e as ie } from "./chunk-2GRJ4B5K-Bw2zHHAm.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
6
6
  var te = (function() {
@@ -2891,4 +2891,4 @@ var ra = /* @__PURE__ */ x(async function(e, t, a) {
2891
2891
  export {
2892
2892
  Ta as diagram
2893
2893
  };
2894
- //# sourceMappingURL=sequenceDiagram-SI44F4Z6-WYcXWUHF.js.map
2894
+ //# sourceMappingURL=sequenceDiagram-SI44F4Z6-B3SNXrpC.js.map
@@ -1,4 +1,4 @@
1
- import { _ as t } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { _ as t } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  var l = 1;
@@ -46,4 +46,4 @@ export {
46
46
  p as captureNodeSizes,
47
47
  c as shouldCaptureSizes
48
48
  };
49
- //# sourceMappingURL=sizeCapture-X5ZJPWSS-BqDBRpiS.js.map
49
+ //# sourceMappingURL=sizeCapture-X5ZJPWSS-D5G8pyPC.js.map
@@ -1,5 +1,5 @@
1
- import { s as R, a as W, S as N } from "./chunk-5RXB4S5H-oJQEn1bH.js";
2
- import { _ as f, c as t, d as M, l as S, e as P, k as z, aa as _, ab as U, a6 as C, y as F } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { s as R, a as W, S as N } from "./chunk-5RXB4S5H-dxBtwi1p.js";
2
+ import { _ as f, c as t, d as M, l as S, e as P, k as z, aa as _, ab as U, a6 as C, y as F } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
3
  import { G as O } from "./graph-CWpEkm4G.js";
4
4
  import { l as J } from "./layout-Br2UjHRU.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-OKZ733FA-CfYfR0OH.js.map
266
+ //# sourceMappingURL=stateDiagram-OKZ733FA-C4UZwsoc.js.map
@@ -1,5 +1,5 @@
1
- import { s as e, b as r, a as s, S as t } from "./chunk-5RXB4S5H-oJQEn1bH.js";
2
- import { _ as l } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { s as e, b as r, a as s, S as t } from "./chunk-5RXB4S5H-dxBtwi1p.js";
2
+ import { _ as l } from "./mermaid-GHXKKRXX-B7CJJdoE.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-UEYNNEHI-BSa2VwcQ.js.map
19
+ //# sourceMappingURL=stateDiagram-v2-UEYNNEHI-DIYB5q15.js.map
@@ -1,5 +1,5 @@
1
- import { c as Tr } from "./chunk-RYQCIY6F-BgNewpQe.js";
2
- import { ap as Er, aq as wr, ar as Ar, as as Rr, l as Ke, c as Nr, aj as Or, ai as Pr, ak as Br, aw as kr, ay as Fr, z as _r, av as Dr, az as Hr, y as Oe, aA as Ye, _ as d, aB as Ao } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { c as Tr } from "./chunk-RYQCIY6F-QPgRO0s7.js";
2
+ import { ap as Er, aq as wr, ar as Ar, as as Rr, l as Ke, c as Nr, aj as Or, ai as Pr, ak as Br, aw as kr, ay as Fr, z as _r, av as Dr, az as Hr, y as Oe, aA as Ye, _ as d, aB as Ao } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
3
  import { G as Xr } from "./graph-CWpEkm4G.js";
4
4
  globalThis.process = globalThis.process || { env: {} };
5
5
  globalThis.global = globalThis.global || globalThis;
@@ -24,7 +24,7 @@ async function Fo(t, e) {
24
24
  for (const I of o)
25
25
  n.setEdge(I.start, I.end, { ...I }, I.id), e.edges.some((p) => p.id === I.id) || e.edges.push(I);
26
26
  if (globalThis.mermaidCaptureSizes) {
27
- const { captureNodeSizes: I } = await import("./sizeCapture-X5ZJPWSS-BqDBRpiS.js");
27
+ const { captureNodeSizes: I } = await import("./sizeCapture-X5ZJPWSS-D5G8pyPC.js");
28
28
  I(t, e);
29
29
  }
30
30
  return {
@@ -5332,4 +5332,4 @@ d(Zr, "render");
5332
5332
  export {
5333
5333
  Zr as render
5334
5334
  };
5335
- //# sourceMappingURL=swimlanes-SLNWSIFB-C-7mrC4X.js.map
5335
+ //# sourceMappingURL=swimlanes-SLNWSIFB-Cc9yJXTh.js.map
@@ -1,5 +1,5 @@
1
- import { c as e, s as a } from "./flowDiagram-UKHOOZJN-BOM0P8Mk.js";
2
- import { _ as s } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { c as e, s as a } from "./flowDiagram-UKHOOZJN-B8OuOrVY.js";
2
+ import { _ as s } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var t = /* @__PURE__ */ s((l) => `${a(l)}
@@ -13,4 +13,4 @@ var t = /* @__PURE__ */ s((l) => `${a(l)}
13
13
  export {
14
14
  g as diagram
15
15
  };
16
- //# sourceMappingURL=swimlanesDiagram-ULZ7WXOC-DXcMd7U4.js.map
16
+ //# sourceMappingURL=swimlanesDiagram-ULZ7WXOC-DsGPiJ-s.js.map
@@ -1,5 +1,5 @@
1
- import { _ as o, z as gt, ad as Rt, ae as Ct, af as Wt, c as pt, l as E, G as Pt, a4 as Bt, ag as ft, d as U, u as Vt, ah as Ft, q as zt } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
2
- import { d as ot } from "./arc-BpIEtZvJ.js";
1
+ import { _ as o, z as gt, ad as Rt, ae as Ct, af as Wt, c as pt, l as E, G as Pt, a4 as Bt, ag as ft, d as U, u as Vt, ah as Ft, q as zt } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
2
+ import { d as ot } from "./arc-DVUroP2Z.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-Z64GVDOM-Dp65E80E.js.map
1058
+ //# sourceMappingURL=timeline-definition-Z64GVDOM-Dr4-iAeD.js.map
@@ -1,4 +1,4 @@
1
- import { b7 as Wt, s as Kt, g as Ht, p as Yt, o as Xt, a as Zt, b as Jt, _ as w, z as wt, G as Qt, d as ot, ao as $t, ad as te, ae as ee, af as ne, e as se, q as ie, D as oe, E as re } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { b7 as Wt, s as Kt, g as Ht, p as Yt, o as Xt, a as Zt, b as Jt, _ as w, z as wt, G as Qt, d as ot, ao as $t, ad as te, ae as ee, af as ne, e as se, q as ie, D as oe, E as re } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  const kt = (t, n) => Wt(t, "a", -n), _t = 1e-10;
@@ -1578,4 +1578,4 @@ var Ue = { draw: qe }, We = {
1578
1578
  export {
1579
1579
  We as diagram
1580
1580
  };
1581
- //# sourceMappingURL=vennDiagram-T6HMQDX7-CRpZ12TH.js.map
1581
+ //# sourceMappingURL=vennDiagram-T6HMQDX7-ZiaZ9jYw.js.map
@@ -1,5 +1,5 @@
1
- import { p as St } from "./chunk-JWPE2WC7-CN0Ieqel.js";
2
- import { s as Mt, g as Nt, p as Tt, o as zt, a as Lt, b as At, _ as u, Z as Xt, z as Et, D as U, l as K, G as Yt, e as It, q as Bt, c as j } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { p as St } from "./chunk-JWPE2WC7-L5aYKPho.js";
2
+ import { s as Mt, g as Nt, p as Tt, o as zt, a as Lt, b as At, _ as u, Z as Xt, z as Et, D as U, l as K, G as Yt, e as It, q as Bt, c as j } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
3
3
  import { p as Ft } from "./cynefin-VYW2F7L2-DAyxamLw.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-T6FBY63Y-BupsM8K3.js.map
681
+ //# sourceMappingURL=wardleyDiagram-T6FBY63Y-KdF37MT-.js.map
@@ -1,7 +1,7 @@
1
- import { s as si, g as ai, p as Et, o as ni, a as oi, b as ri, _ as n, l as It, G as hi, e as li, q as ci, z as pt, i as ui, D as Mt, E as gi, Z as xi, aC as di, aa as Dt } from "./mermaid-GHXKKRXX-BAq5-Vj8.js";
1
+ import { s as si, g as ai, p as Et, o as ni, a as oi, b as ri, _ as n, l as It, G as hi, e as li, q as ci, z as pt, i as ui, D as Mt, E as gi, Z as xi, aC as di, aa as Dt } from "./mermaid-GHXKKRXX-B7CJJdoE.js";
2
2
  import { i as fi } from "./init-BOu0eQYQ.js";
3
3
  import { o as pi } from "./ordinal-D0x7izaa.js";
4
- import { l as vt } from "./linear-BOaza_dp.js";
4
+ import { l as vt } from "./linear-D02U2fTS.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
7
7
  function mi(t, i, e) {
@@ -1418,4 +1418,4 @@ var Ti = /* @__PURE__ */ n(function() {
1418
1418
  export {
1419
1419
  zi as diagram
1420
1420
  };
1421
- //# sourceMappingURL=xychartDiagram-ELKLHX3M-CUnr8Qbu.js.map
1421
+ //# sourceMappingURL=xychartDiagram-ELKLHX3M-NH_bOKPL.js.map
@@ -1,9 +1,13 @@
1
1
  /**
2
- * The host page this message is written against, plus a second route to
3
- * "Attach files". Pending files are NOT listed here: the removable chips
4
- * above the input are their one home (listing them in both places read as
5
- * redundant), so with no page label there is nothing for this control to say.
2
+ * The host page this message is written against — and, since #840, sent with
3
+ * it: the transport posts the same label as the message's page context, so
4
+ * the chip states context the agent really receives. The panel shows the full
5
+ * label (the trigger truncates it, and touch devices have no tooltip) and says
6
+ * what is sent: the page name, never the page contents.
7
+ *
8
+ * Nothing else lives here. Pending files are the removable chips above the
9
+ * input, and the paperclip is the one "Attach files" control — this panel
10
+ * used to carry a second one that did the same thing under the same label.
11
+ * With no page label there is nothing for this control to say.
6
12
  */
7
- export declare function ComposerContext({ onAttach }: {
8
- readonly onAttach: () => void;
9
- }): import("react").JSX.Element | null;
13
+ export declare function ComposerContext(): import("react").JSX.Element | null;
@@ -5,7 +5,7 @@ import { SkillSummary } from '../../api/skills.ts';
5
5
  import { PrePromptSummary } from '../../api/pre-prompts.ts';
6
6
  import { WorkspaceFile } from '../../api/workspace-files.ts';
7
7
  import { UsageMeterProps } from './UsageMeter.tsx';
8
- export declare function EmbedComposer({ draft, placeholder, suggestion, status, submitting, disabled, voiceSupported, voiceConfigured, listening, theme, palette, skills, librarySkills, prompts, workspaceFiles, mode, onModeChange, onDraftChange, onMentionOpen, onSaveAsPrompt, onSubmit, onStop, usage, pendingQuestion, onSetGoal, responseModes, }: Readonly<{
8
+ export declare function EmbedComposer({ draft, placeholder, suggestion, status, submitting, disabled, readOnly, voiceSupported, voiceConfigured, listening, theme, palette, skills, librarySkills, prompts, workspaceFiles, mode, onModeChange, onDraftChange, onMentionOpen, onSaveAsPrompt, onSubmit, onStop, usage, pendingQuestion, onSetGoal, responseModes, }: Readonly<{
9
9
  draft: string;
10
10
  /** Overrides the composer's own invitation while a surface above it is
11
11
  * asking for something specific (the goal row's "Tell it what to try"
@@ -20,6 +20,8 @@ export declare function EmbedComposer({ draft, placeholder, suggestion, status,
20
20
  status: "submitted" | "streaming" | "ready" | "error";
21
21
  submitting: boolean;
22
22
  disabled: boolean;
23
+ /** Another tab controls this session; browsing and drafts stay local. */
24
+ readOnly?: boolean;
23
25
  voiceSupported: boolean;
24
26
  /** False once the backend answered "voice keys not configured" (§C6c). */
25
27
  voiceConfigured: boolean;
@@ -1,6 +1,10 @@
1
+ import { GoalStatus } from '../../api/goals.ts';
1
2
  import { GoalRefusal } from '../../embed/goal-cap-notice.ts';
2
3
  export type GoalRefusalCardProps = {
3
4
  readonly refusal: GoalRefusal;
5
+ /** The session's live goal status, when the dock knows it — picks the
6
+ * "already has a goal" wording (#766). Defaults to `null` (unknown). */
7
+ readonly goalStatus?: GoalStatus | null;
4
8
  /** "This chat already has a goal" → Open it. */
5
9
  readonly onOpenGoal: () => void;
6
10
  /** "This chat already has a goal" → Clear it and set this one (confirmed
@@ -19,4 +23,4 @@ export type GoalRefusalCardProps = {
19
23
  * `false` for callers (tests, Storybook) that never go async. */
20
24
  readonly busy?: boolean;
21
25
  };
22
- export declare function GoalRefusalCard({ refusal, onOpenGoal, onReplace, onKeepText, onRetry, onDismiss, busy, }: GoalRefusalCardProps): import("react").JSX.Element;
26
+ export declare function GoalRefusalCard({ refusal, goalStatus, onOpenGoal, onReplace, onKeepText, onRetry, onDismiss, busy, }: GoalRefusalCardProps): import("react").JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * "Run now" confirmation for a PAUSED schedule (list card menu + detail menu).
3
+ *
4
+ * #837: run-now on a paused task runs the whole task once, emails included,
5
+ * and the task stays paused. Users reasonably read "paused" as "nothing will
6
+ * go out", so an email that arrives afterwards looks like a bug unless the
7
+ * surface says so first. An active task runs straight away, as before.
8
+ *
9
+ * Every schedule notifies by email (completion or custom), so the copy names
10
+ * emails unconditionally. Not red (§42): nothing is failing and the user is
11
+ * choosing it, so the confirm is the ordinary primary button.
12
+ */
13
+ export declare const ConfirmRunPausedScheduleDialog: (props: {
14
+ readonly open: boolean;
15
+ readonly onOpenChange: (open: boolean) => void;
16
+ readonly busy: boolean;
17
+ readonly onConfirm: () => void;
18
+ }) => import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { EmailCopies } from '../../api/task-schedules.ts';
2
+ export type EmailCopiesText = {
3
+ readonly cc: string;
4
+ readonly bcc: string;
5
+ readonly replyTo: string;
6
+ };
7
+ export declare const EMPTY_EMAIL_COPIES_TEXT: EmailCopiesText;
8
+ export declare const emailCopiesText: (copies: EmailCopies | null | undefined) => EmailCopiesText;
9
+ /** `null` when any list is invalid; empty lists are dropped from the result. */
10
+ export declare const parseEmailCopies: (text: EmailCopiesText) => EmailCopies | null;
11
+ export declare const EmailCopiesFields: (props: {
12
+ readonly value: EmailCopiesText;
13
+ readonly onChange: (value: EmailCopiesText) => void;
14
+ readonly disabled: boolean;
15
+ /** Section label when expanded; collapsed, the link reads "Add CC, BCC or Reply-To". */
16
+ readonly label: string;
17
+ readonly help: string;
18
+ readonly testIdPrefix: string;
19
+ }) => import("react").JSX.Element;
@@ -1,8 +1,9 @@
1
- import { TaskScheduleDetail, TaskScheduleRun } from '../../api/task-schedules.ts';
1
+ import { EmailCopies, TaskScheduleDetail, TaskScheduleRun } from '../../api/task-schedules.ts';
2
2
  export declare const EmailNotificationIndicator: (props: {
3
3
  readonly notification: TaskScheduleDetail["notification"];
4
4
  readonly shared?: boolean;
5
5
  readonly sharedRecipients?: readonly string[] | undefined;
6
+ readonly sharedCopies?: EmailCopies | null | undefined;
6
7
  }) => import("react").JSX.Element;
7
8
  export declare const MicrosoftTeamsDeliveryIndicator: (props: {
8
9
  readonly delivery: NonNullable<TaskScheduleDetail["microsoftTeamsDelivery"]>;
@@ -0,0 +1,17 @@
1
+ import { TaskScheduleDetail } from '../../api/task-schedules.ts';
2
+ export declare const useRunNowWithConfirmation: (props: {
3
+ readonly taskScheduleId: string;
4
+ readonly onStarted: () => void;
5
+ readonly onFailed: () => void;
6
+ }) => {
7
+ /** Start Run now from the status the surface currently shows. */
8
+ request: (shownStatus: TaskScheduleDetail["status"]) => void;
9
+ pending: boolean;
10
+ /** Spread onto `ConfirmRunPausedScheduleDialog`. */
11
+ dialog: {
12
+ open: boolean;
13
+ busy: boolean;
14
+ onOpenChange: (open: boolean) => void;
15
+ onConfirm: () => void;
16
+ };
17
+ };
@@ -11,9 +11,16 @@ export type ArtifactActionBridge = {
11
11
  /**
12
12
  * Why a bridge asks its owner for a fresh preview mint (new token, new document key, new frame):
13
13
  * `navigation` — a second document loaded in the frame (the report reloaded or navigated itself);
14
- * `stale` — the bridge was created for a frame that already loaded, or for a key already spent.
14
+ * `stale` — the bridge was created for a frame that already loaded, or for a key already spent;
15
+ * `unanswered` — the document never answered its challenge (#796).
15
16
  */
16
- export type ArtifactRemintReason = "navigation" | "stale";
17
+ export type ArtifactRemintReason = "navigation" | "stale" | "unanswered";
18
+ /**
19
+ * Visible time the parent waits for the report to answer its challenge. A document served without
20
+ * its single-use key (a refetch, a failed key claim, an early self-navigation) never answers and
21
+ * would otherwise stay without actions until its preview URL renews, about 12 minutes later (#796).
22
+ */
23
+ export declare const ARTIFACT_CHALLENGE_TIMEOUT_MS = 10000;
17
24
  /**
18
25
  * How the parent learned a snapshot: `transition` = it just changed in front of this view (a
19
26
  * submission, an approval decision, an observed status read); `snapshot` = a current read the
@@ -47,7 +54,8 @@ export declare const nextArtifactPollDelayMs: (previous: {
47
54
  * challenge sent on the frame's FIRST load, and the minted document key; origin "null" is never an
48
55
  * authority. The first document is the one the parent navigated the frame to; any later load is a
49
56
  * document the report chose (reload or navigation), so the bridge retires and asks for a re-mint
50
- * rather than offering that document a channel.
57
+ * rather than offering that document a channel. A challenge still unanswered after 10 s of visible
58
+ * time also asks for a re-mint; the bridge keeps listening until its owner replaces it.
51
59
  */
52
60
  export declare const createArtifactActionBridge: (input: {
53
61
  readonly frame: HTMLIFrameElement;
@@ -7,6 +7,11 @@
7
7
  export declare const ARTIFACT_SELF_RELOAD_WINDOW_MS = 60000;
8
8
  /** Delay before each successive re-mint inside one window. Its length is the per-window cap. */
9
9
  export declare const ARTIFACT_REMINT_BACKOFF_MS: readonly number[];
10
+ /**
11
+ * Re-mints one view spends on a report that never answered its challenge (it was served without
12
+ * its single-use key). Separate from the self-reload allowance: the report did nothing wrong (#796).
13
+ */
14
+ export declare const ARTIFACT_UNANSWERED_REMINTS_PER_VIEW = 2;
10
15
  export type ArtifactRemintDecision = {
11
16
  readonly kind: "remint";
12
17
  readonly delayMs: number;
@@ -68,8 +68,8 @@ export type MenuCopy = {
68
68
  readonly history: string;
69
69
  readonly voice: string;
70
70
  readonly pushToTalk: string;
71
- readonly pressAnyKey: string;
72
- readonly change: string;
71
+ /** Push-to-talk key select: the option that binds no key. */
72
+ readonly pushToTalkOff: string;
73
73
  readonly reset: string;
74
74
  readonly voiceSend: string;
75
75
  readonly voiceSendConfirm: string;
@@ -96,9 +96,6 @@ export type SkillsPanelCopy = {
96
96
  export type DockCopy = {
97
97
  readonly welcomeCard: WelcomeCardContent;
98
98
  readonly tour: TourCopy;
99
- /** Localized name for the Space key (every other code renders via
100
- * `formatKeyCode`, which is already language-neutral). */
101
- readonly spaceKeyLabel: string;
102
99
  readonly replayMenu: string;
103
100
  readonly language: {
104
101
  readonly label: string;
@@ -159,25 +156,22 @@ export type DockCopy = {
159
156
  readonly micTooltip: (keyLabel: string) => string;
160
157
  /** Mobile variant of the mic tooltip — omits the keyboard fallback. */
161
158
  readonly micTooltipTouch: string;
159
+ /** Desktop mic tooltip while no push-to-talk key is bound — says where to pick one. */
160
+ readonly micTooltipNoKey: string;
162
161
  readonly viewPlan: string;
163
162
  readonly hidePlan: string;
164
163
  };
165
164
  };
166
165
  export declare const DOCK_COPY: Record<Locale, DockCopy>;
167
- /**
168
- * Human label for the push-to-talk key, localized where a translation exists:
169
- * "Space" reads "Espacio"/"Espaço" in ES/PT; every other code goes through
170
- * `formatKeyCode` ("ControlLeft" → "Left Ctrl", "KeyV" → "V", …).
171
- */
172
- export declare const voiceKeyLabel: (code: string, locale: Locale) => string;
173
166
  /**
174
167
  * Flatten the variant-keyed welcome-card content into the strings the
175
- * presentational card renders, injecting the LIVE voice key label, then
176
- * applying the active theme's per-locale `copy` override (BEL-135) when a
177
- * tenant supplies one — Simetrik's preset, or a published theme.json. A
178
- * neutral host with no override gets the variant copy as-is.
168
+ * presentational card renders, injecting the LIVE voice key label (`null`
169
+ * when no push-to-talk key is bound), then applying the active theme's
170
+ * per-locale `copy` override (BEL-135) when a tenant supplies one — Simetrik's
171
+ * preset, or a published theme.json. A neutral host with no override gets the
172
+ * variant copy as-is.
179
173
  */
180
- export declare const resolveWelcomeCardCopy: (locale: Locale, variant: DockCopyVariant, keyLabel: string, override?: DockCopyOverride, options?: {
174
+ export declare const resolveWelcomeCardCopy: (locale: Locale, variant: DockCopyVariant, keyLabel: string | null, override?: DockCopyOverride, options?: {
181
175
  readonly mobile?: boolean;
182
176
  readonly voiceAvailable?: boolean;
183
177
  }) => WelcomeCardCopy;
@@ -192,8 +186,9 @@ export type ResolvedWelcomeCopy = {
192
186
  };
193
187
  export declare const resolveWelcomeCopy: (locale: Locale, variant: DockCopyVariant, override: DockCopyOverride | undefined) => ResolvedWelcomeCopy;
194
188
  /** Merge the locale-independent step defs with this locale's titles/bodies,
195
- * injecting the LIVE voice key label and picking the variant's `/` step. */
196
- export declare const buildTourSteps: (locale: Locale, keyLabel: string, variant: DockCopyVariant, options?: {
189
+ * injecting the LIVE voice key label (`null` when no push-to-talk key is
190
+ * bound) and picking the variant's `/` step. */
191
+ export declare const buildTourSteps: (locale: Locale, keyLabel: string | null, variant: DockCopyVariant, options?: {
197
192
  readonly mobile?: boolean;
198
193
  }) => readonly TourStep[];
199
194
  export {};
@@ -1,3 +1,4 @@
1
+ import { TFunction } from 'i18next';
1
2
  import { GoalActionOutcome, GoalEditInput } from '../api/goals.ts';
2
3
  import { BuiltinCommand } from './slash-commands.ts';
3
4
  /** The three `/goal` sub-commands that map onto `POST .../goal/edit`. */
@@ -13,13 +14,13 @@ type GoalEditCommand = Extract<BuiltinCommand, {
13
14
  type GoalEditOutcome = GoalActionOutcome | {
14
15
  readonly status: "no_change";
15
16
  };
16
- type GoalEditNoticeKey = "goal.revived" | "goal.edited" | "goal.notEditable" | "goal.editUsage" | "goal.none" | "goal.disabled" | "goal.error";
17
17
  /** Command → `POST .../goal/edit` request body. */
18
18
  export declare const goalEditRequestBody: (command: GoalEditCommand) => GoalEditInput;
19
19
  /**
20
- * `editSessionGoal` outcome → the i18n key for the local notice. A `revived`
21
- * edit (a raised cap that un-stalled a `budget_limited` goal) gets its own
22
- * copy distinct from a plain edit — see `GoalActionOutcome`'s `revived` flag.
20
+ * `editSessionGoal` outcome → the local notice. A `revived` edit (a raised
21
+ * cap that un-stalled a `budget_limited` goal) gets its own copy distinct
22
+ * from a plain edit — see `GoalActionOutcome`'s `revived` flag — and one
23
+ * that left the goal `budget_limited` says it is still stopped (#766).
23
24
  */
24
- export declare const goalEditNoticeKey: (outcome: GoalEditOutcome) => GoalEditNoticeKey;
25
+ export declare const goalEditNoticeText: (t: TFunction, outcome: GoalEditOutcome) => string;
25
26
  export {};
@@ -0,0 +1 @@
1
+ export { PLAN_DECISION_TEXTS, recognizePlanDecisionText } from '@belong/codec/plan-decision-text';
@@ -1,35 +1,23 @@
1
+ import { z } from 'zod';
1
2
  /**
2
- * Voice configuration — module-level knobs shared by the capture engine
3
- * (`voice-bus.ts`) and the TTS player (`voice-tts.ts`).
4
- *
5
- * The host sets these once at init (or via the public API):
6
- *
7
- * • `apiBaseUrl` — where `/v1/voice/*` lives (same origin as the rest
8
- * of the backend RPC client). Default "" → same-origin
9
- * relative fetch.
10
- * • `pushToTalkKey` — a `KeyboardEvent.code` (default "ControlLeft") the
11
- * dock binds for hold-to-talk. This is the HOST default;
12
- * the end user may override it per browser via
13
- * `voice-prefs.ts` (the dock binds the EFFECTIVE key
14
- * from `getEffectivePushToTalkKey()`).
15
- * • `autoplayTts` — whether assistant replies are spoken aloud by default.
16
- * • `voiceId` — TTS voice id; "" means "let the backend default apply".
17
- * • `utteranceFlushMs` — how long (ms) to wait before flushing a buffered
18
- * partial utterance to the backend. Default 1000.
19
- * • `callSilenceMs` — silence window (ms) after which a live call turn ends.
20
- * Default 3000.
21
- * • `ttsPlaybackRate` — client-side playback speed for spoken audio (filler +
22
- * reply). Gemini's batch TTS has no rate knob, so we slow
23
- * it on the element (pitch preserved). Default 0.9 (10%
24
- * slower); sane range 0.5–1.5.
25
- * • `ttsChunkGapMs` — minimum pause (ms) between sentence chunks in
26
- * conversational playback, so consecutive sentences
27
- * breathe like natural speech instead of running
28
- * back-to-back. Default 350; 0 disables the pause.
29
- *
30
- * Plain module state mirrors `theme.ts`: no class, no DI — these are global
31
- * UX preferences for the embedded dock, not domain state.
3
+ * The keys push-to-talk may bind. The dock swallows the key's keydown on the
4
+ * whole page while it is bound, so a key that types (letters, digits, Space,
5
+ * Enter, Tab) would silently eat that character in every text field. F-keys the
6
+ * browser owns (F1 help, F3 find, F5 reload, F6/F10 focus moves, F7 caret
7
+ * browsing, F11 fullscreen, F12 devtools) are left out too: an idle-only
8
+ * `preventDefault` cannot keep them from firing mid-recording.
32
9
  */
10
+ export declare const PUSH_TO_TALK_KEYS: readonly ["ControlRight", "ControlLeft", "AltRight", "AltLeft", "F2", "F8", "F9"];
11
+ export type PushToTalkKey = (typeof PUSH_TO_TALK_KEYS)[number];
12
+ export declare const pushToTalkKeySchema: z.ZodEnum<{
13
+ ControlRight: "ControlRight";
14
+ ControlLeft: "ControlLeft";
15
+ AltRight: "AltRight";
16
+ AltLeft: "AltLeft";
17
+ F2: "F2";
18
+ F8: "F8";
19
+ F9: "F9";
20
+ }>;
33
21
  export type VoiceConfigInput = {
34
22
  readonly apiBaseUrl?: string;
35
23
  readonly pushToTalkKey?: string;
@@ -43,7 +31,10 @@ export type VoiceConfigInput = {
43
31
  /** Merge host-provided config; `undefined` fields leave the current value intact. */
44
32
  export declare const configureVoice: (input: VoiceConfigInput) => void;
45
33
  export declare const getVoiceApiBaseUrl: () => string;
46
- export declare const getPushToTalkKey: () => string;
34
+ /** The host's default key, or `null` when the host binds none. */
35
+ export declare const getPushToTalkKey: () => PushToTalkKey | null;
36
+ /** Test-only: drop a host default set via `configureVoice` (back to none). */
37
+ export declare const __resetPushToTalkKeyForTest: () => void;
47
38
  export declare const getAutoplayTtsDefault: () => boolean;
48
39
  export declare const getVoiceId: () => string;
49
40
  export declare const getUtteranceFlushMs: () => number;