@meshagent/meshagent-agents 0.47.1 → 0.49.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 +18 -0
- package/README.md +28 -5
- package/dist/browser/agent-messages.d.ts +1448 -107
- package/dist/browser/agent-messages.js +345 -193
- package/dist/browser/chat-client.d.ts +93 -33
- package/dist/browser/chat-client.js +483 -206
- package/dist/browser/images-dataset.d.ts +1 -1
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.js +8 -0
- package/dist/browser/thread-storage.d.ts +1 -1
- package/dist/esm/agent-messages.d.ts +1448 -107
- package/dist/esm/agent-messages.js +340 -189
- package/dist/esm/chat-client.d.ts +93 -33
- package/dist/esm/chat-client.js +478 -206
- package/dist/esm/images-dataset.d.ts +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/thread-storage.d.ts +1 -1
- package/dist/node/agent-messages.d.ts +1448 -107
- package/dist/node/agent-messages.js +345 -193
- package/dist/node/chat-client.d.ts +93 -33
- package/dist/node/chat-client.js +483 -206
- package/dist/node/images-dataset.d.ts +1 -1
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.js +8 -0
- package/dist/node/thread-storage.d.ts +1 -1
- package/package.json +7 -3
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { MessagingStream, RemoteParticipant } from "@meshagent/meshagent";
|
|
2
2
|
import type { RoomClient, Content } from "@meshagent/meshagent";
|
|
3
|
-
import { AgentMessage,
|
|
4
|
-
import type { AgentPayload,
|
|
3
|
+
import { AgentMessage, AgentFileContent, ThreadCreated, AgentConnectionStatus } from "./agent-messages.js";
|
|
4
|
+
import type { AgentPayload, ClientToolkitDescription } from "./agent-messages.js";
|
|
5
5
|
import { ChangeEmitter } from "./change-emitter.js";
|
|
6
|
+
type JsonMap = Record<string, any>;
|
|
6
7
|
export declare class AgentMessageEvent {
|
|
7
|
-
|
|
8
|
+
private messageValue;
|
|
9
|
+
private readonly listeners;
|
|
8
10
|
readonly createdAt: Date;
|
|
9
11
|
readonly attachment?: Uint8Array;
|
|
10
12
|
constructor({ message, createdAt, attachment }: {
|
|
@@ -12,7 +14,11 @@ export declare class AgentMessageEvent {
|
|
|
12
14
|
createdAt?: Date;
|
|
13
15
|
attachment?: Uint8Array;
|
|
14
16
|
});
|
|
17
|
+
get message(): AgentMessage;
|
|
15
18
|
get payload(): AgentPayload;
|
|
19
|
+
addEventListener(listener: () => void): void;
|
|
20
|
+
removeEventListener(listener: () => void): void;
|
|
21
|
+
replaceMessage(message: AgentMessage): void;
|
|
16
22
|
}
|
|
17
23
|
export declare class PendingAgentInput {
|
|
18
24
|
readonly messageId: string;
|
|
@@ -77,12 +83,28 @@ export declare class ChatThreadStartResult {
|
|
|
77
83
|
realtimeConnection?: JsonMap;
|
|
78
84
|
});
|
|
79
85
|
}
|
|
86
|
+
export declare class PendingThreadStartCandidate {
|
|
87
|
+
readonly messageId: string;
|
|
88
|
+
readonly senderName?: string;
|
|
89
|
+
constructor({ messageId, senderName }: {
|
|
90
|
+
messageId: string;
|
|
91
|
+
senderName: string | undefined;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
export type ThreadCreatedPendingStartMatcher = (message: InstanceType<typeof ThreadCreated>, candidates: PendingThreadStartCandidate[]) => string | undefined;
|
|
80
95
|
export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
96
|
+
readonly threadCreatedPendingStartMatcher?: ThreadCreatedPendingStartMatcher;
|
|
97
|
+
readonly deduplicateClientToolRequests: boolean;
|
|
81
98
|
private readonly sessionsByPath;
|
|
82
99
|
private readonly pendingStartRequests;
|
|
83
100
|
private readonly pendingSessionEventsByPath;
|
|
84
101
|
private readonly eventQueue;
|
|
102
|
+
private readonly claimedClientToolRequests;
|
|
85
103
|
private _connectionStatus?;
|
|
104
|
+
constructor({ threadCreatedPendingStartMatcher, deduplicateClientToolRequests, }?: {
|
|
105
|
+
threadCreatedPendingStartMatcher?: ThreadCreatedPendingStartMatcher;
|
|
106
|
+
deduplicateClientToolRequests?: boolean;
|
|
107
|
+
});
|
|
86
108
|
get events(): AsyncIterable<AgentMessageEvent>;
|
|
87
109
|
get connectionStatus(): InstanceType<typeof AgentConnectionStatus> | undefined;
|
|
88
110
|
get sessions(): ChatThreadSession[];
|
|
@@ -91,19 +113,17 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
|
91
113
|
agentParticipant(): RemoteParticipant | null;
|
|
92
114
|
localParticipantName(): string | undefined;
|
|
93
115
|
localParticipantId(): string | undefined;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
openThread(threadPath: string, { load, sinceTurn, reloadIfOpen, drainPendingEvents, }?: {
|
|
116
|
+
private clientToolRequestKey;
|
|
117
|
+
openThread(threadPath: string, { load, sinceTurn, reloadIfOpen, }?: {
|
|
97
118
|
load?: boolean;
|
|
98
119
|
sinceTurn?: string;
|
|
99
120
|
reloadIfOpen?: boolean;
|
|
100
|
-
drainPendingEvents?: boolean;
|
|
101
121
|
}): ChatThreadSession;
|
|
102
122
|
private openSession;
|
|
103
|
-
startThread({ messageId, message, attachments, name, backend, provider, model, voice, outputModalities, realtimeProtocol, senderName, clientToolkits,
|
|
123
|
+
startThread({ messageId, message, attachments, name, backend, provider, model, voice, outputModalities, realtimeProtocol, senderName, clientToolkits, omitContent, }: {
|
|
104
124
|
messageId?: string;
|
|
105
125
|
message: string;
|
|
106
|
-
attachments:
|
|
126
|
+
attachments: AgentFileContent[];
|
|
107
127
|
name?: string;
|
|
108
128
|
backend?: string;
|
|
109
129
|
provider?: string;
|
|
@@ -113,7 +133,6 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
|
113
133
|
realtimeProtocol?: string;
|
|
114
134
|
senderName?: string;
|
|
115
135
|
clientToolkits?: ClientToolkitDescription[];
|
|
116
|
-
toolChoice?: ToolChoice;
|
|
117
136
|
omitContent?: boolean;
|
|
118
137
|
}): Promise<ChatThreadStartResult>;
|
|
119
138
|
private resolvedStartThreadMessage;
|
|
@@ -125,6 +144,7 @@ export declare abstract class BaseChatClient extends ChangeEmitter {
|
|
|
125
144
|
createdAt?: Date;
|
|
126
145
|
attachment?: Uint8Array;
|
|
127
146
|
}): void;
|
|
147
|
+
private acknowledgePendingStartFromThreadCreated;
|
|
128
148
|
emitConnectionStatus({ status, message, reason, retryDelay, }: {
|
|
129
149
|
status: string;
|
|
130
150
|
message?: string;
|
|
@@ -166,9 +186,11 @@ export declare class BaseMessagingChatClient extends BaseChatClient {
|
|
|
166
186
|
private waitingForParticipant;
|
|
167
187
|
private roomAbortController?;
|
|
168
188
|
private messagingListenersAttached;
|
|
169
|
-
constructor({ room, agentName }: {
|
|
189
|
+
constructor({ room, agentName, threadCreatedPendingStartMatcher, deduplicateClientToolRequests, }: {
|
|
170
190
|
room: RoomClient;
|
|
171
191
|
agentName?: string;
|
|
192
|
+
threadCreatedPendingStartMatcher?: ThreadCreatedPendingStartMatcher;
|
|
193
|
+
deduplicateClientToolRequests?: boolean;
|
|
172
194
|
});
|
|
173
195
|
localParticipantName(): string | undefined;
|
|
174
196
|
localParticipantId(): string | undefined;
|
|
@@ -177,8 +199,10 @@ export declare class BaseMessagingChatClient extends BaseChatClient {
|
|
|
177
199
|
private attachMessagingListeners;
|
|
178
200
|
private detachMessagingListeners;
|
|
179
201
|
agentParticipant(): RemoteParticipant | null;
|
|
180
|
-
waitForAgentParticipant({ waitKey }?: {
|
|
202
|
+
waitForAgentParticipant({ waitKey, signal, timeoutMs, }?: {
|
|
181
203
|
waitKey?: string;
|
|
204
|
+
signal?: AbortSignal;
|
|
205
|
+
timeoutMs?: number;
|
|
182
206
|
}): Promise<RemoteParticipant>;
|
|
183
207
|
sendAgentMessage(message: AgentMessage, { attachment }?: {
|
|
184
208
|
attachment?: Uint8Array;
|
|
@@ -190,6 +214,52 @@ export declare class BaseMessagingChatClient extends BaseChatClient {
|
|
|
190
214
|
private reopenOpenSessions;
|
|
191
215
|
private readonly onMessagingMessage;
|
|
192
216
|
}
|
|
217
|
+
export declare class WebSocketChatClient extends BaseChatClient {
|
|
218
|
+
readonly url: URL;
|
|
219
|
+
readonly token: string;
|
|
220
|
+
readonly participantName?: string;
|
|
221
|
+
readonly protocols: string[];
|
|
222
|
+
readonly reconnect: boolean;
|
|
223
|
+
readonly reconnectInitialDelay: number;
|
|
224
|
+
readonly reconnectMaxDelay: number;
|
|
225
|
+
private webSocket?;
|
|
226
|
+
private receiveError?;
|
|
227
|
+
private closeCode?;
|
|
228
|
+
private closeReason?;
|
|
229
|
+
private started;
|
|
230
|
+
private stopping;
|
|
231
|
+
private connecting;
|
|
232
|
+
private reconnectAttempts;
|
|
233
|
+
private reconnectTimer?;
|
|
234
|
+
private assignedParticipantId?;
|
|
235
|
+
constructor({ url, token, participantName, protocols, reconnect, reconnectInitialDelay, reconnectMaxDelay, }: {
|
|
236
|
+
url: URL;
|
|
237
|
+
token: string;
|
|
238
|
+
participantName?: string;
|
|
239
|
+
protocols?: string[];
|
|
240
|
+
reconnect?: boolean;
|
|
241
|
+
reconnectInitialDelay?: number;
|
|
242
|
+
reconnectMaxDelay?: number;
|
|
243
|
+
});
|
|
244
|
+
get isConnected(): boolean;
|
|
245
|
+
localParticipantName(): string | undefined;
|
|
246
|
+
localParticipantId(): string | undefined;
|
|
247
|
+
start(): Promise<void>;
|
|
248
|
+
private connect;
|
|
249
|
+
stop(): Promise<void>;
|
|
250
|
+
sendAgentMessage(message: AgentMessage, { attachment }?: {
|
|
251
|
+
attachment?: Uint8Array;
|
|
252
|
+
}): Promise<void>;
|
|
253
|
+
private readonly onMessage;
|
|
254
|
+
private readonly onSocketError;
|
|
255
|
+
private readonly onSocketClose;
|
|
256
|
+
private detachSocketListeners;
|
|
257
|
+
private scheduleReconnect;
|
|
258
|
+
private nextReconnectDelay;
|
|
259
|
+
private reopenOpenSessions;
|
|
260
|
+
private resolvedProtocols;
|
|
261
|
+
private closedMessage;
|
|
262
|
+
}
|
|
193
263
|
export declare class MessagingChatClient extends BaseMessagingChatClient {
|
|
194
264
|
private readonly threadSubscriptions;
|
|
195
265
|
private threadListSubscription?;
|
|
@@ -215,26 +285,15 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
215
285
|
private openState;
|
|
216
286
|
private loadStateValue;
|
|
217
287
|
private lastCompletedTurnIdValue?;
|
|
218
|
-
private activeTurnIdValue?;
|
|
219
|
-
private threadStatusValue?;
|
|
220
|
-
private currentModelValue?;
|
|
221
|
-
private modelsResponseValue?;
|
|
222
288
|
private lastAgentMessageType?;
|
|
223
289
|
private lastAgentMessageAt?;
|
|
224
|
-
constructor(
|
|
225
|
-
client: BaseChatClient;
|
|
226
|
-
threadPath: string;
|
|
227
|
-
});
|
|
290
|
+
private constructor();
|
|
228
291
|
get messages(): AgentMessageEvent[];
|
|
229
292
|
get pendingInputs(): PendingAgentInput[];
|
|
230
293
|
get isOpen(): boolean;
|
|
231
294
|
get loadState(): ChatThreadSessionLoadState;
|
|
232
295
|
get isLoading(): boolean;
|
|
233
296
|
get lastCompletedTurnId(): string | undefined;
|
|
234
|
-
get activeTurnId(): string | undefined;
|
|
235
|
-
get threadStatus(): InstanceType<typeof AgentThreadStatus> | undefined;
|
|
236
|
-
get currentModel(): InstanceType<typeof AgentModelChanged> | undefined;
|
|
237
|
-
get modelsResponse(): InstanceType<typeof ModelsResponse> | undefined;
|
|
238
297
|
open({ load, sinceTurn }?: {
|
|
239
298
|
load?: boolean;
|
|
240
299
|
sinceTurn?: string;
|
|
@@ -254,10 +313,15 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
254
313
|
requestId: string;
|
|
255
314
|
response: Content;
|
|
256
315
|
}): Promise<void>;
|
|
257
|
-
|
|
316
|
+
claimClientToolCall(requestId: string): boolean;
|
|
317
|
+
finishClientToolCall(requestId: string, { responseSent }: {
|
|
318
|
+
responseSent: boolean;
|
|
319
|
+
}): void;
|
|
320
|
+
injectMessages(messages: readonly AgentMessage[]): Promise<void>;
|
|
321
|
+
sendText({ messageId, text, attachments, steer, turnId, backend, provider, model, voice, outputModalities, senderName, clientToolkits, }: {
|
|
258
322
|
messageId?: string;
|
|
259
323
|
text: string;
|
|
260
|
-
attachments:
|
|
324
|
+
attachments: AgentFileContent[];
|
|
261
325
|
steer?: boolean;
|
|
262
326
|
turnId?: string;
|
|
263
327
|
backend?: string;
|
|
@@ -267,14 +331,14 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
267
331
|
outputModalities?: string[];
|
|
268
332
|
senderName?: string;
|
|
269
333
|
clientToolkits?: ClientToolkitDescription[];
|
|
270
|
-
toolChoice?: ToolChoice;
|
|
271
334
|
}): Promise<string>;
|
|
272
335
|
sendRealtimeAudioChunk({ chunk, format }: {
|
|
273
336
|
chunk: Uint8Array;
|
|
274
337
|
format: JsonMap;
|
|
275
338
|
}): Promise<void>;
|
|
276
|
-
commitRealtimeAudio({ turnId, provider, model, voice, outputModalities, }: {
|
|
339
|
+
commitRealtimeAudio({ turnId, backend, provider, model, voice, outputModalities, }: {
|
|
277
340
|
turnId: string;
|
|
341
|
+
backend?: string;
|
|
278
342
|
provider?: string;
|
|
279
343
|
model?: string;
|
|
280
344
|
voice?: string;
|
|
@@ -287,16 +351,12 @@ export declare class ChatThreadSession extends ChangeEmitter {
|
|
|
287
351
|
private updatePendingInputsForMessage;
|
|
288
352
|
private appendRenderableMessage;
|
|
289
353
|
private appendMessage;
|
|
290
|
-
private upsertItemMessage;
|
|
291
354
|
private appendOrMergeDelta;
|
|
292
355
|
private indexMessagesFrom;
|
|
293
|
-
private applyActiveModel;
|
|
294
|
-
markClosed({ notify }?: {
|
|
295
|
-
notify?: boolean;
|
|
296
|
-
}): void;
|
|
297
356
|
private loadingStateForOpen;
|
|
298
357
|
private failedLoadState;
|
|
299
358
|
private setLoadState;
|
|
300
359
|
private markPending;
|
|
301
360
|
private updatePending;
|
|
302
361
|
}
|
|
362
|
+
export {};
|