@meshagent/meshagent-agents 0.43.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/LICENSE +1 -0
  3. package/README.md +206 -0
  4. package/dist/browser/agent-messages.d.ts +343 -0
  5. package/dist/browser/agent-messages.js +1015 -0
  6. package/dist/browser/change-emitter.d.ts +8 -0
  7. package/dist/browser/change-emitter.js +20 -0
  8. package/dist/browser/chat-client.d.ts +225 -0
  9. package/dist/browser/chat-client.js +642 -0
  10. package/dist/browser/images-dataset.d.ts +83 -0
  11. package/dist/browser/images-dataset.js +282 -0
  12. package/dist/browser/index.d.ts +6 -0
  13. package/dist/browser/index.js +22 -0
  14. package/dist/browser/package.json +1 -0
  15. package/dist/browser/room-shell-toolkit.d.ts +14 -0
  16. package/dist/browser/room-shell-toolkit.js +274 -0
  17. package/dist/browser/room-storage-toolkit.d.ts +11 -0
  18. package/dist/browser/room-storage-toolkit.js +513 -0
  19. package/dist/browser/thread-storage.d.ts +102 -0
  20. package/dist/browser/thread-storage.js +476 -0
  21. package/dist/esm/agent-messages.d.ts +343 -0
  22. package/dist/esm/agent-messages.js +989 -0
  23. package/dist/esm/change-emitter.d.ts +8 -0
  24. package/dist/esm/change-emitter.js +16 -0
  25. package/dist/esm/chat-client.d.ts +225 -0
  26. package/dist/esm/chat-client.js +632 -0
  27. package/dist/esm/images-dataset.d.ts +83 -0
  28. package/dist/esm/images-dataset.js +274 -0
  29. package/dist/esm/index.d.ts +6 -0
  30. package/dist/esm/index.js +6 -0
  31. package/dist/esm/package.json +1 -0
  32. package/dist/esm/room-shell-toolkit.d.ts +14 -0
  33. package/dist/esm/room-shell-toolkit.js +270 -0
  34. package/dist/esm/room-storage-toolkit.d.ts +11 -0
  35. package/dist/esm/room-storage-toolkit.js +509 -0
  36. package/dist/esm/thread-storage.d.ts +102 -0
  37. package/dist/esm/thread-storage.js +465 -0
  38. package/dist/node/agent-messages.d.ts +343 -0
  39. package/dist/node/agent-messages.js +1015 -0
  40. package/dist/node/change-emitter.d.ts +8 -0
  41. package/dist/node/change-emitter.js +20 -0
  42. package/dist/node/chat-client.d.ts +225 -0
  43. package/dist/node/chat-client.js +642 -0
  44. package/dist/node/images-dataset.d.ts +83 -0
  45. package/dist/node/images-dataset.js +282 -0
  46. package/dist/node/index.d.ts +6 -0
  47. package/dist/node/index.js +22 -0
  48. package/dist/node/package.json +1 -0
  49. package/dist/node/room-shell-toolkit.d.ts +14 -0
  50. package/dist/node/room-shell-toolkit.js +274 -0
  51. package/dist/node/room-storage-toolkit.d.ts +11 -0
  52. package/dist/node/room-storage-toolkit.js +513 -0
  53. package/dist/node/thread-storage.d.ts +102 -0
  54. package/dist/node/thread-storage.js +476 -0
  55. package/package.json +57 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,50 @@
1
+ ## [0.43.0]
2
+ - Split LiveKit helpers into `@meshagent/meshagent-livekit-ts` and added `@meshagent/meshagent-node-ts` for room websocket proxying and room-connect helpers.
3
+ - Updated `meshagent-ts` exports for ESM-aware resolution, moved LiveKit out of the core package, and added `RoomClient.withIAP()` and `WebSocketClientProtocol.withIAP()` for the new room-connect flow.
4
+ - Room websocket auth now uses bearer headers on Node and `meshagent-room.` subprotocol tokens in the browser, and the agents/thread APIs now carry backend metadata and attachment-aware prompts.
5
+ - React/auth/dev/tailwind packages now publish CJS main entries alongside ESM builds, and the new LiveKit package depends on `livekit-client@^2.15.5`.
6
+
7
+ ## [0.42.2]
8
+ - Added `ContainerExitStatus`, `RoomContainerStats`, and published build image metadata to the TypeScript container client models.
9
+ - Added `waitForExitStatus` while keeping `waitForExit` as the exit-code convenience wrapper.
10
+ - Container list parsing now preserves image IDs, runtime stats, and exit-status metadata from API responses.
11
+
12
+ ## [0.42.1]
13
+ - Stability
14
+
15
+ ## [0.42.0]
16
+ - Added project lookup by key.
17
+ - Container and room APIs now return structured `containerPort`/`hostPort` entries instead of integer port lists, which is a breaking response-shape change.
18
+ - `ContainerSpec`, `PortSpec`, and `RoutePathSpec` now support `template`, `host_port`, and `stripPrefix`, and room service URL resolution uses `host_port` when available.
19
+ - `createRoom` now serializes typed permissions, and container creation now accepts a `template` option.
20
+
21
+ ## [0.41.10]
22
+ - Stability
23
+
24
+ ## [0.41.9]
25
+ - Stability
26
+
27
+ ## [0.41.8]
28
+ - Stability
29
+
30
+ ## [0.41.7]
31
+ - Stability
32
+
33
+ ## [0.41.6]
34
+ - Added convenience dataset helpers and toolkit-config support to the TypeScript SDK, expanding room- and dataset-aware workflows.
35
+ - Extended the TypeScript storage client download URL API with an optional `download` flag so callers can request attachment-style links.
36
+ - Updated the TypeScript agent/chat packages to support room shell and room storage toolkits with richer threaded chat behavior.
37
+ - Improved Powerboards meetings with meeting previews, camera-grid handling, and video-chat collapse fixes.
38
+ - Added syntax-highlighted file previews to the React UI, including `react-syntax-highlighter@^16.1.1` and `@types/react-syntax-highlighter@^15.5.13`.
39
+
40
+ # Changelog
41
+
42
+ ## 0.41.0
43
+
44
+ - Aligned TypeScript agent protocol models with the Dart 0.41.0 package, including thread list/lifecycle, connection status, client tool calls, secret responses, and MCP/client toolkit fields.
45
+ - Added chat-session load state, sender-name propagation, explicit message IDs, omit-content starts, client toolkit forwarding, and agent-backed thread list storage.
46
+ - Added room storage and room shell toolkit helpers.
47
+
48
+ ## 0.40.2
49
+
50
+ - Initial TypeScript implementation mirroring `meshagent-agents-dart`.
package/LICENSE ADDED
@@ -0,0 +1 @@
1
+ Apache-2.0
package/README.md ADDED
@@ -0,0 +1,206 @@
1
+ # meshagent-agents-ts
2
+
3
+ TypeScript agent chat session and transport helpers for Meshagent applications.
4
+
5
+ It provides:
6
+
7
+ - Agent message constants and JSON models for the Meshagent agent protocol.
8
+ - Chat clients and thread sessions for sending turns over Meshagent room messaging.
9
+ - Dataset helpers for thread lists and generated images.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npm install @meshagent/meshagent-agents @meshagent/meshagent
15
+ ```
16
+
17
+ In this repository workspace the package is available from `meshagent-agents-ts`.
18
+
19
+ ## Imports
20
+
21
+ ```ts
22
+ import {
23
+ AgentMessage,
24
+ MessagingChatClient,
25
+ ImagesDataset,
26
+ DatasetThreadStorageRepository,
27
+ TurnStart,
28
+ agentInputContent,
29
+ } from "@meshagent/meshagent-agents";
30
+ ```
31
+
32
+ ## Agent Messages
33
+
34
+ Every protocol message is represented by a class with `toJson()` and can be parsed with `AgentMessage.fromJson(...)`.
35
+
36
+ ```ts
37
+ import {
38
+ AgentMessage,
39
+ TurnStart,
40
+ agentInputContent,
41
+ } from "@meshagent/meshagent-agents";
42
+
43
+ const message = new TurnStart({
44
+ threadId: "dataset://threads/example",
45
+ content: agentInputContent({
46
+ text: "Summarize this file.",
47
+ attachments: ["dataset://assets/files/report.pdf"],
48
+ }),
49
+ provider: "openai",
50
+ model: "gpt-5.4",
51
+ });
52
+
53
+ const wirePayload = message.toJson();
54
+ const parsed = AgentMessage.fromJson(wirePayload);
55
+ ```
56
+
57
+ The package exports the message type constants as well, for example `agentTurnStartType`, `agentThreadStartedType`, and `agentToolCallApprovalRequestedType`.
58
+
59
+ ## Chat Client
60
+
61
+ `MessagingChatClient` sends and receives agent protocol messages through a Meshagent `RoomClient` messaging channel. The target agent participant must advertise `supports_agent_messages: true`; optionally pass `agentName` to select one named agent.
62
+
63
+ ```ts
64
+ import {
65
+ MessagingChatClient,
66
+ agentTextContentDeltaType,
67
+ } from "@meshagent/meshagent-agents";
68
+ import type { RoomClient } from "@meshagent/meshagent";
69
+
70
+ const room: RoomClient = /* create and start your room client */;
71
+
72
+ const chat = new MessagingChatClient({ room, agentName: "assistant" });
73
+ await chat.start();
74
+
75
+ const { session, threadPath, realtimeConnection } = await chat.startThread({
76
+ message: "Create a project plan.",
77
+ attachments: [],
78
+ provider: "openai",
79
+ model: "gpt-5.4",
80
+ });
81
+
82
+ console.log(threadPath, realtimeConnection);
83
+
84
+ await session.sendText({
85
+ text: "Make it shorter and include risks.",
86
+ attachments: [],
87
+ });
88
+
89
+ for await (const event of chat.events) {
90
+ if (event.message.type === agentTextContentDeltaType) {
91
+ const delta = event.message as typeof event.message & { text: string };
92
+ process.stdout.write(delta.text);
93
+ }
94
+ }
95
+ ```
96
+
97
+ You can also open an existing thread directly:
98
+
99
+ ```ts
100
+ const session = chat.openThread("dataset://threads/existing");
101
+
102
+ await session.sendText({
103
+ text: "Continue from the last answer.",
104
+ attachments: [],
105
+ });
106
+
107
+ await session.interruptTurn("turn-id");
108
+ await session.changeModel({ provider: "openai", model: "gpt-5.4" });
109
+ await session.close();
110
+ ```
111
+
112
+ `ChatThreadSession` tracks local pending inputs in `session.pendingInputs`. Pending input state is updated when accepted, started, steered, rejected, ended, or cleared messages arrive from the agent.
113
+
114
+ ## Custom Transports
115
+
116
+ Use `BaseChatClient` if you want to send agent messages through another transport. Implement `sendAgentMessage(...)` and feed inbound messages back through `handleAgentMessage(...)`.
117
+
118
+ ```ts
119
+ import {
120
+ AgentMessage,
121
+ BaseChatClient,
122
+ } from "@meshagent/meshagent-agents";
123
+
124
+ class MyChatClient extends BaseChatClient {
125
+ async sendAgentMessage(
126
+ message: AgentMessage,
127
+ options: { attachment?: Uint8Array; ignoreOffline?: boolean } = {},
128
+ ): Promise<void> {
129
+ await sendOverMyTransport(message.toJson(), options.attachment);
130
+ }
131
+ }
132
+
133
+ const client = new MyChatClient();
134
+ const session = client.openThread("dataset://threads/custom");
135
+ ```
136
+
137
+ ## Thread List Storage
138
+
139
+ `DatasetThreadStorageRepository` stores thread list metadata in a Meshagent dataset table. The URL format is `dataset://[namespace...]/table`.
140
+
141
+ ```ts
142
+ import {
143
+ DatasetThreadStorageRepository,
144
+ ThreadListEntry,
145
+ } from "@meshagent/meshagent-agents";
146
+
147
+ const threads = new DatasetThreadStorageRepository({
148
+ room,
149
+ path: "dataset://agents/default/threads",
150
+ });
151
+
152
+ await threads.open();
153
+
154
+ await threads.addOrUpdateThread(new ThreadListEntry({
155
+ path: "dataset://threads/thread-1",
156
+ name: "Planning",
157
+ createdAt: new Date().toISOString(),
158
+ modifiedAt: new Date().toISOString(),
159
+ }));
160
+
161
+ console.log(threads.entries());
162
+
163
+ await threads.renameThread("dataset://threads/thread-1", "Launch Planning");
164
+ await threads.deleteThread("dataset://threads/thread-1");
165
+ await threads.close();
166
+ ```
167
+
168
+ ## Image Dataset
169
+
170
+ `ImagesDataset` creates and writes to an `images` table with binary image data and metadata. `ImageDatasetClient` can read image records by ID or by `dataset://.../images?id=...` URI.
171
+
172
+ ```ts
173
+ import {
174
+ ImagesDataset,
175
+ ImageDatasetClient,
176
+ } from "@meshagent/meshagent-agents";
177
+
178
+ const images = new ImagesDataset({
179
+ room,
180
+ namespace: ["agents", "default"],
181
+ });
182
+
183
+ const saved = await images.save({
184
+ data: pngBytes,
185
+ mimeType: "image/png",
186
+ createdBy: "assistant",
187
+ annotations: { prompt: "blue product sketch" },
188
+ });
189
+
190
+ const record = await images.readRecord(saved.id);
191
+ console.log(record?.mimeType, record?.data.byteLength);
192
+
193
+ const ref = ImageDatasetClient.datasetUriReference(
194
+ `dataset://agents/default/images?id=${saved.id}`,
195
+ );
196
+ console.log(ref.namespace, ref.table, ref.id);
197
+ ```
198
+
199
+ ## Development
200
+
201
+ ```bash
202
+ npm run build
203
+ npm test
204
+ ```
205
+
206
+ The build emits ESM, Node CommonJS, and browser CommonJS outputs under `dist/`.
@@ -0,0 +1,343 @@
1
+ import { type AgentInputContent } from "@meshagent/meshagent";
2
+ export type AgentPayload = Record<string, unknown>;
3
+ export type JsonMap = Record<string, any>;
4
+ export declare const agentRoomMessageType = "agent-message";
5
+ export declare const agentTurnStartType = "meshagent.agent.turn.start";
6
+ export declare const agentTurnSteerType = "meshagent.agent.turn.steer";
7
+ export declare const agentTurnInterruptType = "meshagent.agent.turn.interrupt";
8
+ export declare const agentThreadClearType = "meshagent.agent.thread.clear";
9
+ export declare const agentRealtimeAudioChunkType = "meshagent.agent.realtime_audio.chunk";
10
+ export declare const agentRealtimeAudioCommitType = "meshagent.agent.realtime_audio.commit";
11
+ export declare const agentThreadStartType = "meshagent.agent.thread.start";
12
+ export declare const agentThreadStartedType = "meshagent.agent.thread.started";
13
+ export declare const agentThreadLoadedType = "meshagent.agent.thread.loaded";
14
+ export declare const agentThreadStartRejectedType = "meshagent.agent.thread.start.rejected";
15
+ export declare const agentThreadOpenType = "meshagent.agent.thread.open";
16
+ export declare const agentThreadCloseType = "meshagent.agent.thread.close";
17
+ export declare const agentParticipantConnectType = "meshagent.agent.participant.connect";
18
+ export declare const agentParticipantDisconnectType = "meshagent.agent.participant.disconnect";
19
+ export declare const agentThreadDeleteType = "meshagent.agent.thread.delete";
20
+ export declare const agentThreadRenameType = "meshagent.agent.thread.rename";
21
+ export declare const agentThreadListType = "meshagent.agent.thread.list";
22
+ export declare const agentThreadListedType = "meshagent.agent.thread.listed";
23
+ export declare const agentThreadCreatedType = "meshagent.agent.thread.created";
24
+ export declare const agentThreadUpdatedType = "meshagent.agent.thread.updated";
25
+ export declare const agentThreadDeletedType = "meshagent.agent.thread.deleted";
26
+ export declare const agentCapabilitiesRequestType = "meshagent.agent.capabilities_request";
27
+ export declare const agentCapabilitiesResponseType = "meshagent.agent.capabilities_response";
28
+ export declare const agentModelsRequestType = "meshagent.agent.models.request";
29
+ export declare const agentModelsResponseType = "meshagent.agent.models.response";
30
+ export declare const agentModelChangeType = "meshagent.agent.model.change";
31
+ export declare const agentModelChangedType = "meshagent.agent.model.changed";
32
+ export declare const agentThreadClearedType = "meshagent.agent.thread.cleared";
33
+ export declare const agentTurnStartAcceptedType = "meshagent.agent.turn.start.accepted";
34
+ export declare const agentTurnStartRejectedType = "meshagent.agent.turn.start.rejected";
35
+ export declare const agentTurnInterruptAcceptedType = "meshagent.agent.turn.interrupt.accepted";
36
+ export declare const agentTurnInterruptedType = "meshagent.agent.turn.interrupted";
37
+ export declare const agentTurnSteerAcceptedType = "meshagent.agent.turn.steer.accepted";
38
+ export declare const agentTurnSteeredType = "meshagent.agent.turn.steered";
39
+ export declare const agentTurnSteerRejectedType = "meshagent.agent.turn.steer.rejected";
40
+ export declare const agentTurnStartedType = "meshagent.agent.turn.started";
41
+ export declare const agentTurnEndedType = "meshagent.agent.turn.ended";
42
+ export declare const agentReasoningContentStartedType = "meshagent.agent.reasoning_content.started";
43
+ export declare const agentReasoningContentDeltaType = "meshagent.agent.reasoning_content.delta";
44
+ export declare const agentReasoningContentEndedType = "meshagent.agent.reasoning_content.ended";
45
+ export declare const agentTextContentStartedType = "meshagent.agent.text_content.started";
46
+ export declare const agentTextContentDeltaType = "meshagent.agent.text_content.delta";
47
+ export declare const agentTextContentEndedType = "meshagent.agent.text_content.ended";
48
+ export declare const agentFileContentStartedType = "meshagent.agent.file_content.started";
49
+ export declare const agentFileContentDeltaType = "meshagent.agent.file_content.delta";
50
+ export declare const agentFileContentEndedType = "meshagent.agent.file_content.ended";
51
+ export declare const agentToolCallPendingType = "meshagent.agent.tool_call.pending";
52
+ export declare const agentToolCallInProgressType = "meshagent.agent.tool_call.in_progress";
53
+ export declare const agentToolCallStartedType = "meshagent.agent.tool_call.started";
54
+ export declare const agentToolCallArgumentsDeltaType = "meshagent.agent.tool_call.arguments_delta";
55
+ export declare const agentToolCallLogDeltaType = "meshagent.agent.tool_call.log_delta";
56
+ export declare const agentToolCallEndedType = "meshagent.agent.tool_call.ended";
57
+ export declare const agentToolCallApprovalRequestedType = "meshagent.agent.tool_call.approval_requested";
58
+ export declare const agentClientToolCallRequestedType = "meshagent.agent.client_tool_call.requested";
59
+ export declare const agentClientToolCallCancelledType = "meshagent.agent.client_tool_call.cancelled";
60
+ export declare const agentSecretRequestedType = "meshagent.agent.secret.requested";
61
+ export declare const agentThreadStatusType = "meshagent.agent.thread.status";
62
+ export declare const agentConnectionStatusType = "meshagent.agent.connection.status";
63
+ export declare const agentThreadEventType = "meshagent.agent.thread.event";
64
+ export declare const agentImageGenerationStartedType = "meshagent.agent.image_generation.started";
65
+ export declare const agentImageGenerationPartialType = "meshagent.agent.image_generation.partial";
66
+ export declare const agentImageGenerationCompletedType = "meshagent.agent.image_generation.completed";
67
+ export declare const agentImageGenerationFailedType = "meshagent.agent.image_generation.failed";
68
+ export declare const agentAudioGenerationStartedType = "meshagent.agent.audio_generation.started";
69
+ export declare const agentAudioGenerationDeltaType = "meshagent.agent.audio_generation.delta";
70
+ export declare const agentAudioGenerationCompletedType = "meshagent.agent.audio_generation.completed";
71
+ export declare const agentAudioGenerationFailedType = "meshagent.agent.audio_generation.failed";
72
+ export declare const agentAudioTranscriptionStartedType = "meshagent.agent.audio_transcription.started";
73
+ export declare const agentAudioTranscriptionDeltaType = "meshagent.agent.audio_transcription.delta";
74
+ export declare const agentAudioTranscriptionCompletedType = "meshagent.agent.audio_transcription.completed";
75
+ export declare const agentAudioTranscriptionFailedType = "meshagent.agent.audio_transcription.failed";
76
+ export declare const agentAudioInputSpeechStartedType = "meshagent.agent.audio_input.speech_started";
77
+ export declare const agentAudioInputSpeechEndedType = "meshagent.agent.audio_input.speech_ended";
78
+ export declare const agentContextCompactedType = "meshagent.agent.context.compacted";
79
+ export declare const agentUsageUpdatedType = "meshagent.agent.usage.updated";
80
+ export declare const agentToolApproveType = "meshagent.agent.tool_call.approve";
81
+ export declare const agentToolRejectType = "meshagent.agent.tool_call.reject";
82
+ export declare const agentSecretResponseType = "meshagent.agent.secret.response";
83
+ export declare const agentClientToolCallResponseType = "meshagent.agent.client_tool_call.response";
84
+ export declare class ToolChoice {
85
+ readonly toolkitName: string;
86
+ readonly toolName: string;
87
+ constructor({ toolkitName, toolName, toolkit_name, tool_name }: JsonMap);
88
+ static fromJson(json: JsonMap): ToolChoice;
89
+ toJson(): JsonMap;
90
+ }
91
+ export declare class TurnMcpConfig {
92
+ readonly servers: JsonMap[];
93
+ constructor({ servers }?: JsonMap);
94
+ static fromJson(json: JsonMap): TurnMcpConfig;
95
+ toJson(): JsonMap;
96
+ }
97
+ export declare class ClientToolkitDescription {
98
+ readonly name: string;
99
+ readonly title?: string;
100
+ readonly description?: string;
101
+ readonly inputSchema: JsonMap;
102
+ constructor({ name, title, description, inputSchema, input_schema }: JsonMap);
103
+ static fromJson(json: JsonMap): ClientToolkitDescription;
104
+ toJson(): JsonMap;
105
+ }
106
+ export declare class TurnToolkitConfig {
107
+ readonly clientOptions?: JsonMap;
108
+ constructor({ clientOptions, client_options }?: JsonMap);
109
+ static fromJson(json: JsonMap): TurnToolkitConfig;
110
+ toJson(): JsonMap;
111
+ }
112
+ export declare class AgentAudioFormat {
113
+ readonly type: string;
114
+ readonly sampleRate?: number;
115
+ readonly bitrate?: number;
116
+ constructor({ type, sampleRate, sample_rate, bitrate }?: JsonMap);
117
+ static fromJson(json: JsonMap): AgentAudioFormat;
118
+ toJson(): JsonMap;
119
+ }
120
+ export declare class AgentError {
121
+ readonly message: string;
122
+ readonly code?: string;
123
+ constructor({ message, code }: {
124
+ message: string;
125
+ code?: string;
126
+ });
127
+ static fromJson(json: JsonMap): AgentError;
128
+ toJson(): JsonMap;
129
+ }
130
+ export declare class ToolkitToolCapabilities {
131
+ readonly name: string;
132
+ readonly title?: string;
133
+ readonly description?: string;
134
+ constructor({ name, title, description }: JsonMap);
135
+ static fromJson(json: JsonMap): ToolkitToolCapabilities;
136
+ toJson(): JsonMap;
137
+ }
138
+ export declare class ToolkitCapabilities {
139
+ readonly name: string;
140
+ readonly title?: string;
141
+ readonly description?: string;
142
+ readonly thumbnailUrl?: string;
143
+ readonly rules: string[];
144
+ readonly clientOptions?: JsonMap;
145
+ readonly hidden: boolean;
146
+ readonly tools: ToolkitToolCapabilities[];
147
+ constructor(params: JsonMap);
148
+ static fromJson(json: JsonMap): ToolkitCapabilities;
149
+ toJson(): JsonMap;
150
+ }
151
+ export declare class AgentModelInfo {
152
+ readonly name: string;
153
+ readonly friendlyName?: string;
154
+ readonly description?: string;
155
+ readonly contextWindow?: number;
156
+ readonly pricing?: Record<string, number>;
157
+ readonly modalities: string[];
158
+ readonly availableVoices: string[];
159
+ readonly defaultOutputVoice?: string;
160
+ readonly inputFormat?: AgentAudioFormat;
161
+ readonly outputFormat?: AgentAudioFormat;
162
+ readonly turnDetection?: string;
163
+ readonly realtimeProtocols: string[];
164
+ readonly active: boolean;
165
+ constructor(params: JsonMap);
166
+ static fromJson(json: JsonMap): AgentModelInfo;
167
+ toJson(): JsonMap;
168
+ }
169
+ export declare class AgentProviderInfo {
170
+ readonly name: string;
171
+ readonly friendlyName: string;
172
+ readonly description?: string;
173
+ readonly defaultModel: string;
174
+ readonly models: AgentModelInfo[];
175
+ constructor(params: JsonMap);
176
+ static fromJson(json: JsonMap): AgentProviderInfo;
177
+ toJson(): JsonMap;
178
+ }
179
+ export declare class AgentThreadListEntry {
180
+ readonly path: string;
181
+ readonly name: string;
182
+ readonly createdAt: string;
183
+ readonly modifiedAt: string;
184
+ constructor(params: JsonMap);
185
+ static fromJson(json: JsonMap): AgentThreadListEntry;
186
+ toJson(): JsonMap;
187
+ }
188
+ export declare class AgentRealtimeConnectionInfo {
189
+ readonly protocol: string;
190
+ readonly url: string;
191
+ readonly headers: Record<string, string>;
192
+ readonly webOnlyProtocol?: string;
193
+ constructor(params: JsonMap);
194
+ static fromJson(json: JsonMap): AgentRealtimeConnectionInfo;
195
+ toJson(): JsonMap;
196
+ }
197
+ export declare class AgentToolCallLogLine {
198
+ readonly source: string;
199
+ readonly text: string;
200
+ constructor({ source, text }: JsonMap);
201
+ static fromJson(json: JsonMap): AgentToolCallLogLine;
202
+ toJson(): JsonMap;
203
+ }
204
+ export declare class AgentGeneratedImage {
205
+ readonly uri?: string;
206
+ readonly mimeType?: string;
207
+ readonly createdAt?: string;
208
+ readonly createdBy?: string;
209
+ readonly width?: number;
210
+ readonly height?: number;
211
+ readonly status?: string;
212
+ constructor(params?: JsonMap);
213
+ static fromJson(json: JsonMap): AgentGeneratedImage;
214
+ toJson(): JsonMap;
215
+ }
216
+ export declare class AgentGeneratedAudio {
217
+ readonly uri?: string;
218
+ readonly mimeType?: string;
219
+ readonly createdAt?: string;
220
+ readonly createdBy?: string;
221
+ readonly status?: string;
222
+ readonly transcript?: string;
223
+ constructor(params?: JsonMap);
224
+ static fromJson(json: JsonMap): AgentGeneratedAudio;
225
+ toJson(): JsonMap;
226
+ }
227
+ export declare class AgentContextWindowUsage {
228
+ readonly usedTokens: number;
229
+ readonly totalTokens?: number;
230
+ readonly compactionMode?: string;
231
+ readonly compactionThreshold?: number;
232
+ constructor(params: JsonMap);
233
+ static fromJson(json: JsonMap): AgentContextWindowUsage;
234
+ toJson(): JsonMap;
235
+ }
236
+ export declare abstract class AgentMessage {
237
+ [key: string]: any;
238
+ readonly type: string;
239
+ readonly messageId: string;
240
+ readonly senderName?: string;
241
+ protected constructor({ type, messageId, message_id, senderName, sender_name }: JsonMap);
242
+ toJson(): JsonMap;
243
+ static fromJson(json: JsonMap): AgentMessage;
244
+ }
245
+ export declare abstract class AgentThreadMessage extends AgentMessage {
246
+ readonly threadId: string;
247
+ protected constructor(params: JsonMap);
248
+ toJson(): JsonMap;
249
+ }
250
+ export declare abstract class AgentLLMMessage extends AgentThreadMessage {
251
+ readonly provider?: string;
252
+ readonly model?: string;
253
+ protected constructor(params: JsonMap);
254
+ toJson(): JsonMap;
255
+ }
256
+ type MessageCtor = {
257
+ new (params?: JsonMap): AgentMessage;
258
+ fromJson(json: JsonMap): AgentMessage;
259
+ };
260
+ export declare const StartThread: MessageCtor;
261
+ export declare const TurnStart: MessageCtor;
262
+ export declare const TurnSteer: MessageCtor;
263
+ export declare const TurnInterrupt: MessageCtor;
264
+ export declare const AgentRealtimeAudioChunk: MessageCtor;
265
+ export declare const AgentRealtimeAudioCommit: MessageCtor;
266
+ export declare const ClearThread: MessageCtor;
267
+ export declare const OpenThread: MessageCtor;
268
+ export declare const CloseThread: MessageCtor;
269
+ export declare const ParticipantConnect: MessageCtor;
270
+ export declare const ParticipantDisconnect: MessageCtor;
271
+ export declare const DeleteThread: MessageCtor;
272
+ export declare const RenameThread: MessageCtor;
273
+ export declare const ListThreads: MessageCtor;
274
+ export declare const ThreadsListed: MessageCtor;
275
+ export declare const ThreadCreated: MessageCtor;
276
+ export declare const ThreadUpdated: MessageCtor;
277
+ export declare const ThreadDeleted: MessageCtor;
278
+ export declare const CapabilitiesRequest: MessageCtor;
279
+ export declare const CapabilitiesResponse: MessageCtor;
280
+ export declare const ModelsRequest: MessageCtor;
281
+ export declare const ModelsResponse: MessageCtor;
282
+ export declare const ChangeModel: MessageCtor;
283
+ export declare const AgentModelChanged: MessageCtor;
284
+ export declare const ThreadCleared: MessageCtor;
285
+ export declare const TurnStartAccepted: MessageCtor;
286
+ export declare const TurnStartRejected: MessageCtor;
287
+ export declare const TurnInterruptAccepted: MessageCtor;
288
+ export declare const TurnInterrupted: MessageCtor;
289
+ export declare const TurnSteerAccepted: MessageCtor;
290
+ export declare const TurnSteered: MessageCtor;
291
+ export declare const TurnSteerRejected: MessageCtor;
292
+ export declare const TurnStarted: MessageCtor;
293
+ export declare const TurnEnded: MessageCtor;
294
+ export declare const ThreadStarted: MessageCtor;
295
+ export declare const ThreadLoaded: MessageCtor;
296
+ export declare const ThreadStartRejected: MessageCtor;
297
+ export declare const AgentReasoningContentStarted: MessageCtor;
298
+ export declare const AgentReasoningContentDelta: MessageCtor;
299
+ export declare const AgentReasoningContentEnded: MessageCtor;
300
+ export declare const AgentTextContentStarted: MessageCtor;
301
+ export declare const AgentTextContentDelta: MessageCtor;
302
+ export declare const AgentTextContentEnded: MessageCtor;
303
+ export declare const AgentFileContentStarted: MessageCtor;
304
+ export declare const AgentFileContentDelta: MessageCtor;
305
+ export declare const AgentFileContentEnded: MessageCtor;
306
+ export declare const AgentToolCallPending: MessageCtor;
307
+ export declare const AgentToolCallInProgress: MessageCtor;
308
+ export declare const AgentToolCallStarted: MessageCtor;
309
+ export declare const AgentToolCallArgumentsDelta: MessageCtor;
310
+ export declare const AgentToolCallLogDelta: MessageCtor;
311
+ export declare const AgentToolCallEnded: MessageCtor;
312
+ export declare const AgentToolCallApprovalRequested: MessageCtor;
313
+ export declare const AgentSecretRequested: MessageCtor;
314
+ export declare const AgentClientToolCallRequested: MessageCtor;
315
+ export declare const AgentClientToolCallCancelled: MessageCtor;
316
+ export declare const AgentThreadStatus: MessageCtor;
317
+ export declare const AgentConnectionStatus: MessageCtor;
318
+ export declare const AgentThreadEvent: MessageCtor;
319
+ export declare const AgentImageGenerationStarted: MessageCtor;
320
+ export declare const AgentImageGenerationPartial: MessageCtor;
321
+ export declare const AgentImageGenerationCompleted: MessageCtor;
322
+ export declare const AgentImageGenerationFailed: MessageCtor;
323
+ export declare const AgentAudioGenerationStarted: MessageCtor;
324
+ export declare const AgentAudioGenerationDelta: MessageCtor;
325
+ export declare const AgentAudioGenerationCompleted: MessageCtor;
326
+ export declare const AgentAudioGenerationFailed: MessageCtor;
327
+ export declare const AgentAudioTranscriptionStarted: MessageCtor;
328
+ export declare const AgentAudioTranscriptionDelta: MessageCtor;
329
+ export declare const AgentAudioTranscriptionCompleted: MessageCtor;
330
+ export declare const AgentAudioTranscriptionFailed: MessageCtor;
331
+ export declare const AgentAudioInputSpeechStarted: MessageCtor;
332
+ export declare const AgentAudioInputSpeechEnded: MessageCtor;
333
+ export declare const AgentContextCompacted: MessageCtor;
334
+ export declare const AgentUsageUpdated: MessageCtor;
335
+ export declare const ApproveAgentToolCall: MessageCtor;
336
+ export declare const RejectAgentToolCall: MessageCtor;
337
+ export declare const AgentSecretResponse: MessageCtor;
338
+ export declare const AgentClientToolCallResponse: MessageCtor;
339
+ export declare function agentInputContent({ text, attachments }: {
340
+ text: string;
341
+ attachments: string[];
342
+ }): AgentInputContent[];
343
+ export {};