@letta-ai/letta-client 1.2.0 → 1.3.2

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 (176) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +40 -79
  3. package/client.d.mts +13 -7
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +13 -7
  6. package/client.d.ts.map +1 -1
  7. package/client.js +6 -0
  8. package/client.js.map +1 -1
  9. package/client.mjs +7 -1
  10. package/client.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/resources/agents/agents.d.mts +18 -13
  13. package/resources/agents/agents.d.mts.map +1 -1
  14. package/resources/agents/agents.d.ts +18 -13
  15. package/resources/agents/agents.d.ts.map +1 -1
  16. package/resources/agents/agents.js.map +1 -1
  17. package/resources/agents/agents.mjs +1 -1
  18. package/resources/agents/agents.mjs.map +1 -1
  19. package/resources/agents/index.d.mts +1 -1
  20. package/resources/agents/index.d.mts.map +1 -1
  21. package/resources/agents/index.d.ts +1 -1
  22. package/resources/agents/index.d.ts.map +1 -1
  23. package/resources/agents/index.js.map +1 -1
  24. package/resources/agents/index.mjs.map +1 -1
  25. package/resources/agents/messages.d.mts +33 -1
  26. package/resources/agents/messages.d.mts.map +1 -1
  27. package/resources/agents/messages.d.ts +33 -1
  28. package/resources/agents/messages.d.ts.map +1 -1
  29. package/resources/agents/tools.d.mts +59 -1
  30. package/resources/agents/tools.d.mts.map +1 -1
  31. package/resources/agents/tools.d.ts +59 -1
  32. package/resources/agents/tools.d.ts.map +1 -1
  33. package/resources/agents/tools.js +10 -0
  34. package/resources/agents/tools.js.map +1 -1
  35. package/resources/agents/tools.mjs +10 -0
  36. package/resources/agents/tools.mjs.map +1 -1
  37. package/resources/archives/archives.d.mts +2 -2
  38. package/resources/archives/archives.d.mts.map +1 -1
  39. package/resources/archives/archives.d.ts +2 -2
  40. package/resources/archives/archives.d.ts.map +1 -1
  41. package/resources/archives/archives.js.map +1 -1
  42. package/resources/archives/archives.mjs.map +1 -1
  43. package/resources/archives/index.d.mts +1 -1
  44. package/resources/archives/index.d.mts.map +1 -1
  45. package/resources/archives/index.d.ts +1 -1
  46. package/resources/archives/index.d.ts.map +1 -1
  47. package/resources/archives/index.js.map +1 -1
  48. package/resources/archives/index.mjs +1 -1
  49. package/resources/archives/index.mjs.map +1 -1
  50. package/resources/archives/passages.d.mts +3 -71
  51. package/resources/archives/passages.d.mts.map +1 -1
  52. package/resources/archives/passages.d.ts +3 -71
  53. package/resources/archives/passages.d.ts.map +1 -1
  54. package/resources/blocks/agents.d.mts +4 -4
  55. package/resources/blocks/agents.d.ts +4 -4
  56. package/resources/blocks/blocks.d.mts +9 -8
  57. package/resources/blocks/blocks.d.mts.map +1 -1
  58. package/resources/blocks/blocks.d.ts +9 -8
  59. package/resources/blocks/blocks.d.ts.map +1 -1
  60. package/resources/blocks/blocks.js.map +1 -1
  61. package/resources/blocks/blocks.mjs.map +1 -1
  62. package/resources/identities/identities.d.mts +4 -0
  63. package/resources/identities/identities.d.mts.map +1 -1
  64. package/resources/identities/identities.d.ts +4 -0
  65. package/resources/identities/identities.d.ts.map +1 -1
  66. package/resources/identities/identities.js.map +1 -1
  67. package/resources/identities/identities.mjs.map +1 -1
  68. package/resources/index.d.mts +5 -3
  69. package/resources/index.d.mts.map +1 -1
  70. package/resources/index.d.ts +5 -3
  71. package/resources/index.d.ts.map +1 -1
  72. package/resources/index.js +5 -1
  73. package/resources/index.js.map +1 -1
  74. package/resources/index.mjs +3 -1
  75. package/resources/index.mjs.map +1 -1
  76. package/resources/mcp-servers/index.d.mts +1 -1
  77. package/resources/mcp-servers/index.d.mts.map +1 -1
  78. package/resources/mcp-servers/index.d.ts +1 -1
  79. package/resources/mcp-servers/index.d.ts.map +1 -1
  80. package/resources/mcp-servers/index.js.map +1 -1
  81. package/resources/mcp-servers/index.mjs.map +1 -1
  82. package/resources/mcp-servers/mcp-servers.d.mts +1 -41
  83. package/resources/mcp-servers/mcp-servers.d.mts.map +1 -1
  84. package/resources/mcp-servers/mcp-servers.d.ts +1 -41
  85. package/resources/mcp-servers/mcp-servers.d.ts.map +1 -1
  86. package/resources/mcp-servers/mcp-servers.js.map +1 -1
  87. package/resources/mcp-servers/mcp-servers.mjs.map +1 -1
  88. package/resources/mcp-servers/tools.d.mts +4 -4
  89. package/resources/mcp-servers/tools.d.mts.map +1 -1
  90. package/resources/mcp-servers/tools.d.ts +4 -4
  91. package/resources/mcp-servers/tools.d.ts.map +1 -1
  92. package/resources/mcp-servers/tools.js +1 -1
  93. package/resources/mcp-servers/tools.mjs +1 -1
  94. package/resources/messages.d.mts +114 -0
  95. package/resources/messages.d.mts.map +1 -0
  96. package/resources/messages.d.ts +114 -0
  97. package/resources/messages.d.ts.map +1 -0
  98. package/resources/messages.js +24 -0
  99. package/resources/messages.js.map +1 -0
  100. package/resources/messages.mjs +20 -0
  101. package/resources/messages.mjs.map +1 -0
  102. package/resources/models/models.d.mts +11 -0
  103. package/resources/models/models.d.mts.map +1 -1
  104. package/resources/models/models.d.ts +11 -0
  105. package/resources/models/models.d.ts.map +1 -1
  106. package/resources/models/models.js.map +1 -1
  107. package/resources/models/models.mjs.map +1 -1
  108. package/resources/passages.d.mts +150 -0
  109. package/resources/passages.d.mts.map +1 -0
  110. package/resources/passages.d.ts +150 -0
  111. package/resources/passages.d.ts.map +1 -0
  112. package/resources/passages.js +25 -0
  113. package/resources/passages.js.map +1 -0
  114. package/resources/passages.mjs +21 -0
  115. package/resources/passages.mjs.map +1 -0
  116. package/resources/runs/usage.d.mts +4 -2
  117. package/resources/runs/usage.d.mts.map +1 -1
  118. package/resources/runs/usage.d.ts +4 -2
  119. package/resources/runs/usage.d.ts.map +1 -1
  120. package/resources/steps/steps.d.mts +8 -1
  121. package/resources/steps/steps.d.mts.map +1 -1
  122. package/resources/steps/steps.d.ts +8 -1
  123. package/resources/steps/steps.d.ts.map +1 -1
  124. package/resources/steps/steps.js.map +1 -1
  125. package/resources/steps/steps.mjs.map +1 -1
  126. package/resources/templates/index.d.mts +1 -1
  127. package/resources/templates/index.d.mts.map +1 -1
  128. package/resources/templates/index.d.ts +1 -1
  129. package/resources/templates/index.d.ts.map +1 -1
  130. package/resources/templates/index.js.map +1 -1
  131. package/resources/templates/index.mjs +1 -1
  132. package/resources/templates/index.mjs.map +1 -1
  133. package/resources/templates/templates.d.mts +99 -0
  134. package/resources/templates/templates.d.mts.map +1 -1
  135. package/resources/templates/templates.d.ts +99 -0
  136. package/resources/templates/templates.d.ts.map +1 -1
  137. package/resources/templates/templates.js +19 -0
  138. package/resources/templates/templates.js.map +1 -1
  139. package/resources/templates/templates.mjs +19 -0
  140. package/resources/templates/templates.mjs.map +1 -1
  141. package/resources/tools.d.mts +83 -6
  142. package/resources/tools.d.mts.map +1 -1
  143. package/resources/tools.d.ts +83 -6
  144. package/resources/tools.d.ts.map +1 -1
  145. package/resources/tools.js +11 -6
  146. package/resources/tools.js.map +1 -1
  147. package/resources/tools.mjs +11 -6
  148. package/resources/tools.mjs.map +1 -1
  149. package/src/client.ts +58 -9
  150. package/src/resources/agents/agents.ts +30 -12
  151. package/src/resources/agents/index.ts +3 -0
  152. package/src/resources/agents/messages.ts +39 -1
  153. package/src/resources/agents/tools.ts +70 -0
  154. package/src/resources/archives/archives.ts +1 -2
  155. package/src/resources/archives/index.ts +1 -6
  156. package/src/resources/archives/passages.ts +3 -88
  157. package/src/resources/blocks/agents.ts +4 -4
  158. package/src/resources/blocks/blocks.ts +9 -8
  159. package/src/resources/identities/identities.ts +4 -0
  160. package/src/resources/index.ts +23 -4
  161. package/src/resources/mcp-servers/index.ts +0 -2
  162. package/src/resources/mcp-servers/mcp-servers.ts +0 -47
  163. package/src/resources/mcp-servers/tools.ts +4 -4
  164. package/src/resources/messages.ts +165 -0
  165. package/src/resources/models/models.ts +21 -0
  166. package/src/resources/passages.ts +182 -0
  167. package/src/resources/runs/usage.ts +6 -2
  168. package/src/resources/steps/steps.ts +7 -1
  169. package/src/resources/templates/index.ts +9 -1
  170. package/src/resources/templates/templates.ts +143 -0
  171. package/src/resources/tools.ts +104 -9
  172. package/src/version.ts +1 -1
  173. package/version.d.mts +1 -1
  174. package/version.d.ts +1 -1
  175. package/version.js +1 -1
  176. package/version.mjs +1 -1
@@ -3,14 +3,157 @@
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as AgentsAPI from './agents';
5
5
  import { AgentCreateParams, AgentCreateResponse, Agents } from './agents';
6
+ import { APIPromise } from '../../core/api-promise';
7
+ import { RequestOptions } from '../../internal/request-options';
8
+ import { path } from '../../internal/utils/path';
6
9
 
7
10
  export class Templates extends APIResource {
8
11
  agents: AgentsAPI.Agents = new AgentsAPI.Agents(this._client);
12
+
13
+ /**
14
+ * Creates a new template from an existing agent or agent file
15
+ */
16
+ create(body: TemplateCreateParams, options?: RequestOptions): APIPromise<TemplateCreateResponse> {
17
+ return this._client.post('/v1/templates', { body, ...options });
18
+ }
19
+
20
+ /**
21
+ * Updates the current working version of a template from an agent file
22
+ */
23
+ update(
24
+ templateName: string,
25
+ body: TemplateUpdateParams,
26
+ options?: RequestOptions,
27
+ ): APIPromise<TemplateUpdateResponse> {
28
+ return this._client.patch(path`/v1/templates/${templateName}`, { body, ...options });
29
+ }
30
+
31
+ /**
32
+ * Deletes all versions of a template with the specified name
33
+ */
34
+ delete(
35
+ templateName: string,
36
+ body?: TemplateDeleteParams | null | undefined,
37
+ options?: RequestOptions,
38
+ ): APIPromise<TemplateDeleteResponse> {
39
+ return this._client.delete(path`/v1/templates/${templateName}`, { body, ...options });
40
+ }
41
+ }
42
+
43
+ export interface TemplateCreateResponse {
44
+ id: string;
45
+
46
+ /**
47
+ * The latest version of the template
48
+ */
49
+ latest_version: string;
50
+
51
+ /**
52
+ * The exact name of the template
53
+ */
54
+ name: string;
55
+
56
+ project_id: string;
57
+
58
+ project_slug: string;
59
+
60
+ /**
61
+ * The full name of the template, including version and project slug
62
+ */
63
+ template_deployment_slug: string;
64
+
65
+ /**
66
+ * When the template was last updated
67
+ */
68
+ updated_at: string;
69
+
70
+ description?: string;
71
+ }
72
+
73
+ export interface TemplateUpdateResponse {
74
+ success: boolean;
75
+
76
+ message?: string;
77
+ }
78
+
79
+ export interface TemplateDeleteResponse {
80
+ success: boolean;
9
81
  }
10
82
 
83
+ export type TemplateCreateParams = TemplateCreateParams.Variant0 | TemplateCreateParams.Variant1;
84
+
85
+ export declare namespace TemplateCreateParams {
86
+ export interface Variant0 {
87
+ /**
88
+ * The ID of the agent to use as a template, can be from any project
89
+ */
90
+ agent_id: string;
91
+
92
+ type: 'agent';
93
+
94
+ /**
95
+ * Optional custom name for the template. If not provided, a random name will be
96
+ * generated.
97
+ */
98
+ name?: string;
99
+ }
100
+
101
+ export interface Variant1 {
102
+ /**
103
+ * The agent file to use as a template, this should be a JSON file exported from
104
+ * the platform
105
+ */
106
+ agent_file: { [key: string]: unknown };
107
+
108
+ type: 'agent_file';
109
+
110
+ /**
111
+ * Optional custom name for the template. If not provided, a random name will be
112
+ * generated.
113
+ */
114
+ name?: string;
115
+
116
+ /**
117
+ * If true, update existing custom tools source_code and json_schema (source_type
118
+ * cannot be changed)
119
+ */
120
+ update_existing_tools?: boolean;
121
+ }
122
+ }
123
+
124
+ export interface TemplateUpdateParams {
125
+ /**
126
+ * The agent file to update the current template version from
127
+ */
128
+ agent_file_json: { [key: string]: unknown };
129
+
130
+ /**
131
+ * If true, Letta will automatically save any changes as a version before updating
132
+ * the template
133
+ */
134
+ save_existing_changes?: boolean;
135
+
136
+ /**
137
+ * If true, update existing custom tools source_code and json_schema (source_type
138
+ * cannot be changed)
139
+ */
140
+ update_existing_tools?: boolean;
141
+ }
142
+
143
+ export interface TemplateDeleteParams {}
144
+
11
145
  Templates.Agents = Agents;
12
146
 
13
147
  export declare namespace Templates {
148
+ export {
149
+ type TemplateCreateResponse as TemplateCreateResponse,
150
+ type TemplateUpdateResponse as TemplateUpdateResponse,
151
+ type TemplateDeleteResponse as TemplateDeleteResponse,
152
+ type TemplateCreateParams as TemplateCreateParams,
153
+ type TemplateUpdateParams as TemplateUpdateParams,
154
+ type TemplateDeleteParams as TemplateDeleteParams,
155
+ };
156
+
14
157
  export {
15
158
  Agents as Agents,
16
159
  type AgentCreateResponse as AgentCreateResponse,
@@ -47,17 +47,22 @@ export class Tools extends APIResource {
47
47
  }
48
48
 
49
49
  /**
50
- * Create or update a tool
51
- */
52
- upsert(body: ToolUpsertParams, options?: RequestOptions): APIPromise<Tool> {
53
- return this._client.put('/v1/tools/', { body, ...options });
50
+ * Search tools using semantic search.
51
+ *
52
+ * Requires tool embedding to be enabled (embed_tools=True). Uses vector search,
53
+ * full-text search, or hybrid mode to find tools matching the query.
54
+ *
55
+ * Returns tools ranked by relevance with their search scores.
56
+ */
57
+ search(body: ToolSearchParams, options?: RequestOptions): APIPromise<ToolSearchResponse> {
58
+ return this._client.post('/v1/tools/search', { body, ...options });
54
59
  }
55
60
 
56
61
  /**
57
- * Upsert base tools
62
+ * Create or update a tool
58
63
  */
59
- upsertBaseTools(options?: RequestOptions): APIPromise<ToolUpsertBaseToolsResponse> {
60
- return this._client.post('/v1/tools/add-base-tools', options);
64
+ upsert(body: ToolUpsertParams, options?: RequestOptions): APIPromise<Tool> {
65
+ return this._client.put('/v1/tools/', { body, ...options });
61
66
  }
62
67
  }
63
68
 
@@ -304,6 +309,66 @@ export interface ToolReturnMessage {
304
309
  tool_returns?: Array<MessagesAPI.ToolReturn> | null;
305
310
  }
306
311
 
312
+ /**
313
+ * Request model for searching tools using semantic search.
314
+ */
315
+ export interface ToolSearchRequest {
316
+ /**
317
+ * Maximum number of results to return.
318
+ */
319
+ limit?: number;
320
+
321
+ /**
322
+ * Text query for semantic search.
323
+ */
324
+ query?: string | null;
325
+
326
+ /**
327
+ * Search mode: vector, fts, or hybrid.
328
+ */
329
+ search_mode?: 'vector' | 'fts' | 'hybrid';
330
+
331
+ /**
332
+ * Filter by tags (match any).
333
+ */
334
+ tags?: Array<string> | null;
335
+
336
+ /**
337
+ * Filter by tool types (e.g., 'custom', 'letta_core').
338
+ */
339
+ tool_types?: Array<string> | null;
340
+ }
341
+
342
+ /**
343
+ * Result from a tool search operation.
344
+ */
345
+ export interface ToolSearchResult {
346
+ /**
347
+ * Combined relevance score (RRF for hybrid mode).
348
+ */
349
+ combined_score: number;
350
+
351
+ /**
352
+ * The matched tool.
353
+ */
354
+ tool: Tool;
355
+
356
+ /**
357
+ * The embedded text content used for matching.
358
+ */
359
+ embedded_text?: string | null;
360
+
361
+ /**
362
+ * Full-text search rank position.
363
+ */
364
+ fts_rank?: number | null;
365
+
366
+ /**
367
+ * Vector search rank position.
368
+ */
369
+ vector_rank?: number | null;
370
+ }
371
+
307
372
  export type ToolType =
308
373
  | 'custom'
309
374
  | 'letta_core'
@@ -319,7 +384,7 @@ export type ToolType =
319
384
 
320
385
  export type ToolDeleteResponse = unknown;
321
386
 
322
- export type ToolUpsertBaseToolsResponse = Array<Tool>;
387
+ export type ToolSearchResponse = Array<ToolSearchResult>;
323
388
 
324
389
  export interface ToolCreateParams {
325
390
  /**
@@ -481,6 +546,33 @@ export interface ToolListParams extends ArrayPageParams {
481
546
  tool_types?: Array<string> | null;
482
547
  }
483
548
 
549
+ export interface ToolSearchParams {
550
+ /**
551
+ * Maximum number of results to return.
552
+ */
553
+ limit?: number;
554
+
555
+ /**
556
+ * Text query for semantic search.
557
+ */
558
+ query?: string | null;
559
+
560
+ /**
561
+ * Search mode: vector, fts, or hybrid.
562
+ */
563
+ search_mode?: 'vector' | 'fts' | 'hybrid';
564
+
565
+ /**
566
+ * Filter by tags (match any).
567
+ */
568
+ tags?: Array<string> | null;
569
+
570
+ /**
571
+ * Filter by tool types (e.g., 'custom', 'letta_core').
572
+ */
573
+ tool_types?: Array<string> | null;
574
+ }
575
+
484
576
  export interface ToolUpsertParams {
485
577
  /**
486
578
  * The source code of the function.
@@ -547,13 +639,16 @@ export declare namespace Tools {
547
639
  type Tool as Tool,
548
640
  type ToolCreate as ToolCreate,
549
641
  type ToolReturnMessage as ToolReturnMessage,
642
+ type ToolSearchRequest as ToolSearchRequest,
643
+ type ToolSearchResult as ToolSearchResult,
550
644
  type ToolType as ToolType,
551
645
  type ToolDeleteResponse as ToolDeleteResponse,
552
- type ToolUpsertBaseToolsResponse as ToolUpsertBaseToolsResponse,
646
+ type ToolSearchResponse as ToolSearchResponse,
553
647
  type ToolsArrayPage as ToolsArrayPage,
554
648
  type ToolCreateParams as ToolCreateParams,
555
649
  type ToolUpdateParams as ToolUpdateParams,
556
650
  type ToolListParams as ToolListParams,
651
+ type ToolSearchParams as ToolSearchParams,
557
652
  type ToolUpsertParams as ToolUpsertParams,
558
653
  };
559
654
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.2.0'; // x-release-please-version
1
+ export const VERSION = '1.3.2'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.2.0";
1
+ export declare const VERSION = "1.3.2";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.2.0";
1
+ export declare const VERSION = "1.3.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.2.0'; // x-release-please-version
4
+ exports.VERSION = '1.3.2'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.2.0'; // x-release-please-version
1
+ export const VERSION = '1.3.2'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map