-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathmessages.ts
More file actions
335 lines (279 loc) · 7.71 KB
/
messages.ts
File metadata and controls
335 lines (279 loc) · 7.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../core/resource';
import * as AgentsMessagesAPI from './agents/messages';
import { APIPromise } from '../core/api-promise';
import { RequestOptions } from '../internal/request-options';
import { path } from '../internal/utils/path';
export class Messages extends APIResource {
/**
* Retrieve a message by ID.
*/
retrieve(messageID: string, options?: RequestOptions): APIPromise<MessageRetrieveResponse> {
return this._client.get(path`/v1/messages/${messageID}`, options);
}
/**
* List messages across all agents for the current user.
*/
list(
query: MessageListParams | null | undefined = {},
options?: RequestOptions,
): APIPromise<MessageListResponse> {
return this._client.get('/v1/messages/', { query, ...options });
}
/**
* Search messages across the organization with optional agent filtering. Returns
* messages with FTS/vector ranks and total RRF score.
*
* This is a cloud-only feature.
*/
search(body: MessageSearchParams, options?: RequestOptions): APIPromise<MessageSearchResponse> {
return this._client.post('/v1/messages/search', { body, ...options });
}
}
export interface MessageSearchRequest {
/**
* Text query for full-text search
*/
query: string;
/**
* Filter messages by agent ID
*/
agent_id?: string | null;
/**
* Filter messages by conversation ID
*/
conversation_id?: string | null;
/**
* Filter messages created on or before this date
*/
end_date?: string | null;
/**
* Maximum number of results to return
*/
limit?: number;
/**
* Search mode to use
*/
search_mode?: 'vector' | 'fts' | 'hybrid';
/**
* Filter messages created after this date
*/
start_date?: string | null;
}
/**
* Result from a message search operation with scoring details.
*/
export interface MessageSearchResult {
/**
* The embedded content (LLM-friendly)
*/
embedded_text: string;
/**
* The raw message object
*/
message: AgentsMessagesAPI.InternalMessage;
/**
* Reciprocal Rank Fusion combined score
*/
rrf_score: number;
/**
* Full-text search rank position if FTS was used
*/
fts_rank?: number | null;
/**
* Vector search rank position if vector search was used
*/
vector_rank?: number | null;
}
export type MessageRetrieveResponse = Array<AgentsMessagesAPI.Message>;
export type MessageListResponse = Array<AgentsMessagesAPI.Message>;
export type MessageSearchResponse = Array<
| MessageSearchResponse.SystemMessageListResult
| MessageSearchResponse.UserMessageListResult
| MessageSearchResponse.ReasoningMessageListResult
| MessageSearchResponse.AssistantMessageListResult
>;
export namespace MessageSearchResponse {
/**
* System message list result with agent context.
*
* Shape is identical to UpdateSystemMessage but includes the owning agent_id and
* message id.
*/
export interface SystemMessageListResult {
/**
* The message content sent by the system (can be a string or an array of
* multi-modal content parts)
*/
content: string;
/**
* The time the message was created in ISO format.
*/
created_at: string;
/**
* The unique identifier of the message.
*/
message_id: string;
/**
* The unique identifier of the agent that owns the message.
*/
agent_id?: string | null;
/**
* The unique identifier of the conversation that the message belongs to.
*/
conversation_id?: string | null;
message_type?: 'system_message';
}
/**
* User message list result with agent context.
*
* Shape is identical to UpdateUserMessage but includes the owning agent_id and
* message id.
*/
export interface UserMessageListResult {
/**
* The message content sent by the user (can be a string or an array of multi-modal
* content parts)
*/
content: Array<AgentsMessagesAPI.LettaUserMessageContentUnion> | string;
/**
* The time the message was created in ISO format.
*/
created_at: string;
/**
* The unique identifier of the message.
*/
message_id: string;
/**
* The unique identifier of the agent that owns the message.
*/
agent_id?: string | null;
/**
* The unique identifier of the conversation that the message belongs to.
*/
conversation_id?: string | null;
message_type?: 'user_message';
}
/**
* Reasoning message list result with agent context.
*
* Shape is identical to UpdateReasoningMessage but includes the owning agent_id
* and message id.
*/
export interface ReasoningMessageListResult {
/**
* The time the message was created in ISO format.
*/
created_at: string;
/**
* The unique identifier of the message.
*/
message_id: string;
reasoning: string;
/**
* The unique identifier of the agent that owns the message.
*/
agent_id?: string | null;
/**
* The unique identifier of the conversation that the message belongs to.
*/
conversation_id?: string | null;
message_type?: 'reasoning_message';
}
/**
* Assistant message list result with agent context.
*
* Shape is identical to UpdateAssistantMessage but includes the owning agent_id
* and message id.
*/
export interface AssistantMessageListResult {
/**
* The message content sent by the assistant (can be a string or an array of
* content parts)
*/
content: Array<AgentsMessagesAPI.LettaAssistantMessageContentUnion> | string;
/**
* The time the message was created in ISO format.
*/
created_at: string;
/**
* The unique identifier of the message.
*/
message_id: string;
/**
* The unique identifier of the agent that owns the message.
*/
agent_id?: string | null;
/**
* The unique identifier of the conversation that the message belongs to.
*/
conversation_id?: string | null;
message_type?: 'assistant_message';
}
}
export interface MessageListParams {
/**
* Message ID cursor for pagination. Returns messages that come after this message
* ID in the specified sort order
*/
after?: string | null;
/**
* Message ID cursor for pagination. Returns messages that come before this message
* ID in the specified sort order
*/
before?: string | null;
/**
* Conversation ID to filter messages by
*/
conversation_id?: string | null;
/**
* Maximum number of messages to return
*/
limit?: number | null;
/**
* Sort order for messages by creation time. 'asc' for oldest first, 'desc' for
* newest first
*/
order?: 'asc' | 'desc';
}
export interface MessageSearchParams {
/**
* Text query for full-text search
*/
query: string;
/**
* Filter messages by agent ID
*/
agent_id?: string | null;
/**
* Filter messages by conversation ID
*/
conversation_id?: string | null;
/**
* Filter messages created on or before this date
*/
end_date?: string | null;
/**
* Maximum number of results to return
*/
limit?: number;
/**
* Search mode to use
*/
search_mode?: 'vector' | 'fts' | 'hybrid';
/**
* Filter messages created after this date
*/
start_date?: string | null;
}
export declare namespace Messages {
export {
type MessageSearchRequest as MessageSearchRequest,
type MessageSearchResult as MessageSearchResult,
type MessageRetrieveResponse as MessageRetrieveResponse,
type MessageListResponse as MessageListResponse,
type MessageSearchResponse as MessageSearchResponse,
type MessageListParams as MessageListParams,
type MessageSearchParams as MessageSearchParams,
};
}