@invergent/agent-chat-react 2.16.7 → 2.17.0

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/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { Streamdown } from 'streamdown';
7
7
 
8
8
  type AgentChatRole = "user" | "assistant" | "system";
9
9
  type AgentChatMessageStatus = "complete" | "streaming" | "error";
10
- type AgentChatSystemKind = "skill_invoked" | "artifact" | "error" | "browser_marker" | "browser_marker_warning";
10
+ type AgentChatSystemKind = "skill_invoked" | "artifact" | "error" | "browser_marker" | "browser_marker_warning" | "worker" | "thread_proposal";
11
11
  interface AgentChatImageAttachment {
12
12
  /** data: URL (data:image/png;base64,...) or raw base64 string */
13
13
  data: string;
@@ -91,6 +91,106 @@ interface AgentChatMessage {
91
91
  scheduledSessionId?: string;
92
92
  runCompletedAt?: string;
93
93
  };
94
+ /** Set on a "worker" system message: the card of a worker the session started. */
95
+ worker?: AgentChatWorker;
96
+ /** Set on a "thread_proposal" system message: threads proposed for the user to start. */
97
+ proposal?: AgentChatThreadProposal;
98
+ }
99
+ /**
100
+ * A worker the session started, as the session's own events tell it: a
101
+ * project's thread, or a coordinator's worker.
102
+ */
103
+ interface AgentChatWorker {
104
+ id: string;
105
+ /** A project's thread has a title; any other worker is named by its goal. */
106
+ title: string | null;
107
+ goal: string;
108
+ /** "working" until its first report, then how its latest report ended. */
109
+ state: "working" | "reported" | "failed";
110
+ /** Its latest report's text, or the error it failed with. */
111
+ report: string | null;
112
+ /** The files its latest report named. */
113
+ files: AgentChatTurnArtifactRef[];
114
+ }
115
+ /** Threads a project's master proposed, for the user to start from their cards. */
116
+ interface AgentChatThreadProposal {
117
+ proposalId: string;
118
+ threads: {
119
+ key: string;
120
+ title: string;
121
+ goal: string;
122
+ where: "cloud" | "device";
123
+ }[];
124
+ /** The thread started from each card, by its key. */
125
+ started: Record<string, string>;
126
+ }
127
+ /**
128
+ * A project's thread as the Overview reads it (`ThreadRow`,
129
+ * `web/src/lib/projects-contract.d.ts`): the fields its card shows live.
130
+ */
131
+ interface AgentChatThreadRow {
132
+ id: string;
133
+ title: string;
134
+ /** null: a group the adapter does not know, as a later server may send. The card says nothing of a group it does not know. */
135
+ group: "waiting" | "working" | "idle" | "resolved" | null;
136
+ reason: "question" | "approval" | "failed" | "computer" | "files" | null;
137
+ statusLine: string | null;
138
+ progress: {
139
+ done: number;
140
+ total: number;
141
+ } | null;
142
+ /** Each file's state in the project's files, from the thread's landings: null for an artifact. */
143
+ files: {
144
+ kind: "file" | "artifact";
145
+ label: string;
146
+ ref: string;
147
+ landing?: "landed" | "redoing" | "not_merged" | "undone" | null;
148
+ }[];
149
+ /** How many more files the thread changed or named than `files` lists. Another adapter's rows carry none. */
150
+ moreFiles?: number;
151
+ /** The thread's newest landing with a file still as it landed: what its card's Undo undoes. Another adapter's rows carry none. */
152
+ landingId?: string | null;
153
+ /**
154
+ * What its computer set aside of a thread's work there, out of its copy, and what of that it no longer keeps: each
155
+ * copy or repository kept whole, and each place of its folder's (its earlier history), by what it is and when (UTC),
156
+ * and the snapshots counted. None for a thread in the cloud.
157
+ */
158
+ setAside?: {
159
+ kept: {
160
+ kind: "copy" | "repository" | "place";
161
+ at: string;
162
+ }[];
163
+ snapshots: number;
164
+ gone: {
165
+ kind: "copy" | "repository" | "place";
166
+ at: string;
167
+ }[];
168
+ } | null;
169
+ }
170
+ /** Who changed a project's file (`ChangedBy`, `web/src/lib/projects-contract.d.ts`). */
171
+ type AgentChatChangedBy = {
172
+ kind: "you";
173
+ } | {
174
+ kind: "thread";
175
+ threadId: string;
176
+ title: string;
177
+ } | {
178
+ kind: "routine";
179
+ name: string;
180
+ };
181
+ /**
182
+ * What an Undo of a project's changes did (`UndoResult`): the files it put back; each it left as it
183
+ * was, with who changed it since (null: no one the adapter has a name for), or that its version from
184
+ * before is no longer kept (pruned); and each whose edit it recorded first.
185
+ */
186
+ interface AgentChatUndoResult {
187
+ applied: string[];
188
+ skipped: {
189
+ path: string;
190
+ by: AgentChatChangedBy | null;
191
+ pruned?: boolean;
192
+ }[];
193
+ pickedUp?: string[];
94
194
  }
95
195
  interface AgentChatIterationSummary {
96
196
  iterationIndex: number;
@@ -190,6 +290,8 @@ interface AgentChatSessionTreeNode {
190
290
  model?: string | null;
191
291
  messageCount?: number;
192
292
  toolCallCount?: number;
293
+ /** A chat on a folder of the user's computer: that computer's name. Null in the cloud. */
294
+ computer?: string | null;
193
295
  createdAt: string;
194
296
  updatedAt: string;
195
297
  }
@@ -404,20 +506,39 @@ interface AgentChatInboxStreamEvent {
404
506
  data: string;
405
507
  lastEventId?: string;
406
508
  }
509
+ /**
510
+ * A project's stream (GET /v1/workstreams/{id}/stream): ``ready`` once
511
+ * subscribed, then a ``change`` whose data is ``{"thread_id", "type"}``,
512
+ * naming the thread whose row changed, or null for a project-wide change.
513
+ */
514
+ interface AgentChatProjectStream {
515
+ addEventListener(type: "ready" | "change", listener: (event: AgentChatInboxStreamEvent) => void): void;
516
+ close(): void;
517
+ onerror: (() => void) | null;
518
+ }
407
519
  interface AgentChatInboxEventStream {
408
520
  addEventListener(type: "item" | "snapshot", listener: (event: AgentChatInboxStreamEvent) => void): void;
409
521
  close(): void;
410
522
  onerror: (() => void) | null;
411
523
  }
412
- type AgentChatEventType = "user.message" | "llm.request" | "llm.response" | "llm.thinking" | "llm.delta" | "tool.call" | "tool.result" | "session.start" | "session.pause" | "session.resume" | "session.complete" | "session.fail" | "session.done" | "harness.wake" | "harness.crash" | "context.compact" | "skill.invoked" | "policy.denied" | "stream.timeout" | "expert.delegation" | "expert.result" | "expert.failure" | "expert.endorse" | "expert.override" | "code.run_started" | "code.run_progress" | "code.run_result" | "user.feedback" | "artifact.created" | "artifact.updated" | "browser.provisioned" | "browser.destroyed" | "browser.control_granted" | "browser.control_returned" | "ask_user_question.response" | "iteration.summary" | "turn.summary" | "loop.result";
524
+ type AgentChatEventType = "user.message" | "coordinator.message" | "llm.request" | "llm.response" | "llm.thinking" | "llm.delta" | "tool.call" | "tool.result" | "session.start" | "session.pause" | "session.resume" | "session.complete" | "session.fail" | "session.done" | "harness.wake" | "harness.crash" | "context.compact" | "skill.invoked" | "policy.denied" | "stream.timeout" | "expert.delegation" | "expert.result" | "expert.failure" | "expert.endorse" | "expert.override" | "code.run_started" | "code.run_progress" | "code.run_result" | "user.feedback" | "artifact.created" | "artifact.updated" | "browser.provisioned" | "browser.destroyed" | "browser.unavailable" | "browser.control_granted" | "browser.control_returned" | "ask_user_question.response" | "iteration.summary" | "turn.summary" | "loop.result" | "device.waiting" | "device.resumed" | "worker.spawned" | "worker.complete" | "worker.failed" | "thread.proposed";
413
525
  interface AgentChatRuntimeEvent {
414
526
  type: AgentChatEventType;
415
527
  eventId: number;
416
528
  data: Record<string, unknown>;
417
529
  }
418
530
  interface AgentChatBrowserState {
419
- status: "provisioning" | "live" | "user-control" | "closed";
531
+ status: "provisioning" | "live" | "user-control" | "closed" | "unavailable";
420
532
  controlOwner: string | null;
533
+ /** On the user's computer, in a local-folder chat: no live view, and no lease to take here. */
534
+ computer?: boolean;
535
+ }
536
+ /** A local-folder session's computer is away while its work waits on it. */
537
+ interface AgentChatDeviceWaitState {
538
+ deviceId: string;
539
+ deviceName: string;
540
+ reason: string;
541
+ folder: string;
421
542
  }
422
543
  interface AgentChatBrowserProfile {
423
544
  id: string;
@@ -432,9 +553,10 @@ interface AgentChatBrowserPreviewSnapshot {
432
553
  capturedAt?: string;
433
554
  }
434
555
  interface AgentChatBrowserStateResponse {
435
- status: "live" | "user-control";
556
+ status: "live" | "user-control" | "unavailable";
436
557
  controlOwner: string | null;
437
558
  liveViewPath: string;
559
+ computer?: boolean;
438
560
  }
439
561
  interface AgentChatBrowserControlResponse {
440
562
  outcome: "granted" | "refreshed" | "conflict";
@@ -464,10 +586,20 @@ interface AgentChatState {
464
586
  stopped: boolean;
465
587
  workspaceRefreshKey: number;
466
588
  browser: AgentChatBrowserState | null;
589
+ /**
590
+ * The sessions with a tab open in the browser on the user's computer: the
591
+ * chat's own, and its sub-agents', whose browser events the server writes to
592
+ * their root chat's log too. The chat's browser is there while one is left.
593
+ * Empty for a chat in the cloud, whose browser is one.
594
+ */
595
+ browserTabs: string[];
467
596
  viewMode: AgentChatViewMode;
468
597
  /** Sources collected from successful research_memory(add) tool
469
598
  * results. Deduped by sourceId on insertion. */
470
599
  researchSources: AgentChatResearchSource[];
600
+ /** The session is waiting for a local-folder computer to come online.
601
+ * Null when no local operation awaits a device. */
602
+ deviceWait: AgentChatDeviceWaitState | null;
471
603
  }
472
604
  /**
473
605
  * How the conversation is shown.
@@ -801,6 +933,43 @@ interface AgentChatAdapter {
801
933
  itemId: number;
802
934
  }): Promise<AgentChatInboxItem>;
803
935
  openInboxStream?(): AgentChatInboxEventStream;
936
+ /** A project's threads (GET /v1/workstreams/{projectId}/threads), or only *threadId*'s: none when it left. */
937
+ listProjectThreads?(input: {
938
+ projectId: string;
939
+ threadId?: string;
940
+ }): Promise<AgentChatThreadRow[]>;
941
+ /** The project's stream. It opens itself again after a failure; its ``onerror`` means the project is gone. */
942
+ openProjectStream?(input: {
943
+ projectId: string;
944
+ }): AgentChatProjectStream;
945
+ /**
946
+ * Undo a project thread's landing, or all its changes, from its card, as a landing by the user
947
+ * (POST /v1/workstreams/{projectId}/history/undo).
948
+ */
949
+ undoProjectChanges?(input: {
950
+ projectId: string;
951
+ target: {
952
+ landingId: string;
953
+ } | {
954
+ threadId: string;
955
+ };
956
+ }): Promise<AgentChatUndoResult>;
957
+ /** Start a thread a project's master proposed, from its card (POST /v1/workstreams/{projectId}/threads). */
958
+ startProposedThread?(input: {
959
+ projectId: string;
960
+ proposalId: string;
961
+ key: string;
962
+ }): Promise<AgentChatThreadRow>;
963
+ /**
964
+ * Start a thread the master proposed for the user's computer, in Surogate Desktop only: in a
965
+ * folder its user confirms in the desktop's own sheet, which names the project and *title*.
966
+ */
967
+ startLocalThread?(input: {
968
+ projectId: string;
969
+ proposalId: string;
970
+ key: string;
971
+ title: string;
972
+ }): Promise<AgentChatThreadRow>;
804
973
  getArtifact(input: {
805
974
  sessionId: string;
806
975
  artifactId: string;
@@ -831,21 +1000,37 @@ interface AgentChatAdapter {
831
1000
  eventType?: string;
832
1001
  }>;
833
1002
  listSlashCommands?(): Promise<AgentChatSlashCommand[]>;
1003
+ /**
1004
+ * A local-folder chat's tree, while its computer is offline, may wait for it: *onWaiting* is told
1005
+ * what to say meanwhile, as "Waiting for <computer>", and *signal* stops waiting for it. A host
1006
+ * that does not wait answers as before.
1007
+ */
834
1008
  getWorkspaceTree(input: {
835
1009
  sessionId: string;
1010
+ signal?: AbortSignal;
1011
+ onWaiting?: (said: string) => void;
836
1012
  }): Promise<AgentChatWorkspaceTree>;
837
1013
  getWorkspaceFile(input: {
838
1014
  sessionId: string;
839
1015
  path: string;
840
1016
  }): Promise<AgentChatWorkspaceFile>;
1017
+ /**
1018
+ * A local-folder chat's change may wait for its user on the computer its
1019
+ * folder is on; *signal* stops waiting for it, and *onWaiting* is told what to
1020
+ * say meanwhile, as "Waiting for you to allow this on <computer>".
1021
+ */
841
1022
  uploadWorkspaceFile(input: {
842
1023
  sessionId: string;
843
1024
  file: File;
844
1025
  directory?: string;
1026
+ signal?: AbortSignal;
1027
+ onWaiting?: (said: string) => void;
845
1028
  }): Promise<AgentChatWorkspaceUpload>;
846
1029
  deleteWorkspaceFile(input: {
847
1030
  sessionId: string;
848
1031
  path: string;
1032
+ signal?: AbortSignal;
1033
+ onWaiting?: (said: string) => void;
849
1034
  }): Promise<void>;
850
1035
  /**
851
1036
  * Build a same-origin URL the browser can navigate to (or anchor at via
@@ -964,6 +1149,14 @@ type WorkspaceTree = AgentChatWorkspaceTree;
964
1149
  type WorkspaceFile = AgentChatWorkspaceFile;
965
1150
  type WorkspaceUpload = AgentChatWorkspaceUpload;
966
1151
 
1152
+ /** What the host is told of a browser on the user's computer, to draw its pane. */
1153
+ interface ComputerBrowser {
1154
+ /** False where that computer has no supported browser. */
1155
+ available: boolean;
1156
+ /** A chat the host only reads: its browser is not taken over or handed back from here. */
1157
+ readOnly: boolean;
1158
+ }
1159
+
967
1160
  interface ChatComposerError {
968
1161
  /**
969
1162
  * Stable error code so callers can route different rejections (e.g.
@@ -982,6 +1175,11 @@ interface AgentChatProps {
982
1175
  onSessionChange?: (sessionId: string) => void;
983
1176
  onFileSelect?: (path: string) => void;
984
1177
  onMessagesChange?: (messages: AgentChatMessage[]) => void;
1178
+ /**
1179
+ * The host only reads this chat. Nothing in it writes: the composer and the file panel's
1180
+ * changes are off, and so are Stop, Retry, answers to the agent's questions, an expert's
1181
+ * rating, and the browser's card, its control and its close.
1182
+ */
985
1183
  disabled?: boolean;
986
1184
  /**
987
1185
  * Called when the composer rejects a file selection before sending —
@@ -1051,8 +1249,36 @@ interface AgentChatProps {
1051
1249
  * billing route.
1052
1250
  */
1053
1251
  onOpenBilling?: () => void;
1252
+ /**
1253
+ * What the host says under the composer: where a new chat will work, as a
1254
+ * folder of the user's computer. Omitted, nothing is shown there.
1255
+ */
1256
+ composerFooter?: React.ReactNode;
1257
+ /**
1258
+ * A message the host has a new chat send as its first, as if its user had typed and sent it:
1259
+ * Surogate Desktop's quick entry hands one. Sent once per id, while the chat has no session and
1260
+ * is not disabled; it goes through the adapter's createSession as any first message does.
1261
+ */
1262
+ firstMessage?: {
1263
+ id: string;
1264
+ text: string;
1265
+ } | null;
1266
+ /**
1267
+ * Told what became of the host's first message, by its id, once: null once it was sent, or why it
1268
+ * was not, as when a chat was already open, or the chat went before it could send it. The callback
1269
+ * the host passes by then is the one told.
1270
+ */
1271
+ onFirstMessageSent?: (id: string, error: string | null) => void;
1272
+ /**
1273
+ * The browser pane of a chat whose browser is on the user's computer, as the
1274
+ * host draws it: where it is, and what the host can do with it there.
1275
+ * *available* is false where that computer has no supported browser, and
1276
+ * *readOnly* is true in a chat the host only reads. Omitted, the pane says
1277
+ * where the browser is.
1278
+ */
1279
+ computerBrowser?: (browser: ComputerBrowser) => React.ReactNode;
1054
1280
  }
1055
- declare function AgentChat({ adapter, agentId, sessionId, onSessionChange, onFileSelect, onMessagesChange, disabled, onComposerError, browserProfileId, onSelectBrowserProfile, browserProfilesEnabled, deepResearchEnabled, researchEnabled, codeAgentsEnabled, whiteboardEnabled, loopsEnabled, missionsEnabled, goalsEnabled, compressEnabled, onOpenIntegrations, onOpenBilling, }: AgentChatProps): react_jsx_runtime.JSX.Element;
1281
+ declare function AgentChat({ adapter, agentId, sessionId, onSessionChange, onFileSelect, onMessagesChange, disabled, onComposerError, browserProfileId, onSelectBrowserProfile, browserProfilesEnabled, deepResearchEnabled, researchEnabled, codeAgentsEnabled, whiteboardEnabled, loopsEnabled, missionsEnabled, goalsEnabled, compressEnabled, onOpenIntegrations, onOpenBilling, composerFooter, firstMessage, onFirstMessageSent, computerBrowser, }: AgentChatProps): react_jsx_runtime.JSX.Element;
1056
1282
 
1057
1283
  type WbTool = "pen" | "eraser" | "text" | "slot" | "select" | "pan";
1058
1284
 
@@ -1205,6 +1431,14 @@ interface AgentChatAdapterContextValue {
1205
1431
  /** Navigate to the host's billing page. Wired by the host through
1206
1432
  * ``AgentChat``; consumed by the insufficient-credits card. */
1207
1433
  onOpenBilling?: () => void;
1434
+ /** Open another session in the centre: a card's View thread. */
1435
+ onOpenSession?: (sessionId: string) => void;
1436
+ /** The project whose master this conversation is, or null: its proposal cards start threads. */
1437
+ projectId?: string | null;
1438
+ /** That project's threads, live, by id: what their cards show. */
1439
+ threadRows?: Record<string, AgentChatThreadRow>;
1440
+ /** A chat the host only reads (AgentChat's ``disabled``): nothing in it answers the agent's questions. */
1441
+ readOnly?: boolean;
1208
1442
  }
1209
1443
  declare const AgentChatAdapterProvider: react.Provider<AgentChatAdapterContextValue | null>;
1210
1444
  declare function useAgentChatAdapterContext(): AgentChatAdapterContextValue;
@@ -1232,6 +1466,9 @@ interface UseAgentChatRuntimeInput {
1232
1466
  }
1233
1467
  declare function useAgentChatRuntime({ adapter, agentId, sessionId, onSessionChange, }: UseAgentChatRuntimeInput): AgentChatRuntimeApi;
1234
1468
 
1469
+ /** Every chat's entry gone, as the account signs out, and as a test starts. */
1470
+ declare function forgetChatFiles(): void;
1471
+
1235
1472
  interface FetchSseEventStreamOptions {
1236
1473
  /** Fetch implementation — pass the app's authenticated fetch wrapper. */
1237
1474
  fetchFn?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
@@ -1675,4 +1912,10 @@ interface SessionTreePanelProps {
1675
1912
  }
1676
1913
  declare function SessionTreePanel({ adapter, sessionId, activeSessionId, agentId, title, sessionListLimit, hideRoot, hideHeader, loadList, onSessionSelect, onSessionDelete, }: SessionTreePanelProps): react_jsx_runtime.JSX.Element | null;
1677
1914
 
1678
- export { ACTIVE_MISSION_STATUSES, AgentChat, type AgentChatAdapter, type AgentChatAdapterContextValue, AgentChatAdapterProvider, type AgentChatArtifactKind, type AgentChatArtifactMeta, type AgentChatArtifactPayload, type AgentChatAskUserQuestionAnswer, type AgentChatAskUserQuestionArgs, type AgentChatAskUserQuestionChoice, type AgentChatAskUserQuestionQuestion, type AgentChatAttachment, type AgentChatBrowserProfile, type AgentChatChartArtifactSpec, type AgentChatDisplayAttachment, type AgentChatErrorCategory, type AgentChatErrorInfo, type AgentChatEventStream, type AgentChatEventType, type AgentChatEventsPage, type AgentChatExpertFeedbackRating, type AgentChatHtmlArtifactSpec, type AgentChatIdeaNode, type AgentChatImageAttachment, type AgentChatInboxEventStream, type AgentChatInboxItem, type AgentChatInboxKind, type AgentChatInboxList, type AgentChatInboxListInput, type AgentChatInboxStatus, type AgentChatInboxStreamEvent, type AgentChatMarkdownArtifactSpec, type AgentChatMessage, type AgentChatMessageStatus, type AgentChatMissionEvent, type AgentChatMissionEventSession, type AgentChatMissionEventsPage, type AgentChatMissionList, type AgentChatMissionResearch, type AgentChatMissionStatus, type AgentChatMissionSummary, type AgentChatMissionTask, type AgentChatMissionWorker, type AgentChatPendingAttachment, type AgentChatPolledEvent, type AgentChatProps, type AgentChatResearchRun, type AgentChatResearchSource, type AgentChatRole, type AgentChatRuntimeApi, type AgentChatRuntimeEvent, type AgentChatScheduledWorkItem, type AgentChatScheduledWorkKind, type AgentChatScheduledWorkList, type AgentChatSession, type AgentChatSessionList, type AgentChatSessionTree, type AgentChatSessionTreeNode, type AgentChatSlashCommand, type AgentChatSseMessageEvent, type AgentChatState, type AgentChatSvgArtifactSpec, type AgentChatSystemKind, type AgentChatTableArtifactSpec, type AgentChatTokenUsage, type AgentChatToolCallInfo, type AgentChatWorkspaceEntry, type AgentChatWorkspaceFile, type AgentChatWorkspaceTree, type AgentChatWorkspaceUpload, AgentWhiteboard, type AgentWhiteboardProps, type ArtifactKind, type ArtifactPayload, type AskUserQuestionAnswer, type AskUserQuestionArgs, type AskUserQuestionChoice, type AskUserQuestionQuestion, type BorderBeamSize, BrandBeam, type BrandBeamProps, BrowserShell, type ChartArtifactSpec, type ChatComposerError, type ChatMessage, type CitationSegment, CitationText, type CodingAgentConnection, CodingAgentsPanel, type CodingAgentsPanelProps, ComposioConnectCard, type ComposioConnectCardProps, type ErrorInfo, FetchSseEventStream, type FetchSseEventStreamOptions, type HtmlArtifactSpec, type InboxItem, type InboxList, InboxPanel, type InboxPanelProps, type InboxUnreadCountState, IntegrationsBand, type IntegrationsBandProps, IntegrationsPage, type IntegrationsPageProps, MISSION_EVENT_CATEGORIES, type MarkdownArtifactSpec, MessageResponse, type MessageResponseProps, MissionDashboard, type MissionDashboardProps, type MissionEventCategory, type MissionEventsFeed, type MissionTaskBucket, type MissionTaskRailGroup, type MissionTaskRailGroupKey, MissionsPanel, type MissionsPanelProps, ORB_STATE_LABELS, type OrbActivity, type OrbDerivationOptions, OrbShimmerLabel, type OrbShimmerLabelProps, ResearchSourcesPanel, type RetryIndicator, SIMPLE_MODE_HIDDEN_TOOLS, SIMPLE_MODE_ORB_OPTIONS, type ScheduledWorkItem, type ScheduledWorkList, ScheduledWorkPanel, type ScheduledWorkPanelProps, type SessionTree, type SessionTreeNode, SessionTreePanel, type SessionTreePanelProps, type SvgArtifactSpec, type TableArtifactSpec, type TokenUsage, type ToolCallInfo, type WbDoc, type WbObject, type WbTool, WhiteboardSurface, type WhiteboardSurfaceProps, type WorkspaceEntry, type WorkspaceFile, type WorkspaceTree, type WorkspaceUpload, defaultSelectedMissionTaskId, deriveMissionWorkerActivityLabel, deriveOrbActivity, formatMissionTimestamp, groupMissionTasksByBucket, isHiddenSimpleTool, isTerminalMissionStatus, mergeMissionEvents, messageOrbState, missionEventActorLabel, missionEventCategory, missionEventSummary, missionEventTaskId, missionTaskBlocks, missionTaskBucket, missionTaskRailGroups, missionTaskStatusDotClass, missionTaskTitle, missionWorkerTaskCounts, persistChatViewMode, splitCitations, stripMissionControlMarkup, toolOrbState, useAgentChatAdapterContext, useAgentChatRuntime, useBrowserControl, useChatViewMode, useInboxUnreadCount, useMissionEvents };
1915
+ /**
1916
+ * The computer a chat on a folder of the user's computer works on, by the name the server
1917
+ * stamped when the chat was made; null for a chat in the cloud.
1918
+ */
1919
+ declare function sessionComputer(config: Record<string, unknown> | undefined): string | null;
1920
+
1921
+ export { ACTIVE_MISSION_STATUSES, AgentChat, type AgentChatAdapter, type AgentChatAdapterContextValue, AgentChatAdapterProvider, type AgentChatArtifactKind, type AgentChatArtifactMeta, type AgentChatArtifactPayload, type AgentChatAskUserQuestionAnswer, type AgentChatAskUserQuestionArgs, type AgentChatAskUserQuestionChoice, type AgentChatAskUserQuestionQuestion, type AgentChatAttachment, type AgentChatBrowserProfile, type AgentChatChartArtifactSpec, type AgentChatDeviceWaitState, type AgentChatDisplayAttachment, type AgentChatErrorCategory, type AgentChatErrorInfo, type AgentChatEventStream, type AgentChatEventType, type AgentChatEventsPage, type AgentChatExpertFeedbackRating, type AgentChatHtmlArtifactSpec, type AgentChatIdeaNode, type AgentChatImageAttachment, type AgentChatInboxEventStream, type AgentChatInboxItem, type AgentChatInboxKind, type AgentChatInboxList, type AgentChatInboxListInput, type AgentChatInboxStatus, type AgentChatInboxStreamEvent, type AgentChatMarkdownArtifactSpec, type AgentChatMessage, type AgentChatMessageStatus, type AgentChatMissionEvent, type AgentChatMissionEventSession, type AgentChatMissionEventsPage, type AgentChatMissionList, type AgentChatMissionResearch, type AgentChatMissionStatus, type AgentChatMissionSummary, type AgentChatMissionTask, type AgentChatMissionWorker, type AgentChatPendingAttachment, type AgentChatPolledEvent, type AgentChatProjectStream, type AgentChatProps, type AgentChatResearchRun, type AgentChatResearchSource, type AgentChatRole, type AgentChatRuntimeApi, type AgentChatRuntimeEvent, type AgentChatScheduledWorkItem, type AgentChatScheduledWorkKind, type AgentChatScheduledWorkList, type AgentChatSession, type AgentChatSessionList, type AgentChatSessionTree, type AgentChatSessionTreeNode, type AgentChatSlashCommand, type AgentChatSseMessageEvent, type AgentChatState, type AgentChatSvgArtifactSpec, type AgentChatSystemKind, type AgentChatTableArtifactSpec, type AgentChatThreadProposal, type AgentChatThreadRow, type AgentChatTokenUsage, type AgentChatToolCallInfo, type AgentChatWorker, type AgentChatWorkspaceEntry, type AgentChatWorkspaceFile, type AgentChatWorkspaceTree, type AgentChatWorkspaceUpload, AgentWhiteboard, type AgentWhiteboardProps, type ArtifactKind, type ArtifactPayload, type AskUserQuestionAnswer, type AskUserQuestionArgs, type AskUserQuestionChoice, type AskUserQuestionQuestion, type BorderBeamSize, BrandBeam, type BrandBeamProps, BrowserShell, type ChartArtifactSpec, type ChatComposerError, type ChatMessage, type CitationSegment, CitationText, type CodingAgentConnection, CodingAgentsPanel, type CodingAgentsPanelProps, ComposioConnectCard, type ComposioConnectCardProps, type ErrorInfo, FetchSseEventStream, type FetchSseEventStreamOptions, type HtmlArtifactSpec, type InboxItem, type InboxList, InboxPanel, type InboxPanelProps, type InboxUnreadCountState, IntegrationsBand, type IntegrationsBandProps, IntegrationsPage, type IntegrationsPageProps, MISSION_EVENT_CATEGORIES, type MarkdownArtifactSpec, MessageResponse, type MessageResponseProps, MissionDashboard, type MissionDashboardProps, type MissionEventCategory, type MissionEventsFeed, type MissionTaskBucket, type MissionTaskRailGroup, type MissionTaskRailGroupKey, MissionsPanel, type MissionsPanelProps, ORB_STATE_LABELS, type OrbActivity, type OrbDerivationOptions, OrbShimmerLabel, type OrbShimmerLabelProps, ResearchSourcesPanel, type RetryIndicator, SIMPLE_MODE_HIDDEN_TOOLS, SIMPLE_MODE_ORB_OPTIONS, type ScheduledWorkItem, type ScheduledWorkList, ScheduledWorkPanel, type ScheduledWorkPanelProps, type SessionTree, type SessionTreeNode, SessionTreePanel, type SessionTreePanelProps, type SvgArtifactSpec, type TableArtifactSpec, type TokenUsage, type ToolCallInfo, type WbDoc, type WbObject, type WbTool, WhiteboardSurface, type WhiteboardSurfaceProps, type WorkspaceEntry, type WorkspaceFile, type WorkspaceTree, type WorkspaceUpload, defaultSelectedMissionTaskId, deriveMissionWorkerActivityLabel, deriveOrbActivity, forgetChatFiles, formatMissionTimestamp, groupMissionTasksByBucket, isHiddenSimpleTool, isTerminalMissionStatus, mergeMissionEvents, messageOrbState, missionEventActorLabel, missionEventCategory, missionEventSummary, missionEventTaskId, missionTaskBlocks, missionTaskBucket, missionTaskRailGroups, missionTaskStatusDotClass, missionTaskTitle, missionWorkerTaskCounts, persistChatViewMode, sessionComputer, splitCitations, stripMissionControlMarkup, toolOrbState, useAgentChatAdapterContext, useAgentChatRuntime, useBrowserControl, useChatViewMode, useInboxUnreadCount, useMissionEvents };