@meshagent/meshagent-agents 0.43.3 → 0.44.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.44.1]
2
+ - Stability
3
+
4
+ ## [0.44.0]
5
+ - TypeScript agent clients now support thread watch/unwatch, multiple thread storages, and richer start-thread payloads, including tool-choice metadata.
6
+ - Chat sessions now preserve event timestamps, reset replay state correctly, and handle more agent message types such as tool-call progress, secret requests, model changes, interrupts, and usage updates.
7
+ - Tailwind chat UI now tracks thread status, reasoning traces, shell output, file attachments, and improved file preview behavior for streamed agent content.
8
+
9
+ ## [0.43.4]
10
+ - TypeScript agent messages and events now carry `created_at`, parse it on input, and preserve it when streamed deltas are merged.
11
+ - Messaging chat clients now accept thread lifecycle events without a participant ID and carry room message timestamps into session events for more accurate live synchronization.
12
+ - Live chat test coverage expanded for thread creation, acknowledgements, steer/interrupt flows, and client tool request handling.
13
+ - The workspace app template was rebranded from the meeting app naming and its deploy tag was updated accordingly.
14
+
1
15
  ## [0.43.3]
2
16
  - Stability
3
17
 
@@ -19,6 +19,8 @@ export declare const agentParticipantDisconnectType = "meshagent.agent.participa
19
19
  export declare const agentThreadDeleteType = "meshagent.agent.thread.delete";
20
20
  export declare const agentThreadRenameType = "meshagent.agent.thread.rename";
21
21
  export declare const agentThreadListType = "meshagent.agent.thread.list";
22
+ export declare const agentThreadWatchType = "meshagent.agent.thread.watch";
23
+ export declare const agentThreadUnwatchType = "meshagent.agent.thread.unwatch";
22
24
  export declare const agentThreadListedType = "meshagent.agent.thread.listed";
23
25
  export declare const agentThreadCreatedType = "meshagent.agent.thread.created";
24
26
  export declare const agentThreadUpdatedType = "meshagent.agent.thread.updated";
@@ -239,7 +241,8 @@ export declare abstract class AgentMessage {
239
241
  readonly type: string;
240
242
  readonly messageId: string;
241
243
  readonly senderName?: string;
242
- protected constructor({ type, messageId, message_id, senderName, sender_name }: JsonMap);
244
+ readonly createdAt: string;
245
+ protected constructor({ type, messageId, message_id, senderName, sender_name, createdAt, created_at }: JsonMap);
243
246
  toJson(): JsonMap;
244
247
  static fromJson(json: JsonMap): AgentMessage;
245
248
  }
@@ -272,6 +275,8 @@ export declare const ParticipantDisconnect: MessageCtor;
272
275
  export declare const DeleteThread: MessageCtor;
273
276
  export declare const RenameThread: MessageCtor;
274
277
  export declare const ListThreads: MessageCtor;
278
+ export declare const WatchThreads: MessageCtor;
279
+ export declare const UnwatchThreads: MessageCtor;
275
280
  export declare const ThreadsListed: MessageCtor;
276
281
  export declare const ThreadCreated: MessageCtor;
277
282
  export declare const ThreadUpdated: MessageCtor;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.agentToolCallStartedType = exports.agentToolCallInProgressType = exports.agentToolCallPendingType = exports.agentFileContentEndedType = exports.agentFileContentDeltaType = exports.agentFileContentStartedType = exports.agentTextContentEndedType = exports.agentTextContentDeltaType = exports.agentTextContentStartedType = exports.agentReasoningContentEndedType = exports.agentReasoningContentDeltaType = exports.agentReasoningContentStartedType = exports.agentTurnEndedType = exports.agentTurnStartedType = exports.agentTurnSteerRejectedType = exports.agentTurnSteeredType = exports.agentTurnSteerAcceptedType = exports.agentTurnInterruptedType = exports.agentTurnInterruptAcceptedType = exports.agentTurnStartRejectedType = exports.agentTurnStartAcceptedType = exports.agentThreadClearedType = exports.agentModelChangedType = exports.agentModelChangeType = exports.agentModelsResponseType = exports.agentModelsRequestType = exports.agentCapabilitiesResponseType = exports.agentCapabilitiesRequestType = exports.agentThreadDeletedType = exports.agentThreadUpdatedType = exports.agentThreadCreatedType = exports.agentThreadListedType = exports.agentThreadListType = exports.agentThreadRenameType = exports.agentThreadDeleteType = exports.agentParticipantDisconnectType = exports.agentParticipantConnectType = exports.agentThreadCloseType = exports.agentThreadOpenType = exports.agentThreadStartRejectedType = exports.agentThreadLoadedType = exports.agentThreadStartedType = exports.agentThreadStartType = exports.agentRealtimeAudioCommitType = exports.agentRealtimeAudioChunkType = exports.agentThreadClearType = exports.agentTurnInterruptType = exports.agentTurnSteerType = exports.agentTurnStartType = exports.agentRoomMessageType = void 0;
4
- exports.StartThread = exports.AgentLLMMessage = exports.AgentThreadMessage = exports.AgentMessage = exports.AgentContextWindowUsage = exports.AgentGeneratedAudio = exports.AgentGeneratedImage = exports.AgentToolCallLogLine = exports.AgentRealtimeConnectionInfo = exports.AgentThreadListEntry = exports.AgentProviderInfo = exports.AgentModelInfo = exports.ToolkitCapabilities = exports.ToolkitToolCapabilities = exports.AgentError = exports.AgentAudioFormat = exports.TurnToolkitConfig = exports.ClientToolkitDescription = exports.TurnMcpConfig = exports.ToolChoice = exports.agentClientToolCallResponseType = exports.agentSecretResponseType = exports.agentToolRejectType = exports.agentToolApproveType = exports.agentUsageUpdatedType = exports.agentContextCompactedType = exports.agentAudioInputSpeechEndedType = exports.agentAudioInputSpeechStartedType = exports.agentAudioTranscriptionFailedType = exports.agentAudioTranscriptionCompletedType = exports.agentAudioTranscriptionDeltaType = exports.agentAudioTranscriptionStartedType = exports.agentAudioGenerationFailedType = exports.agentAudioGenerationCompletedType = exports.agentAudioGenerationDeltaType = exports.agentAudioGenerationStartedType = exports.agentImageGenerationFailedType = exports.agentImageGenerationCompletedType = exports.agentImageGenerationPartialType = exports.agentImageGenerationStartedType = exports.agentThreadEventType = exports.agentConnectionStatusType = exports.agentThreadStatusType = exports.agentSecretRequestedType = exports.agentClientToolCallCancelledType = exports.agentClientToolCallRequestedType = exports.agentToolCallApprovalRequestedType = exports.agentToolCallEndedType = exports.agentToolCallLogDeltaType = exports.agentToolCallArgumentsDeltaType = void 0;
5
- exports.AgentToolCallLogDelta = exports.AgentToolCallArgumentsDelta = exports.AgentToolCallStarted = exports.AgentToolCallInProgress = exports.AgentToolCallPending = exports.AgentFileContentEnded = exports.AgentFileContentDelta = exports.AgentFileContentStarted = exports.AgentTextContentEnded = exports.AgentTextContentDelta = exports.AgentTextContentStarted = exports.AgentReasoningContentEnded = exports.AgentReasoningContentDelta = exports.AgentReasoningContentStarted = exports.ThreadStartRejected = exports.ThreadLoaded = exports.ThreadStarted = exports.TurnEnded = exports.TurnStarted = exports.TurnSteerRejected = exports.TurnSteered = exports.TurnSteerAccepted = exports.TurnInterrupted = exports.TurnInterruptAccepted = exports.TurnStartRejected = exports.TurnStartAccepted = exports.ThreadCleared = exports.AgentModelChanged = exports.ChangeModel = exports.ModelsResponse = exports.ModelsRequest = exports.CapabilitiesResponse = exports.CapabilitiesRequest = exports.ThreadDeleted = exports.ThreadUpdated = exports.ThreadCreated = exports.ThreadsListed = exports.ListThreads = exports.RenameThread = exports.DeleteThread = exports.ParticipantDisconnect = exports.ParticipantConnect = exports.CloseThread = exports.OpenThread = exports.ClearThread = exports.AgentRealtimeAudioCommit = exports.AgentRealtimeAudioChunk = exports.TurnInterrupt = exports.TurnSteer = exports.TurnStart = void 0;
6
- exports.AgentClientToolCallResponse = exports.AgentSecretResponse = exports.RejectAgentToolCall = exports.ApproveAgentToolCall = exports.AgentUsageUpdated = exports.AgentContextCompacted = exports.AgentAudioInputSpeechEnded = exports.AgentAudioInputSpeechStarted = exports.AgentAudioTranscriptionFailed = exports.AgentAudioTranscriptionCompleted = exports.AgentAudioTranscriptionDelta = exports.AgentAudioTranscriptionStarted = exports.AgentAudioGenerationFailed = exports.AgentAudioGenerationCompleted = exports.AgentAudioGenerationDelta = exports.AgentAudioGenerationStarted = exports.AgentImageGenerationFailed = exports.AgentImageGenerationCompleted = exports.AgentImageGenerationPartial = exports.AgentImageGenerationStarted = exports.AgentThreadEvent = exports.AgentConnectionStatus = exports.AgentThreadStatus = exports.AgentClientToolCallCancelled = exports.AgentClientToolCallRequested = exports.AgentSecretRequested = exports.AgentToolCallApprovalRequested = exports.AgentToolCallEnded = void 0;
3
+ exports.agentToolCallPendingType = exports.agentFileContentEndedType = exports.agentFileContentDeltaType = exports.agentFileContentStartedType = exports.agentTextContentEndedType = exports.agentTextContentDeltaType = exports.agentTextContentStartedType = exports.agentReasoningContentEndedType = exports.agentReasoningContentDeltaType = exports.agentReasoningContentStartedType = exports.agentTurnEndedType = exports.agentTurnStartedType = exports.agentTurnSteerRejectedType = exports.agentTurnSteeredType = exports.agentTurnSteerAcceptedType = exports.agentTurnInterruptedType = exports.agentTurnInterruptAcceptedType = exports.agentTurnStartRejectedType = exports.agentTurnStartAcceptedType = exports.agentThreadClearedType = exports.agentModelChangedType = exports.agentModelChangeType = exports.agentModelsResponseType = exports.agentModelsRequestType = exports.agentCapabilitiesResponseType = exports.agentCapabilitiesRequestType = exports.agentThreadDeletedType = exports.agentThreadUpdatedType = exports.agentThreadCreatedType = exports.agentThreadListedType = exports.agentThreadUnwatchType = exports.agentThreadWatchType = exports.agentThreadListType = exports.agentThreadRenameType = exports.agentThreadDeleteType = exports.agentParticipantDisconnectType = exports.agentParticipantConnectType = exports.agentThreadCloseType = exports.agentThreadOpenType = exports.agentThreadStartRejectedType = exports.agentThreadLoadedType = exports.agentThreadStartedType = exports.agentThreadStartType = exports.agentRealtimeAudioCommitType = exports.agentRealtimeAudioChunkType = exports.agentThreadClearType = exports.agentTurnInterruptType = exports.agentTurnSteerType = exports.agentTurnStartType = exports.agentRoomMessageType = void 0;
4
+ exports.AgentThreadMessage = exports.AgentMessage = exports.AgentContextWindowUsage = exports.AgentGeneratedAudio = exports.AgentGeneratedImage = exports.AgentToolCallLogLine = exports.AgentRealtimeConnectionInfo = exports.AgentThreadListEntry = exports.AgentProviderInfo = exports.AgentModelInfo = exports.ToolkitCapabilities = exports.ToolkitToolCapabilities = exports.AgentError = exports.AgentAudioFormat = exports.TurnToolkitConfig = exports.ClientToolkitDescription = exports.TurnMcpConfig = exports.ToolChoice = exports.agentClientToolCallResponseType = exports.agentSecretResponseType = exports.agentToolRejectType = exports.agentToolApproveType = exports.agentUsageUpdatedType = exports.agentContextCompactedType = exports.agentAudioInputSpeechEndedType = exports.agentAudioInputSpeechStartedType = exports.agentAudioTranscriptionFailedType = exports.agentAudioTranscriptionCompletedType = exports.agentAudioTranscriptionDeltaType = exports.agentAudioTranscriptionStartedType = exports.agentAudioGenerationFailedType = exports.agentAudioGenerationCompletedType = exports.agentAudioGenerationDeltaType = exports.agentAudioGenerationStartedType = exports.agentImageGenerationFailedType = exports.agentImageGenerationCompletedType = exports.agentImageGenerationPartialType = exports.agentImageGenerationStartedType = exports.agentThreadEventType = exports.agentConnectionStatusType = exports.agentThreadStatusType = exports.agentSecretRequestedType = exports.agentClientToolCallCancelledType = exports.agentClientToolCallRequestedType = exports.agentToolCallApprovalRequestedType = exports.agentToolCallEndedType = exports.agentToolCallLogDeltaType = exports.agentToolCallArgumentsDeltaType = exports.agentToolCallStartedType = exports.agentToolCallInProgressType = void 0;
5
+ exports.AgentToolCallPending = exports.AgentFileContentEnded = exports.AgentFileContentDelta = exports.AgentFileContentStarted = exports.AgentTextContentEnded = exports.AgentTextContentDelta = exports.AgentTextContentStarted = exports.AgentReasoningContentEnded = exports.AgentReasoningContentDelta = exports.AgentReasoningContentStarted = exports.ThreadStartRejected = exports.ThreadLoaded = exports.ThreadStarted = exports.TurnEnded = exports.TurnStarted = exports.TurnSteerRejected = exports.TurnSteered = exports.TurnSteerAccepted = exports.TurnInterrupted = exports.TurnInterruptAccepted = exports.TurnStartRejected = exports.TurnStartAccepted = exports.ThreadCleared = exports.AgentModelChanged = exports.ChangeModel = exports.ModelsResponse = exports.ModelsRequest = exports.CapabilitiesResponse = exports.CapabilitiesRequest = exports.ThreadDeleted = exports.ThreadUpdated = exports.ThreadCreated = exports.ThreadsListed = exports.UnwatchThreads = exports.WatchThreads = exports.ListThreads = exports.RenameThread = exports.DeleteThread = exports.ParticipantDisconnect = exports.ParticipantConnect = exports.CloseThread = exports.OpenThread = exports.ClearThread = exports.AgentRealtimeAudioCommit = exports.AgentRealtimeAudioChunk = exports.TurnInterrupt = exports.TurnSteer = exports.TurnStart = exports.StartThread = exports.AgentLLMMessage = void 0;
6
+ exports.AgentClientToolCallResponse = exports.AgentSecretResponse = exports.RejectAgentToolCall = exports.ApproveAgentToolCall = exports.AgentUsageUpdated = exports.AgentContextCompacted = exports.AgentAudioInputSpeechEnded = exports.AgentAudioInputSpeechStarted = exports.AgentAudioTranscriptionFailed = exports.AgentAudioTranscriptionCompleted = exports.AgentAudioTranscriptionDelta = exports.AgentAudioTranscriptionStarted = exports.AgentAudioGenerationFailed = exports.AgentAudioGenerationCompleted = exports.AgentAudioGenerationDelta = exports.AgentAudioGenerationStarted = exports.AgentImageGenerationFailed = exports.AgentImageGenerationCompleted = exports.AgentImageGenerationPartial = exports.AgentImageGenerationStarted = exports.AgentThreadEvent = exports.AgentConnectionStatus = exports.AgentThreadStatus = exports.AgentClientToolCallCancelled = exports.AgentClientToolCallRequested = exports.AgentSecretRequested = exports.AgentToolCallApprovalRequested = exports.AgentToolCallEnded = exports.AgentToolCallLogDelta = exports.AgentToolCallArgumentsDelta = exports.AgentToolCallStarted = exports.AgentToolCallInProgress = void 0;
7
7
  exports.agentInputContent = agentInputContent;
8
8
  const meshagent_1 = require("@meshagent/meshagent");
9
9
  const uuid_1 = require("uuid");
@@ -25,6 +25,8 @@ exports.agentParticipantDisconnectType = "meshagent.agent.participant.disconnect
25
25
  exports.agentThreadDeleteType = "meshagent.agent.thread.delete";
26
26
  exports.agentThreadRenameType = "meshagent.agent.thread.rename";
27
27
  exports.agentThreadListType = "meshagent.agent.thread.list";
28
+ exports.agentThreadWatchType = "meshagent.agent.thread.watch";
29
+ exports.agentThreadUnwatchType = "meshagent.agent.thread.unwatch";
28
30
  exports.agentThreadListedType = "meshagent.agent.thread.listed";
29
31
  exports.agentThreadCreatedType = "meshagent.agent.thread.created";
30
32
  exports.agentThreadUpdatedType = "meshagent.agent.thread.updated";
@@ -654,16 +656,18 @@ function omitUndefined(value) {
654
656
  return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
655
657
  }
656
658
  class AgentMessage {
657
- constructor({ type, messageId, message_id, senderName, sender_name }) {
659
+ constructor({ type, messageId, message_id, senderName, sender_name, createdAt, created_at }) {
658
660
  this.type = String(type);
659
661
  const resolvedMessageId = stringOrNull(messageId ?? message_id)?.trim();
660
662
  this.messageId = resolvedMessageId == null || resolvedMessageId.length === 0 ? (0, uuid_1.v4)() : resolvedMessageId;
661
663
  this.senderName = stringOrNull(senderName ?? sender_name);
664
+ this.createdAt = stringOrNull(createdAt ?? created_at) ?? new Date().toISOString();
662
665
  }
663
666
  toJson() {
664
667
  return {
665
668
  type: this.type,
666
669
  message_id: this.messageId,
670
+ created_at: this.createdAt,
667
671
  ...(this.senderName != null ? { sender_name: this.senderName } : {}),
668
672
  };
669
673
  }
@@ -730,6 +734,7 @@ function makeMessageClass({ type, base = "message", fields = [], }) {
730
734
  const params = {
731
735
  messageId: stringOrNull(json.message_id),
732
736
  senderName: stringOrNull(json.sender_name),
737
+ createdAt: stringOrNull(json.created_at),
733
738
  };
734
739
  if (base !== "message") {
735
740
  params.threadId = requiredString(json, "thread_id");
@@ -940,6 +945,8 @@ exports.ParticipantDisconnect = makeMessageClass({ type: exports.agentParticipan
940
945
  exports.DeleteThread = makeMessageClass({ type: exports.agentThreadDeleteType, base: "thread" });
941
946
  exports.RenameThread = makeMessageClass({ type: exports.agentThreadRenameType, base: "thread", fields: [s("name", "name", true)] });
942
947
  exports.ListThreads = makeMessageClass({ type: exports.agentThreadListType, fields: [{ prop: "limit", json: "limit", from: (value) => intOrNull(value) ?? 200, default: () => 200, always: true }, { prop: "offset", json: "offset", from: (value) => intOrNull(value) ?? 0, default: () => 0, always: true }] });
948
+ exports.WatchThreads = makeMessageClass({ type: exports.agentThreadWatchType });
949
+ exports.UnwatchThreads = makeMessageClass({ type: exports.agentThreadUnwatchType });
943
950
  exports.ThreadsListed = makeMessageClass({ type: exports.agentThreadListedType, fields: [s("sourceMessageId", "source_message_id", true), objList("threads", "threads", AgentThreadListEntry.fromJson, true), i("total"), i("offset"), i("limit")] });
944
951
  exports.ThreadCreated = makeMessageClass({ type: exports.agentThreadCreatedType, fields: [obj("thread", "thread", AgentThreadListEntry.fromJson, true)] });
945
952
  exports.ThreadUpdated = makeMessageClass({ type: exports.agentThreadUpdatedType, fields: [obj("thread", "thread", AgentThreadListEntry.fromJson, true)] });
@@ -1,13 +1,15 @@
1
1
  import { RemoteParticipant } from "@meshagent/meshagent";
2
2
  import type { RoomClient, Content } from "@meshagent/meshagent";
3
- import { AgentMessage, AgentModelChanged, AgentThreadStatus, ModelsResponse, AgentConnectionStatus } from "./agent-messages.js";
3
+ import { AgentMessage, AgentModelChanged, AgentThreadStatus, ModelsResponse, ToolChoice, AgentConnectionStatus } from "./agent-messages.js";
4
4
  import type { AgentPayload, JsonMap, ClientToolkitDescription } from "./agent-messages.js";
5
5
  import { ChangeEmitter } from "./change-emitter.js";
6
6
  export declare class AgentMessageEvent {
7
7
  readonly message: AgentMessage;
8
+ readonly createdAt: Date;
8
9
  readonly attachment?: Uint8Array;
9
- constructor({ message, attachment }: {
10
+ constructor({ message, createdAt, attachment }: {
10
11
  message: AgentMessage;
12
+ createdAt?: Date;
11
13
  attachment?: Uint8Array;
12
14
  });
13
15
  get payload(): AgentPayload;
@@ -96,7 +98,7 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
96
98
  drainPendingEvents?: boolean;
97
99
  }): ChatThreadSession;
98
100
  private openSession;
99
- startThread({ messageId, message, attachments, name, backend, provider, model, voice, outputModalities, realtimeProtocol, senderName, clientToolkits, omitContent, }: {
101
+ startThread({ messageId, message, attachments, name, backend, provider, model, voice, outputModalities, realtimeProtocol, senderName, clientToolkits, toolChoice, omitContent, }: {
100
102
  messageId?: string;
101
103
  message: string;
102
104
  attachments: string[];
@@ -109,14 +111,17 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
109
111
  realtimeProtocol?: string;
110
112
  senderName?: string;
111
113
  clientToolkits?: ClientToolkitDescription[];
114
+ toolChoice?: ToolChoice;
112
115
  omitContent?: boolean;
113
116
  }): Promise<ChatThreadStartResult>;
117
+ private resolvedStartThreadMessage;
114
118
  abstract sendAgentMessage(message: AgentMessage, options?: {
115
119
  attachment?: Uint8Array;
116
120
  ignoreOffline?: boolean;
117
121
  }): Promise<void>;
118
122
  private drainPendingSessionEvents;
119
- handleAgentMessage(message: AgentMessage, { attachment }?: {
123
+ handleAgentMessage(message: AgentMessage, { createdAt, attachment }?: {
124
+ createdAt?: Date;
120
125
  attachment?: Uint8Array;
121
126
  }): void;
122
127
  emitConnectionStatus({ status, message, reason, retryDelay, }: {
@@ -132,6 +137,11 @@ export declare class MessagingChatClient extends BaseChatClient {
132
137
  readonly agentName?: string;
133
138
  private readonly pendingParticipantWaits;
134
139
  private started;
140
+ private agentParticipantId?;
141
+ private hasConnected;
142
+ private waitingForParticipant;
143
+ private roomAbortController?;
144
+ private messagingListenersAttached;
135
145
  constructor({ room, agentName }: {
136
146
  room: RoomClient;
137
147
  agentName?: string;
@@ -139,6 +149,8 @@ export declare class MessagingChatClient extends BaseChatClient {
139
149
  localParticipantName(): string | undefined;
140
150
  start(): Promise<void>;
141
151
  stop(): Promise<void>;
152
+ private attachMessagingListeners;
153
+ private detachMessagingListeners;
142
154
  agentParticipant(): RemoteParticipant | null;
143
155
  waitForAgentParticipant({ waitKey }?: {
144
156
  waitKey?: string;
@@ -148,6 +160,10 @@ export declare class MessagingChatClient extends BaseChatClient {
148
160
  ignoreOffline?: boolean;
149
161
  }): Promise<void>;
150
162
  private readonly onMessagingChanged;
163
+ private readonly onMessagingParticipantChanged;
164
+ private readonly onMessagingParticipantRemoved;
165
+ private startRoomStatusListener;
166
+ private reopenOpenSessions;
151
167
  private readonly onMessagingMessage;
152
168
  }
153
169
  export declare class ChatThreadSession extends ChangeEmitter {
@@ -186,6 +202,7 @@ export declare class ChatThreadSession extends ChangeEmitter {
186
202
  load?: boolean;
187
203
  sinceTurn?: string;
188
204
  }): Promise<void>;
205
+ private resetReplayState;
189
206
  close(): Promise<void>;
190
207
  requestModels({ ignoreOffline }?: {
191
208
  ignoreOffline?: boolean;
@@ -202,7 +219,7 @@ export declare class ChatThreadSession extends ChangeEmitter {
202
219
  requestId: string;
203
220
  response: Content;
204
221
  }): Promise<void>;
205
- sendText({ messageId, text, attachments, steer, turnId, backend, provider, model, voice, outputModalities, senderName, clientToolkits, }: {
222
+ sendText({ messageId, text, attachments, steer, turnId, backend, provider, model, voice, outputModalities, senderName, clientToolkits, toolChoice, }: {
206
223
  messageId?: string;
207
224
  text: string;
208
225
  attachments: string[];
@@ -215,6 +232,7 @@ export declare class ChatThreadSession extends ChangeEmitter {
215
232
  outputModalities?: string[];
216
233
  senderName?: string;
217
234
  clientToolkits?: ClientToolkitDescription[];
235
+ toolChoice?: ToolChoice;
218
236
  }): Promise<string>;
219
237
  sendRealtimeAudioChunk({ chunk, format }: {
220
238
  chunk: Uint8Array;