@meshagent/meshagent-agents 0.43.2 → 0.44.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/CHANGELOG.md +14 -0
- package/dist/browser/agent-messages.d.ts +7 -1
- package/dist/browser/agent-messages.js +23 -11
- package/dist/browser/chat-client.d.ts +42 -11
- package/dist/browser/chat-client.js +523 -92
- package/dist/browser/thread-storage.js +5 -2
- package/dist/esm/agent-messages.d.ts +7 -1
- package/dist/esm/agent-messages.js +19 -7
- package/dist/esm/chat-client.d.ts +42 -11
- package/dist/esm/chat-client.js +525 -94
- package/dist/esm/thread-storage.js +6 -3
- package/dist/node/agent-messages.d.ts +7 -1
- package/dist/node/agent-messages.js +23 -11
- package/dist/node/chat-client.d.ts +42 -11
- package/dist/node/chat-client.js +523 -92
- package/dist/node/thread-storage.js +5 -2
- package/package.json +2 -2
|
@@ -313,10 +313,12 @@ class AgentThreadStorageRepository extends ThreadStorageRepository {
|
|
|
313
313
|
this.handleEvent(next.value);
|
|
314
314
|
}
|
|
315
315
|
})();
|
|
316
|
-
|
|
316
|
+
const ready = new Promise((resolve) => {
|
|
317
317
|
this.pendingOpen = { resolve };
|
|
318
|
-
void this.requestList();
|
|
319
318
|
});
|
|
319
|
+
await this.chatClient.sendAgentMessage(new agent_messages_js_1.WatchThreads(), { ignoreOffline: true });
|
|
320
|
+
await this.requestList();
|
|
321
|
+
await ready;
|
|
320
322
|
}
|
|
321
323
|
async close() {
|
|
322
324
|
this.closed = true;
|
|
@@ -325,6 +327,7 @@ class AgentThreadStorageRepository extends ThreadStorageRepository {
|
|
|
325
327
|
this.pendingListMessageId = undefined;
|
|
326
328
|
this.pendingOpen?.resolve();
|
|
327
329
|
this.pendingOpen = undefined;
|
|
330
|
+
await this.chatClient.sendAgentMessage(new agent_messages_js_1.UnwatchThreads(), { ignoreOffline: true }).catch(() => undefined);
|
|
328
331
|
}
|
|
329
332
|
entries() {
|
|
330
333
|
return [...this.entriesByPath.values()];
|
|
@@ -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";
|
|
@@ -170,6 +172,7 @@ export declare class AgentProviderInfo {
|
|
|
170
172
|
readonly name: string;
|
|
171
173
|
readonly friendlyName: string;
|
|
172
174
|
readonly description?: string;
|
|
175
|
+
readonly backend?: string;
|
|
173
176
|
readonly defaultModel: string;
|
|
174
177
|
readonly models: AgentModelInfo[];
|
|
175
178
|
constructor(params: JsonMap);
|
|
@@ -238,7 +241,8 @@ export declare abstract class AgentMessage {
|
|
|
238
241
|
readonly type: string;
|
|
239
242
|
readonly messageId: string;
|
|
240
243
|
readonly senderName?: string;
|
|
241
|
-
|
|
244
|
+
readonly createdAt: string;
|
|
245
|
+
protected constructor({ type, messageId, message_id, senderName, sender_name, createdAt, created_at }: JsonMap);
|
|
242
246
|
toJson(): JsonMap;
|
|
243
247
|
static fromJson(json: JsonMap): AgentMessage;
|
|
244
248
|
}
|
|
@@ -271,6 +275,8 @@ export declare const ParticipantDisconnect: MessageCtor;
|
|
|
271
275
|
export declare const DeleteThread: MessageCtor;
|
|
272
276
|
export declare const RenameThread: MessageCtor;
|
|
273
277
|
export declare const ListThreads: MessageCtor;
|
|
278
|
+
export declare const WatchThreads: MessageCtor;
|
|
279
|
+
export declare const UnwatchThreads: MessageCtor;
|
|
274
280
|
export declare const ThreadsListed: MessageCtor;
|
|
275
281
|
export declare const ThreadCreated: MessageCtor;
|
|
276
282
|
export declare const ThreadUpdated: MessageCtor;
|
|
@@ -18,6 +18,8 @@ export const agentParticipantDisconnectType = "meshagent.agent.participant.disco
|
|
|
18
18
|
export const agentThreadDeleteType = "meshagent.agent.thread.delete";
|
|
19
19
|
export const agentThreadRenameType = "meshagent.agent.thread.rename";
|
|
20
20
|
export const agentThreadListType = "meshagent.agent.thread.list";
|
|
21
|
+
export const agentThreadWatchType = "meshagent.agent.thread.watch";
|
|
22
|
+
export const agentThreadUnwatchType = "meshagent.agent.thread.unwatch";
|
|
21
23
|
export const agentThreadListedType = "meshagent.agent.thread.listed";
|
|
22
24
|
export const agentThreadCreatedType = "meshagent.agent.thread.created";
|
|
23
25
|
export const agentThreadUpdatedType = "meshagent.agent.thread.updated";
|
|
@@ -476,6 +478,7 @@ export class AgentProviderInfo {
|
|
|
476
478
|
this.name = String(params.name);
|
|
477
479
|
this.friendlyName = String(params.friendlyName ?? params.friendly_name);
|
|
478
480
|
this.description = stringOrNull(params.description);
|
|
481
|
+
this.backend = stringOrNull(params.backend);
|
|
479
482
|
this.defaultModel = String(params.defaultModel ?? params.default_model);
|
|
480
483
|
this.models = Array.isArray(params.models) ? params.models.map((entry) => entry instanceof AgentModelInfo ? entry : AgentModelInfo.fromJson(requiredObjectValue(entry))) : [];
|
|
481
484
|
}
|
|
@@ -487,6 +490,7 @@ export class AgentProviderInfo {
|
|
|
487
490
|
name: this.name,
|
|
488
491
|
friendly_name: this.friendlyName,
|
|
489
492
|
...(this.description != null ? { description: this.description } : {}),
|
|
493
|
+
...(this.backend != null ? { backend: this.backend } : {}),
|
|
490
494
|
default_model: this.defaultModel,
|
|
491
495
|
models: this.models.map((entry) => entry.toJson()),
|
|
492
496
|
};
|
|
@@ -608,11 +612,12 @@ export class AgentContextWindowUsage {
|
|
|
608
612
|
this.compactionThreshold = intOrNull(params.compactionThreshold ?? params.compaction_threshold);
|
|
609
613
|
}
|
|
610
614
|
static fromJson(json) {
|
|
615
|
+
const usedTokens = intOrNull(json.used_tokens ?? json.usedTokens) ?? 0;
|
|
611
616
|
return new AgentContextWindowUsage({
|
|
612
|
-
usedTokens
|
|
613
|
-
totalTokens: intOrNull(json.total_tokens),
|
|
614
|
-
compactionMode: stringOrNull(json.compaction_mode),
|
|
615
|
-
compactionThreshold: intOrNull(json.compaction_threshold),
|
|
617
|
+
usedTokens,
|
|
618
|
+
totalTokens: intOrNull(json.total_tokens ?? json.totalTokens),
|
|
619
|
+
compactionMode: stringOrNull(json.compaction_mode ?? json.compactionMode),
|
|
620
|
+
compactionThreshold: intOrNull(json.compaction_threshold ?? json.compactionThreshold),
|
|
616
621
|
});
|
|
617
622
|
}
|
|
618
623
|
toJson() {
|
|
@@ -628,16 +633,18 @@ function omitUndefined(value) {
|
|
|
628
633
|
return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
|
|
629
634
|
}
|
|
630
635
|
export class AgentMessage {
|
|
631
|
-
constructor({ type, messageId, message_id, senderName, sender_name }) {
|
|
636
|
+
constructor({ type, messageId, message_id, senderName, sender_name, createdAt, created_at }) {
|
|
632
637
|
this.type = String(type);
|
|
633
638
|
const resolvedMessageId = stringOrNull(messageId ?? message_id)?.trim();
|
|
634
639
|
this.messageId = resolvedMessageId == null || resolvedMessageId.length === 0 ? uuidv4() : resolvedMessageId;
|
|
635
640
|
this.senderName = stringOrNull(senderName ?? sender_name);
|
|
641
|
+
this.createdAt = stringOrNull(createdAt ?? created_at) ?? new Date().toISOString();
|
|
636
642
|
}
|
|
637
643
|
toJson() {
|
|
638
644
|
return {
|
|
639
645
|
type: this.type,
|
|
640
646
|
message_id: this.messageId,
|
|
647
|
+
created_at: this.createdAt,
|
|
641
648
|
...(this.senderName != null ? { sender_name: this.senderName } : {}),
|
|
642
649
|
};
|
|
643
650
|
}
|
|
@@ -701,6 +708,7 @@ function makeMessageClass({ type, base = "message", fields = [], }) {
|
|
|
701
708
|
const params = {
|
|
702
709
|
messageId: stringOrNull(json.message_id),
|
|
703
710
|
senderName: stringOrNull(json.sender_name),
|
|
711
|
+
createdAt: stringOrNull(json.created_at),
|
|
704
712
|
};
|
|
705
713
|
if (base !== "message") {
|
|
706
714
|
params.threadId = requiredString(json, "thread_id");
|
|
@@ -852,6 +860,7 @@ const turnOptions = [
|
|
|
852
860
|
s("turnId"),
|
|
853
861
|
contentList("content"),
|
|
854
862
|
s("provider"),
|
|
863
|
+
s("backend"),
|
|
855
864
|
s("model"),
|
|
856
865
|
s("voice"),
|
|
857
866
|
sl("outputModalities"),
|
|
@@ -886,6 +895,7 @@ export const StartThread = makeMessageClass({
|
|
|
886
895
|
s("name"),
|
|
887
896
|
s("realtimeProtocol"),
|
|
888
897
|
s("provider"),
|
|
898
|
+
s("backend"),
|
|
889
899
|
s("model"),
|
|
890
900
|
s("voice"),
|
|
891
901
|
sl("outputModalities"),
|
|
@@ -909,6 +919,8 @@ export const ParticipantDisconnect = makeMessageClass({ type: agentParticipantDi
|
|
|
909
919
|
export const DeleteThread = makeMessageClass({ type: agentThreadDeleteType, base: "thread" });
|
|
910
920
|
export const RenameThread = makeMessageClass({ type: agentThreadRenameType, base: "thread", fields: [s("name", "name", true)] });
|
|
911
921
|
export const ListThreads = makeMessageClass({ type: 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 }] });
|
|
922
|
+
export const WatchThreads = makeMessageClass({ type: agentThreadWatchType });
|
|
923
|
+
export const UnwatchThreads = makeMessageClass({ type: agentThreadUnwatchType });
|
|
912
924
|
export const ThreadsListed = makeMessageClass({ type: agentThreadListedType, fields: [s("sourceMessageId", "source_message_id", true), objList("threads", "threads", AgentThreadListEntry.fromJson, true), i("total"), i("offset"), i("limit")] });
|
|
913
925
|
export const ThreadCreated = makeMessageClass({ type: agentThreadCreatedType, fields: [obj("thread", "thread", AgentThreadListEntry.fromJson, true)] });
|
|
914
926
|
export const ThreadUpdated = makeMessageClass({ type: agentThreadUpdatedType, fields: [obj("thread", "thread", AgentThreadListEntry.fromJson, true)] });
|
|
@@ -917,8 +929,8 @@ export const CapabilitiesRequest = makeMessageClass({ type: agentCapabilitiesReq
|
|
|
917
929
|
export const CapabilitiesResponse = makeMessageClass({ type: agentCapabilitiesResponseType, base: "thread", fields: [s("sourceMessageId", "source_message_id", true), s("version", "version", true), objList("toolkits", "toolkits", ToolkitCapabilities.fromJson, true)] });
|
|
918
930
|
export const ModelsRequest = makeMessageClass({ type: agentModelsRequestType });
|
|
919
931
|
export const ModelsResponse = makeMessageClass({ type: agentModelsResponseType, fields: [s("sourceMessageId", "source_message_id", true), objList("providers", "providers", AgentProviderInfo.fromJson, true)] });
|
|
920
|
-
export const ChangeModel = makeMessageClass({ type: agentModelChangeType, base: "thread", fields: [s("provider"), s("model"), s("voice")] });
|
|
921
|
-
export const AgentModelChanged = makeMessageClass({ type: agentModelChangedType, base: "thread", fields: [s("sourceMessageId"), s("provider", "provider", true), s("model", "model", true), s("voice"), audioFormat("inputFormat"), audioFormat("outputFormat"), s("turnDetection"), sl("outputModalities", "output_modalities", ["text"], true), sl("realtimeProtocols", "realtime_protocols", [], true)] });
|
|
932
|
+
export const ChangeModel = makeMessageClass({ type: agentModelChangeType, base: "thread", fields: [s("backend"), s("provider"), s("model"), s("voice")] });
|
|
933
|
+
export const AgentModelChanged = makeMessageClass({ type: agentModelChangedType, base: "thread", fields: [s("sourceMessageId"), s("backend"), s("provider", "provider", true), s("model", "model", true), s("voice"), audioFormat("inputFormat"), audioFormat("outputFormat"), s("turnDetection"), sl("outputModalities", "output_modalities", ["text"], true), sl("realtimeProtocols", "realtime_protocols", [], true), { prop: "supportsAttachments", json: "supports_attachments", from: (value) => value === true, default: () => false }, sl("accepts", "accepts", [], true)] });
|
|
922
934
|
export const ThreadCleared = makeMessageClass({ type: agentThreadClearedType, base: "thread", fields: [s("sourceMessageId", "source_message_id", true)] });
|
|
923
935
|
export const TurnStartAccepted = makeMessageClass({ type: agentTurnStartAcceptedType, base: "thread", fields: [s("turnId"), s("sourceMessageId", "source_message_id", true), contentList("content")] });
|
|
924
936
|
export const TurnStartRejected = makeMessageClass({ type: agentTurnStartRejectedType, base: "thread", fields: [s("sourceMessageId", "source_message_id", true), obj("error", "error", AgentError.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, 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;
|
|
@@ -78,6 +80,7 @@ export declare class ChatThreadStartResult {
|
|
|
78
80
|
export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
79
81
|
private readonly sessionsByPath;
|
|
80
82
|
private readonly pendingStartRequests;
|
|
83
|
+
private readonly pendingSessionEventsByPath;
|
|
81
84
|
private readonly eventQueue;
|
|
82
85
|
private _connectionStatus?;
|
|
83
86
|
get events(): AsyncIterable<AgentMessageEvent>;
|
|
@@ -88,16 +91,19 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
|
88
91
|
agentParticipant(): RemoteParticipant | null;
|
|
89
92
|
localParticipantName(): string | undefined;
|
|
90
93
|
protected cleanParticipantName(value: string | undefined): string | undefined;
|
|
91
|
-
openThread(threadPath: string, { load, sinceTurn, reloadIfOpen }?: {
|
|
94
|
+
openThread(threadPath: string, { load, sinceTurn, reloadIfOpen, drainPendingEvents, }?: {
|
|
92
95
|
load?: boolean;
|
|
93
96
|
sinceTurn?: string;
|
|
94
97
|
reloadIfOpen?: boolean;
|
|
98
|
+
drainPendingEvents?: boolean;
|
|
95
99
|
}): ChatThreadSession;
|
|
96
|
-
|
|
100
|
+
private openSession;
|
|
101
|
+
startThread({ messageId, message, attachments, name, backend, provider, model, voice, outputModalities, realtimeProtocol, senderName, clientToolkits, toolChoice, omitContent, }: {
|
|
97
102
|
messageId?: string;
|
|
98
103
|
message: string;
|
|
99
104
|
attachments: string[];
|
|
100
105
|
name?: string;
|
|
106
|
+
backend?: string;
|
|
101
107
|
provider?: string;
|
|
102
108
|
model?: string;
|
|
103
109
|
voice?: string;
|
|
@@ -105,13 +111,17 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
|
105
111
|
realtimeProtocol?: string;
|
|
106
112
|
senderName?: string;
|
|
107
113
|
clientToolkits?: ClientToolkitDescription[];
|
|
114
|
+
toolChoice?: ToolChoice;
|
|
108
115
|
omitContent?: boolean;
|
|
109
116
|
}): Promise<ChatThreadStartResult>;
|
|
117
|
+
private resolvedStartThreadMessage;
|
|
110
118
|
abstract sendAgentMessage(message: AgentMessage, options?: {
|
|
111
119
|
attachment?: Uint8Array;
|
|
112
120
|
ignoreOffline?: boolean;
|
|
113
121
|
}): Promise<void>;
|
|
114
|
-
|
|
122
|
+
private drainPendingSessionEvents;
|
|
123
|
+
handleAgentMessage(message: AgentMessage, { createdAt, attachment }?: {
|
|
124
|
+
createdAt?: Date;
|
|
115
125
|
attachment?: Uint8Array;
|
|
116
126
|
}): void;
|
|
117
127
|
emitConnectionStatus({ status, message, reason, retryDelay, }: {
|
|
@@ -126,9 +136,7 @@ export declare class MessagingChatClient extends BaseChatClient {
|
|
|
126
136
|
readonly room: RoomClient;
|
|
127
137
|
readonly agentName?: string;
|
|
128
138
|
private readonly pendingParticipantWaits;
|
|
129
|
-
private readonly roomAbortController;
|
|
130
139
|
private started;
|
|
131
|
-
private roomPump?;
|
|
132
140
|
constructor({ room, agentName }: {
|
|
133
141
|
room: RoomClient;
|
|
134
142
|
agentName?: string;
|
|
@@ -145,17 +153,24 @@ export declare class MessagingChatClient extends BaseChatClient {
|
|
|
145
153
|
ignoreOffline?: boolean;
|
|
146
154
|
}): Promise<void>;
|
|
147
155
|
private readonly onMessagingChanged;
|
|
148
|
-
private
|
|
149
|
-
private onRoomEvent;
|
|
156
|
+
private readonly onMessagingMessage;
|
|
150
157
|
}
|
|
151
158
|
export declare class ChatThreadSession extends ChangeEmitter {
|
|
152
159
|
private readonly client;
|
|
153
160
|
readonly threadPath: string;
|
|
154
161
|
private readonly _messages;
|
|
162
|
+
private readonly messageIndexes;
|
|
163
|
+
private readonly localAgentMessageIds;
|
|
164
|
+
private readonly pendingLocalInputMessageIds;
|
|
165
|
+
private readonly mergedDeltaMessageIds;
|
|
155
166
|
private readonly pendingInputsById;
|
|
156
167
|
private openState;
|
|
157
168
|
private loadStateValue;
|
|
158
169
|
private lastCompletedTurnIdValue?;
|
|
170
|
+
private activeTurnIdValue?;
|
|
171
|
+
private threadStatusValue?;
|
|
172
|
+
private currentModelValue?;
|
|
173
|
+
private modelsResponseValue?;
|
|
159
174
|
private lastAgentMessageType?;
|
|
160
175
|
private lastAgentMessageAt?;
|
|
161
176
|
constructor({ client, threadPath }: {
|
|
@@ -168,15 +183,21 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
168
183
|
get loadState(): ChatThreadSessionLoadState;
|
|
169
184
|
get isLoading(): boolean;
|
|
170
185
|
get lastCompletedTurnId(): string | undefined;
|
|
186
|
+
get activeTurnId(): string | undefined;
|
|
187
|
+
get threadStatus(): InstanceType<typeof AgentThreadStatus> | undefined;
|
|
188
|
+
get currentModel(): InstanceType<typeof AgentModelChanged> | undefined;
|
|
189
|
+
get modelsResponse(): InstanceType<typeof ModelsResponse> | undefined;
|
|
171
190
|
open({ load, sinceTurn }?: {
|
|
172
191
|
load?: boolean;
|
|
173
192
|
sinceTurn?: string;
|
|
174
193
|
}): Promise<void>;
|
|
194
|
+
private resetReplayState;
|
|
175
195
|
close(): Promise<void>;
|
|
176
196
|
requestModels({ ignoreOffline }?: {
|
|
177
197
|
ignoreOffline?: boolean;
|
|
178
198
|
}): Promise<void>;
|
|
179
|
-
changeModel({ provider, model, voice }: {
|
|
199
|
+
changeModel({ backend, provider, model, voice }: {
|
|
200
|
+
backend?: string;
|
|
180
201
|
provider: string;
|
|
181
202
|
model: string;
|
|
182
203
|
voice?: string;
|
|
@@ -187,18 +208,20 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
187
208
|
requestId: string;
|
|
188
209
|
response: Content;
|
|
189
210
|
}): Promise<void>;
|
|
190
|
-
sendText({ messageId, text, attachments, steer, turnId, provider, model, voice, outputModalities, senderName, clientToolkits, }: {
|
|
211
|
+
sendText({ messageId, text, attachments, steer, turnId, backend, provider, model, voice, outputModalities, senderName, clientToolkits, toolChoice, }: {
|
|
191
212
|
messageId?: string;
|
|
192
213
|
text: string;
|
|
193
214
|
attachments: string[];
|
|
194
215
|
steer?: boolean;
|
|
195
216
|
turnId?: string;
|
|
217
|
+
backend?: string;
|
|
196
218
|
provider?: string;
|
|
197
219
|
model?: string;
|
|
198
220
|
voice?: string;
|
|
199
221
|
outputModalities?: string[];
|
|
200
222
|
senderName?: string;
|
|
201
223
|
clientToolkits?: ClientToolkitDescription[];
|
|
224
|
+
toolChoice?: ToolChoice;
|
|
202
225
|
}): Promise<string>;
|
|
203
226
|
sendRealtimeAudioChunk({ chunk, format }: {
|
|
204
227
|
chunk: Uint8Array;
|
|
@@ -214,6 +237,14 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
214
237
|
deleteThread(threadPath: string): Promise<void>;
|
|
215
238
|
renameThread(threadPath: string, name: string): Promise<void>;
|
|
216
239
|
addAgentMessage(event: AgentMessageEvent): void;
|
|
240
|
+
private updateSessionState;
|
|
241
|
+
private updatePendingInputsForMessage;
|
|
242
|
+
private appendRenderableMessage;
|
|
243
|
+
private appendMessage;
|
|
244
|
+
private upsertItemMessage;
|
|
245
|
+
private appendOrMergeDelta;
|
|
246
|
+
private indexMessagesFrom;
|
|
247
|
+
private applyActiveModel;
|
|
217
248
|
markClosed({ notify }?: {
|
|
218
249
|
notify?: boolean;
|
|
219
250
|
}): void;
|