@letta-ai/letta-client 1.0.0-alpha.15 → 1.0.0-alpha.17

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 (265) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/client.d.mts +22 -22
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +22 -22
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/agents/agents.d.mts +1098 -136
  10. package/resources/agents/agents.d.mts.map +1 -1
  11. package/resources/agents/agents.d.ts +1098 -136
  12. package/resources/agents/agents.d.ts.map +1 -1
  13. package/resources/agents/agents.js +0 -6
  14. package/resources/agents/agents.js.map +1 -1
  15. package/resources/agents/agents.mjs +1 -7
  16. package/resources/agents/agents.mjs.map +1 -1
  17. package/resources/agents/blocks.d.mts +1 -15
  18. package/resources/agents/blocks.d.mts.map +1 -1
  19. package/resources/agents/blocks.d.ts +1 -15
  20. package/resources/agents/blocks.d.ts.map +1 -1
  21. package/resources/agents/folders.d.mts +47 -76
  22. package/resources/agents/folders.d.mts.map +1 -1
  23. package/resources/agents/folders.d.ts +47 -76
  24. package/resources/agents/folders.d.ts.map +1 -1
  25. package/resources/agents/folders.js +5 -1
  26. package/resources/agents/folders.js.map +1 -1
  27. package/resources/agents/folders.mjs +5 -1
  28. package/resources/agents/folders.mjs.map +1 -1
  29. package/resources/agents/index.d.mts +4 -4
  30. package/resources/agents/index.d.mts.map +1 -1
  31. package/resources/agents/index.d.ts +4 -4
  32. package/resources/agents/index.d.ts.map +1 -1
  33. package/resources/agents/index.js.map +1 -1
  34. package/resources/agents/index.mjs.map +1 -1
  35. package/resources/agents/messages.d.mts +87 -28
  36. package/resources/agents/messages.d.mts.map +1 -1
  37. package/resources/agents/messages.d.ts +87 -28
  38. package/resources/agents/messages.d.ts.map +1 -1
  39. package/resources/agents/messages.js +5 -5
  40. package/resources/agents/messages.js.map +1 -1
  41. package/resources/agents/messages.mjs +5 -5
  42. package/resources/agents/messages.mjs.map +1 -1
  43. package/resources/agents/tools.d.mts +6 -27
  44. package/resources/agents/tools.d.mts.map +1 -1
  45. package/resources/agents/tools.d.ts +6 -27
  46. package/resources/agents/tools.d.ts.map +1 -1
  47. package/resources/agents/tools.js +5 -1
  48. package/resources/agents/tools.js.map +1 -1
  49. package/resources/agents/tools.mjs +5 -1
  50. package/resources/agents/tools.mjs.map +1 -1
  51. package/resources/archives.d.mts +9 -37
  52. package/resources/archives.d.mts.map +1 -1
  53. package/resources/archives.d.ts +9 -37
  54. package/resources/archives.d.ts.map +1 -1
  55. package/resources/archives.js +2 -1
  56. package/resources/archives.js.map +1 -1
  57. package/resources/archives.mjs +2 -1
  58. package/resources/archives.mjs.map +1 -1
  59. package/resources/batches/batches.d.mts +8 -30
  60. package/resources/batches/batches.d.mts.map +1 -1
  61. package/resources/batches/batches.d.ts +8 -30
  62. package/resources/batches/batches.d.ts.map +1 -1
  63. package/resources/batches/batches.js +2 -1
  64. package/resources/batches/batches.js.map +1 -1
  65. package/resources/batches/batches.mjs +2 -1
  66. package/resources/batches/batches.mjs.map +1 -1
  67. package/resources/batches/index.d.mts +2 -2
  68. package/resources/batches/index.d.mts.map +1 -1
  69. package/resources/batches/index.d.ts +2 -2
  70. package/resources/batches/index.d.ts.map +1 -1
  71. package/resources/batches/index.js.map +1 -1
  72. package/resources/batches/index.mjs.map +1 -1
  73. package/resources/batches/messages.d.mts +6 -30
  74. package/resources/batches/messages.d.mts.map +1 -1
  75. package/resources/batches/messages.d.ts +6 -30
  76. package/resources/batches/messages.d.ts.map +1 -1
  77. package/resources/batches/messages.js +2 -1
  78. package/resources/batches/messages.js.map +1 -1
  79. package/resources/batches/messages.mjs +2 -1
  80. package/resources/batches/messages.mjs.map +1 -1
  81. package/resources/blocks/blocks.d.mts +1 -6
  82. package/resources/blocks/blocks.d.mts.map +1 -1
  83. package/resources/blocks/blocks.d.ts +1 -6
  84. package/resources/blocks/blocks.d.ts.map +1 -1
  85. package/resources/blocks/blocks.js +0 -6
  86. package/resources/blocks/blocks.js.map +1 -1
  87. package/resources/blocks/blocks.mjs +0 -6
  88. package/resources/blocks/blocks.mjs.map +1 -1
  89. package/resources/blocks/index.d.mts +1 -1
  90. package/resources/blocks/index.d.mts.map +1 -1
  91. package/resources/blocks/index.d.ts +1 -1
  92. package/resources/blocks/index.d.ts.map +1 -1
  93. package/resources/blocks/index.js.map +1 -1
  94. package/resources/blocks/index.mjs.map +1 -1
  95. package/resources/folders/files.d.mts +73 -97
  96. package/resources/folders/files.d.mts.map +1 -1
  97. package/resources/folders/files.d.ts +73 -97
  98. package/resources/folders/files.d.ts.map +1 -1
  99. package/resources/folders/files.js +5 -1
  100. package/resources/folders/files.js.map +1 -1
  101. package/resources/folders/files.mjs +5 -1
  102. package/resources/folders/files.mjs.map +1 -1
  103. package/resources/folders/folders.d.mts +11 -44
  104. package/resources/folders/folders.d.mts.map +1 -1
  105. package/resources/folders/folders.d.ts +11 -44
  106. package/resources/folders/folders.d.ts.map +1 -1
  107. package/resources/folders/folders.js +2 -7
  108. package/resources/folders/folders.js.map +1 -1
  109. package/resources/folders/folders.mjs +2 -7
  110. package/resources/folders/folders.mjs.map +1 -1
  111. package/resources/folders/index.d.mts +2 -2
  112. package/resources/folders/index.d.mts.map +1 -1
  113. package/resources/folders/index.d.ts +2 -2
  114. package/resources/folders/index.d.ts.map +1 -1
  115. package/resources/folders/index.js.map +1 -1
  116. package/resources/folders/index.mjs.map +1 -1
  117. package/resources/groups/groups.d.mts +1 -6
  118. package/resources/groups/groups.d.mts.map +1 -1
  119. package/resources/groups/groups.d.ts +1 -6
  120. package/resources/groups/groups.d.ts.map +1 -1
  121. package/resources/groups/groups.js +0 -6
  122. package/resources/groups/groups.js.map +1 -1
  123. package/resources/groups/groups.mjs +0 -6
  124. package/resources/groups/groups.mjs.map +1 -1
  125. package/resources/groups/index.d.mts +1 -1
  126. package/resources/groups/index.d.mts.map +1 -1
  127. package/resources/groups/index.d.ts +1 -1
  128. package/resources/groups/index.d.ts.map +1 -1
  129. package/resources/groups/index.js.map +1 -1
  130. package/resources/groups/index.mjs.map +1 -1
  131. package/resources/groups/messages.d.mts +9 -3
  132. package/resources/groups/messages.d.mts.map +1 -1
  133. package/resources/groups/messages.d.ts +9 -3
  134. package/resources/groups/messages.d.ts.map +1 -1
  135. package/resources/identities/identities.d.mts +9 -36
  136. package/resources/identities/identities.d.mts.map +1 -1
  137. package/resources/identities/identities.d.ts +9 -36
  138. package/resources/identities/identities.d.ts.map +1 -1
  139. package/resources/identities/identities.js +2 -7
  140. package/resources/identities/identities.js.map +1 -1
  141. package/resources/identities/identities.mjs +2 -7
  142. package/resources/identities/identities.mjs.map +1 -1
  143. package/resources/identities/index.d.mts +1 -1
  144. package/resources/identities/index.d.mts.map +1 -1
  145. package/resources/identities/index.d.ts +1 -1
  146. package/resources/identities/index.d.ts.map +1 -1
  147. package/resources/identities/index.js.map +1 -1
  148. package/resources/identities/index.mjs.map +1 -1
  149. package/resources/index.d.mts +11 -11
  150. package/resources/index.d.mts.map +1 -1
  151. package/resources/index.d.ts +11 -11
  152. package/resources/index.d.ts.map +1 -1
  153. package/resources/index.js.map +1 -1
  154. package/resources/index.mjs.map +1 -1
  155. package/resources/mcp-servers/index.d.mts +2 -3
  156. package/resources/mcp-servers/index.d.mts.map +1 -1
  157. package/resources/mcp-servers/index.d.ts +2 -3
  158. package/resources/mcp-servers/index.d.ts.map +1 -1
  159. package/resources/mcp-servers/index.js +1 -3
  160. package/resources/mcp-servers/index.js.map +1 -1
  161. package/resources/mcp-servers/index.mjs +1 -2
  162. package/resources/mcp-servers/index.mjs.map +1 -1
  163. package/resources/mcp-servers/mcp-servers.d.mts +292 -378
  164. package/resources/mcp-servers/mcp-servers.d.mts.map +1 -1
  165. package/resources/mcp-servers/mcp-servers.d.ts +292 -378
  166. package/resources/mcp-servers/mcp-servers.d.ts.map +1 -1
  167. package/resources/mcp-servers/mcp-servers.js +17 -4
  168. package/resources/mcp-servers/mcp-servers.js.map +1 -1
  169. package/resources/mcp-servers/mcp-servers.mjs +17 -4
  170. package/resources/mcp-servers/mcp-servers.mjs.map +1 -1
  171. package/resources/mcp-servers/tools.d.mts +3 -41
  172. package/resources/mcp-servers/tools.d.mts.map +1 -1
  173. package/resources/mcp-servers/tools.d.ts +3 -41
  174. package/resources/mcp-servers/tools.d.ts.map +1 -1
  175. package/resources/mcp-servers/tools.js.map +1 -1
  176. package/resources/mcp-servers/tools.mjs.map +1 -1
  177. package/resources/models/embeddings.d.mts +6 -2
  178. package/resources/models/embeddings.d.mts.map +1 -1
  179. package/resources/models/embeddings.d.ts +6 -2
  180. package/resources/models/embeddings.d.ts.map +1 -1
  181. package/resources/models/embeddings.js +5 -1
  182. package/resources/models/embeddings.js.map +1 -1
  183. package/resources/models/embeddings.mjs +5 -1
  184. package/resources/models/embeddings.mjs.map +1 -1
  185. package/resources/models/index.d.mts +1 -1
  186. package/resources/models/index.d.mts.map +1 -1
  187. package/resources/models/index.d.ts +1 -1
  188. package/resources/models/index.d.ts.map +1 -1
  189. package/resources/models/index.js.map +1 -1
  190. package/resources/models/index.mjs.map +1 -1
  191. package/resources/models/models.d.mts +174 -3
  192. package/resources/models/models.d.mts.map +1 -1
  193. package/resources/models/models.d.ts +174 -3
  194. package/resources/models/models.d.ts.map +1 -1
  195. package/resources/models/models.js +5 -1
  196. package/resources/models/models.js.map +1 -1
  197. package/resources/models/models.mjs +5 -1
  198. package/resources/models/models.mjs.map +1 -1
  199. package/resources/runs/index.d.mts +1 -1
  200. package/resources/runs/index.d.mts.map +1 -1
  201. package/resources/runs/index.d.ts +1 -1
  202. package/resources/runs/index.d.ts.map +1 -1
  203. package/resources/runs/index.js.map +1 -1
  204. package/resources/runs/index.mjs.map +1 -1
  205. package/resources/runs/runs.d.mts +6 -32
  206. package/resources/runs/runs.d.mts.map +1 -1
  207. package/resources/runs/runs.d.ts +6 -32
  208. package/resources/runs/runs.d.ts.map +1 -1
  209. package/resources/runs/runs.js +2 -1
  210. package/resources/runs/runs.js.map +1 -1
  211. package/resources/runs/runs.mjs +2 -1
  212. package/resources/runs/runs.mjs.map +1 -1
  213. package/resources/tools.d.mts +6 -68
  214. package/resources/tools.d.mts.map +1 -1
  215. package/resources/tools.d.ts +6 -68
  216. package/resources/tools.d.ts.map +1 -1
  217. package/resources/tools.js +2 -7
  218. package/resources/tools.js.map +1 -1
  219. package/resources/tools.mjs +2 -7
  220. package/resources/tools.mjs.map +1 -1
  221. package/src/client.ts +41 -28
  222. package/src/resources/agents/agents.ts +1364 -77
  223. package/src/resources/agents/blocks.ts +1 -15
  224. package/src/resources/agents/folders.ts +55 -85
  225. package/src/resources/agents/index.ts +5 -2
  226. package/src/resources/agents/messages.ts +123 -28
  227. package/src/resources/agents/tools.ts +10 -34
  228. package/src/resources/archives.ts +12 -45
  229. package/src/resources/batches/batches.ts +10 -41
  230. package/src/resources/batches/index.ts +2 -2
  231. package/src/resources/batches/messages.ts +12 -37
  232. package/src/resources/blocks/blocks.ts +0 -10
  233. package/src/resources/blocks/index.ts +0 -1
  234. package/src/resources/folders/files.ts +88 -113
  235. package/src/resources/folders/folders.ts +14 -55
  236. package/src/resources/folders/index.ts +2 -2
  237. package/src/resources/groups/groups.ts +0 -10
  238. package/src/resources/groups/index.ts +0 -1
  239. package/src/resources/groups/messages.ts +10 -3
  240. package/src/resources/identities/identities.ts +12 -49
  241. package/src/resources/identities/index.ts +1 -2
  242. package/src/resources/index.ts +21 -14
  243. package/src/resources/mcp-servers/index.ts +14 -9
  244. package/src/resources/mcp-servers/mcp-servers.ts +303 -402
  245. package/src/resources/mcp-servers/tools.ts +6 -47
  246. package/src/resources/models/embeddings.ts +6 -2
  247. package/src/resources/models/index.ts +2 -0
  248. package/src/resources/models/models.ts +254 -2
  249. package/src/resources/runs/index.ts +1 -1
  250. package/src/resources/runs/runs.ts +11 -44
  251. package/src/resources/tools.ts +8 -92
  252. package/src/version.ts +1 -1
  253. package/version.d.mts +1 -1
  254. package/version.d.ts +1 -1
  255. package/version.js +1 -1
  256. package/version.mjs +1 -1
  257. package/resources/mcp-servers/refresh.d.mts +0 -24
  258. package/resources/mcp-servers/refresh.d.mts.map +0 -1
  259. package/resources/mcp-servers/refresh.d.ts +0 -24
  260. package/resources/mcp-servers/refresh.d.ts.map +0 -1
  261. package/resources/mcp-servers/refresh.js +0 -27
  262. package/resources/mcp-servers/refresh.js.map +0 -1
  263. package/resources/mcp-servers/refresh.mjs +0 -23
  264. package/resources/mcp-servers/refresh.mjs.map +0 -1
  265. package/src/resources/mcp-servers/refresh.ts +0 -43
@@ -78,21 +78,7 @@ export class Blocks extends APIResource {
78
78
  }
79
79
 
80
80
  /**
81
- * A Block represents a reserved section of the LLM's context window which is
82
- * editable. `Block` objects contained in the `Memory` object, which is able to
83
- * edit the Block values.
84
- *
85
- * Parameters: label (str): The label of the block (e.g. 'human', 'persona'). This
86
- * defines a category for the block. value (str): The value of the block. This is
87
- * the string that is represented in the context window. limit (int): The character
88
- * limit of the block. is_template (bool): Whether the block is a template (e.g.
89
- * saved human/persona options). Non-template blocks are not stored in the database
90
- * and are ephemeral, while templated blocks are stored in the database. label
91
- * (str): The label of the block (e.g. 'human', 'persona'). This defines a category
92
- * for the block. template_name (str): The name of the block template (if it is a
93
- * template). description (str): Description of the block. metadata (Dict):
94
- * Metadata of the block. user_id (str): The unique identifier of the user
95
- * associated with the block.
81
+ * A Block represents a reserved section of the LLM's context window.
96
82
  */
97
83
  export interface Block {
98
84
  /**
@@ -5,6 +5,7 @@ import * as ArchivesAPI from '../archives';
5
5
  import * as AgentsAPI from './agents';
6
6
  import * as ModelsAPI from '../models/models';
7
7
  import { APIPromise } from '../../core/api-promise';
8
+ import { ArrayPage, type ArrayPageParams, PagePromise } from '../../core/pagination';
8
9
  import { RequestOptions } from '../../internal/request-options';
9
10
  import { path } from '../../internal/utils/path';
10
11
 
@@ -16,8 +17,11 @@ export class Folders extends APIResource {
16
17
  agentID: string,
17
18
  query: FolderListParams | null | undefined = {},
18
19
  options?: RequestOptions,
19
- ): APIPromise<FolderListResponse> {
20
- return this._client.get(path`/v1/agents/${agentID}/folders`, { query, ...options });
20
+ ): PagePromise<FolderListResponsesArrayPage, FolderListResponse> {
21
+ return this._client.getAPIList(path`/v1/agents/${agentID}/folders`, ArrayPage<FolderListResponse>, {
22
+ query,
23
+ ...options,
24
+ });
21
25
  }
22
26
 
23
27
  /**
@@ -45,106 +49,71 @@ export class Folders extends APIResource {
45
49
  }
46
50
  }
47
51
 
48
- export type FolderListResponse = Array<FolderListResponse.FolderListResponseItem>;
49
-
50
- export namespace FolderListResponse {
51
- /**
52
- * Representation of a source, which is a collection of files and passages.
53
- *
54
- * Parameters: id (str): The ID of the source name (str): The name of the source.
55
- * embedding_config (EmbeddingConfig): The embedding configuration used by the
56
- * source. user_id (str): The ID of the user that created the source. metadata
57
- * (dict): Metadata associated with the source. description (str): The description
58
- * of the source.
59
- */
60
- export interface FolderListResponseItem {
61
- /**
62
- * The embedding configuration used by the source.
63
- */
64
- embedding_config: ModelsAPI.EmbeddingConfig;
65
-
66
- /**
67
- * The name of the source.
68
- */
69
- name: string;
70
-
71
- /**
72
- * The human-friendly ID of the Source
73
- */
74
- id?: string;
75
-
76
- /**
77
- * The timestamp when the source was created.
78
- */
79
- created_at?: string | null;
80
-
81
- /**
82
- * The id of the user that made this Tool.
83
- */
84
- created_by_id?: string | null;
85
-
86
- /**
87
- * The description of the source.
88
- */
89
- description?: string | null;
90
-
91
- /**
92
- * Instructions for how to use the source.
93
- */
94
- instructions?: string | null;
95
-
96
- /**
97
- * The id of the user that made this Tool.
98
- */
99
- last_updated_by_id?: string | null;
100
-
101
- /**
102
- * Metadata associated with the source.
103
- */
104
- metadata?: { [key: string]: unknown } | null;
105
-
106
- /**
107
- * The timestamp when the source was last updated.
108
- */
109
- updated_at?: string | null;
110
-
111
- /**
112
- * The vector database provider used for this source's passages
113
- */
114
- vector_db_provider?: ArchivesAPI.VectorDBProvider;
115
- }
116
- }
52
+ export type FolderListResponsesArrayPage = ArrayPage<FolderListResponse>;
53
+
54
+ /**
55
+ * (Deprecated: Use Folder) Representation of a source, which is a collection of
56
+ * files and passages.
57
+ */
58
+ export interface FolderListResponse {
59
+ /**
60
+ * The human-friendly ID of the Source
61
+ */
62
+ id: string;
63
+
64
+ /**
65
+ * The embedding configuration used by the source.
66
+ */
67
+ embedding_config: ModelsAPI.EmbeddingConfig;
68
+
69
+ /**
70
+ * The name of the source.
71
+ */
72
+ name: string;
117
73
 
118
- export interface FolderListParams {
119
74
  /**
120
- * Source ID cursor for pagination. Returns sources that come after this source ID
121
- * in the specified sort order
75
+ * The timestamp when the source was created.
122
76
  */
123
- after?: string | null;
77
+ created_at?: string | null;
124
78
 
125
79
  /**
126
- * Source ID cursor for pagination. Returns sources that come before this source ID
127
- * in the specified sort order
80
+ * The id of the user that made this Tool.
128
81
  */
129
- before?: string | null;
82
+ created_by_id?: string | null;
130
83
 
131
84
  /**
132
- * Maximum number of sources to return
85
+ * The description of the source.
133
86
  */
134
- limit?: number | null;
87
+ description?: string | null;
135
88
 
136
89
  /**
137
- * Sort order for sources by creation time. 'asc' for oldest first, 'desc' for
138
- * newest first
90
+ * Instructions for how to use the source.
139
91
  */
140
- order?: 'asc' | 'desc';
92
+ instructions?: string | null;
141
93
 
142
94
  /**
143
- * Field to sort by
95
+ * The id of the user that made this Tool.
144
96
  */
145
- order_by?: 'created_at';
97
+ last_updated_by_id?: string | null;
98
+
99
+ /**
100
+ * Metadata associated with the source.
101
+ */
102
+ metadata?: { [key: string]: unknown } | null;
103
+
104
+ /**
105
+ * The timestamp when the source was last updated.
106
+ */
107
+ updated_at?: string | null;
108
+
109
+ /**
110
+ * The vector database provider used for this source's passages
111
+ */
112
+ vector_db_provider?: ArchivesAPI.VectorDBProvider;
146
113
  }
147
114
 
115
+ export interface FolderListParams extends ArrayPageParams {}
116
+
148
117
  export interface FolderAttachParams {
149
118
  /**
150
119
  * The ID of the agent in the format 'agent-<uuid4>'
@@ -162,6 +131,7 @@ export interface FolderDetachParams {
162
131
  export declare namespace Folders {
163
132
  export {
164
133
  type FolderListResponse as FolderListResponse,
134
+ type FolderListResponsesArrayPage as FolderListResponsesArrayPage,
165
135
  type FolderListParams as FolderListParams,
166
136
  type FolderAttachParams as FolderAttachParams,
167
137
  type FolderDetachParams as FolderDetachParams,
@@ -20,7 +20,6 @@ export {
20
20
  type TerminalToolRule,
21
21
  type TextResponseFormat,
22
22
  type AgentDeleteResponse,
23
- type AgentCountResponse,
24
23
  type AgentExportFileResponse,
25
24
  type AgentImportFileResponse,
26
25
  type AgentCreateParams,
@@ -58,6 +57,7 @@ export {
58
57
  type FolderListParams,
59
58
  type FolderAttachParams,
60
59
  type FolderDetachParams,
60
+ type FolderListResponsesArrayPage,
61
61
  } from './folders';
62
62
  export { Groups, type GroupListParams } from './groups';
63
63
  export {
@@ -107,13 +107,16 @@ export {
107
107
  type MessageModifyParams,
108
108
  type MessageResetParams,
109
109
  type MessageSendParams,
110
+ type MessageSendParamsNonStreaming,
111
+ type MessageSendParamsStreaming,
110
112
  type MessageSendAsyncParams,
111
113
  type MessageStreamParams,
112
114
  type LettaMessageUnionsArrayPage,
115
+ type RunsArrayPage,
116
+ type MessagesObjectPage,
113
117
  } from './messages';
114
118
  export {
115
119
  Tools,
116
- type ToolListResponse,
117
120
  type ToolListParams,
118
121
  type ToolAttachParams,
119
122
  type ToolDetachParams,
@@ -6,7 +6,7 @@ import * as ToolsAPI from '../tools';
6
6
  import * as AgentsAPI from './agents';
7
7
  import * as RunsAPI from '../runs/runs';
8
8
  import { APIPromise } from '../../core/api-promise';
9
- import { ArrayPage, type ArrayPageParams, PagePromise } from '../../core/pagination';
9
+ import { ArrayPage, type ArrayPageParams, ObjectPage, PagePromise } from '../../core/pagination';
10
10
  import { Stream } from '../../core/streaming';
11
11
  import { buildHeaders } from '../../internal/headers';
12
12
  import { RequestOptions } from '../../internal/request-options';
@@ -67,9 +67,44 @@ export class Messages extends APIResource {
67
67
  /**
68
68
  * Process a user message and return the agent's response. This endpoint accepts a
69
69
  * message from a user and processes it through the agent.
70
+ *
71
+ * The response format is controlled by the `streaming` field in the request body:
72
+ *
73
+ * - If `streaming=false` (default): Returns a complete LettaResponse with all
74
+ * messages
75
+ * - If `streaming=true`: Returns a Server-Sent Events (SSE) stream
76
+ *
77
+ * Additional streaming options (only used when streaming=true):
78
+ *
79
+ * - `stream_tokens`: Stream individual tokens instead of complete steps
80
+ * - `include_pings`: Include keepalive pings to prevent connection timeouts
81
+ * - `background`: Process the request in the background
70
82
  */
71
- send(agentID: string, body: MessageSendParams, options?: RequestOptions): APIPromise<LettaResponse> {
72
- return this._client.post(path`/v1/agents/${agentID}/messages`, { body, ...options });
83
+ send(
84
+ agentID: string,
85
+ body: MessageSendParamsNonStreaming,
86
+ options?: RequestOptions,
87
+ ): APIPromise<LettaResponse>;
88
+ send(
89
+ agentID: string,
90
+ body: MessageSendParamsStreaming,
91
+ options?: RequestOptions,
92
+ ): APIPromise<Stream<LettaStreamingResponse>>;
93
+ send(
94
+ agentID: string,
95
+ body: MessageSendParamsBase,
96
+ options?: RequestOptions,
97
+ ): APIPromise<Stream<LettaStreamingResponse> | LettaResponse>;
98
+ send(
99
+ agentID: string,
100
+ body: MessageSendParams,
101
+ options?: RequestOptions,
102
+ ): APIPromise<LettaResponse> | APIPromise<Stream<LettaStreamingResponse>> {
103
+ return this._client.post(path`/v1/agents/${agentID}/messages`, {
104
+ body,
105
+ ...options,
106
+ stream: body.streaming ?? false,
107
+ }) as APIPromise<LettaResponse> | APIPromise<Stream<LettaStreamingResponse>>;
73
108
  }
74
109
 
75
110
  /**
@@ -114,6 +149,10 @@ export class Messages extends APIResource {
114
149
 
115
150
  export type LettaMessageUnionsArrayPage = ArrayPage<LettaMessageUnion>;
116
151
 
152
+ export type RunsArrayPage = ArrayPage<Run>;
153
+
154
+ export type MessagesObjectPage = ObjectPage<Message>;
155
+
117
156
  /**
118
157
  * Input to approve or deny a tool call request
119
158
  */
@@ -133,6 +172,11 @@ export interface ApprovalCreate {
133
172
  */
134
173
  approve?: boolean | null;
135
174
 
175
+ /**
176
+ * The multi-agent group that the message was sent in
177
+ */
178
+ group_id?: string | null;
179
+
136
180
  /**
137
181
  * @deprecated An optional explanation for the provided approval status
138
182
  */
@@ -714,7 +758,8 @@ export interface LettaStreamingRequest {
714
758
  assistant_message_tool_name?: string;
715
759
 
716
760
  /**
717
- * Whether to process the request in the background.
761
+ * Whether to process the request in the background (only used when
762
+ * streaming=true).
718
763
  */
719
764
  background?: boolean;
720
765
 
@@ -726,7 +771,7 @@ export interface LettaStreamingRequest {
726
771
 
727
772
  /**
728
773
  * Whether to include periodic keepalive ping messages in the stream to prevent
729
- * connection timeouts.
774
+ * connection timeouts (only used when streaming=true).
730
775
  */
731
776
  include_pings?: boolean;
732
777
 
@@ -766,10 +811,16 @@ export interface LettaStreamingRequest {
766
811
 
767
812
  /**
768
813
  * Flag to determine if individual tokens should be streamed, rather than streaming
769
- * per step.
814
+ * per step (only used when streaming=true).
770
815
  */
771
816
  stream_tokens?: boolean;
772
817
 
818
+ /**
819
+ * If True, returns a streaming response (Server-Sent Events). If False (default),
820
+ * returns a complete response.
821
+ */
822
+ streaming?: boolean;
823
+
773
824
  /**
774
825
  * @deprecated Whether the server should parse specific tool call arguments
775
826
  * (default `send_message`) as `AssistantMessage` objects. Still supported for
@@ -928,14 +979,14 @@ export type LettaUserMessageContentUnion = TextContent | ImageContent;
928
979
  */
929
980
  export interface Message {
930
981
  /**
931
- * The role of the participant.
982
+ * The human-friendly ID of the Message
932
983
  */
933
- role: MessageRole;
984
+ id: string;
934
985
 
935
986
  /**
936
- * The human-friendly ID of the Message
987
+ * The role of the participant.
937
988
  */
938
- id?: string;
989
+ role: MessageRole;
939
990
 
940
991
  /**
941
992
  * The unique identifier of the agent.
@@ -1311,27 +1362,17 @@ export interface RedactedReasoningContent {
1311
1362
  * Representation of a run - a conversation or processing session for an agent.
1312
1363
  * Runs track when agents process messages and maintain the relationship between
1313
1364
  * agents, steps, and messages.
1314
- *
1315
- * Parameters: id (str): The unique identifier of the run (prefixed with 'run-').
1316
- * status (JobStatus): The current status of the run. created_at (datetime): The
1317
- * timestamp when the run was created. completed_at (datetime): The timestamp when
1318
- * the run was completed. agent_id (str): The unique identifier of the agent
1319
- * associated with the run. base_template_id (str): The base template ID that the
1320
- * run belongs to. stop_reason (StopReasonType): The reason why the run was
1321
- * stopped. background (bool): Whether the run was created in background mode.
1322
- * metadata (dict): Additional metadata for the run. request_config
1323
- * (LettaRequestConfig): The request configuration for the run.
1324
1365
  */
1325
1366
  export interface Run {
1326
1367
  /**
1327
- * The unique identifier of the agent associated with the run.
1368
+ * The human-friendly ID of the Run
1328
1369
  */
1329
- agent_id: string;
1370
+ id: string;
1330
1371
 
1331
1372
  /**
1332
- * The human-friendly ID of the Run
1373
+ * The unique identifier of the agent associated with the run.
1333
1374
  */
1334
- id?: string;
1375
+ agent_id: string;
1335
1376
 
1336
1377
  /**
1337
1378
  * Whether the run was created in background mode.
@@ -1860,7 +1901,9 @@ export interface MessageResetParams {
1860
1901
  add_default_initial_messages?: boolean;
1861
1902
  }
1862
1903
 
1863
- export interface MessageSendParams {
1904
+ export type MessageSendParams = MessageSendParamsNonStreaming | MessageSendParamsStreaming;
1905
+
1906
+ export interface MessageSendParamsBase {
1864
1907
  /**
1865
1908
  * @deprecated The name of the message argument in the designated message tool.
1866
1909
  * Still supported for legacy agent types, but deprecated for letta_v1_agent
@@ -1874,12 +1917,24 @@ export interface MessageSendParams {
1874
1917
  */
1875
1918
  assistant_message_tool_name?: string;
1876
1919
 
1920
+ /**
1921
+ * Whether to process the request in the background (only used when
1922
+ * streaming=true).
1923
+ */
1924
+ background?: boolean;
1925
+
1877
1926
  /**
1878
1927
  * @deprecated If set to True, enables reasoning before responses or tool calls
1879
1928
  * from the agent.
1880
1929
  */
1881
1930
  enable_thinking?: string;
1882
1931
 
1932
+ /**
1933
+ * Whether to include periodic keepalive ping messages in the stream to prevent
1934
+ * connection timeouts (only used when streaming=true).
1935
+ */
1936
+ include_pings?: boolean;
1937
+
1883
1938
  /**
1884
1939
  * Only return specified message types in the response. If `None` (default) returns
1885
1940
  * all messages.
@@ -1914,6 +1969,18 @@ export interface MessageSendParams {
1914
1969
  */
1915
1970
  messages?: Array<AgentsAPI.MessageCreate | ApprovalCreate> | null;
1916
1971
 
1972
+ /**
1973
+ * Flag to determine if individual tokens should be streamed, rather than streaming
1974
+ * per step (only used when streaming=true).
1975
+ */
1976
+ stream_tokens?: boolean;
1977
+
1978
+ /**
1979
+ * If True, returns a streaming response (Server-Sent Events). If False (default),
1980
+ * returns a complete response.
1981
+ */
1982
+ streaming?: boolean;
1983
+
1917
1984
  /**
1918
1985
  * @deprecated Whether the server should parse specific tool call arguments
1919
1986
  * (default `send_message`) as `AssistantMessage` objects. Still supported for
@@ -1961,6 +2028,25 @@ export namespace MessageSendParams {
1961
2028
  text: string;
1962
2029
  }
1963
2030
  }
2031
+
2032
+ export type MessageSendParamsNonStreaming = MessagesAPI.MessageSendParamsNonStreaming;
2033
+ export type MessageSendParamsStreaming = MessagesAPI.MessageSendParamsStreaming;
2034
+ }
2035
+
2036
+ export interface MessageSendParamsNonStreaming extends MessageSendParamsBase {
2037
+ /**
2038
+ * If True, returns a streaming response (Server-Sent Events). If False (default),
2039
+ * returns a complete response.
2040
+ */
2041
+ streaming?: false;
2042
+ }
2043
+
2044
+ export interface MessageSendParamsStreaming extends MessageSendParamsBase {
2045
+ /**
2046
+ * If True, returns a streaming response (Server-Sent Events). If False (default),
2047
+ * returns a complete response.
2048
+ */
2049
+ streaming: true;
1964
2050
  }
1965
2051
 
1966
2052
  export interface MessageSendAsyncParams {
@@ -2086,7 +2172,8 @@ export interface MessageStreamParams {
2086
2172
  assistant_message_tool_name?: string;
2087
2173
 
2088
2174
  /**
2089
- * Whether to process the request in the background.
2175
+ * Whether to process the request in the background (only used when
2176
+ * streaming=true).
2090
2177
  */
2091
2178
  background?: boolean;
2092
2179
 
@@ -2098,7 +2185,7 @@ export interface MessageStreamParams {
2098
2185
 
2099
2186
  /**
2100
2187
  * Whether to include periodic keepalive ping messages in the stream to prevent
2101
- * connection timeouts.
2188
+ * connection timeouts (only used when streaming=true).
2102
2189
  */
2103
2190
  include_pings?: boolean;
2104
2191
 
@@ -2138,10 +2225,16 @@ export interface MessageStreamParams {
2138
2225
 
2139
2226
  /**
2140
2227
  * Flag to determine if individual tokens should be streamed, rather than streaming
2141
- * per step.
2228
+ * per step (only used when streaming=true).
2142
2229
  */
2143
2230
  stream_tokens?: boolean;
2144
2231
 
2232
+ /**
2233
+ * If True, returns a streaming response (Server-Sent Events). If False (default),
2234
+ * returns a complete response.
2235
+ */
2236
+ streaming?: boolean;
2237
+
2145
2238
  /**
2146
2239
  * @deprecated Whether the server should parse specific tool call arguments
2147
2240
  * (default `send_message`) as `AssistantMessage` objects. Still supported for
@@ -2239,6 +2332,8 @@ export declare namespace Messages {
2239
2332
  type MessageModifyParams as MessageModifyParams,
2240
2333
  type MessageResetParams as MessageResetParams,
2241
2334
  type MessageSendParams as MessageSendParams,
2335
+ type MessageSendParamsNonStreaming as MessageSendParamsNonStreaming,
2336
+ type MessageSendParamsStreaming as MessageSendParamsStreaming,
2242
2337
  type MessageSendAsyncParams as MessageSendAsyncParams,
2243
2338
  type MessageStreamParams as MessageStreamParams,
2244
2339
  };
@@ -2,8 +2,10 @@
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as ToolsAPI from '../tools';
5
+ import { ToolsArrayPage } from '../tools';
5
6
  import * as AgentsAPI from './agents';
6
7
  import { APIPromise } from '../../core/api-promise';
8
+ import { ArrayPage, type ArrayPageParams, PagePromise } from '../../core/pagination';
7
9
  import { RequestOptions } from '../../internal/request-options';
8
10
  import { path } from '../../internal/utils/path';
9
11
 
@@ -15,8 +17,11 @@ export class Tools extends APIResource {
15
17
  agentID: string,
16
18
  query: ToolListParams | null | undefined = {},
17
19
  options?: RequestOptions,
18
- ): APIPromise<ToolListResponse> {
19
- return this._client.get(path`/v1/agents/${agentID}/tools`, { query, ...options });
20
+ ): PagePromise<ToolsArrayPage, ToolsAPI.Tool> {
21
+ return this._client.getAPIList(path`/v1/agents/${agentID}/tools`, ArrayPage<ToolsAPI.Tool>, {
22
+ query,
23
+ ...options,
24
+ });
20
25
  }
21
26
 
22
27
  /**
@@ -63,37 +68,7 @@ export class Tools extends APIResource {
63
68
  }
64
69
  }
65
70
 
66
- export type ToolListResponse = Array<ToolsAPI.Tool>;
67
-
68
- export interface ToolListParams {
69
- /**
70
- * Tool ID cursor for pagination. Returns tools that come after this tool ID in the
71
- * specified sort order
72
- */
73
- after?: string | null;
74
-
75
- /**
76
- * Tool ID cursor for pagination. Returns tools that come before this tool ID in
77
- * the specified sort order
78
- */
79
- before?: string | null;
80
-
81
- /**
82
- * Maximum number of tools to return
83
- */
84
- limit?: number | null;
85
-
86
- /**
87
- * Sort order for tools by creation time. 'asc' for oldest first, 'desc' for newest
88
- * first
89
- */
90
- order?: 'asc' | 'desc';
91
-
92
- /**
93
- * Field to sort by
94
- */
95
- order_by?: 'created_at';
96
- }
71
+ export interface ToolListParams extends ArrayPageParams {}
97
72
 
98
73
  export interface ToolAttachParams {
99
74
  /**
@@ -128,10 +103,11 @@ export interface ToolUpdateApprovalParams {
128
103
 
129
104
  export declare namespace Tools {
130
105
  export {
131
- type ToolListResponse as ToolListResponse,
132
106
  type ToolListParams as ToolListParams,
133
107
  type ToolAttachParams as ToolAttachParams,
134
108
  type ToolDetachParams as ToolDetachParams,
135
109
  type ToolUpdateApprovalParams as ToolUpdateApprovalParams,
136
110
  };
137
111
  }
112
+
113
+ export { type ToolsArrayPage };