@belonguniverseai/react-sdk 0.6.33 → 0.6.34

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 (92) hide show
  1. package/dist/api/client.d.ts +563 -2
  2. package/dist/api/computer.d.ts +60 -0
  3. package/dist/api/proactive.d.ts +36 -0
  4. package/dist/api/query-keys.d.ts +3 -0
  5. package/dist/api/task-schedule-folders.d.ts +3 -3
  6. package/dist/api/task-schedule-projects.d.ts +5 -5
  7. package/dist/api/task-schedules.d.ts +27 -4
  8. package/dist/app/dock-story-data.d.ts +1 -1
  9. package/dist/component/{abnfDiagram-N423BO3Z-CK4wvzwz.js → abnfDiagram-N423BO3Z-K52-wOfg.js} +4 -4
  10. package/dist/component/{architectureDiagram-T3A2C74G-DoljsqqO.js → architectureDiagram-T3A2C74G-B64SrMLF.js} +6 -6
  11. package/dist/component/{blockDiagram-VBNYF7ZC-Ie7SErpH.js → blockDiagram-VBNYF7ZC-B7Di5R1s.js} +8 -8
  12. package/dist/component/{c4Diagram-5PPSVZJV-rfEof5mj.js → c4Diagram-5PPSVZJV-ClDtA2m4.js} +4 -4
  13. package/dist/component/{channel-C5ABP6lE.js → channel-C6_lLEWW.js} +2 -2
  14. package/dist/component/{chunk-2GRJ4B5K-CWOCv67u.js → chunk-2GRJ4B5K-B07moQal.js} +2 -2
  15. package/dist/component/{chunk-3NCLNEKW-BJYANBvv.js → chunk-3NCLNEKW-TUF1Wrf6.js} +2 -2
  16. package/dist/component/{chunk-4I5QYGJK-C29OfER5.js → chunk-4I5QYGJK-qY-_sgVE.js} +2 -2
  17. package/dist/component/{chunk-5RXB4S5H-D__NH4Op.js → chunk-5RXB4S5H-BU0H_zl3.js} +6 -6
  18. package/dist/component/{chunk-6Q2QTUOP-BgSQgII8.js → chunk-6Q2QTUOP-nIHNEMhm.js} +3 -3
  19. package/dist/component/{chunk-7Z6QIM7H-vNexNF_V.js → chunk-7Z6QIM7H-D7mHGFzt.js} +8 -8
  20. package/dist/component/{chunk-GF5L2VYU-D3vxqomE.js → chunk-GF5L2VYU-uM1RliIa.js} +6 -6
  21. package/dist/component/{chunk-I66GZJ75-Dkw1ISGd.js → chunk-I66GZJ75-oDyTlx3R.js} +2 -2
  22. package/dist/component/{chunk-J7OUQ5F2-dC67pJWg.js → chunk-J7OUQ5F2-c7iD4Gpa.js} +7 -7
  23. package/dist/component/{chunk-JQJVKLGR-Djj9TdhH.js → chunk-JQJVKLGR-JeqFPv2A.js} +8 -8
  24. package/dist/component/{chunk-KBJHAD2P-dwIA6Vmi.js → chunk-KBJHAD2P-DjQd-FIs.js} +2 -2
  25. package/dist/component/{chunk-NSK5VX7P-thQxjtNK.js → chunk-NSK5VX7P-Bq0sOWgd.js} +2 -2
  26. package/dist/component/{chunk-QR6OTTB3-OMd-rgNj.js → chunk-QR6OTTB3-DctDLVWm.js} +7 -7
  27. package/dist/component/{chunk-UBXNYLIW-D26S6zO6.js → chunk-UBXNYLIW-Ka1R3omP.js} +3 -3
  28. package/dist/component/{chunk-W5SLKNZC-DLV7M8by.js → chunk-W5SLKNZC-CI_OqVnD.js} +2 -2
  29. package/dist/component/{chunk-WRU74C26-13bvIAgD.js → chunk-WRU74C26-BMkh1mHN.js} +4 -4
  30. package/dist/component/{classDiagram-JCYQIIEL-BFQ72AZA.js → classDiagram-JCYQIIEL-C1E0BQye.js} +13 -13
  31. package/dist/component/{classDiagram-v2-OCEON4UE-UFfArXpP.js → classDiagram-v2-OCEON4UE-hQKKIbDF.js} +13 -13
  32. package/dist/component/{component-Bhs6PFPY.js → component-B44aZ-1Z.js} +20116 -19001
  33. package/dist/component/{cynefinDiagram-MW4NZA55-Bgfw8c41.js → cynefinDiagram-MW4NZA55-0yefvDKM.js} +4 -4
  34. package/dist/component/{dagre-VZM6K2ZE-CQoUcF3S.js → dagre-VZM6K2ZE-CBlt7UUF.js} +9 -9
  35. package/dist/component/{diagram-7IWD3JNH-C8-mvAEv.js → diagram-7IWD3JNH-D0zEzayZ.js} +5 -5
  36. package/dist/component/{diagram-B4RE2ZJO-BATqCIx3.js → diagram-B4RE2ZJO-Dm2FX5kh.js} +3 -3
  37. package/dist/component/{diagram-LBJQPF4R-DwRMRXWz.js → diagram-LBJQPF4R-nQGWQGIp.js} +4 -4
  38. package/dist/component/{diagram-Q27KOJAE-D6gO0LTm.js → diagram-Q27KOJAE-Co-Dq4kd.js} +6 -6
  39. package/dist/component/{diagram-UB23O5K3-4nOrWHql.js → diagram-UB23O5K3-ClWS8vTp.js} +4 -4
  40. package/dist/component/{ebnfDiagram-BXEA7PRR-DCO-Nj3k.js → ebnfDiagram-BXEA7PRR-Cq6K_q0O.js} +4 -4
  41. package/dist/component/{erDiagram-JOGREHBK-hWtImhPN.js → erDiagram-JOGREHBK-DvPI-BqP.js} +12 -12
  42. package/dist/component/flowDiagram-UKHOOZJN-2MBQiA4G.js +19 -0
  43. package/dist/component/{ganttDiagram-PKOTCBZU-BE8Mqoej.js → ganttDiagram-PKOTCBZU-DXzfT7Q5.js} +3 -3
  44. package/dist/component/{gitGraphDiagram-DS77QQ5N-DURS7rAN.js → gitGraphDiagram-DS77QQ5N-CMKpJJJ_.js} +3 -3
  45. package/dist/component/index.js +2 -2
  46. package/dist/component/{infoDiagram-6WML65LV-BqBxR6YB.js → infoDiagram-6WML65LV-Ck5rB_GF.js} +3 -3
  47. package/dist/component/{ishikawaDiagram-WSZJBQD7-CnYZd1Dq.js → ishikawaDiagram-WSZJBQD7-CHQxwGjK.js} +4 -4
  48. package/dist/component/{journeyDiagram-NVQOT4AX-Cgkpx4Qx.js → journeyDiagram-NVQOT4AX-CnPVgyHk.js} +3 -3
  49. package/dist/component/{kanban-definition-27J2QSJJ-CJSdhT0i.js → kanban-definition-27J2QSJJ-CC8oOHrI.js} +9 -9
  50. package/dist/component/{line-BBEHlpsV.js → line-AtEledwJ.js} +2 -2
  51. package/dist/component/{mindmap-definition-FAOFIHXS-DgHouLA-.js → mindmap-definition-FAOFIHXS-WWI6yyUJ.js} +11 -11
  52. package/dist/component/{pegDiagram-VL7TDLO6-B_iGQ6sI.js → pegDiagram-VL7TDLO6-D5NeC_IJ.js} +4 -4
  53. package/dist/component/{pieDiagram-7S7Q4E2Y-g7GxM0JA.js → pieDiagram-7S7Q4E2Y-M4MUAitH.js} +4 -4
  54. package/dist/component/{quadrantDiagram-CIZ2JOQS-Bp7z4raq.js → quadrantDiagram-CIZ2JOQS-viErJFsV.js} +2 -2
  55. package/dist/component/{railroadDiagram-AXF67PYL-CYx3PP5o.js → railroadDiagram-AXF67PYL-C8IhZ-59.js} +4 -4
  56. package/dist/component/{requirementDiagram-LRYGKXZP-BJNRJceo.js → requirementDiagram-LRYGKXZP-D1vdZzCs.js} +11 -11
  57. package/dist/component/{sankeyDiagram-W5VNT64P-Cf0tVHbW.js → sankeyDiagram-W5VNT64P-Bl52MqzW.js} +2 -2
  58. package/dist/component/{sequenceDiagram-SI44F4Z6-BsAsKMRH.js → sequenceDiagram-SI44F4Z6-Cx-Aio7P.js} +4 -4
  59. package/dist/component/{stateDiagram-OKZ733FA-Bpk0vtTK.js → stateDiagram-OKZ733FA-CHqMp3xm.js} +14 -14
  60. package/dist/component/{stateDiagram-v2-UEYNNEHI-CJFoUvD2.js → stateDiagram-v2-UEYNNEHI-DqTLHDUB.js} +13 -13
  61. package/dist/component/{swimlanes-SLNWSIFB-Be5A0lwq.js → swimlanes-SLNWSIFB-BkaXpBe5.js} +9 -9
  62. package/dist/component/{swimlanesDiagram-ULZ7WXOC-J8VNaPhM.js → swimlanesDiagram-ULZ7WXOC-DyMFUKdr.js} +13 -13
  63. package/dist/component/{timeline-definition-Z64GVDOM-CU9PEkPY.js → timeline-definition-Z64GVDOM-Ba3A3s-L.js} +4 -4
  64. package/dist/component/{vennDiagram-T6HMQDX7-Cno78tFK.js → vennDiagram-T6HMQDX7-4W_JJhIz.js} +4 -4
  65. package/dist/component/{wardleyDiagram-T6FBY63Y-BEb1Rn5J.js → wardleyDiagram-T6FBY63Y-CllyyQYm.js} +4 -4
  66. package/dist/component/{xychartDiagram-ELKLHX3M-BwjMczCl.js → xychartDiagram-ELKLHX3M-DS3MPPul.js} +7 -7
  67. package/dist/components/embed/ComputerSettings.d.ts +7 -0
  68. package/dist/components/embed/EmbedRail.d.ts +8 -2
  69. package/dist/components/embed/EmbedSessions.d.ts +15 -2
  70. package/dist/components/embed/MobileNavBar.d.ts +4 -2
  71. package/dist/components/embed/ProactiveChecksSetting.d.ts +7 -0
  72. package/dist/components/embed/use-settings-owner-key.d.ts +15 -0
  73. package/dist/components/pinned/PinnedChatHeader.d.ts +9 -0
  74. package/dist/components/pinned/use-agent-name.d.ts +2 -0
  75. package/dist/embed/goal-cap-notice.d.ts +0 -9
  76. package/dist/embed/pinned-chat.d.ts +34 -0
  77. package/dist/embed/voice/line-run-reader.d.ts +1 -1
  78. package/dist/embed/voice-call.d.ts +6 -0
  79. package/dist/i18n/messages/en.d.ts +81 -9
  80. package/dist/i18n/messages/surfaces/pinned.d.ts +76 -0
  81. package/dist/i18n/messages/surfaces/scheduled.d.ts +37 -5
  82. package/dist/i18n/messages/surfaces/settings.d.ts +140 -0
  83. package/dist/i18n/messages/surfaces/stream.d.ts +52 -4
  84. package/dist/i18n/messages/surfaces/vault.d.ts +1 -1
  85. package/dist/routes/chat/history-merge.d.ts +4 -1
  86. package/dist/stream/belong-chat-transport.d.ts +6 -9
  87. package/dist/stream/pause-notice-copy.d.ts +3 -0
  88. package/dist/stream/reconnect-backoff.d.ts +39 -0
  89. package/dist/stream/run-error-copy.d.ts +25 -0
  90. package/dist/stream/stream-notice.d.ts +9 -0
  91. package/package.json +1 -1
  92. package/dist/component/flowDiagram-UKHOOZJN-8qLgX2Wv.js +0 -19
@@ -4,8 +4,21 @@ export interface SessionSummary {
4
4
  readonly title: string | null;
5
5
  readonly updatedAt: string;
6
6
  }
7
+ /** The pinned chat's row, always first (BEL-348). */
8
+ export interface PinnedChatRow {
9
+ readonly name: string;
10
+ readonly brand: {
11
+ readonly logo?: string;
12
+ readonly initials: string;
13
+ };
14
+ readonly unreadCount: number;
15
+ readonly lastMessage: string | null;
16
+ readonly active: boolean;
17
+ readonly onOpen: () => void;
18
+ }
7
19
  type SessionsBodyProps = {
8
20
  sessions: readonly SessionSummary[];
21
+ pinned?: PinnedChatRow | undefined;
9
22
  activeId: string | null;
10
23
  onNew: () => void;
11
24
  onSelect: (id: string) => void;
@@ -27,7 +40,7 @@ type SessionsBodyProps = {
27
40
  /** Shared history behavior for the compact menu and fullscreen settings.
28
41
  * Panel rows use native buttons with sibling edit actions, so history does
29
42
  * not depend on a Radix menu context or nest interactive controls. */
30
- export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, presentation, }: SessionsBodyProps & {
43
+ export declare function EmbedSessionsBody({ sessions, pinned, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, presentation, }: SessionsBodyProps & {
31
44
  presentation?: "menu" | "panel";
32
45
  }): import("react").JSX.Element;
33
46
  /**
@@ -35,7 +48,7 @@ export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect,
35
48
  * an inline text edit, or delete one via an inline trash → confirm flow. Rename +
36
49
  * delete are per-row inline affordances that keep the menu open (BEL-120).
37
50
  */
38
- export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, presentation, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
51
+ export declare function EmbedSessions({ sessions, pinned, activeId, theme, side, triggerClassName, triggerLabel, presentation, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
39
52
  theme: BelongTheme;
40
53
  /** Which way the menu opens — toward the panel from the rail edge, or
41
54
  * upward when the trigger lives in the mobile bottom nav bar. */
@@ -1,12 +1,14 @@
1
1
  import { ComponentProps } from 'react';
2
2
  import { EmbedAvatar } from './EmbedAvatar';
3
- import { SessionSummary } from './EmbedSessions';
3
+ import { PinnedChatRow, SessionSummary } from './EmbedSessions';
4
4
  import { EmbedView } from './EmbedRail';
5
5
  import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.ts';
6
6
  /** Four mobile destinations. Secondary tools and account controls live in
7
7
  * Tools; session switching lives above the conversation. Primary cells retain
8
8
  * 44px targets (56px with labels) and surface-scaled glyphs without horizontal scrolling. */
9
- export declare function MobileNavBar({ view, user, theme, palette, sessions, activeId, voiceSupported, readReplies, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, navigationLabelsVisible, onToggleNavigationLabels, connectorsUnavailable, skillsUnavailable, artifactsUnavailable, goalPresent, }: {
9
+ export declare function MobileNavBar({ pinned, view, user, theme, palette, sessions, activeId, voiceSupported, readReplies, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, navigationLabelsVisible, onToggleNavigationLabels, connectorsUnavailable, skillsUnavailable, artifactsUnavailable, goalPresent, }: {
10
+ /** The pinned chat's row at the top of Chat history (BEL-348). */
11
+ pinned?: PinnedChatRow | undefined;
10
12
  /** Focus changes navigation labels only; the icons always remain available. */
11
13
  navigationLabelsVisible?: boolean;
12
14
  onToggleNavigationLabels?: () => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Settings → General: on/off for proactive checks (BEL-348). Renders nothing
3
+ * when the feature is not on for this user. It names the connected apps a check
4
+ * reads, so that's never a surprise. What a check finds shows up in the pinned
5
+ * chat and on Slack, not here.
6
+ */
7
+ export declare const ProactiveChecksSetting: () => import("react").JSX.Element | null;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The signed-in user a settings section's cached data belongs to: the API
3
+ * base URL plus the token's issuer, tenant and user. Null until the host has
4
+ * handed the dock a token.
5
+ */
6
+ export declare const readSettingsOwnerKey: (baseUrl: string) => string | null;
7
+ /**
8
+ * Track the owner key so a section re-keys (and drops another user's cached
9
+ * data) the moment the host switches users. `authError` turns true when no
10
+ * token arrives at all, so the section can say so instead of loading forever.
11
+ */
12
+ export declare const useSettingsOwnerKey: () => {
13
+ readonly ownerKey: string | null;
14
+ readonly authError: boolean;
15
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { Proactive } from '../../api/proactive.ts';
3
+ export declare const PinnedChatHeader: ({ proactive, name, onClear, layoutControl, }: {
4
+ readonly proactive: Proactive;
5
+ readonly name: string;
6
+ readonly onClear: () => void;
7
+ /** On a phone, where there's no rail: the logo, as every other header has it. */
8
+ readonly layoutControl?: ReactNode;
9
+ }) => ReactElement;
@@ -0,0 +1,2 @@
1
+ /** What the dock calls the agent: "Belong agent", or the tenant's own brand as is. */
2
+ export declare const useAgentName: () => string;
@@ -1,4 +1,3 @@
1
- import { PostMessageError } from '../stream/belong-chat-transport.ts';
2
1
  export type GoalRefusal = {
3
2
  readonly kind: "exists";
4
3
  } | {
@@ -26,11 +25,3 @@ export type GoalRefusal = {
26
25
  * chat's own generic error surface instead of being misread as a refusal.
27
26
  */
28
27
  export declare const goalRefusalFromError: (error: unknown) => GoalRefusal | null;
29
- /**
30
- * A refused POST, whatever the reason. `PostMessageError.message` embeds the
31
- * server's status AND its raw body (a wire enum, untranslated English prose,
32
- * or a Zod issue list) — never show that to a user: the dock renders its own
33
- * i18n'd fallback instead. The memory note "server prose isn't localized" is
34
- * exactly this failure, and §42's "reads as breakage" is the cost.
35
- */
36
- export declare const isPostMessageRefusal: (error: unknown) => error is PostMessageError;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Which Session is the user's pinned chat (BEL-348).
3
+ *
4
+ * A tiny external store because places that don't share props need it: BelongDock
5
+ * (header, presentation) and ChatRoute (it must never be adopted as "Agent 1",
6
+ * which it isn't, and its quiet check replies aren't rendered).
7
+ *
8
+ * Remembered across reloads: ChatRoute binds what's on screen to line 1 in the
9
+ * dock's first commit, before the dock has read anything, and binding the pinned
10
+ * chat would take that line from the user's regular chat. An id left by another
11
+ * account on this browser is harmless: it never matches a Session of theirs.
12
+ */
13
+ export declare const peekPinnedChatSessionId: () => string | null;
14
+ export declare const setPinnedChatSessionId: (sessionId: string | null) => void;
15
+ export declare const usePinnedChatSessionId: () => string | null;
16
+ type MessageLike = {
17
+ readonly role: string;
18
+ readonly parts: readonly {
19
+ readonly type: string;
20
+ readonly text?: unknown;
21
+ }[];
22
+ };
23
+ /**
24
+ * A quiet check reply. A reply to the user's own message never is, whatever it
25
+ * says: "NO" can be the answer they asked for. The check's own message is internal,
26
+ * so a check's reply never follows one of theirs. A prefix ("NO", "NO_UP"…) counts
27
+ * only while it streams in; the cloud stores the real thing internal, so this keeps
28
+ * the live render the same as the reload (§41).
29
+ */
30
+ export declare const isQuietPinnedMessage: (message: MessageLike, context: {
31
+ readonly previousRole: string | undefined;
32
+ readonly streaming: boolean;
33
+ }) => boolean;
34
+ export {};
@@ -55,4 +55,4 @@ export type WatchLineRunInput = {
55
55
  */
56
56
  readonly onTick?: () => void;
57
57
  };
58
- export declare const watchLineRun: (input: WatchLineRunInput, fetchFn?: typeof fetch) => (() => void);
58
+ export declare const watchLineRun: (input: WatchLineRunInput, fetchFn?: typeof fetch, sleepMs?: (ms: number, signal: AbortSignal) => Promise<void>) => (() => void);
@@ -195,6 +195,12 @@ export declare const notifyCallProgress: (hint: string) => void;
195
195
  /** ChatRoute mirrors the run's current tool phase — the orb wears it as a
196
196
  * small work badge while the agent is busy. */
197
197
  export declare const setCallWorkPhase: (phase: CallState["workPhase"]) => void;
198
+ /**
199
+ * Clear a chat's visible history and refresh it if it's the one on screen. For
200
+ * what isn't ChatRoute and can't call `runClearCommand`: a call, the pinned chat's
201
+ * header. False when the server refused; nothing changed then.
202
+ */
203
+ export declare const clearChatOnScreen: (sessionId: string) => Promise<boolean>;
198
204
  /**
199
205
  * The lines strip chip on CallScreen calls this directly (no tool-call round
200
206
  * trip, no ack — there is no voice tool for it any more, which is why nothing
@@ -237,9 +237,21 @@ export declare const en: {
237
237
  readonly reconnecting: "Reconnecting to Simetrik…";
238
238
  };
239
239
  readonly reconnectingBadge: "reconnecting";
240
- readonly incompleteTask: "Paused — unfinished";
240
+ readonly pauseOutputLimit: "Paused — this answer reached its length limit. Reply to continue.";
241
+ readonly pauseStepLimit: "Paused — this task reached its automatic work limit. Reply to continue.";
242
+ readonly pauseWatchdog: "Paused — a step stopped responding or ran out of time. Reply to continue.";
243
+ readonly pauseRepeatedFailure: "Paused — the same step kept failing. Reply with what to change.";
244
+ readonly pauseQuotaExceeded: "Paused — unfinished";
245
+ readonly pauseGeneric: "Paused before finishing. Reply to continue.";
241
246
  readonly resumingAfterPause: "Taking longer than expected — picking it back up…";
242
247
  readonly answerBlocked: "That answer was blocked before it finished. You can start a new conversation. If it keeps happening, contact support.";
248
+ readonly runErrorStoppedShort: "That answer stopped before it was finished. Ask again and it will pick up where it left off.";
249
+ readonly runErrorContextFull: "That answer stopped because this conversation has grown too long. Start a new chat to carry the work on there.";
250
+ readonly runErrorStepTooLong: "That step took too long, so it was stopped. Ask again to carry on.";
251
+ readonly runErrorConnectionRevoked: "A connection was turned off, so this stopped. Connect it again to continue.";
252
+ readonly runErrorGeneric: "Something went wrong and that answer couldn't finish. Ask again in a moment.";
253
+ readonly runCancelled: "Stopped";
254
+ readonly runThrottled: "Paused";
243
255
  readonly open: "Open";
244
256
  readonly reconnectRateLimited: "{{provider}} is busy — trying again automatically in {{seconds}}s.";
245
257
  readonly reconnectRateLimitedStill: "{{provider}} is still busy. We'll keep trying on our own.";
@@ -393,6 +405,31 @@ export declare const en: {
393
405
  apiKeysDescription: string;
394
406
  guide: string;
395
407
  guideDescription: string;
408
+ computer: string;
409
+ computerDescription: string;
410
+ computerIntro: string;
411
+ computerLoading: string;
412
+ computerLoadError: string;
413
+ computerAuthError: string;
414
+ computerDownload: string;
415
+ computerConnect: string;
416
+ computerReplace: string;
417
+ computerConnectError: string;
418
+ computerOpenApp: string;
419
+ computerPairingHint: string;
420
+ computerCopyLink: string;
421
+ computerCopied: string;
422
+ computerCopyError: string;
423
+ computerWaiting: string;
424
+ computerOnline: string;
425
+ computerOffline: string;
426
+ computerMeta: string;
427
+ computerDisconnect: string;
428
+ computerConfirmDisconnect: string;
429
+ computerDisconnectError: string;
430
+ computerOsMacos: string;
431
+ computerOsWindows: string;
432
+ computerOsLinux: string;
396
433
  apiKeysName: string;
397
434
  apiKeysCreate: string;
398
435
  apiKeysRevoke: string;
@@ -413,6 +450,16 @@ export declare const en: {
413
450
  workspaceScopeDescription: string;
414
451
  workspaceScopeApplies: string;
415
452
  workspaceScopeSaveError: string;
453
+ proactiveTitle: string;
454
+ proactiveBody: string;
455
+ proactiveBodySlack: string;
456
+ proactiveWatching: string;
457
+ proactiveOff: string;
458
+ proactiveLastCheck: string;
459
+ proactiveNextCheck: string;
460
+ proactiveCheckNow: string;
461
+ proactiveChecking: string;
462
+ proactiveNothingNew: string;
416
463
  profile: string;
417
464
  languageDescription: string;
418
465
  dockPosition: string;
@@ -656,11 +703,18 @@ export declare const en: {
656
703
  readonly runNeedsAttentionHint: "Waiting for your input.";
657
704
  readonly manualRun: "Manual run";
658
705
  readonly manualRunPaused: "Manual run while paused";
659
- readonly deliverySentTo_one: "Email sent to {{count}} person";
660
- readonly deliverySentTo_other: "Email sent to {{count}} people";
661
- readonly deliverySent: "Email sent";
662
- readonly deliveryEmailsSent_one: "{{count}} email sent";
663
- readonly deliveryEmailsSent_other: "{{count}} emails sent";
706
+ readonly deliverySentTo_one: "Email accepted by provider for {{count}} person";
707
+ readonly deliverySentTo_other: "Email accepted by provider for {{count}} people";
708
+ readonly deliverySent: "Email accepted by provider";
709
+ readonly deliveryEmailsSent_one: "{{count}} email accepted by provider";
710
+ readonly deliveryEmailsSent_other: "{{count}} emails accepted by provider";
711
+ readonly deliveryUnknown: "Email status unknown — verify before resending";
712
+ readonly deliveryBounced: "At least one email bounced";
713
+ readonly deliveryComplained: "An email was reported as spam";
714
+ readonly deliveryProviderFailed: "The provider reported an email delivery failure";
715
+ readonly deliveryDelayed: "Email delivery delayed";
716
+ readonly deliveryConfirmed_one: "{{count}} email delivered";
717
+ readonly deliveryConfirmed_other: "{{count}} emails delivered";
664
718
  readonly deliveryPartlySent: "Email partly sent";
665
719
  readonly deliveryNotSentNoMatch: "Email not sent: the condition didn't match";
666
720
  readonly deliveryNotSentNotWritten: "Email not sent: the task didn't write it";
@@ -720,6 +774,7 @@ export declare const en: {
720
774
  readonly projectHandoverAccepted: "You now own this project.";
721
775
  readonly projectHandoverHelp: "The new owner's workspace runs every task and keeps the files. You keep Can edit.";
722
776
  readonly projectHandoverFailed: "Couldn't complete the handover. Try again.";
777
+ readonly projectHandoverTooManyFiles: "This project has too many files to hand over.";
723
778
  readonly projectFiles: "Files";
724
779
  readonly projectFilesTitle: "Files in “{{name}}”";
725
780
  readonly projectFilesDescription: "One copy everyone in the project works on. Every task in the project runs with these files.";
@@ -819,6 +874,22 @@ export declare const en: {
819
874
  readonly signInPrompt: "Sign in to start chatting.";
820
875
  readonly signIn: "Sign in";
821
876
  };
877
+ readonly pinned: {
878
+ readonly railLabel: "{{name}}, always on";
879
+ readonly railLabelUnread: "{{name}}, {{count}} new";
880
+ readonly rowStatus: "Always on";
881
+ readonly rowStatusUnread: "Always on, {{count}} new";
882
+ readonly statusWorking: "Working on something";
883
+ readonly statusWatching: "Watching {{apps}}";
884
+ readonly statusOn: "Always on";
885
+ readonly statusPaused: "Paused";
886
+ readonly openDetails: "What {{name}} is watching";
887
+ readonly composerPlaceholder: "Message {{name}}";
888
+ readonly emptyTitle: "This is your chat with {{name}}";
889
+ readonly emptyBody: "It keeps working while you're away and writes here when something needs you. Tell it what to watch, or ask for anything.";
890
+ readonly clear: "Clear chat";
891
+ readonly clearHint: "Starts this chat over. What it remembers about you stays.";
892
+ };
822
893
  readonly navigation: {
823
894
  minimizeAgent: string;
824
895
  showLabels: string;
@@ -1424,7 +1495,7 @@ export declare const en: {
1424
1495
  readonly name: "Name";
1425
1496
  readonly nameHint: "Use lowercase letters, numbers and hyphens. Names cannot be changed.";
1426
1497
  readonly kind: "Kind";
1427
- readonly apiKey: "API key";
1498
+ readonly apiKey: "API key, token or password";
1428
1499
  readonly pem: "PEM private key";
1429
1500
  readonly value: "Secret value";
1430
1501
  readonly save: "Save";
@@ -1855,15 +1926,16 @@ export declare const en: {
1855
1926
  readonly nextStepDismiss: "Dismiss suggestion";
1856
1927
  readonly notDelivered: "Not delivered — please resend";
1857
1928
  readonly notSent: "Not sent";
1858
- readonly runFailed: "Run failed";
1859
1929
  readonly uploadFailed: "Attachment upload failed — remove it or try again.";
1860
1930
  readonly uploadRejectedType: "“{{filename}}” isn’t a file type that can be attached — remove it. Text, data, config, code, document and image files work.";
1861
1931
  readonly uploadRejectedSecret: "“{{filename}}” looks like an environment/secrets file — it can’t be attached. Remove it and paste only the values you need.";
1862
1932
  readonly uploadTooLarge: "“{{filename}}” is larger than 25 MB, the most you can attach.";
1863
1933
  readonly authExpired: "Your session expired — please sign in to {{name}} again, then retry.";
1864
1934
  readonly backendUnavailable: "Can't reach the assistant service — check your connection.";
1865
- readonly streamError: "Stream error — {{message}}";
1935
+ readonly streamError: "Something went wrong. Please try again.";
1866
1936
  readonly streamErrorFallback: "please retry";
1937
+ readonly streamInterrupted: "The answer stopped updating before it finished. Reload the page to see the latest.";
1938
+ readonly streamNoticeGeneric: "Something went wrong while showing the answer. Reload the page to see the latest.";
1867
1939
  readonly workspaceUnavailable: "Waiting for a workspace — select one in the app to continue.";
1868
1940
  };
1869
1941
  };
@@ -0,0 +1,76 @@
1
+ /**
2
+ * The pinned chat (BEL-348): the user's one always-on conversation with the agent.
3
+ * `{{name}}` is the agent's own name; this surface never introduces another.
4
+ */
5
+ export declare const pinnedEn: {
6
+ readonly pinned: {
7
+ readonly railLabel: "{{name}}, always on";
8
+ readonly railLabelUnread: "{{name}}, {{count}} new";
9
+ readonly rowStatus: "Always on";
10
+ readonly rowStatusUnread: "Always on, {{count}} new";
11
+ readonly statusWorking: "Working on something";
12
+ readonly statusWatching: "Watching {{apps}}";
13
+ readonly statusOn: "Always on";
14
+ readonly statusPaused: "Paused";
15
+ readonly openDetails: "What {{name}} is watching";
16
+ readonly composerPlaceholder: "Message {{name}}";
17
+ readonly emptyTitle: "This is your chat with {{name}}";
18
+ readonly emptyBody: "It keeps working while you're away and writes here when something needs you. Tell it what to watch, or ask for anything.";
19
+ readonly clear: "Clear chat";
20
+ readonly clearHint: "Starts this chat over. What it remembers about you stays.";
21
+ };
22
+ };
23
+ export declare const pinnedEs: {
24
+ readonly pinned: {
25
+ readonly railLabel: "{{name}}, siempre activo";
26
+ readonly railLabelUnread: "{{name}}, {{count}} nuevos";
27
+ readonly rowStatus: "Siempre activo";
28
+ readonly rowStatusUnread: "Siempre activo, {{count}} nuevos";
29
+ readonly statusWorking: "Trabajando en algo";
30
+ readonly statusWatching: "Revisando {{apps}}";
31
+ readonly statusOn: "Siempre activo";
32
+ readonly statusPaused: "En pausa";
33
+ readonly openDetails: "Qué está revisando {{name}}";
34
+ readonly composerPlaceholder: "Escríbele a {{name}}";
35
+ readonly emptyTitle: "Este es tu chat con {{name}}";
36
+ readonly emptyBody: "Sigue trabajando mientras no estás y te escribe aquí cuando algo te necesita. Dile qué revisar o pídele lo que quieras.";
37
+ readonly clear: "Limpiar chat";
38
+ readonly clearHint: "Empieza este chat de nuevo. Lo que recuerda de ti se mantiene.";
39
+ };
40
+ };
41
+ export declare const pinnedPt: {
42
+ readonly pinned: {
43
+ readonly railLabel: "{{name}}, sempre ativo";
44
+ readonly railLabelUnread: "{{name}}, {{count}} novas";
45
+ readonly rowStatus: "Sempre ativo";
46
+ readonly rowStatusUnread: "Sempre ativo, {{count}} novas";
47
+ readonly statusWorking: "Trabalhando em algo";
48
+ readonly statusWatching: "Acompanhando {{apps}}";
49
+ readonly statusOn: "Sempre ativo";
50
+ readonly statusPaused: "Pausado";
51
+ readonly openDetails: "O que {{name}} está acompanhando";
52
+ readonly composerPlaceholder: "Escreva para {{name}}";
53
+ readonly emptyTitle: "Este é o seu chat com {{name}}";
54
+ readonly emptyBody: "Ele continua trabalhando enquanto você está fora e escreve aqui quando algo precisa de você. Diga o que acompanhar ou peça o que quiser.";
55
+ readonly clear: "Limpar chat";
56
+ readonly clearHint: "Recomeça este chat. O que ele lembra sobre você continua.";
57
+ };
58
+ };
59
+ export declare const pinnedIt: {
60
+ readonly pinned: {
61
+ readonly railLabel: "{{name}}, sempre attivo";
62
+ readonly railLabelUnread: "{{name}}, {{count}} nuovi";
63
+ readonly rowStatus: "Sempre attivo";
64
+ readonly rowStatusUnread: "Sempre attivo, {{count}} nuovi";
65
+ readonly statusWorking: "Sta lavorando a qualcosa";
66
+ readonly statusWatching: "Controlla {{apps}}";
67
+ readonly statusOn: "Sempre attivo";
68
+ readonly statusPaused: "In pausa";
69
+ readonly openDetails: "Cosa sta controllando {{name}}";
70
+ readonly composerPlaceholder: "Scrivi a {{name}}";
71
+ readonly emptyTitle: "Questa è la tua chat con {{name}}";
72
+ readonly emptyBody: "Continua a lavorare mentre non ci sei e ti scrive qui quando qualcosa ha bisogno di te. Digli cosa controllare o chiedigli quello che vuoi.";
73
+ readonly clear: "Svuota chat";
74
+ readonly clearHint: "Ricomincia questa chat. Ciò che ricorda di te rimane.";
75
+ };
76
+ };
@@ -196,11 +196,18 @@ export declare const scheduledEn: {
196
196
  readonly runNeedsAttentionHint: "Waiting for your input.";
197
197
  readonly manualRun: "Manual run";
198
198
  readonly manualRunPaused: "Manual run while paused";
199
- readonly deliverySentTo_one: "Email sent to {{count}} person";
200
- readonly deliverySentTo_other: "Email sent to {{count}} people";
201
- readonly deliverySent: "Email sent";
202
- readonly deliveryEmailsSent_one: "{{count}} email sent";
203
- readonly deliveryEmailsSent_other: "{{count}} emails sent";
199
+ readonly deliverySentTo_one: "Email accepted by provider for {{count}} person";
200
+ readonly deliverySentTo_other: "Email accepted by provider for {{count}} people";
201
+ readonly deliverySent: "Email accepted by provider";
202
+ readonly deliveryEmailsSent_one: "{{count}} email accepted by provider";
203
+ readonly deliveryEmailsSent_other: "{{count}} emails accepted by provider";
204
+ readonly deliveryUnknown: "Email status unknown — verify before resending";
205
+ readonly deliveryBounced: "At least one email bounced";
206
+ readonly deliveryComplained: "An email was reported as spam";
207
+ readonly deliveryProviderFailed: "The provider reported an email delivery failure";
208
+ readonly deliveryDelayed: "Email delivery delayed";
209
+ readonly deliveryConfirmed_one: "{{count}} email delivered";
210
+ readonly deliveryConfirmed_other: "{{count}} emails delivered";
204
211
  readonly deliveryPartlySent: "Email partly sent";
205
212
  readonly deliveryNotSentNoMatch: "Email not sent: the condition didn't match";
206
213
  readonly deliveryNotSentNotWritten: "Email not sent: the task didn't write it";
@@ -260,6 +267,7 @@ export declare const scheduledEn: {
260
267
  readonly projectHandoverAccepted: "You now own this project.";
261
268
  readonly projectHandoverHelp: "The new owner's workspace runs every task and keeps the files. You keep Can edit.";
262
269
  readonly projectHandoverFailed: "Couldn't complete the handover. Try again.";
270
+ readonly projectHandoverTooManyFiles: "This project has too many files to hand over.";
263
271
  readonly projectFiles: "Files";
264
272
  readonly projectFilesTitle: "Files in “{{name}}”";
265
273
  readonly projectFilesDescription: "One copy everyone in the project works on. Every task in the project runs with these files.";
@@ -486,6 +494,13 @@ export declare const scheduledEs: {
486
494
  deliverySent: string;
487
495
  deliveryEmailsSent_one: string;
488
496
  deliveryEmailsSent_other: string;
497
+ deliveryUnknown: string;
498
+ deliveryBounced: string;
499
+ deliveryComplained: string;
500
+ deliveryProviderFailed: string;
501
+ deliveryDelayed: string;
502
+ deliveryConfirmed_one: string;
503
+ deliveryConfirmed_other: string;
489
504
  deliveryPartlySent: string;
490
505
  deliveryNotSentNoMatch: string;
491
506
  deliveryNotSentNotWritten: string;
@@ -545,6 +560,7 @@ export declare const scheduledEs: {
545
560
  projectHandoverAccepted: string;
546
561
  projectHandoverHelp: string;
547
562
  projectHandoverFailed: string;
563
+ projectHandoverTooManyFiles: string;
548
564
  projectFiles: string;
549
565
  projectFilesTitle: string;
550
566
  projectFilesDescription: string;
@@ -771,6 +787,13 @@ export declare const scheduledPt: {
771
787
  deliverySent: string;
772
788
  deliveryEmailsSent_one: string;
773
789
  deliveryEmailsSent_other: string;
790
+ deliveryUnknown: string;
791
+ deliveryBounced: string;
792
+ deliveryComplained: string;
793
+ deliveryProviderFailed: string;
794
+ deliveryDelayed: string;
795
+ deliveryConfirmed_one: string;
796
+ deliveryConfirmed_other: string;
774
797
  deliveryPartlySent: string;
775
798
  deliveryNotSentNoMatch: string;
776
799
  deliveryNotSentNotWritten: string;
@@ -830,6 +853,7 @@ export declare const scheduledPt: {
830
853
  projectHandoverAccepted: string;
831
854
  projectHandoverHelp: string;
832
855
  projectHandoverFailed: string;
856
+ projectHandoverTooManyFiles: string;
833
857
  projectFiles: string;
834
858
  projectFilesTitle: string;
835
859
  projectFilesDescription: string;
@@ -1056,6 +1080,13 @@ export declare const scheduledIt: {
1056
1080
  deliverySent: string;
1057
1081
  deliveryEmailsSent_one: string;
1058
1082
  deliveryEmailsSent_other: string;
1083
+ deliveryUnknown: string;
1084
+ deliveryBounced: string;
1085
+ deliveryComplained: string;
1086
+ deliveryProviderFailed: string;
1087
+ deliveryDelayed: string;
1088
+ deliveryConfirmed_one: string;
1089
+ deliveryConfirmed_other: string;
1059
1090
  deliveryPartlySent: string;
1060
1091
  deliveryNotSentNoMatch: string;
1061
1092
  deliveryNotSentNotWritten: string;
@@ -1115,6 +1146,7 @@ export declare const scheduledIt: {
1115
1146
  projectHandoverAccepted: string;
1116
1147
  projectHandoverHelp: string;
1117
1148
  projectHandoverFailed: string;
1149
+ projectHandoverTooManyFiles: string;
1118
1150
  projectFiles: string;
1119
1151
  projectFilesTitle: string;
1120
1152
  projectFilesDescription: string;