@belonguniverseai/react-sdk 0.6.34 → 0.6.35
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/dist/api/account-connectors.d.ts +1 -1
- package/dist/api/agent-computer.d.ts +9 -0
- package/dist/api/client.d.ts +380 -84
- package/dist/api/goals.d.ts +4 -4
- package/dist/api/guide.d.ts +11 -4
- package/dist/api/proactive.d.ts +11 -0
- package/dist/api/query-keys.d.ts +19 -1
- package/dist/api/quota-refusal.d.ts +1 -1
- package/dist/api/task-schedule-folders.d.ts +4 -4
- package/dist/api/task-schedule-projects.d.ts +7 -7
- package/dist/api/task-schedules.d.ts +101 -17
- package/dist/app/dock-story-data.d.ts +5 -5
- package/dist/component/{abnfDiagram-N423BO3Z-K52-wOfg.js → abnfDiagram-N423BO3Z-CRZoFiVH.js} +4 -4
- package/dist/component/{architectureDiagram-T3A2C74G-B64SrMLF.js → architectureDiagram-T3A2C74G-CaRtqw4X.js} +6 -6
- package/dist/component/{blockDiagram-VBNYF7ZC-B7Di5R1s.js → blockDiagram-VBNYF7ZC-BK04msnb.js} +8 -8
- package/dist/component/{c4Diagram-5PPSVZJV-ClDtA2m4.js → c4Diagram-5PPSVZJV-BMDcb-rm.js} +4 -4
- package/dist/component/{channel-C6_lLEWW.js → channel-Da7DEnT8.js} +2 -2
- package/dist/component/{chunk-2GRJ4B5K-B07moQal.js → chunk-2GRJ4B5K-CxwwCtK7.js} +2 -2
- package/dist/component/{chunk-3NCLNEKW-TUF1Wrf6.js → chunk-3NCLNEKW-C6R8qHlR.js} +2 -2
- package/dist/component/{chunk-4I5QYGJK-qY-_sgVE.js → chunk-4I5QYGJK-Ccf8L2Bk.js} +2 -2
- package/dist/component/{chunk-5RXB4S5H-BU0H_zl3.js → chunk-5RXB4S5H-V2z-LyAY.js} +6 -6
- package/dist/component/{chunk-6Q2QTUOP-nIHNEMhm.js → chunk-6Q2QTUOP-C6GL9-4r.js} +3 -3
- package/dist/component/{chunk-7Z6QIM7H-D7mHGFzt.js → chunk-7Z6QIM7H-BV6R4sWE.js} +8 -8
- package/dist/component/{chunk-GF5L2VYU-uM1RliIa.js → chunk-GF5L2VYU-DAD1p6ak.js} +6 -6
- package/dist/component/{chunk-I66GZJ75-oDyTlx3R.js → chunk-I66GZJ75-DEykrnbu.js} +2 -2
- package/dist/component/{chunk-J7OUQ5F2-c7iD4Gpa.js → chunk-J7OUQ5F2-CEWcOukY.js} +7 -7
- package/dist/component/{chunk-JQJVKLGR-JeqFPv2A.js → chunk-JQJVKLGR-DCAX80x3.js} +8 -8
- package/dist/component/{chunk-KBJHAD2P-DjQd-FIs.js → chunk-KBJHAD2P-Bk8hJC_U.js} +2 -2
- package/dist/component/{chunk-NSK5VX7P-Bq0sOWgd.js → chunk-NSK5VX7P-D-saWvpt.js} +2 -2
- package/dist/component/{chunk-QR6OTTB3-DctDLVWm.js → chunk-QR6OTTB3-CMv_Vw9A.js} +7 -7
- package/dist/component/{chunk-UBXNYLIW-Ka1R3omP.js → chunk-UBXNYLIW-BfXPFCA1.js} +3 -3
- package/dist/component/{chunk-W5SLKNZC-CI_OqVnD.js → chunk-W5SLKNZC-BL-VPYuH.js} +2 -2
- package/dist/component/{chunk-WRU74C26-BMkh1mHN.js → chunk-WRU74C26-BXxIvhYq.js} +4 -4
- package/dist/component/{classDiagram-JCYQIIEL-C1E0BQye.js → classDiagram-JCYQIIEL-CRKRQjr4.js} +13 -13
- package/dist/component/{classDiagram-v2-OCEON4UE-hQKKIbDF.js → classDiagram-v2-OCEON4UE-ltwXlVlU.js} +13 -13
- package/dist/component/{component-B44aZ-1Z.js → component-BNq6d1iV.js} +21724 -19868
- package/dist/component/{cynefinDiagram-MW4NZA55-0yefvDKM.js → cynefinDiagram-MW4NZA55-Bju0bDR1.js} +4 -4
- package/dist/component/{dagre-VZM6K2ZE-CBlt7UUF.js → dagre-VZM6K2ZE-fMS2g5Lt.js} +9 -9
- package/dist/component/{diagram-7IWD3JNH-D0zEzayZ.js → diagram-7IWD3JNH-CoDJAyv-.js} +5 -5
- package/dist/component/{diagram-B4RE2ZJO-Dm2FX5kh.js → diagram-B4RE2ZJO-nioVFGn5.js} +3 -3
- package/dist/component/{diagram-LBJQPF4R-nQGWQGIp.js → diagram-LBJQPF4R-BuBX2Dz0.js} +4 -4
- package/dist/component/{diagram-Q27KOJAE-Co-Dq4kd.js → diagram-Q27KOJAE-D6amwUDE.js} +6 -6
- package/dist/component/{diagram-UB23O5K3-ClWS8vTp.js → diagram-UB23O5K3-BfBhBu7Y.js} +4 -4
- package/dist/component/{ebnfDiagram-BXEA7PRR-Cq6K_q0O.js → ebnfDiagram-BXEA7PRR-Cy3CaiTX.js} +4 -4
- package/dist/component/{erDiagram-JOGREHBK-DvPI-BqP.js → erDiagram-JOGREHBK-BUomkKWY.js} +12 -12
- package/dist/component/flowDiagram-UKHOOZJN-C0aiK5kF.js +19 -0
- package/dist/component/{ganttDiagram-PKOTCBZU-DXzfT7Q5.js → ganttDiagram-PKOTCBZU-BWWeGylo.js} +3 -3
- package/dist/component/{gitGraphDiagram-DS77QQ5N-CMKpJJJ_.js → gitGraphDiagram-DS77QQ5N-BFNi8KrJ.js} +3 -3
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-6WML65LV-Ck5rB_GF.js → infoDiagram-6WML65LV-Ba4nVdwJ.js} +3 -3
- package/dist/component/{ishikawaDiagram-WSZJBQD7-CHQxwGjK.js → ishikawaDiagram-WSZJBQD7-JBSR3acP.js} +4 -4
- package/dist/component/{journeyDiagram-NVQOT4AX-CnPVgyHk.js → journeyDiagram-NVQOT4AX-BAGUQhvd.js} +3 -3
- package/dist/component/{kanban-definition-27J2QSJJ-CC8oOHrI.js → kanban-definition-27J2QSJJ-CIBw8XVT.js} +9 -9
- package/dist/component/{line-AtEledwJ.js → line-BPXxX2mb.js} +2 -2
- package/dist/component/{mindmap-definition-FAOFIHXS-WWI6yyUJ.js → mindmap-definition-FAOFIHXS-ZwmeO9Ju.js} +11 -11
- package/dist/component/{pegDiagram-VL7TDLO6-D5NeC_IJ.js → pegDiagram-VL7TDLO6-g6cHkKXH.js} +4 -4
- package/dist/component/{pieDiagram-7S7Q4E2Y-M4MUAitH.js → pieDiagram-7S7Q4E2Y-6if4UZeA.js} +4 -4
- package/dist/component/{quadrantDiagram-CIZ2JOQS-viErJFsV.js → quadrantDiagram-CIZ2JOQS-DW9Wi1_3.js} +2 -2
- package/dist/component/{railroadDiagram-AXF67PYL-C8IhZ-59.js → railroadDiagram-AXF67PYL-DRKsvNWu.js} +4 -4
- package/dist/component/{requirementDiagram-LRYGKXZP-D1vdZzCs.js → requirementDiagram-LRYGKXZP-CKtakT6g.js} +11 -11
- package/dist/component/{sankeyDiagram-W5VNT64P-Bl52MqzW.js → sankeyDiagram-W5VNT64P-B-oejkos.js} +2 -2
- package/dist/component/{sequenceDiagram-SI44F4Z6-Cx-Aio7P.js → sequenceDiagram-SI44F4Z6-3RmdhrrK.js} +4 -4
- package/dist/component/{stateDiagram-OKZ733FA-CHqMp3xm.js → stateDiagram-OKZ733FA-ChwQeLFK.js} +14 -14
- package/dist/component/{stateDiagram-v2-UEYNNEHI-DqTLHDUB.js → stateDiagram-v2-UEYNNEHI-Cu0mGIbX.js} +13 -13
- package/dist/component/{swimlanes-SLNWSIFB-BkaXpBe5.js → swimlanes-SLNWSIFB-B1f2ZxW_.js} +9 -9
- package/dist/component/{swimlanesDiagram-ULZ7WXOC-DyMFUKdr.js → swimlanesDiagram-ULZ7WXOC-CspwK4RG.js} +13 -13
- package/dist/component/{timeline-definition-Z64GVDOM-Ba3A3s-L.js → timeline-definition-Z64GVDOM-Bg9gKcBJ.js} +4 -4
- package/dist/component/{vennDiagram-T6HMQDX7-4W_JJhIz.js → vennDiagram-T6HMQDX7-BS7jr5XD.js} +4 -4
- package/dist/component/{wardleyDiagram-T6FBY63Y-CllyyQYm.js → wardleyDiagram-T6FBY63Y-DVm3XZBO.js} +4 -4
- package/dist/component/{xychartDiagram-ELKLHX3M-DS3MPPul.js → xychartDiagram-ELKLHX3M-Cg8qYbc9.js} +7 -7
- package/dist/components/ai-elements/chat-link.d.ts +15 -0
- package/dist/components/connectors/ConnectorBrandLogo.d.ts +4 -0
- package/dist/components/embed/EmbedConversation.d.ts +4 -1
- package/dist/components/embed/EmbedSessions.d.ts +7 -0
- package/dist/components/embed/ProactiveChecksSetting.d.ts +2 -1
- package/dist/components/pinned/AgentComputerSheet.d.ts +5 -0
- package/dist/components/pinned/AgentMessageNote.d.ts +12 -0
- package/dist/components/pinned/PinnedChatHeader.d.ts +8 -2
- package/dist/components/pinned/SentByAgentTag.d.ts +1 -0
- package/dist/components/pinned/agent-computer-open-state.d.ts +9 -0
- package/dist/components/pinned/character/AgentCharacter.d.ts +8 -0
- package/dist/components/pinned/character/agent-character-art.d.ts +12 -0
- package/dist/components/pinned/personal-agent.d.ts +43 -0
- package/dist/components/pinned/profile/AgentProfileSheet.d.ts +14 -0
- package/dist/components/pinned/profile/ProfileAboutTab.d.ts +4 -0
- package/dist/components/pinned/profile/ProfileActivityTab.d.ts +9 -0
- package/dist/components/pinned/profile/ProfileSourcesTab.d.ts +8 -0
- package/dist/components/pinned/profile/profile-activity.d.ts +52 -0
- package/dist/components/scheduled/ScheduleFolderDialogs.d.ts +14 -0
- package/dist/components/scheduled/ScheduleFolderTree.d.ts +2 -1
- package/dist/components/scheduled/ScheduledListSurface.d.ts +7 -0
- package/dist/embed/pinned-chat.d.ts +19 -1
- package/dist/i18n/messages/en.d.ts +88 -1
- package/dist/i18n/messages/surfaces/embedMisc.d.ts +4 -0
- package/dist/i18n/messages/surfaces/pinned.d.ts +256 -4
- package/dist/i18n/messages/surfaces/scheduled.d.ts +76 -0
- package/dist/i18n/messages/surfaces/sessions.d.ts +4 -0
- package/dist/i18n/messages/surfaces/settings.d.ts +12 -0
- package/dist/routes/chat/session-api.d.ts +1 -1
- package/dist/routes/chat/use-next-step-suggestion.d.ts +4 -0
- package/dist/stream/belong-chat-transport.d.ts +13 -13
- package/dist/stream/message-metadata.d.ts +57 -0
- package/package.json +1 -1
- package/dist/component/flowDiagram-UKHOOZJN-2MBQiA4G.js +0 -19
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Settings → General: on/off for proactive checks (BEL-348). Renders nothing
|
|
3
3
|
* when the feature is not on for this user. It names the connected apps a check
|
|
4
4
|
* reads, so that's never a surprise. What a check finds shows up in the pinned
|
|
5
|
-
* chat and on Slack, not here
|
|
5
|
+
* chat and on Slack, not here, and by email for those who turn that on, which is
|
|
6
|
+
* offered only where email can reach them.
|
|
6
7
|
*/
|
|
7
8
|
export declare const ProactiveChecksSetting: () => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ProactiveTurnNote, ProactiveTurnSource } from '../../stream/message-metadata.ts';
|
|
2
|
+
type Caption = {
|
|
3
|
+
/** Null when there's no logo of ours for it. */
|
|
4
|
+
readonly iconKey: string | null;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly place: string | null;
|
|
7
|
+
};
|
|
8
|
+
export declare const captionOf: (origin: ProactiveTurnSource["origin"], scheduledTask: string) => Caption;
|
|
9
|
+
export declare function AgentMessageNote({ note }: {
|
|
10
|
+
readonly note: ProactiveTurnNote;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
2
|
import { Proactive } from '../../api/proactive.ts';
|
|
3
|
-
|
|
3
|
+
import { PersonalAgent } from './personal-agent.ts';
|
|
4
|
+
export declare const PinnedChatHeader: ({ proactive, name, agent, covered, onOpenProfile, onOpenComputer, layoutControl, }: {
|
|
4
5
|
readonly proactive: Proactive;
|
|
5
6
|
readonly name: string;
|
|
6
|
-
|
|
7
|
+
/** Sima or Bel, where the brand has one: their face replaces the status dot. */
|
|
8
|
+
readonly agent: PersonalAgent | null;
|
|
9
|
+
/** A sheet covers this header: it's out of reach until the sheet closes. */
|
|
10
|
+
readonly covered: boolean;
|
|
11
|
+
readonly onOpenProfile: () => void;
|
|
12
|
+
readonly onOpenComputer: () => void;
|
|
7
13
|
/** On a phone, where there's no rail: the logo, as every other header has it. */
|
|
8
14
|
readonly layoutControl?: ReactNode;
|
|
9
15
|
}) => ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function SentByAgentTag(): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which pinned chat's computer is open, for a reload of this tab to come back to it
|
|
3
|
+
* (CLAUDE.md §41). Per tab: another tab of the host shouldn't open onto a terminal.
|
|
4
|
+
* By chat, not just a yes: signing in as someone else in this tab mustn't open their
|
|
5
|
+
* computer, and wake it, without a click. Best-effort like dock-state.ts: no storage
|
|
6
|
+
* just means no restore.
|
|
7
|
+
*/
|
|
8
|
+
export declare const readAgentComputerOpen: () => string | null;
|
|
9
|
+
export declare const writeAgentComputerOpen: (sessionId: string | null) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { AgentCharacterId, AgentCharacterState } from './agent-character-art.ts';
|
|
3
|
+
export declare const AgentCharacter: ({ character, state, size, className, }: {
|
|
4
|
+
readonly character: AgentCharacterId;
|
|
5
|
+
readonly state: AgentCharacterState;
|
|
6
|
+
readonly size: number;
|
|
7
|
+
readonly className?: string;
|
|
8
|
+
}) => ReactElement;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The personal agent's character art: Sima (Simetrik) and Bel (Belong), one
|
|
3
|
+
* self-contained SVG per state. Each is drawn as an <img>, like the brand marks
|
|
4
|
+
* in brand-marks.ts, so its CSS animation (and its prefers-reduced-motion
|
|
5
|
+
* fallback) lives inside the image and never touches the host page's styles.
|
|
6
|
+
*
|
|
7
|
+
* Generated from the illustrators' and animators' files; edit those, not this.
|
|
8
|
+
*/
|
|
9
|
+
export type AgentCharacterId = "sima" | "bel";
|
|
10
|
+
export type AgentCharacterState = "idle" | "working" | "needs" | "paused";
|
|
11
|
+
/** The state as an image source, with its animation inside it. */
|
|
12
|
+
export declare const agentCharacterSrc: (who: AgentCharacterId, state: AgentCharacterState) => string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Proactive } from '../../api/proactive.ts';
|
|
2
|
+
import { AgentCharacterId, AgentCharacterState } from './character/agent-character-art.ts';
|
|
3
|
+
export type PersonalAgent = {
|
|
4
|
+
readonly character: AgentCharacterId;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Set by the chat route while the pinned chat is on screen, so the agent's
|
|
9
|
+
* messages there are signed by Sima or Bel; null everywhere else, where the
|
|
10
|
+
* regular chat keeps the brand's agent name.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PinnedAgentAuthorContext: import('react').Context<PersonalAgent | null>;
|
|
13
|
+
type TurnLike = {
|
|
14
|
+
readonly role: string;
|
|
15
|
+
readonly metadata?: {
|
|
16
|
+
readonly taskId?: string | undefined;
|
|
17
|
+
readonly proactive?: unknown;
|
|
18
|
+
} | undefined;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Whether the pinned chat's last turn is one the agent started, and its task once
|
|
22
|
+
* the cloud has said so. A check's own message is internal, so a turn that doesn't
|
|
23
|
+
* follow one of the user's isn't an answer to them, even before history is re-read.
|
|
24
|
+
*/
|
|
25
|
+
export declare const agentStartedLastTurn: (messages: readonly TurnLike[]) => {
|
|
26
|
+
readonly wroteLast: boolean;
|
|
27
|
+
readonly turnId: string | null;
|
|
28
|
+
};
|
|
29
|
+
export declare const personalAgentFor: (brandName: string) => PersonalAgent | null;
|
|
30
|
+
export declare const isPinnedWorking: (proactive: Proactive) => boolean;
|
|
31
|
+
export declare const personalAgentState: (proactive: Proactive) => AgentCharacterState;
|
|
32
|
+
/**
|
|
33
|
+
* For where it's already in front of them, in its header and its profile. The "needs
|
|
34
|
+
* you" mark is for the rail, to bring them here; here the chat says what it needs.
|
|
35
|
+
*/
|
|
36
|
+
export declare const calmAgentState: (proactive: Proactive) => AgentCharacterState;
|
|
37
|
+
/** A line saying what it's doing, for the header and the profile. */
|
|
38
|
+
export declare const usePinnedStatus: (proactive: Proactive) => string;
|
|
39
|
+
/** The personal agent for the brand on screen, or null for a tenant's own brand. */
|
|
40
|
+
export declare const usePersonalAgent: () => PersonalAgent | null;
|
|
41
|
+
/** What the pinned chat calls the agent: its own name, else the brand's agent name. */
|
|
42
|
+
export declare const usePinnedAgentName: () => string;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { Proactive } from '../../../api/proactive.ts';
|
|
3
|
+
import { PersonalAgent } from '../personal-agent.ts';
|
|
4
|
+
export declare const AgentProfileSheet: ({ proactive, name, brandName, agent, onClose, onClear, onOpenSession, onOpenScheduled, onConnect, }: {
|
|
5
|
+
readonly proactive: Proactive;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly brandName: string;
|
|
8
|
+
readonly agent: PersonalAgent | null;
|
|
9
|
+
readonly onClose: () => void;
|
|
10
|
+
readonly onClear: () => void;
|
|
11
|
+
readonly onOpenSession: (sessionId: string) => void;
|
|
12
|
+
readonly onOpenScheduled: () => void;
|
|
13
|
+
readonly onConnect: (() => void) | null;
|
|
14
|
+
}) => ReactElement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { Proactive } from '../../../api/proactive.ts';
|
|
3
|
+
export declare const ProfileActivityTab: ({ proactive, name, onBackToChat, onOpenSession, onOpenScheduled, }: {
|
|
4
|
+
readonly proactive: Proactive;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly onBackToChat: () => void;
|
|
7
|
+
readonly onOpenSession: (sessionId: string) => void;
|
|
8
|
+
readonly onOpenScheduled: () => void;
|
|
9
|
+
}) => ReactElement;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { Proactive } from '../../../api/proactive.ts';
|
|
3
|
+
export declare const ProfileSourcesTab: ({ proactive, name, onConnect, }: {
|
|
4
|
+
readonly proactive: Proactive;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/** Null where this dock has no Connectors view to send them to. */
|
|
7
|
+
readonly onConnect: (() => void) | null;
|
|
8
|
+
}) => ReactElement;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Proactive } from '../../../api/proactive.ts';
|
|
2
|
+
import { TaskScheduleListItem, TaskScheduleRun } from '../../../api/task-schedules.ts';
|
|
3
|
+
export type ActivityItem = {
|
|
4
|
+
readonly kind: "chat_waiting";
|
|
5
|
+
readonly unreadCount: number;
|
|
6
|
+
readonly lastMessage: string | null;
|
|
7
|
+
} | {
|
|
8
|
+
readonly kind: "run_waiting";
|
|
9
|
+
readonly taskScheduleId: string;
|
|
10
|
+
readonly title: string;
|
|
11
|
+
readonly sessionId: string | null;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: "check_running";
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "chat_running";
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "run_running";
|
|
18
|
+
readonly taskScheduleId: string;
|
|
19
|
+
readonly title: string;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "next_check";
|
|
22
|
+
readonly at: string;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: "run_next";
|
|
25
|
+
readonly taskScheduleId: string;
|
|
26
|
+
readonly title: string;
|
|
27
|
+
readonly at: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: "check_done";
|
|
30
|
+
readonly at: string;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: "run_done";
|
|
33
|
+
readonly taskScheduleId: string;
|
|
34
|
+
readonly title: string;
|
|
35
|
+
readonly at: string;
|
|
36
|
+
readonly outcome: "completed" | "not_finished";
|
|
37
|
+
};
|
|
38
|
+
export type ProfileActivity = {
|
|
39
|
+
readonly waiting: readonly ActivityItem[];
|
|
40
|
+
readonly inProgress: readonly ActivityItem[];
|
|
41
|
+
readonly comingUp: readonly ActivityItem[];
|
|
42
|
+
readonly doneToday: readonly ActivityItem[];
|
|
43
|
+
};
|
|
44
|
+
/** The schedules whose newest run says "running": it may really be waiting on the user. */
|
|
45
|
+
export declare const runningScheduleIds: (schedules: readonly TaskScheduleListItem[]) => readonly string[];
|
|
46
|
+
export declare const profileActivity: (input: {
|
|
47
|
+
readonly proactive: Proactive;
|
|
48
|
+
readonly schedules: readonly TaskScheduleListItem[];
|
|
49
|
+
/** What `runningScheduleIds` came back with. */
|
|
50
|
+
readonly latestRuns: ReadonlyMap<string, TaskScheduleRun>;
|
|
51
|
+
readonly now: Date;
|
|
52
|
+
}) => ProfileActivity;
|
|
@@ -36,6 +36,20 @@ export declare const DeleteFolderDialog: (props: {
|
|
|
36
36
|
readonly busy: boolean;
|
|
37
37
|
readonly onConfirm: () => void;
|
|
38
38
|
}) => import("react").JSX.Element;
|
|
39
|
+
/**
|
|
40
|
+
* #851 — confirm pausing every task in a folder and its subfolders. `count`
|
|
41
|
+
* is every task there, paused or finished ones included, so the copy says
|
|
42
|
+
* "tasks in this folder" and never promises how many will change. It stays
|
|
43
|
+
* open while the pause runs; `busy` disables confirming again.
|
|
44
|
+
*/
|
|
45
|
+
export declare const PauseFolderDialog: (props: {
|
|
46
|
+
readonly open: boolean;
|
|
47
|
+
readonly onOpenChange: (open: boolean) => void;
|
|
48
|
+
readonly folderName: string;
|
|
49
|
+
readonly count: number;
|
|
50
|
+
readonly busy: boolean;
|
|
51
|
+
readonly onConfirm: () => void;
|
|
52
|
+
}) => import("react").JSX.Element;
|
|
39
53
|
type MoveDialogProps = {
|
|
40
54
|
readonly open: boolean;
|
|
41
55
|
readonly onOpenChange: (open: boolean) => void;
|
|
@@ -5,7 +5,8 @@ type TreeRowProps = {
|
|
|
5
5
|
readonly expanded: ReadonlySet<string>;
|
|
6
6
|
readonly onToggle: (id: string) => void;
|
|
7
7
|
readonly renderTask: (item: TaskScheduleListItem) => ReactNode;
|
|
8
|
-
|
|
8
|
+
/** `undoIds`: tasks an Undo beside the notice resumes (a folder pause's). */
|
|
9
|
+
readonly onNotice: (notice: string, undoIds?: readonly string[]) => void;
|
|
9
10
|
};
|
|
10
11
|
export declare const ProjectRow: (props: TreeRowProps & {
|
|
11
12
|
readonly node: ProjectTreeNode;
|
|
@@ -8,4 +8,11 @@
|
|
|
8
8
|
* Delete in place. Internal UUIDs never appear in copy (they live only in the
|
|
9
9
|
* memory-router path).
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* #851 — how long a folder pause's Undo stays offered. The dock has no other
|
|
13
|
+
* Undo to match, so this is a short, fixed window: later, another editor may
|
|
14
|
+
* have paused one of those tasks again on purpose, and the server would
|
|
15
|
+
* resume it regardless. The notice's text stays; only the Undo goes.
|
|
16
|
+
*/
|
|
17
|
+
export declare const UNDO_WINDOW_MS = 30000;
|
|
11
18
|
export declare const ScheduledListSurface: () => import("react").JSX.Element;
|
|
@@ -13,6 +13,23 @@
|
|
|
13
13
|
export declare const peekPinnedChatSessionId: () => string | null;
|
|
14
14
|
export declare const setPinnedChatSessionId: (sessionId: string | null) => void;
|
|
15
15
|
export declare const usePinnedChatSessionId: () => string | null;
|
|
16
|
+
/**
|
|
17
|
+
* An email from the personal agent links back with `?belongView=pinned` (the
|
|
18
|
+
* cloud's `pinnedChatDeepLinkUrl`). Stripped once acted on, so a reload doesn't pull
|
|
19
|
+
* the user back to it, and any other query is the host's and stays untouched.
|
|
20
|
+
*/
|
|
21
|
+
export declare const consumePinnedChatLink: (location: {
|
|
22
|
+
readonly search: string;
|
|
23
|
+
readonly replaceSearch: (next: string) => void;
|
|
24
|
+
}) => boolean;
|
|
25
|
+
/** Whether this page was opened from that link, without acting on it. */
|
|
26
|
+
export declare const hasPinnedChatLink: (search: string) => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* How long that link waits for the host to name the Workspace. The link has none
|
|
29
|
+
* in it, and its arrival resets the dock to a new chat, but a host may never name
|
|
30
|
+
* one: the link only stays worth clicking if the chat opens anyway.
|
|
31
|
+
*/
|
|
32
|
+
export declare const PINNED_LINK_WORKSPACE_WAIT_MS = 10000;
|
|
16
33
|
type MessageLike = {
|
|
17
34
|
readonly role: string;
|
|
18
35
|
readonly parts: readonly {
|
|
@@ -25,7 +42,8 @@ type MessageLike = {
|
|
|
25
42
|
* says: "NO" can be the answer they asked for. The check's own message is internal,
|
|
26
43
|
* so a check's reply never follows one of theirs. A prefix ("NO", "NO_UP"…) counts
|
|
27
44
|
* 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).
|
|
45
|
+
* the live render the same as the reload (§41). It's the last thing it wrote that
|
|
46
|
+
* counts, since an agent narrates between tool calls.
|
|
29
47
|
*/
|
|
30
48
|
export declare const isQuietPinnedMessage: (message: MessageLike, context: {
|
|
31
49
|
readonly previousRole: string | undefined;
|
|
@@ -460,6 +460,9 @@ export declare const en: {
|
|
|
460
460
|
proactiveCheckNow: string;
|
|
461
461
|
proactiveChecking: string;
|
|
462
462
|
proactiveNothingNew: string;
|
|
463
|
+
proactiveEmailTitle: string;
|
|
464
|
+
proactiveEmailBody: string;
|
|
465
|
+
proactiveEmailSaveError: string;
|
|
463
466
|
profile: string;
|
|
464
467
|
languageDescription: string;
|
|
465
468
|
dockPosition: string;
|
|
@@ -490,6 +493,7 @@ export declare const en: {
|
|
|
490
493
|
readonly noMatchingChats: "No matching chats";
|
|
491
494
|
readonly newChat: "New chat";
|
|
492
495
|
readonly noChatsYet: "No chats yet";
|
|
496
|
+
readonly noOtherChatsYet: "No other chats yet";
|
|
493
497
|
readonly untitledChat: "Untitled chat";
|
|
494
498
|
readonly confirmDelete: "Confirm delete";
|
|
495
499
|
readonly cancelDelete: "Cancel delete";
|
|
@@ -758,6 +762,25 @@ export declare const en: {
|
|
|
758
762
|
readonly folderMovedTo: "Moved to “{{name}}”.";
|
|
759
763
|
readonly folderMovedOut: "Moved out of projects.";
|
|
760
764
|
readonly folderDeleted: "Folder deleted. Its contents moved up one level.";
|
|
765
|
+
readonly pauseAll: "Pause all";
|
|
766
|
+
readonly pauseAllTitle: "Pause all tasks in “{{name}}”?";
|
|
767
|
+
readonly pauseAllBody_one: "{{count}} task in this folder and its subfolders. Scheduled runs won't start until you resume it. A run already in progress, or one started with Run now, still goes ahead.";
|
|
768
|
+
readonly pauseAllBody_other: "{{count}} tasks in this folder and its subfolders. Scheduled runs won't start until you resume them. A run already in progress, or one started with Run now, still goes ahead.";
|
|
769
|
+
readonly pausedAll_one: "Paused {{count}} task";
|
|
770
|
+
readonly pausedAll_other: "Paused {{count}} tasks";
|
|
771
|
+
readonly pausedAllAlready_one: "{{count}} already paused";
|
|
772
|
+
readonly pausedAllAlready_other: "{{count}} already paused";
|
|
773
|
+
readonly pauseAllNothing: "Nothing to pause: these tasks are already paused or finished.";
|
|
774
|
+
readonly undo: "Undo";
|
|
775
|
+
readonly undoPauseLabel_one: "Undo pause of {{count}} task";
|
|
776
|
+
readonly undoPauseLabel_other: "Undo pause of {{count}} tasks";
|
|
777
|
+
readonly resumedAll_one: "Resumed {{count}} task";
|
|
778
|
+
readonly resumedAll_other: "Resumed {{count}} tasks";
|
|
779
|
+
readonly resumedAllAttention_one: "{{count}} needs attention and stays paused";
|
|
780
|
+
readonly resumedAllAttention_other: "{{count}} need attention and stay paused";
|
|
781
|
+
readonly undoIncomplete_one: "Resumed {{count}} of {{total}} tasks; the rest may still be paused";
|
|
782
|
+
readonly undoIncomplete_other: "Resumed {{count}} of {{total}} tasks; the rest may still be paused";
|
|
783
|
+
readonly undoFailed: "Couldn't confirm they resumed; they may still be paused.";
|
|
761
784
|
readonly projectRoleOwner: "Owner";
|
|
762
785
|
readonly projectRoleEdit: "Can edit";
|
|
763
786
|
readonly projectRoleView: "Can view";
|
|
@@ -880,15 +903,78 @@ export declare const en: {
|
|
|
880
903
|
readonly rowStatus: "Always on";
|
|
881
904
|
readonly rowStatusUnread: "Always on, {{count}} new";
|
|
882
905
|
readonly statusWorking: "Working on something";
|
|
906
|
+
readonly statusWaiting: "Waiting for your approval";
|
|
883
907
|
readonly statusWatching: "Watching {{apps}}";
|
|
884
908
|
readonly statusOn: "Always on";
|
|
885
909
|
readonly statusPaused: "Paused";
|
|
886
|
-
readonly openDetails: "What {{name}} is watching";
|
|
887
910
|
readonly composerPlaceholder: "Message {{name}}";
|
|
888
911
|
readonly emptyTitle: "This is your chat with {{name}}";
|
|
889
912
|
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
913
|
readonly clear: "Clear chat";
|
|
891
914
|
readonly clearHint: "Starts this chat over. What it remembers about you stays.";
|
|
915
|
+
readonly sentByAgent: "Sent by {{name}}";
|
|
916
|
+
readonly openProfile: "Open {{name}}'s profile";
|
|
917
|
+
readonly profileLabel: "{{name}}'s profile";
|
|
918
|
+
readonly profileBack: "Chat";
|
|
919
|
+
readonly profileSettings: "Checks and chat settings";
|
|
920
|
+
readonly openComputer: "Open {{name}}'s computer";
|
|
921
|
+
readonly computerButton: "Computer";
|
|
922
|
+
readonly profileSettingsShort: "Settings";
|
|
923
|
+
readonly starterTasks: "What did my scheduled tasks find lately?";
|
|
924
|
+
readonly starterWatch: "What can you keep an eye on for me?";
|
|
925
|
+
readonly starterOnItsOwn: "What do you do on your own?";
|
|
926
|
+
readonly computerTitle: "{{name}}'s computer";
|
|
927
|
+
readonly computerHint: "What you change here, {{name}} finds on its next step.";
|
|
928
|
+
readonly computerStarting: "Starting {{name}}'s computer…";
|
|
929
|
+
readonly computerRetrying: "Can't reach {{name}}'s computer right now. Trying again…";
|
|
930
|
+
readonly profileRole: "Your personal agent in {{brand}}";
|
|
931
|
+
readonly profilePause: "Pause";
|
|
932
|
+
readonly profileResume: "Resume";
|
|
933
|
+
readonly profilePausedHint: "{{name}} won't check anything or start work on its own until you resume. Your scheduled tasks keep running.";
|
|
934
|
+
readonly profileTabActivity: "Activity";
|
|
935
|
+
readonly profileTabSources: "Sources";
|
|
936
|
+
readonly profileTabAbout: "Permissions";
|
|
937
|
+
readonly profileOpen: "Open";
|
|
938
|
+
readonly activityWaiting: "Waiting on you";
|
|
939
|
+
readonly activityInProgress: "In progress";
|
|
940
|
+
readonly activityComingUp: "Coming up";
|
|
941
|
+
readonly activityDoneToday: "Done today";
|
|
942
|
+
readonly activityChatWaiting: "{{name}} needs you in the chat";
|
|
943
|
+
readonly activityInYourChat: "{{count}} new in your chat";
|
|
944
|
+
readonly activityRunWaiting: "Scheduled task, waiting for your answer";
|
|
945
|
+
readonly activityChecking: "Checking what's new";
|
|
946
|
+
readonly activityCheckingDetail: "It writes in your chat if something needs you";
|
|
947
|
+
readonly activityInChat: "In your chat";
|
|
948
|
+
readonly activityScheduledTask: "Scheduled task";
|
|
949
|
+
readonly activityNextCheck: "Next check";
|
|
950
|
+
readonly activityLastCheck: "Checked what's new";
|
|
951
|
+
readonly activityRunNotFinished: "{{time}} · didn't finish";
|
|
952
|
+
readonly activityEmpty: "Nothing going on right now.";
|
|
953
|
+
readonly activityUnavailable: "Can't read the scheduled tasks right now. Trying again…";
|
|
954
|
+
readonly activitySeeScheduled: "See all scheduled tasks";
|
|
955
|
+
readonly sourcesIntro: "Where {{name}} looks for things worth your time. It reads on its own, and only sends or posts after you say so.";
|
|
956
|
+
readonly sourceAlwaysOn: "Always on";
|
|
957
|
+
readonly sourceListening: "Listening";
|
|
958
|
+
readonly sourceConnect: "Connect";
|
|
959
|
+
readonly sourceNotConnected: "Not connected";
|
|
960
|
+
readonly sourceGmail: "Unread email sent to you, leaving out marketing and mailing lists";
|
|
961
|
+
readonly sourceSlack: "Direct messages, mentions and channel messages you haven't answered";
|
|
962
|
+
readonly sourceCalendar: "Invitations for the next 24 hours you haven't answered";
|
|
963
|
+
readonly sourceSimetrik: "Data that didn't arrive, failed runs and unusual patterns";
|
|
964
|
+
readonly sourceScheduledTasks: "Scheduled tasks";
|
|
965
|
+
readonly sourceScheduledTasksWhat: "Runs that failed or are waiting on you";
|
|
966
|
+
readonly aboutOnItsOwnTitle: "Does on its own";
|
|
967
|
+
readonly aboutOnItsOwn: "Reads your sources, posts what it finds here and works inside your workspace, then tells you how to undo it.";
|
|
968
|
+
readonly aboutAsksFirstTitle: "Asks you first";
|
|
969
|
+
readonly aboutAsksFirst: "Anything that reaches other people: a message, an email, an invitation, a shared link.\nChanging a scheduled task, adding a connector or using your browser.\nAnything that can't be undone: it proposes it and waits.";
|
|
970
|
+
readonly aboutAlwaysYoursTitle: "Payments and transfers";
|
|
971
|
+
readonly aboutAlwaysYours: "Moving money. {{name}} never pays or transfers anything on its own.";
|
|
972
|
+
readonly aboutWhenYouAsk: "These rules cover what {{name}} starts by itself. What you ask for in the chat follows the chat's mode.";
|
|
973
|
+
readonly tagNeedsYou: "Needs you";
|
|
974
|
+
readonly tagHeadsUp: "Heads-up";
|
|
975
|
+
readonly tagDoneOnMyOwn: "Done on my own";
|
|
976
|
+
readonly sourceScheduledTask: "Scheduled task";
|
|
977
|
+
readonly sourceMore: "+{{count}} more";
|
|
892
978
|
};
|
|
893
979
|
readonly navigation: {
|
|
894
980
|
minimizeAgent: string;
|
|
@@ -1114,6 +1200,7 @@ export declare const en: {
|
|
|
1114
1200
|
readonly devOverrideActive: "Dev override active — click to change";
|
|
1115
1201
|
readonly callLightModelActive: "Calls are stepped down to the light voice model — click for the best voice";
|
|
1116
1202
|
readonly agentWorking: "{{name}} is working…";
|
|
1203
|
+
readonly agentWaiting: "Waiting for your answer";
|
|
1117
1204
|
readonly waitingForReportAction: "Waiting for a report action to finish…";
|
|
1118
1205
|
};
|
|
1119
1206
|
readonly connectors: {
|
|
@@ -63,6 +63,7 @@ export declare const embedMiscEn: {
|
|
|
63
63
|
readonly devOverrideActive: "Dev override active — click to change";
|
|
64
64
|
readonly callLightModelActive: "Calls are stepped down to the light voice model — click for the best voice";
|
|
65
65
|
readonly agentWorking: "{{name}} is working…";
|
|
66
|
+
readonly agentWaiting: "Waiting for your answer";
|
|
66
67
|
readonly waitingForReportAction: "Waiting for a report action to finish…";
|
|
67
68
|
};
|
|
68
69
|
};
|
|
@@ -129,6 +130,7 @@ export declare const embedMiscEs: {
|
|
|
129
130
|
devOverrideActive: string;
|
|
130
131
|
callLightModelActive: string;
|
|
131
132
|
agentWorking: string;
|
|
133
|
+
agentWaiting: string;
|
|
132
134
|
waitingForReportAction: string;
|
|
133
135
|
};
|
|
134
136
|
};
|
|
@@ -195,6 +197,7 @@ export declare const embedMiscPt: {
|
|
|
195
197
|
devOverrideActive: string;
|
|
196
198
|
callLightModelActive: string;
|
|
197
199
|
agentWorking: string;
|
|
200
|
+
agentWaiting: string;
|
|
198
201
|
waitingForReportAction: string;
|
|
199
202
|
};
|
|
200
203
|
};
|
|
@@ -261,6 +264,7 @@ export declare const embedMiscIt: {
|
|
|
261
264
|
devOverrideActive: string;
|
|
262
265
|
callLightModelActive: string;
|
|
263
266
|
agentWorking: string;
|
|
267
|
+
agentWaiting: string;
|
|
264
268
|
waitingForReportAction: string;
|
|
265
269
|
};
|
|
266
270
|
};
|