@belonguniverseai/react-sdk 0.6.17 → 0.6.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -8
- package/dist/api/account-connectors.d.ts +19 -10
- package/dist/api/client.d.ts +573 -44
- package/dist/api/connectors.d.ts +1 -0
- package/dist/api/queries.d.ts +1 -0
- package/dist/api/task-schedules.d.ts +8 -8
- package/dist/app/BelongDock.d.ts +2 -2
- package/dist/component/BelongWidget.d.ts +22 -1
- package/dist/component/{abnfDiagram-N423BO3Z-DQQzuYZD.js → abnfDiagram-N423BO3Z-p8pf1oUu.js} +4 -4
- package/dist/component/{arc-DyP79PGf.js → arc-CDN3jDNB.js} +2 -2
- package/dist/component/{architectureDiagram-T3A2C74G-D_elSQ1O.js → architectureDiagram-T3A2C74G-Dd8FlfDW.js} +3 -3
- package/dist/component/{blockDiagram-VBNYF7ZC-LCbtrdey.js → blockDiagram-VBNYF7ZC-CUgNh_GL.js} +4 -4
- package/dist/component/{c4Diagram-5PPSVZJV-BavpcOfZ.js → c4Diagram-5PPSVZJV-CSjftNi_.js} +3 -3
- package/dist/component/{channel-BZqwTbw2.js → channel-RXp4rUai.js} +2 -2
- package/dist/component/{chunk-2GRJ4B5K-CUnqSIZ_.js → chunk-2GRJ4B5K-Conm-Udw.js} +2 -2
- package/dist/component/{chunk-2Q5K7J3B-BXbvDQmH.js → chunk-2Q5K7J3B-BJVcNqca.js} +2 -2
- package/dist/component/{chunk-5RXB4S5H-9sfSr0mD.js → chunk-5RXB4S5H-ClnvuSUP.js} +5 -5
- package/dist/component/{chunk-5VM5RSS4-VnYY-ckg.js → chunk-5VM5RSS4-CZSg676A.js} +2 -2
- package/dist/component/{chunk-6Q2QTUOP-cjY3qI3C.js → chunk-6Q2QTUOP-d6e2hDQ3.js} +2 -2
- package/dist/component/{chunk-GF5L2VYU-B4uiGrvB.js → chunk-GF5L2VYU-DMNXiX_5.js} +6 -6
- package/dist/component/{chunk-JWPE2WC7-C_FwRGti.js → chunk-JWPE2WC7-Be-HKBKg.js} +2 -2
- package/dist/component/{chunk-KBJHAD2P-BThvKHPK.js → chunk-KBJHAD2P-CSs5ejAq.js} +2 -2
- package/dist/component/{chunk-RYQCIY6F-CNf0rdtW.js → chunk-RYQCIY6F-BM0CmhLz.js} +2 -2
- package/dist/component/{chunk-XXDRQBXY-BDEUQoWy.js → chunk-XXDRQBXY-Xj8K5wzT.js} +2 -2
- package/dist/component/{classDiagram-JCYQIIEL-Dp0ahzb0.js → classDiagram-JCYQIIEL-DTZI6cPh.js} +3 -3
- package/dist/component/{classDiagram-v2-OCEON4UE-Dp0ahzb0.js → classDiagram-v2-OCEON4UE-DTZI6cPh.js} +3 -3
- package/dist/component/{cose-bilkent-JH36ORCC-Dc-CE5JY.js → cose-bilkent-JH36ORCC-DaY5o18F.js} +2 -2
- package/dist/component/{cynefinDiagram-MW4NZA55-BA2fEkMD.js → cynefinDiagram-MW4NZA55-DoTeA4Ye.js} +3 -3
- package/dist/component/{dagre-VZM6K2ZE-B4d8ixBl.js → dagre-VZM6K2ZE-CF3eWDN_.js} +3 -3
- package/dist/component/{diagram-7IWD3JNH-DKOeWl-_.js → diagram-7IWD3JNH-D4CVwoPP.js} +4 -4
- package/dist/component/{diagram-B4RE2ZJO-DvvRtQm3.js → diagram-B4RE2ZJO-DTk-yH1g.js} +3 -3
- package/dist/component/{diagram-LBJQPF4R-DXFi21rR.js → diagram-LBJQPF4R-C82NaEDn.js} +3 -3
- package/dist/component/{diagram-Q27KOJAE-BkZNFrtu.js → diagram-Q27KOJAE-DVbW2GPm.js} +4 -4
- package/dist/component/{diagram-UB23O5K3-D_IJQzxk.js → diagram-UB23O5K3-fLwqL8Hl.js} +3 -3
- package/dist/component/{ebnfDiagram-BXEA7PRR-DD6VLDvv.js → ebnfDiagram-BXEA7PRR-BLEKzcRB.js} +4 -4
- package/dist/component/{erDiagram-JOGREHBK-D2GUhORW.js → erDiagram-JOGREHBK-D9srj1qV.js} +5 -5
- package/dist/component/{flowDiagram-UKHOOZJN-BO76VMQu.js → flowDiagram-UKHOOZJN-CeyLyzYo.js} +7 -7
- package/dist/component/{ganttDiagram-PKOTCBZU-DiZEbOvk.js → ganttDiagram-PKOTCBZU-D_wnN-8z.js} +3 -3
- package/dist/component/{gitGraphDiagram-DS77QQ5N-3JU_fIgh.js → gitGraphDiagram-DS77QQ5N-PeHi2KIR.js} +4 -4
- package/dist/component/{highlighted-body-OFNGDK62-DyUfTvlp.js → highlighted-body-OFNGDK62-CuSKYiPW.js} +2 -2
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-6WML65LV-wQDDhFdJ.js → infoDiagram-6WML65LV-CGnUeTPG.js} +2 -2
- package/dist/component/{ishikawaDiagram-WSZJBQD7-ByqLAAAH.js → ishikawaDiagram-WSZJBQD7-DhbZTdB_.js} +2 -2
- package/dist/component/{journeyDiagram-NVQOT4AX-CJrAO9iO.js → journeyDiagram-NVQOT4AX-DbAZyk3F.js} +5 -5
- package/dist/component/{kanban-definition-27J2QSJJ-BK-6EIGy.js → kanban-definition-27J2QSJJ-CPIUg4vz.js} +3 -3
- package/dist/component/{linear-5HARV3Z1.js → linear-CpcRfWUV.js} +2 -2
- package/dist/component/{mermaid-GHXKKRXX-BYmG2b26.js → mermaid-GHXKKRXX-CnsSyJhK.js} +94531 -93143
- package/dist/component/{mindmap-definition-FAOFIHXS-CWZ3W_zW.js → mindmap-definition-FAOFIHXS-RIm66-oB.js} +4 -4
- package/dist/component/{pegDiagram-VL7TDLO6-DHCzlDWN.js → pegDiagram-VL7TDLO6-C6uB8Ash.js} +4 -4
- package/dist/component/{pieDiagram-7S7Q4E2Y-BbgPCeI4.js → pieDiagram-7S7Q4E2Y-6m7QqfK3.js} +4 -4
- package/dist/component/{quadrantDiagram-CIZ2JOQS-CVNb4Dn0.js → quadrantDiagram-CIZ2JOQS-Dge2oJ5y.js} +3 -3
- package/dist/component/{railroadDiagram-AXF67PYL-BZtclau2.js → railroadDiagram-AXF67PYL-DWfg1byS.js} +4 -4
- package/dist/component/{requirementDiagram-LRYGKXZP-DJeluZaM.js → requirementDiagram-LRYGKXZP-C_mrqai9.js} +4 -4
- package/dist/component/{sankeyDiagram-W5VNT64P-CxVyzRB-.js → sankeyDiagram-W5VNT64P-D1MhEv2a.js} +2 -2
- package/dist/component/{sequenceDiagram-SI44F4Z6-DrkHqtHC.js → sequenceDiagram-SI44F4Z6-mn9it5es.js} +4 -4
- package/dist/component/{sizeCapture-X5ZJPWSS-Ctgo1XlA.js → sizeCapture-X5ZJPWSS-Do_vnkJp.js} +2 -2
- package/dist/component/{stateDiagram-OKZ733FA-DhCABcA4.js → stateDiagram-OKZ733FA-Pru5Vhsh.js} +3 -3
- package/dist/component/{stateDiagram-v2-UEYNNEHI-D_zLh09v.js → stateDiagram-v2-UEYNNEHI-BvRl8AHY.js} +3 -3
- package/dist/component/{swimlanes-SLNWSIFB-C40PaZQK.js → swimlanes-SLNWSIFB-CfaY_lmO.js} +4 -4
- package/dist/component/{swimlanesDiagram-ULZ7WXOC-BIpHviIl.js → swimlanesDiagram-ULZ7WXOC-BFIfCk31.js} +3 -3
- package/dist/component/{timeline-definition-Z64GVDOM-Byx2AKIE.js → timeline-definition-Z64GVDOM-BFU8eZDJ.js} +3 -3
- package/dist/component/{vennDiagram-T6HMQDX7-CqLQjKUJ.js → vennDiagram-T6HMQDX7-C475K8TJ.js} +2 -2
- package/dist/component/{wardleyDiagram-T6FBY63Y-S9fJVDcY.js → wardleyDiagram-T6FBY63Y-DZEN3DyJ.js} +3 -3
- package/dist/component/{xychartDiagram-ELKLHX3M-B3t1Zyyn.js → xychartDiagram-ELKLHX3M-B6MDNNoT.js} +3 -3
- package/dist/components/connectors/ConnectorDetailsDialog.d.ts +5 -1
- package/dist/components/connectors/ConnectorSetupCard.d.ts +6 -0
- package/dist/components/connectors/NewConnectorDialog.d.ts +4 -1
- package/dist/components/connectors/authorization-popup.d.ts +3 -0
- package/dist/components/connectors/catalog-installation.d.ts +3 -0
- package/dist/components/connectors/connector-public-draft.d.ts +4 -0
- package/dist/components/connectors/use-connector-oauth.d.ts +1 -1
- package/dist/components/embed/AtMentionMenu.d.ts +1 -1
- package/dist/components/embed/ComposerMenu.d.ts +4 -1
- package/dist/components/embed/EmbedConversation.d.ts +3 -3
- package/dist/components/embed/EmbedRail.d.ts +4 -2
- package/dist/components/embed/MentionInput.d.ts +2 -1
- package/dist/components/embed/SlackConnection.d.ts +6 -0
- package/dist/components/embed/SlashCommandMenu.d.ts +1 -1
- package/dist/components/embed/WelcomeHero.d.ts +16 -0
- package/dist/components/embed/WelcomeIntro.d.ts +18 -7
- package/dist/components/embed/WelcomeSkills.d.ts +7 -1
- package/dist/components/embed/WorkspacePane.d.ts +16 -0
- package/dist/components/embed/onboarding-story-dock.d.ts +3 -2
- package/dist/components/embed/use-preview-content-props.d.ts +7 -0
- package/dist/components/embed/use-prompt-invocations.d.ts +40 -0
- package/dist/components/scheduled/SchedulePrompt.d.ts +10 -0
- package/dist/components/scheduled/schedule-prompt-message.d.ts +4 -0
- package/dist/embed/copy.d.ts +13 -18
- package/dist/embed/dev-mode.d.ts +1 -1
- package/dist/embed/dock-layout.d.ts +14 -16
- package/dist/embed/dock-size-store.d.ts +7 -0
- package/dist/embed/dock-state.d.ts +2 -2
- package/dist/embed/hover-capability.d.ts +14 -0
- package/dist/embed/page-context.d.ts +11 -0
- package/dist/embed/show-target.d.ts +6 -0
- package/dist/embed/slash-commands.d.ts +9 -0
- package/dist/embed/user-context.d.ts +14 -0
- package/dist/embed/voice-call.d.ts +7 -6
- package/dist/i18n/messages/en.d.ts +31 -3
- package/dist/i18n/messages/surfaces/connectors.d.ts +60 -0
- package/dist/i18n/messages/surfaces/embedMisc.d.ts +0 -6
- package/dist/i18n/messages/surfaces/header.d.ts +6 -0
- package/dist/i18n/messages/surfaces/stream.d.ts +3 -0
- package/dist/i18n/messages/surfaces/workspace.d.ts +32 -0
- package/dist/stream/ai-sdk-part-renderers.d.ts +2 -1
- package/dist/stream/belong-chat-transport.d.ts +9 -9
- package/dist/stream/use-agent-workspace-focus.d.ts +5 -0
- package/dist/stream/workspace-focus-observer.d.ts +7 -0
- package/dist/stream/workspace-focus-store.d.ts +26 -0
- package/dist/types/public.d.ts +39 -0
- package/package.json +1 -1
- package/dist/components/embed/CapabilityHints.d.ts +0 -4
package/dist/embed/copy.d.ts
CHANGED
|
@@ -57,10 +57,6 @@ export type TourCopy = TourLabels & {
|
|
|
57
57
|
readonly sessions: TourStepContent;
|
|
58
58
|
};
|
|
59
59
|
};
|
|
60
|
-
export type HintItem = {
|
|
61
|
-
readonly keyLabel: string;
|
|
62
|
-
readonly label: string;
|
|
63
|
-
};
|
|
64
60
|
export type MenuCopy = {
|
|
65
61
|
readonly signedInAs: (user: string) => string;
|
|
66
62
|
readonly notSignedIn: string;
|
|
@@ -85,12 +81,14 @@ export type MenuCopy = {
|
|
|
85
81
|
readonly logOut: string;
|
|
86
82
|
};
|
|
87
83
|
/** Copy for the empty-state skills table (Simetrik variant only — the compact
|
|
88
|
-
*
|
|
84
|
+
* index of job rows, each naming a job the agent can do, that replaces the
|
|
85
|
+
* generic suggestion chips). */
|
|
89
86
|
export type SkillsPanelCopy = {
|
|
90
87
|
readonly heading: string;
|
|
91
88
|
/** The "All" group filter chip (shown when skills span multiple groups). */
|
|
92
89
|
readonly all: string;
|
|
93
|
-
/** Footer when the table is truncated:
|
|
90
|
+
/** Footer when the table is truncated:
|
|
91
|
+
* "+N more — type / to see everything". */
|
|
94
92
|
readonly more: (hiddenCount: number) => string;
|
|
95
93
|
/** Footer when every skill fits: how to reach the full index later. */
|
|
96
94
|
readonly hint: string;
|
|
@@ -98,18 +96,6 @@ export type SkillsPanelCopy = {
|
|
|
98
96
|
export type DockCopy = {
|
|
99
97
|
readonly welcomeCard: WelcomeCardContent;
|
|
100
98
|
readonly tour: TourCopy;
|
|
101
|
-
readonly hints: {
|
|
102
|
-
/** `/` hint; label says "skills" for Simetrik, "commands" for everyone else. */
|
|
103
|
-
readonly commands: {
|
|
104
|
-
readonly keyLabel: string;
|
|
105
|
-
readonly label: Readonly<Record<DockCopyVariant, string>>;
|
|
106
|
-
};
|
|
107
|
-
readonly files: HintItem;
|
|
108
|
-
/** Voice hint label; the key label is the LIVE push-to-talk key. */
|
|
109
|
-
readonly voice: {
|
|
110
|
-
readonly label: string;
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
99
|
/** Localized name for the Space key (every other code renders via
|
|
114
100
|
* `formatKeyCode`, which is already language-neutral). */
|
|
115
101
|
readonly spaceKeyLabel: string;
|
|
@@ -121,8 +107,13 @@ export type DockCopy = {
|
|
|
121
107
|
readonly portuguese: string;
|
|
122
108
|
};
|
|
123
109
|
readonly menu: MenuCopy;
|
|
110
|
+
/** One line of scope in the user's own nouns (spec 2026-09-03). */
|
|
124
111
|
readonly intro: {
|
|
125
112
|
readonly greeting: (brandName: string) => string;
|
|
113
|
+
/** Phase 2: the greeting when the host supplied a display name. */
|
|
114
|
+
readonly greetingNamed: (displayName: string) => string;
|
|
115
|
+
/** Phase 2: the page-context line ("Looking at ‹label›"). */
|
|
116
|
+
readonly lookingAt: (label: string) => string;
|
|
126
117
|
readonly body: Readonly<Record<DockCopyVariant, string>>;
|
|
127
118
|
};
|
|
128
119
|
/** Beta advisory — a small always-visible pill in the dock header. The
|
|
@@ -152,6 +143,10 @@ export type DockCopy = {
|
|
|
152
143
|
readonly composer: {
|
|
153
144
|
readonly placeholderDefault: Readonly<Record<DockCopyVariant, string>>;
|
|
154
145
|
readonly placeholderPlan: Readonly<Record<DockCopyVariant, string>>;
|
|
146
|
+
/** Label for the `/` action-row button that opens the slash menu. The
|
|
147
|
+
* syntax moved OFF the placeholder (which is now a plain invitation) and
|
|
148
|
+
* onto a real, discoverable control. */
|
|
149
|
+
readonly slashButton: Readonly<Record<DockCopyVariant, string>>;
|
|
155
150
|
/** Plan 013 — while the agent's question card is pending above the
|
|
156
151
|
* composer, a typed send answers it in chat instead of choosing. */
|
|
157
152
|
readonly placeholderReply: Readonly<Record<DockCopyVariant, string>>;
|
package/dist/embed/dev-mode.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type AgentRuntime = (typeof AGENT_RUNTIMES)[number];
|
|
|
20
20
|
* (Vercel AI Gateway): pair it with a free-typed `provider/model` slug
|
|
21
21
|
* (e.g. `deepseek/deepseek-v4-pro`) to reach any model the gateway serves.
|
|
22
22
|
*/
|
|
23
|
-
export declare const LLM_PROVIDERS: readonly ["anthropic", "google", "openai", "cerebras", "gateway"];
|
|
23
|
+
export declare const LLM_PROVIDERS: readonly ["anthropic", "google", "openai", "cerebras", "gateway", "openrouter"];
|
|
24
24
|
export type LlmProvider = (typeof LLM_PROVIDERS)[number];
|
|
25
25
|
/**
|
|
26
26
|
* A free-typed model id must be safe to ride the wire verbatim: bounded, no
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pure geometry + state transitions for the dock's three resize states
|
|
2
|
+
* Pure geometry + state transitions for the dock's three resize states:
|
|
3
|
+
* collapsed / expanded / fullscreen.
|
|
3
4
|
* No DOM, no React — unit-testable. The shell (BelongDock) owns the React
|
|
4
5
|
* state and applies the resolved width; the host <body> margin reservation
|
|
5
6
|
* uses the same resolver so the dock never overlaps host content.
|
|
6
7
|
*/
|
|
7
|
-
export type DockResizeState = "collapsed" | "expanded" | "
|
|
8
|
+
export type DockResizeState = "collapsed" | "expanded" | "fullscreen";
|
|
8
9
|
/**
|
|
9
10
|
* Desktop = side-docked panel + rail with a host-body reserve. Mobile = the
|
|
10
11
|
* dock takes the whole viewport as an overlay sheet (a side dock plus reserve
|
|
@@ -22,12 +23,17 @@ export declare const MOBILE_LAYOUT_MEDIA_QUERY: string;
|
|
|
22
23
|
export declare const resolveLayoutMode: (viewportWidthPx: number, viewportHeightPx?: number) => DockLayoutMode;
|
|
23
24
|
/** The always-visible rail strip. Reference spec: 52px. */
|
|
24
25
|
export declare const RAIL_WIDTH_PX = 52;
|
|
25
|
-
/** Fixed panel width in modal state. Reference spec: 760px panel. */
|
|
26
|
-
export declare const MODAL_PANEL_WIDTH_PX = 760;
|
|
27
26
|
/** Lower bound for a user-dragged expanded panel width. */
|
|
28
27
|
export declare const MIN_PANEL_WIDTH_PX = 320;
|
|
29
28
|
/** Upper bound for a user-dragged expanded panel width. */
|
|
30
29
|
export declare const MAX_PANEL_WIDTH_PX = 720;
|
|
30
|
+
/** Fullscreen: the workspace pane beside the chat column never gets narrower
|
|
31
|
+
* than this, so a deliverable stays readable while the user drags the chat wider. */
|
|
32
|
+
export declare const MIN_WORKSPACE_PANE_WIDTH_PX = 360;
|
|
33
|
+
/** Clamp the fullscreen chat column: same floor as a docked panel; the ceiling
|
|
34
|
+
* leaves the rail plus a minimum pane. On a viewport too narrow for both, the
|
|
35
|
+
* chat column keeps its floor (the pane shrinks — chat is the primary surface). */
|
|
36
|
+
export declare const clampFullscreenChatWidth: (px: number, viewportPx: number) => number;
|
|
31
37
|
/** Clamp a dragged panel width to [MIN, min(MAX, 90% of viewport)]. */
|
|
32
38
|
export declare const clampPanelWidth: (px: number, viewportPx: number) => number;
|
|
33
39
|
/** Total dock width (panel + rail) for a state, given the expanded panel width. */
|
|
@@ -35,18 +41,10 @@ export declare const resolveDockWidthPx: (state: DockResizeState, panelWidth: nu
|
|
|
35
41
|
/**
|
|
36
42
|
* Desktop dock width clamped to the live viewport — mid-size screens (small
|
|
37
43
|
* tablets, half-snapped windows just above the mobile breakpoint) must never
|
|
38
|
-
* get a dock wider than the screen:
|
|
39
|
-
*
|
|
40
|
-
* Cap: 90% of the viewport (same budget clampPanelWidth uses for drags).
|
|
44
|
+
* get a dock wider than the screen: a persisted wide panel can overflow a
|
|
45
|
+
* re-narrowed window. Cap: 90% of the viewport (same budget clampPanelWidth uses for drags).
|
|
41
46
|
*/
|
|
42
47
|
export declare const resolveClampedDockWidthPx: (state: DockResizeState, panelWidth: number, viewportWidthPx: number) => number;
|
|
43
|
-
/**
|
|
44
|
-
* The panel's OWN width for a state. While collapsed this is the width the
|
|
45
|
-
* panel would reveal to (the dock container clips it), so the panel keeps a
|
|
46
|
-
* stable layout and the expand animation is a clean wipe — never a continuous
|
|
47
|
-
* reflow of text at every intermediate width.
|
|
48
|
-
*/
|
|
49
|
-
export declare const resolvePanelWidthPx: (state: DockResizeState, panelWidth: number) => number;
|
|
50
48
|
/** Clearance a host modal needs from the dock before we consider it clear. */
|
|
51
49
|
export declare const HOST_MODAL_GUTTER_PX = 16;
|
|
52
50
|
/**
|
|
@@ -81,5 +79,5 @@ export declare const canHostModalFitBesideDock: (rect: {
|
|
|
81
79
|
}, viewportWidthPx: number, side: "left" | "right", reservePx: number) => boolean;
|
|
82
80
|
/** Collapse toggle: any open state → collapsed; collapsed → expanded. */
|
|
83
81
|
export declare const nextOnToggleCollapse: (state: DockResizeState) => DockResizeState;
|
|
84
|
-
/**
|
|
85
|
-
export declare const
|
|
82
|
+
/** Fullscreen toggle: expanded ↔ fullscreen; no-op while collapsed. */
|
|
83
|
+
export declare const nextOnToggleFullscreen: (state: DockResizeState) => DockResizeState;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DockResizeState } from './dock-layout.ts';
|
|
2
|
+
export declare const publishDockSize: (size: DockResizeState) => void;
|
|
3
|
+
export declare const peekDockSize: () => DockResizeState;
|
|
4
|
+
export declare const subscribeDockSize: (listener: () => void) => (() => void);
|
|
5
|
+
export declare const useDockSize: () => DockResizeState;
|
|
6
|
+
/** Test-only: back to the desktop default with no subscribers. */
|
|
7
|
+
export declare const __resetDockSizeForTest: () => void;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* disabled/quota'd storage just means no cross-reload restore.
|
|
7
7
|
*/
|
|
8
8
|
export type DockView = "chat" | "files" | "scheduled" | "prompts" | "connectors";
|
|
9
|
-
export type DockSize = "collapsed" | "expanded" | "
|
|
9
|
+
export type DockSize = "collapsed" | "expanded" | "fullscreen";
|
|
10
10
|
export type DockState = {
|
|
11
11
|
readonly view: DockView;
|
|
12
12
|
readonly size: DockSize;
|
|
@@ -19,7 +19,7 @@ export declare const viewToPath: (view: DockView) => string;
|
|
|
19
19
|
export declare const pathToView: (pathname: string) => DockView;
|
|
20
20
|
/**
|
|
21
21
|
* Decide what a rail view-icon click does. The Chat icon is a toggle: clicking
|
|
22
|
-
* it while the chat panel is open (expanded/
|
|
22
|
+
* it while the chat panel is open (expanded/fullscreen) minimizes the dock to the
|
|
23
23
|
* rail; clicking it while collapsed re-opens chat. Every other click navigates,
|
|
24
24
|
* expanding a collapsed dock. Pure so it's unit-tested without a dock render.
|
|
25
25
|
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Can the PRIMARY pointer hover? `(hover: hover)` is false on phones, touch
|
|
3
|
+
* tablets and kiosks — including ones with a desktop-sized viewport, which the
|
|
4
|
+
* layout breakpoint (`layout-mode.ts`) deliberately treats as desktop. Surfaces
|
|
5
|
+
* that reveal on hover (the composer's voice hint) must key on THIS, not on
|
|
6
|
+
* the viewport, or a touch-only wide device can never reach them: a tap fires
|
|
7
|
+
* pointerover and pointerdown in one gesture, so a hover-revealed chip appears
|
|
8
|
+
* and is dismissed inside the same motion.
|
|
9
|
+
*
|
|
10
|
+
* Read once per mount by callers — an input capability does not flip while a
|
|
11
|
+
* component is on screen. Without matchMedia (jsdom, very old embeds) assume a
|
|
12
|
+
* hovering pointer: the existing desktop behaviour, and the safe default.
|
|
13
|
+
*/
|
|
14
|
+
export declare const canHoverPointer: () => boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Resolve the label LIVE (fresh title read). See the header for precedence. */
|
|
2
|
+
export declare const peekPageContextLabel: () => string | null;
|
|
3
|
+
export declare const subscribePageContext: (listener: () => void) => (() => void);
|
|
4
|
+
/** `useSyncExternalStore` hook — the effective label, re-rendering on change. */
|
|
5
|
+
export declare const usePageContextLabel: () => string | null;
|
|
6
|
+
/** Seed from the embed config (`applyInitConfig`); replaces the whole config. */
|
|
7
|
+
export declare const configurePageContext: (input: unknown) => void;
|
|
8
|
+
/** Imperative host switch (`belong.setPageContext`); `null` drops the override. */
|
|
9
|
+
export declare const setHostPageContext: (label: unknown) => void;
|
|
10
|
+
/** Test-only: reset config + override, disconnect the observer, re-seed. */
|
|
11
|
+
export declare const __resetPageContextForTest: () => void;
|
|
@@ -78,6 +78,13 @@ export type SlashTokenMatch = {
|
|
|
78
78
|
readonly start: number;
|
|
79
79
|
readonly end: number;
|
|
80
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Can a `/` at this position open the menu? Only at the start of the draft or
|
|
83
|
+
* after whitespace — the rule {@link slashTokenMatch} enforces. Exported so the
|
|
84
|
+
* composer's `/` button can splice a slash in that the matcher will actually
|
|
85
|
+
* recognise, instead of re-deriving the same predicate and drifting from it.
|
|
86
|
+
*/
|
|
87
|
+
export declare const isSlashBoundary: (ch: string | undefined) => boolean;
|
|
81
88
|
/**
|
|
82
89
|
* Detect a `/command` being typed at `caret` within `text` — ANYWHERE in the
|
|
83
90
|
* draft, not just at the start (mirrors {@link atMentionMatch}). The `/` must
|
|
@@ -187,3 +194,5 @@ export declare const hoistBuiltinCommand: (draft: string) => string;
|
|
|
187
194
|
* that happens to also be a group name doesn't bump a direct name match down.
|
|
188
195
|
*/
|
|
189
196
|
export declare const filterSkills: (skills: readonly SkillSummary[], query: string) => readonly SkillSummary[];
|
|
197
|
+
/** Schedule pickers omit chat actions while retaining contiguous groups. */
|
|
198
|
+
export declare const filterSlashOptionsWithoutBuiltins: (skills: readonly SkillSummary[], query: string) => readonly SkillSummary[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type UserContext = {
|
|
2
|
+
readonly displayName: string | null;
|
|
3
|
+
};
|
|
4
|
+
/** Seed from the embed config (`applyInitConfig`); re-`init` replaces it. */
|
|
5
|
+
export declare const configureUserContext: (input: unknown) => void;
|
|
6
|
+
/** Imperative host switch (`belong.setUser`) — see the header for the two clears. */
|
|
7
|
+
export declare const setHostUser: (user: unknown) => void;
|
|
8
|
+
/** The effective user context (stable reference until it changes). */
|
|
9
|
+
export declare const peekUserContext: () => UserContext;
|
|
10
|
+
export declare const subscribeUserContext: (listener: () => void) => (() => void);
|
|
11
|
+
/** `useSyncExternalStore` hook — re-renders on a host name change. */
|
|
12
|
+
export declare const useUserContext: () => UserContext;
|
|
13
|
+
/** Test-only: drop the init value, the override, and every listener. */
|
|
14
|
+
export declare const __resetUserContextForTest: () => void;
|
|
@@ -278,12 +278,13 @@ export declare const deliverAgentFailure: (message: string) => void;
|
|
|
278
278
|
* this section's header. */
|
|
279
279
|
export declare const deliverLineReply: (line: number) => void;
|
|
280
280
|
/**
|
|
281
|
-
* A background line published an artifact: OPEN it on screen
|
|
282
|
-
* chat.tsx's foreground auto-open effect exactly —
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
281
|
+
* A background line published an artifact: OPEN it on screen via `showTarget`
|
|
282
|
+
* (agent-auto), mirroring chat.tsx's foreground auto-open effect exactly —
|
|
283
|
+
* docked (never the swallow-the-whole-app fullscreen preview) outside the
|
|
284
|
+
* fullscreen workspace pane, a no-op inside it (the focus observer owns agent
|
|
285
|
+
* focus there). Deduped per artifactId (replays / reconnects re-emit the
|
|
286
|
+
* part). NO spoken response: the line's finish reply already narrates the
|
|
287
|
+
* result; a second voice line would double-speak.
|
|
287
288
|
*/
|
|
288
289
|
export declare const deliverLineArtifact: (line: number, artifact: {
|
|
289
290
|
readonly artifactId: string;
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export declare const en: {
|
|
2
|
+
readonly workspace: {
|
|
3
|
+
readonly newItem: "New: {{title}}";
|
|
4
|
+
readonly close: "Close";
|
|
5
|
+
readonly download: "Download";
|
|
6
|
+
readonly shownByBelong: "Shown by Belong";
|
|
7
|
+
readonly openedByYou: "You opened this";
|
|
8
|
+
readonly planTitle: "Plan";
|
|
9
|
+
};
|
|
2
10
|
readonly usage: {
|
|
3
11
|
readonly tooltip: "Auto-compacts at {{chars}} chars; {{tokens}} tokens used this session";
|
|
4
12
|
readonly windowTooltip: "Context window: {{used}} of {{window}} tokens used ({{pct}}%)";
|
|
@@ -24,6 +32,7 @@ export declare const en: {
|
|
|
24
32
|
};
|
|
25
33
|
};
|
|
26
34
|
readonly stream: {
|
|
35
|
+
readonly toolExecutionError: "The tool could not complete. Please try again.";
|
|
27
36
|
readonly copyOutput: "Copy output";
|
|
28
37
|
readonly terminalOutput: "terminal output";
|
|
29
38
|
readonly skillChip: "Skill: {{name}}";
|
|
@@ -350,6 +359,8 @@ export declare const en: {
|
|
|
350
359
|
readonly hotkeyHint: "Hold {{key}} to talk — chat can stay closed";
|
|
351
360
|
readonly expand: "Expand";
|
|
352
361
|
readonly collapse: "Collapse";
|
|
362
|
+
readonly fullscreen: "Fullscreen";
|
|
363
|
+
readonly exitFullscreen: "Exit fullscreen";
|
|
353
364
|
readonly spawnAgent: "New agent";
|
|
354
365
|
readonly closeChat: "Close this chat";
|
|
355
366
|
readonly closeAgent: "Close {{label}}";
|
|
@@ -440,11 +451,29 @@ export declare const en: {
|
|
|
440
451
|
readonly deployedAt: "deployed {{label}}";
|
|
441
452
|
readonly devOverrideActive: "Dev override active — click to change";
|
|
442
453
|
readonly callLightModelActive: "Calls are stepped down to the light voice model — click for the best voice";
|
|
443
|
-
readonly micUnmuted: "Mic unmuted";
|
|
444
|
-
readonly micMuted: "Mic muted";
|
|
445
454
|
readonly agentWorking: "{{name}} is working…";
|
|
446
455
|
};
|
|
447
456
|
readonly connectors: {
|
|
457
|
+
readonly setupChooseAccount: "Several accounts are connected. Open Connectors and choose the account to manage, then continue your request.";
|
|
458
|
+
readonly setupConnectName: "Connect {{name}}";
|
|
459
|
+
readonly setupReconnectName: "Reconnect {{name}}";
|
|
460
|
+
readonly setupPreparing: "Preparing connector setup…";
|
|
461
|
+
readonly setupFailed: "Could not prepare connector setup.";
|
|
462
|
+
readonly setupUnavailable: "This connector setup is no longer available.";
|
|
463
|
+
readonly setupReady: "Connected and ready to use.";
|
|
464
|
+
readonly setupDescription: "Review the connector, then connect it to continue.";
|
|
465
|
+
readonly setupConfigure: "Set up connection";
|
|
466
|
+
readonly setupNeedsDetails: "Review the connection details before connecting.";
|
|
467
|
+
readonly setupSignIn: "Sign in to {{name}} to approve access.";
|
|
468
|
+
readonly setupManage: "Manage connection";
|
|
469
|
+
readonly setupContinue: "Continue";
|
|
470
|
+
readonly setupContinued: "Continued";
|
|
471
|
+
readonly setupNotReady: "The connector needs attention before it can be used.";
|
|
472
|
+
readonly setupContinueFailed: "Could not continue. Please try again.";
|
|
473
|
+
readonly setupApplySettings: "Apply proposed settings on Save.";
|
|
474
|
+
readonly setupEnabled: "Enabled";
|
|
475
|
+
readonly setupDisabledTools: "Disabled tools";
|
|
476
|
+
readonly setupContinueMessage: "The connector {{name}} ({{connectorId}}) is ready. Continue my request using its available tools.";
|
|
448
477
|
readonly viewTitle: "Connectors";
|
|
449
478
|
readonly subtitle: "Connect services so {{product}} can access and act on your data";
|
|
450
479
|
readonly searchPlaceholder: "Search your connectors";
|
|
@@ -728,7 +757,6 @@ export declare const en: {
|
|
|
728
757
|
readonly retry: "Retry";
|
|
729
758
|
};
|
|
730
759
|
readonly composer: {
|
|
731
|
-
readonly placeholder: "Ask anything — or type / for commands…";
|
|
732
760
|
readonly attachFiles: "Attach files";
|
|
733
761
|
readonly dismissVoiceHint: "Dismiss voice hint";
|
|
734
762
|
readonly executionMode: "Execution mode: {{mode}}";
|
|
@@ -46,6 +46,26 @@
|
|
|
46
46
|
*/
|
|
47
47
|
export declare const connectorsEn: {
|
|
48
48
|
readonly connectors: {
|
|
49
|
+
readonly setupChooseAccount: "Several accounts are connected. Open Connectors and choose the account to manage, then continue your request.";
|
|
50
|
+
readonly setupConnectName: "Connect {{name}}";
|
|
51
|
+
readonly setupReconnectName: "Reconnect {{name}}";
|
|
52
|
+
readonly setupPreparing: "Preparing connector setup…";
|
|
53
|
+
readonly setupFailed: "Could not prepare connector setup.";
|
|
54
|
+
readonly setupUnavailable: "This connector setup is no longer available.";
|
|
55
|
+
readonly setupReady: "Connected and ready to use.";
|
|
56
|
+
readonly setupDescription: "Review the connector, then connect it to continue.";
|
|
57
|
+
readonly setupConfigure: "Set up connection";
|
|
58
|
+
readonly setupNeedsDetails: "Review the connection details before connecting.";
|
|
59
|
+
readonly setupSignIn: "Sign in to {{name}} to approve access.";
|
|
60
|
+
readonly setupManage: "Manage connection";
|
|
61
|
+
readonly setupContinue: "Continue";
|
|
62
|
+
readonly setupContinued: "Continued";
|
|
63
|
+
readonly setupNotReady: "The connector needs attention before it can be used.";
|
|
64
|
+
readonly setupContinueFailed: "Could not continue. Please try again.";
|
|
65
|
+
readonly setupApplySettings: "Apply proposed settings on Save.";
|
|
66
|
+
readonly setupEnabled: "Enabled";
|
|
67
|
+
readonly setupDisabledTools: "Disabled tools";
|
|
68
|
+
readonly setupContinueMessage: "The connector {{name}} ({{connectorId}}) is ready. Continue my request using its available tools.";
|
|
49
69
|
readonly viewTitle: "Connectors";
|
|
50
70
|
readonly subtitle: "Connect services so {{product}} can access and act on your data";
|
|
51
71
|
readonly searchPlaceholder: "Search your connectors";
|
|
@@ -262,6 +282,26 @@ export declare const connectorsEn: {
|
|
|
262
282
|
};
|
|
263
283
|
export declare const connectorsEs: {
|
|
264
284
|
connectors: {
|
|
285
|
+
setupChooseAccount: string;
|
|
286
|
+
setupConnectName: string;
|
|
287
|
+
setupReconnectName: string;
|
|
288
|
+
setupPreparing: string;
|
|
289
|
+
setupFailed: string;
|
|
290
|
+
setupUnavailable: string;
|
|
291
|
+
setupReady: string;
|
|
292
|
+
setupDescription: string;
|
|
293
|
+
setupConfigure: string;
|
|
294
|
+
setupNeedsDetails: string;
|
|
295
|
+
setupSignIn: string;
|
|
296
|
+
setupManage: string;
|
|
297
|
+
setupContinue: string;
|
|
298
|
+
setupContinued: string;
|
|
299
|
+
setupNotReady: string;
|
|
300
|
+
setupContinueFailed: string;
|
|
301
|
+
setupApplySettings: string;
|
|
302
|
+
setupEnabled: string;
|
|
303
|
+
setupDisabledTools: string;
|
|
304
|
+
setupContinueMessage: string;
|
|
265
305
|
viewTitle: string;
|
|
266
306
|
subtitle: string;
|
|
267
307
|
searchPlaceholder: string;
|
|
@@ -477,6 +517,26 @@ export declare const connectorsEs: {
|
|
|
477
517
|
};
|
|
478
518
|
export declare const connectorsPt: {
|
|
479
519
|
connectors: {
|
|
520
|
+
setupChooseAccount: string;
|
|
521
|
+
setupConnectName: string;
|
|
522
|
+
setupReconnectName: string;
|
|
523
|
+
setupPreparing: string;
|
|
524
|
+
setupFailed: string;
|
|
525
|
+
setupUnavailable: string;
|
|
526
|
+
setupReady: string;
|
|
527
|
+
setupDescription: string;
|
|
528
|
+
setupConfigure: string;
|
|
529
|
+
setupNeedsDetails: string;
|
|
530
|
+
setupSignIn: string;
|
|
531
|
+
setupManage: string;
|
|
532
|
+
setupContinue: string;
|
|
533
|
+
setupContinued: string;
|
|
534
|
+
setupNotReady: string;
|
|
535
|
+
setupContinueFailed: string;
|
|
536
|
+
setupApplySettings: string;
|
|
537
|
+
setupEnabled: string;
|
|
538
|
+
setupDisabledTools: string;
|
|
539
|
+
setupContinueMessage: string;
|
|
480
540
|
viewTitle: string;
|
|
481
541
|
subtitle: string;
|
|
482
542
|
searchPlaceholder: string;
|
|
@@ -42,8 +42,6 @@ export declare const embedMiscEn: {
|
|
|
42
42
|
readonly deployedAt: "deployed {{label}}";
|
|
43
43
|
readonly devOverrideActive: "Dev override active — click to change";
|
|
44
44
|
readonly callLightModelActive: "Calls are stepped down to the light voice model — click for the best voice";
|
|
45
|
-
readonly micUnmuted: "Mic unmuted";
|
|
46
|
-
readonly micMuted: "Mic muted";
|
|
47
45
|
readonly agentWorking: "{{name}} is working…";
|
|
48
46
|
};
|
|
49
47
|
};
|
|
@@ -89,8 +87,6 @@ export declare const embedMiscEs: {
|
|
|
89
87
|
deployedAt: string;
|
|
90
88
|
devOverrideActive: string;
|
|
91
89
|
callLightModelActive: string;
|
|
92
|
-
micUnmuted: string;
|
|
93
|
-
micMuted: string;
|
|
94
90
|
agentWorking: string;
|
|
95
91
|
};
|
|
96
92
|
};
|
|
@@ -136,8 +132,6 @@ export declare const embedMiscPt: {
|
|
|
136
132
|
deployedAt: string;
|
|
137
133
|
devOverrideActive: string;
|
|
138
134
|
callLightModelActive: string;
|
|
139
|
-
micUnmuted: string;
|
|
140
|
-
micMuted: string;
|
|
141
135
|
agentWorking: string;
|
|
142
136
|
};
|
|
143
137
|
};
|
|
@@ -17,6 +17,8 @@ export declare const headerEn: {
|
|
|
17
17
|
readonly hotkeyHint: "Hold {{key}} to talk — chat can stay closed";
|
|
18
18
|
readonly expand: "Expand";
|
|
19
19
|
readonly collapse: "Collapse";
|
|
20
|
+
readonly fullscreen: "Fullscreen";
|
|
21
|
+
readonly exitFullscreen: "Exit fullscreen";
|
|
20
22
|
readonly spawnAgent: "New agent";
|
|
21
23
|
readonly closeChat: "Close this chat";
|
|
22
24
|
readonly closeAgent: "Close {{label}}";
|
|
@@ -43,6 +45,8 @@ export declare const headerEs: {
|
|
|
43
45
|
hotkeyHint: string;
|
|
44
46
|
expand: string;
|
|
45
47
|
collapse: string;
|
|
48
|
+
fullscreen: string;
|
|
49
|
+
exitFullscreen: string;
|
|
46
50
|
spawnAgent: string;
|
|
47
51
|
closeChat: string;
|
|
48
52
|
closeAgent: string;
|
|
@@ -69,6 +73,8 @@ export declare const headerPt: {
|
|
|
69
73
|
hotkeyHint: string;
|
|
70
74
|
expand: string;
|
|
71
75
|
collapse: string;
|
|
76
|
+
fullscreen: string;
|
|
77
|
+
exitFullscreen: string;
|
|
72
78
|
spawnAgent: string;
|
|
73
79
|
closeChat: string;
|
|
74
80
|
closeAgent: string;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const streamEn: {
|
|
10
10
|
readonly stream: {
|
|
11
|
+
readonly toolExecutionError: "The tool could not complete. Please try again.";
|
|
11
12
|
readonly copyOutput: "Copy output";
|
|
12
13
|
readonly terminalOutput: "terminal output";
|
|
13
14
|
readonly skillChip: "Skill: {{name}}";
|
|
@@ -118,6 +119,7 @@ export declare const streamEn: {
|
|
|
118
119
|
};
|
|
119
120
|
export declare const streamEs: {
|
|
120
121
|
stream: {
|
|
122
|
+
toolExecutionError: string;
|
|
121
123
|
copyOutput: string;
|
|
122
124
|
terminalOutput: string;
|
|
123
125
|
skillChip: string;
|
|
@@ -225,6 +227,7 @@ export declare const streamEs: {
|
|
|
225
227
|
};
|
|
226
228
|
export declare const streamPt: {
|
|
227
229
|
stream: {
|
|
230
|
+
toolExecutionError: string;
|
|
228
231
|
copyOutput: string;
|
|
229
232
|
terminalOutput: string;
|
|
230
233
|
skillChip: string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Fullscreen workspace pane strings (spec 2026-09-02). §42: the copy names the
|
|
2
|
+
* product only — "Belong" — never the pane, the agent, or the dock. */
|
|
3
|
+
export declare const workspaceEn: {
|
|
4
|
+
readonly workspace: {
|
|
5
|
+
readonly newItem: "New: {{title}}";
|
|
6
|
+
readonly close: "Close";
|
|
7
|
+
readonly download: "Download";
|
|
8
|
+
readonly shownByBelong: "Shown by Belong";
|
|
9
|
+
readonly openedByYou: "You opened this";
|
|
10
|
+
readonly planTitle: "Plan";
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare const workspaceEs: {
|
|
14
|
+
workspace: {
|
|
15
|
+
newItem: string;
|
|
16
|
+
close: string;
|
|
17
|
+
download: string;
|
|
18
|
+
shownByBelong: string;
|
|
19
|
+
openedByYou: string;
|
|
20
|
+
planTitle: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export declare const workspacePt: {
|
|
24
|
+
workspace: {
|
|
25
|
+
newItem: string;
|
|
26
|
+
close: string;
|
|
27
|
+
download: string;
|
|
28
|
+
shownByBelong: string;
|
|
29
|
+
openedByYou: string;
|
|
30
|
+
planTitle: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -50,6 +50,7 @@ export type PartRendererProps = {
|
|
|
50
50
|
* omits it while a run streams so the CTA can't double-submit).
|
|
51
51
|
*/
|
|
52
52
|
readonly onExecutePlan?: (() => void) | undefined;
|
|
53
|
+
readonly onContinueConnector?: ((connectorId: string, name: string) => Promise<void>) | undefined;
|
|
53
54
|
/**
|
|
54
55
|
* The part belongs to a restored-history message (`metadata.fromHistory`,
|
|
55
56
|
* stamped by `loadSessionHistory`). The dispatch renderers (navigation,
|
|
@@ -65,7 +66,7 @@ export type PartRendererProps = {
|
|
|
65
66
|
* `BelongDataParts` (above) plus the SDK's built-in `text` and
|
|
66
67
|
* `reasoning` parts.
|
|
67
68
|
*/
|
|
68
|
-
export declare const PartRenderer: ({ part, onExecutePlan, historical }: PartRendererProps) => import("react").JSX.Element | null;
|
|
69
|
+
export declare const PartRenderer: ({ part, onExecutePlan, historical, onContinueConnector, }: PartRendererProps) => import("react").JSX.Element | null;
|
|
69
70
|
export type RenderGroup = {
|
|
70
71
|
readonly kind: "part";
|
|
71
72
|
readonly part: BelongMessagePart;
|
|
@@ -20,10 +20,10 @@ export declare const choiceAnswerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
20
20
|
kind: z.ZodLiteral<"skipped">;
|
|
21
21
|
}, z.core.$strip>], "kind">;
|
|
22
22
|
export declare const choiceStateSchema: z.ZodEnum<{
|
|
23
|
-
pending: "pending";
|
|
24
23
|
detached: "detached";
|
|
25
|
-
|
|
24
|
+
pending: "pending";
|
|
26
25
|
dismissed: "dismissed";
|
|
26
|
+
answered: "answered";
|
|
27
27
|
cancelled: "cancelled";
|
|
28
28
|
}>;
|
|
29
29
|
/**
|
|
@@ -55,8 +55,8 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
55
55
|
kind: z.ZodString;
|
|
56
56
|
status: z.ZodOptional<z.ZodEnum<{
|
|
57
57
|
pending: "pending";
|
|
58
|
-
completed: "completed";
|
|
59
58
|
failed: "failed";
|
|
59
|
+
completed: "completed";
|
|
60
60
|
in_progress: "in_progress";
|
|
61
61
|
}>>;
|
|
62
62
|
}, z.core.$strip>>;
|
|
@@ -99,8 +99,8 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
99
99
|
data: z.ZodObject<{
|
|
100
100
|
toolName: z.ZodString;
|
|
101
101
|
state: z.ZodEnum<{
|
|
102
|
-
completed: "completed";
|
|
103
102
|
failed: "failed";
|
|
103
|
+
completed: "completed";
|
|
104
104
|
started: "started";
|
|
105
105
|
}>;
|
|
106
106
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -136,8 +136,8 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
136
136
|
data: z.ZodObject<{
|
|
137
137
|
state: z.ZodEnum<{
|
|
138
138
|
output: "output";
|
|
139
|
-
completed: "completed";
|
|
140
139
|
failed: "failed";
|
|
140
|
+
completed: "completed";
|
|
141
141
|
started: "started";
|
|
142
142
|
}>;
|
|
143
143
|
stream: z.ZodOptional<z.ZodEnum<{
|
|
@@ -154,8 +154,8 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
154
154
|
uiActionRequestId: z.ZodString;
|
|
155
155
|
actionName: z.ZodString;
|
|
156
156
|
state: z.ZodEnum<{
|
|
157
|
-
completed: "completed";
|
|
158
157
|
failed: "failed";
|
|
158
|
+
completed: "completed";
|
|
159
159
|
requested: "requested";
|
|
160
160
|
}>;
|
|
161
161
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -188,8 +188,8 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
188
188
|
id: z.ZodString;
|
|
189
189
|
data: z.ZodObject<{
|
|
190
190
|
status: z.ZodEnum<{
|
|
191
|
-
completed: "completed";
|
|
192
191
|
failed: "failed";
|
|
192
|
+
completed: "completed";
|
|
193
193
|
cancelled: "cancelled";
|
|
194
194
|
continuing: "continuing";
|
|
195
195
|
throttled: "throttled";
|
|
@@ -224,10 +224,10 @@ export declare const wireStreamPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
224
224
|
data: z.ZodObject<{
|
|
225
225
|
questionRequestId: z.ZodString;
|
|
226
226
|
state: z.ZodEnum<{
|
|
227
|
-
pending: "pending";
|
|
228
227
|
detached: "detached";
|
|
229
|
-
|
|
228
|
+
pending: "pending";
|
|
230
229
|
dismissed: "dismissed";
|
|
230
|
+
answered: "answered";
|
|
231
231
|
cancelled: "cancelled";
|
|
232
232
|
}>;
|
|
233
233
|
questions: z.ZodArray<z.ZodObject<{
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BelongUIMessage } from './belong-data-parts.ts';
|
|
2
|
+
import { WorkspaceFocusTarget } from './workspace-focus-store.ts';
|
|
3
|
+
export type WorkspaceFocusEvent = {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly target: WorkspaceFocusTarget;
|
|
6
|
+
};
|
|
7
|
+
export declare const collectWorkspaceFocusEvents: (messages: readonly BelongUIMessage[], workspaceExternalId: string | null) => readonly WorkspaceFocusEvent[];
|