@belonguniverseai/react-sdk 0.6.20 → 0.6.22

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 (177) hide show
  1. package/README.md +69 -0
  2. package/dist/api/client.d.ts +784 -43
  3. package/dist/api/goals.d.ts +179 -0
  4. package/dist/api/issue-reports.d.ts +13 -0
  5. package/dist/api/query-keys.d.ts +18 -0
  6. package/dist/api/questions.d.ts +2 -6
  7. package/dist/api/report-client-error.d.ts +3 -0
  8. package/dist/api/retry-fetch.d.ts +19 -0
  9. package/dist/api/skill-library.d.ts +100 -0
  10. package/dist/api/skills.d.ts +3 -1
  11. package/dist/app/dock-outlet.d.ts +15 -5
  12. package/dist/browser/allowed-ops.d.ts +18 -0
  13. package/dist/browser/host-mcp.d.ts +31 -0
  14. package/dist/component/{abnfDiagram-N423BO3Z-BhpvofGI.js → abnfDiagram-N423BO3Z-D4mVRMw9.js} +4 -4
  15. package/dist/component/{arc-BDj2q5CZ.js → arc-GBp6w3tF.js} +2 -2
  16. package/dist/component/{architectureDiagram-T3A2C74G-CWQqfm2n.js → architectureDiagram-T3A2C74G-Cxm-USYQ.js} +3 -3
  17. package/dist/component/{blockDiagram-VBNYF7ZC-DegT976u.js → blockDiagram-VBNYF7ZC-BAiLpxJf.js} +4 -4
  18. package/dist/component/{c4Diagram-5PPSVZJV-CSnfnID_.js → c4Diagram-5PPSVZJV-Sy6sLJOj.js} +3 -3
  19. package/dist/component/{channel-CUQQeqtV.js → channel-DPbaAkCI.js} +2 -2
  20. package/dist/component/{chunk-2GRJ4B5K-BmCkMXuE.js → chunk-2GRJ4B5K-8r8YJzCc.js} +2 -2
  21. package/dist/component/{chunk-2Q5K7J3B-ACFPsFU_.js → chunk-2Q5K7J3B-RZqny7-R.js} +2 -2
  22. package/dist/component/{chunk-5RXB4S5H-Bu-wqNe4.js → chunk-5RXB4S5H-QFCY9Dtl.js} +5 -5
  23. package/dist/component/{chunk-5VM5RSS4-DDzdObQ5.js → chunk-5VM5RSS4-BG8q5ODa.js} +2 -2
  24. package/dist/component/{chunk-6Q2QTUOP-35aGDtbe.js → chunk-6Q2QTUOP-D6ec2nI7.js} +2 -2
  25. package/dist/component/{chunk-GF5L2VYU-CBooNwOJ.js → chunk-GF5L2VYU-D7yROYf0.js} +6 -6
  26. package/dist/component/{chunk-JWPE2WC7-CZN_bZMl.js → chunk-JWPE2WC7-CmGlHqne.js} +2 -2
  27. package/dist/component/{chunk-KBJHAD2P-Cj08hUgE.js → chunk-KBJHAD2P-W03s7swc.js} +2 -2
  28. package/dist/component/{chunk-RYQCIY6F-CC4FyEwj.js → chunk-RYQCIY6F-D0oyMUJ7.js} +2 -2
  29. package/dist/component/{chunk-XXDRQBXY-CJW3AYPF.js → chunk-XXDRQBXY-D4s0eyp4.js} +2 -2
  30. package/dist/component/{classDiagram-JCYQIIEL-LpH5TtI1.js → classDiagram-JCYQIIEL-DwNAC2XG.js} +3 -3
  31. package/dist/component/{classDiagram-v2-OCEON4UE-LpH5TtI1.js → classDiagram-v2-OCEON4UE-DwNAC2XG.js} +3 -3
  32. package/dist/component/{cose-bilkent-JH36ORCC-h8wo2OH9.js → cose-bilkent-JH36ORCC-DhGvXDdi.js} +2 -2
  33. package/dist/component/{cynefinDiagram-MW4NZA55-DuieCsNY.js → cynefinDiagram-MW4NZA55-BCUeX7pB.js} +3 -3
  34. package/dist/component/{dagre-VZM6K2ZE-DqMvwkom.js → dagre-VZM6K2ZE-DWofHoga.js} +3 -3
  35. package/dist/component/{diagram-7IWD3JNH-BThr9-R3.js → diagram-7IWD3JNH-DjCFF_Dr.js} +4 -4
  36. package/dist/component/{diagram-B4RE2ZJO-rjoRYPDB.js → diagram-B4RE2ZJO-CSovrpFW.js} +3 -3
  37. package/dist/component/{diagram-LBJQPF4R-C41ccwxG.js → diagram-LBJQPF4R-Cgpae-sR.js} +3 -3
  38. package/dist/component/{diagram-Q27KOJAE-DPN9msRq.js → diagram-Q27KOJAE-DikMPfLU.js} +4 -4
  39. package/dist/component/{diagram-UB23O5K3-DSjf5_Nk.js → diagram-UB23O5K3-sQU6rZbO.js} +3 -3
  40. package/dist/component/{ebnfDiagram-BXEA7PRR-vPL9oktk.js → ebnfDiagram-BXEA7PRR-B9t8-G8R.js} +4 -4
  41. package/dist/component/{erDiagram-JOGREHBK-Kc3mZe4M.js → erDiagram-JOGREHBK-DKg1HhSl.js} +5 -5
  42. package/dist/component/{flowDiagram-UKHOOZJN-2aUAXRZU.js → flowDiagram-UKHOOZJN-BO8jpT1D.js} +7 -7
  43. package/dist/component/{ganttDiagram-PKOTCBZU-DMZtqJSP.js → ganttDiagram-PKOTCBZU-BPXYyB9Q.js} +3 -3
  44. package/dist/component/{gitGraphDiagram-DS77QQ5N-E77l0Z1u.js → gitGraphDiagram-DS77QQ5N-BjVLFBUS.js} +4 -4
  45. package/dist/component/{highlighted-body-OFNGDK62-C1DkgW7U.js → highlighted-body-OFNGDK62-BKot66c3.js} +2 -2
  46. package/dist/component/{index-Dips44uG.js → index-i49DPVb4.js} +960 -464
  47. package/dist/component/index.js +2 -2
  48. package/dist/component/{infoDiagram-6WML65LV-CpvnNYd0.js → infoDiagram-6WML65LV-BkAC5Bwv.js} +2 -2
  49. package/dist/component/{ishikawaDiagram-WSZJBQD7-B1q_lFLX.js → ishikawaDiagram-WSZJBQD7-oplkIs_t.js} +2 -2
  50. package/dist/component/{journeyDiagram-NVQOT4AX-6uEmqBOC.js → journeyDiagram-NVQOT4AX-CuliMCSv.js} +5 -5
  51. package/dist/component/{kanban-definition-27J2QSJJ-C2QioWX9.js → kanban-definition-27J2QSJJ-DdzOdEiL.js} +3 -3
  52. package/dist/component/{linear-BT5VqKju.js → linear-zZDwdGmK.js} +2 -2
  53. package/dist/component/{mermaid-GHXKKRXX-C8vyJd7j.js → mermaid-GHXKKRXX-aX5umm-y.js} +49795 -42603
  54. package/dist/component/{mindmap-definition-FAOFIHXS-D9m5nI-X.js → mindmap-definition-FAOFIHXS-DD2HF9oE.js} +4 -4
  55. package/dist/component/{pegDiagram-VL7TDLO6-C6Voiy3J.js → pegDiagram-VL7TDLO6-DyiDl9bF.js} +4 -4
  56. package/dist/component/{pieDiagram-7S7Q4E2Y-sqStHf6X.js → pieDiagram-7S7Q4E2Y-DflxKS_B.js} +4 -4
  57. package/dist/component/{quadrantDiagram-CIZ2JOQS-J4smKtsQ.js → quadrantDiagram-CIZ2JOQS-nwwayVOP.js} +3 -3
  58. package/dist/component/{railroadDiagram-AXF67PYL-DWSgdnlw.js → railroadDiagram-AXF67PYL-BTtD2eN9.js} +4 -4
  59. package/dist/component/{requirementDiagram-LRYGKXZP-CD2psvke.js → requirementDiagram-LRYGKXZP-B37q1LKL.js} +4 -4
  60. package/dist/component/{sankeyDiagram-W5VNT64P-BTctWXxs.js → sankeyDiagram-W5VNT64P-zY0W9eje.js} +2 -2
  61. package/dist/component/{sequenceDiagram-SI44F4Z6-BSr4jTRw.js → sequenceDiagram-SI44F4Z6-CmQiqB8F.js} +4 -4
  62. package/dist/component/{sizeCapture-X5ZJPWSS-DDKZl6MR.js → sizeCapture-X5ZJPWSS-dF3FvIT8.js} +2 -2
  63. package/dist/component/snapdom-DkzCA8S0.js +7061 -0
  64. package/dist/component/{stateDiagram-OKZ733FA-DpICd9vK.js → stateDiagram-OKZ733FA-CX61F3L0.js} +3 -3
  65. package/dist/component/{stateDiagram-v2-UEYNNEHI-CDWkukZc.js → stateDiagram-v2-UEYNNEHI-DnFZhhu3.js} +3 -3
  66. package/dist/component/{swimlanes-SLNWSIFB-C2qUEfbN.js → swimlanes-SLNWSIFB-CX9XGBvw.js} +4 -4
  67. package/dist/component/{swimlanesDiagram-ULZ7WXOC-BATYiMa7.js → swimlanesDiagram-ULZ7WXOC-Bqkgx7qk.js} +3 -3
  68. package/dist/component/{timeline-definition-Z64GVDOM-BANf8HvQ.js → timeline-definition-Z64GVDOM-BUX4OSm1.js} +3 -3
  69. package/dist/component/{vennDiagram-T6HMQDX7-ByIwO7x1.js → vennDiagram-T6HMQDX7-BpVOq4Rh.js} +2 -2
  70. package/dist/component/{wardleyDiagram-T6FBY63Y-5_6KGTWP.js → wardleyDiagram-T6FBY63Y-BUDGa8Mv.js} +3 -3
  71. package/dist/component/{xychartDiagram-ELKLHX3M-KS7oMXi0.js → xychartDiagram-ELKLHX3M-FIA_LnIu.js} +3 -3
  72. package/dist/components/embed/EmbedComposer.d.ts +11 -1
  73. package/dist/components/embed/EmbedHeader.d.ts +7 -1
  74. package/dist/components/embed/EmbedRail.d.ts +18 -2
  75. package/dist/components/embed/GoalActions.d.ts +15 -0
  76. package/dist/components/embed/GoalBadge.d.ts +17 -0
  77. package/dist/components/embed/GoalClearDialog.d.ts +6 -0
  78. package/dist/components/embed/GoalClearedLine.d.ts +3 -0
  79. package/dist/components/embed/GoalCompletionCard.d.ts +12 -0
  80. package/dist/components/embed/GoalComposeSheet.d.ts +19 -0
  81. package/dist/components/embed/GoalProposalCard.d.ts +29 -0
  82. package/dist/components/embed/GoalRailView.d.ts +15 -0
  83. package/dist/components/embed/GoalRefusalCard.d.ts +22 -0
  84. package/dist/components/embed/GoalSetCard.d.ts +5 -0
  85. package/dist/components/embed/GoalSnoozeMenu.d.ts +14 -0
  86. package/dist/components/embed/GoalStatusRow.d.ts +6 -0
  87. package/dist/components/embed/GoalTimeline.d.ts +6 -0
  88. package/dist/components/embed/MobileNavBar.d.ts +5 -1
  89. package/dist/components/embed/QuestionCard.d.ts +12 -1
  90. package/dist/components/embed/ScheduleNotices.d.ts +23 -0
  91. package/dist/components/embed/SentAsGoalTag.d.ts +1 -0
  92. package/dist/components/embed/SubagentsPaneBody.d.ts +3 -0
  93. package/dist/components/embed/rail-flags.d.ts +13 -0
  94. package/dist/components/feedback/IssueReportController.d.ts +1 -0
  95. package/dist/components/feedback/IssueReportDialog.d.ts +6 -0
  96. package/dist/components/skills/ConfirmDeleteSkillDialog.d.ts +9 -0
  97. package/dist/components/skills/SkillLibraryToolSync.d.ts +4 -0
  98. package/dist/components/skills/SkillsListSurface.d.ts +26 -0
  99. package/dist/components/skills/UploadSkillDialog.d.ts +32 -0
  100. package/dist/components/skills/skill-archive-file.d.ts +15 -0
  101. package/dist/components/ui/badge.d.ts +1 -1
  102. package/dist/embed/client-error-log.d.ts +72 -0
  103. package/dist/embed/copy.d.ts +1 -0
  104. package/dist/embed/dev-mode.d.ts +5 -7
  105. package/dist/embed/dock-open-request.d.ts +32 -0
  106. package/dist/embed/dock-state.d.ts +1 -1
  107. package/dist/embed/goal-actions-model.d.ts +9 -0
  108. package/dist/embed/goal-cap-notice.d.ts +36 -0
  109. package/dist/embed/goal-deep-link.d.ts +24 -0
  110. package/dist/embed/goal-edit-command.d.ts +25 -0
  111. package/dist/embed/goal-journal.d.ts +53 -0
  112. package/dist/embed/goal-live-status.d.ts +2 -0
  113. package/dist/embed/goal-plain-units.d.ts +35 -0
  114. package/dist/embed/goal-progress.d.ts +15 -0
  115. package/dist/embed/goal-proposal-dismissal.d.ts +11 -0
  116. package/dist/embed/goal-resume-time.d.ts +22 -0
  117. package/dist/embed/goal-row-model.d.ts +27 -0
  118. package/dist/embed/goal-runway.d.ts +5 -0
  119. package/dist/embed/goal-schedule-handoff.d.ts +12 -0
  120. package/dist/embed/goal-status-label.d.ts +3 -0
  121. package/dist/embed/goal-time-usage.d.ts +19 -0
  122. package/dist/embed/issue-report-bus.d.ts +14 -0
  123. package/dist/embed/issue-report-open.d.ts +8 -0
  124. package/dist/embed/issue-report.d.ts +41 -0
  125. package/dist/embed/locale.d.ts +1 -1
  126. package/dist/embed/screen-capture.d.ts +74 -0
  127. package/dist/embed/slash-commands.d.ts +24 -0
  128. package/dist/embed/task-schedule-command.d.ts +7 -0
  129. package/dist/embed/voice/line-run-reader.d.ts +8 -0
  130. package/dist/embed/voice-call.d.ts +4 -0
  131. package/dist/i18n/messages/en.d.ts +385 -13
  132. package/dist/i18n/messages/it.d.ts +3 -0
  133. package/dist/i18n/messages/surfaces/aiElements.d.ts +52 -0
  134. package/dist/i18n/messages/surfaces/app.d.ts +18 -0
  135. package/dist/i18n/messages/surfaces/connectors.d.ts +235 -0
  136. package/dist/i18n/messages/surfaces/embedMisc.d.ts +45 -0
  137. package/dist/i18n/messages/surfaces/feedback.d.ts +93 -0
  138. package/dist/i18n/messages/surfaces/files.d.ts +37 -0
  139. package/dist/i18n/messages/surfaces/header.d.ts +44 -0
  140. package/dist/i18n/messages/surfaces/login.d.ts +8 -0
  141. package/dist/i18n/messages/surfaces/plan.d.ts +17 -0
  142. package/dist/i18n/messages/surfaces/prompts.d.ts +43 -0
  143. package/dist/i18n/messages/surfaces/scheduled.d.ts +108 -0
  144. package/dist/i18n/messages/surfaces/sessions.d.ts +23 -0
  145. package/dist/i18n/messages/surfaces/skills.d.ts +216 -0
  146. package/dist/i18n/messages/surfaces/stats.d.ts +18 -0
  147. package/dist/i18n/messages/surfaces/stream.d.ts +290 -27
  148. package/dist/i18n/messages/surfaces/usage.d.ts +26 -0
  149. package/dist/i18n/messages/surfaces/workspace.d.ts +30 -0
  150. package/dist/public-api.d.ts +1 -1
  151. package/dist/routes/chat/part-renderer-extra-props.d.ts +43 -0
  152. package/dist/routes/chat/use-goal-receipt.d.ts +37 -0
  153. package/dist/routes/chat/use-host-draft-request.d.ts +2 -0
  154. package/dist/routes/chat/use-session-goal.d.ts +226 -0
  155. package/dist/routes/chat.d.ts +10 -1
  156. package/dist/routes/goal.d.ts +1 -0
  157. package/dist/routes/skills.d.ts +2 -0
  158. package/dist/stream/activity-items.d.ts +25 -0
  159. package/dist/stream/ai-sdk-part-renderers.d.ts +70 -25
  160. package/dist/stream/belong-chat-transport.d.ts +147 -2
  161. package/dist/stream/belong-data-parts.d.ts +55 -7
  162. package/dist/stream/goal-store.d.ts +43 -0
  163. package/dist/stream/message-continuation.d.ts +29 -0
  164. package/dist/stream/message-metadata.d.ts +1 -0
  165. package/dist/stream/message-parts.d.ts +42 -0
  166. package/dist/stream/run-line-progress.d.ts +1 -0
  167. package/dist/stream/select-goal-set-part-id.d.ts +2 -0
  168. package/dist/stream/select-latest-goal.d.ts +13 -0
  169. package/dist/stream/subagent-controls-store.d.ts +20 -0
  170. package/dist/stream/subagent-lanes-model.d.ts +175 -0
  171. package/dist/stream/subagent-lanes.d.ts +89 -0
  172. package/dist/stream/use-publish-subagent-controls.d.ts +11 -0
  173. package/dist/stream/workspace-focus-store.d.ts +7 -1
  174. package/dist/test/render.d.ts +18 -1
  175. package/dist/test/subagent-fixtures.d.ts +24 -0
  176. package/dist/types/public.d.ts +55 -2
  177. package/package.json +1 -1
package/README.md CHANGED
@@ -78,6 +78,75 @@ the init values.
78
78
  Neither value is persisted — a reload re-derives both from the host's next
79
79
  `init`.
80
80
 
81
+ ### Opening the dock from the host (`window.belong.open`)
82
+
83
+ `belong.open({ size?, draft? })` shows the chat view at the requested size:
84
+ `"fullscreen"` covers the viewport on desktop (a phone resolves it to the open
85
+ sheet, like the rail's own toggle), `"expanded"` docks it beside the page, and
86
+ omitting `size` keeps the current size (a collapsed dock expands). `draft`
87
+ prefills the composer — never sends it, only when the composer is empty, at
88
+ most 4,000 characters — and focuses it. The user can always leave fullscreen.
89
+
90
+ It is safe to call BEFORE `init` resolves: a request made before the dock
91
+ mounts is applied at mount, so `open({ size: "fullscreen" })` followed by
92
+ `init(...)` mounts straight into fullscreen with no flash of the docked size.
93
+
94
+ ### Host-bridged MCP (`init({ hostMcp })`)
95
+
96
+ Some tools can only be reached from the signed-in user's own page — an MCP
97
+ server behind an identity-aware proxy, an intranet, a cookie session. A tenant
98
+ publishes such a server as an MCP plugin entry with `transport: "host"` and a
99
+ same-origin `mcpUri` path (see `docs/guides/009-manual-agent-integration.md`);
100
+ the agent's calls then travel to the dock, which POSTs each JSON-RPC
101
+ `tools/call` to that path on the page's own origin with `credentials:
102
+ "same-origin"` and relays the raw answer back.
103
+
104
+ The host must opt in, per path:
105
+
106
+ ```js
107
+ window.belong.init({
108
+ // …
109
+ hostMcp: { allowedPaths: ["/mcp"] }, // root-relative, exact match, at most 8
110
+ });
111
+ ```
112
+
113
+ A path not listed is refused in the page (`mcp_not_allowed`) whatever the
114
+ tenant publishes; omitting `hostMcp` disables the feature. Requests carry
115
+ `x-belong-source: dock` so the host can label its own audit logs; they follow no
116
+ redirects (an expired proxy session reads as "sign-in expired", not as a login
117
+ page), abort after 55 s, and relay at most 1,000,000 characters of body.
118
+
119
+ ### Restricting what the agent can do on the page (`init({ browserControl })`)
120
+
121
+ By default the dock runs every browser-control op the agent sends: reading the
122
+ page (`snapshot`, `read`), driving it (`click`, `type`, `select`, `press`,
123
+ `navigate`), running JavaScript in it (`eval`) and host MCP calls (`mcp_call`).
124
+ All of them act with the signed-in user's own session on your origin.
125
+
126
+ A host can limit that to the ops it wants:
127
+
128
+ ```js
129
+ window.belong.init({
130
+ // …
131
+ hostMcp: { allowedPaths: ["/mcp"] },
132
+ browserControl: { allowedOps: ["mcp_call"] }, // only the bridged MCP calls
133
+ });
134
+ ```
135
+
136
+ Every other op is refused in the page before it runs (`op_not_allowed`), and the
137
+ agent is told the page does not allow it. `allowedOps: []` refuses everything.
138
+ Omitting `browserControl` keeps every op, as before. A value that is present but
139
+ invalid (an unknown op name, a misspelt key) refuses everything and logs a
140
+ console warning, because a host that passed one meant to restrict the page. Like
141
+ `hostMcp`, it is restated on every `init`.
142
+
143
+ **If your page only bridges MCP, pass `allowedOps: ["mcp_call"]`.** Otherwise
144
+ the agent can also script and click through the page with the viewer's session,
145
+ which reaches everything `hostMcp.allowedPaths` was meant to fence off. That
146
+ matters most when the agent reads text written by other people (customer
147
+ conversations, tickets, email), since such text can carry instructions aimed at
148
+ the agent.
149
+
81
150
  ## Account authorization and Content Security Policy
82
151
 
83
152
  Browser-bound account authorization opens an `about:blank` popup, clears its