@letta-ai/letta-agent-sdk 0.3.3 → 0.5.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/AGENTS.md +0 -3
  2. package/README.md +12 -0
  3. package/dist/app-server-management.d.ts +3 -48
  4. package/dist/app-server-management.d.ts.map +1 -1
  5. package/dist/app-server-session.d.ts +0 -6
  6. package/dist/app-server-session.d.ts.map +1 -1
  7. package/dist/client-base.d.ts +7 -15
  8. package/dist/client-base.d.ts.map +1 -1
  9. package/dist/client-entry.js +369 -468
  10. package/dist/client-entry.js.map +13 -12
  11. package/dist/client.d.ts +3 -3
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/cloud-session.d.ts.map +1 -1
  14. package/dist/cloud-status-transport.d.ts +53 -0
  15. package/dist/cloud-status-transport.d.ts.map +1 -0
  16. package/dist/index.d.ts +7 -16
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +896 -2019
  19. package/dist/index.js.map +18 -18
  20. package/dist/local-app-server-session.d.ts +1 -1
  21. package/dist/local-app-server-session.d.ts.map +1 -1
  22. package/dist/local-app-server.d.ts +11 -0
  23. package/dist/local-app-server.d.ts.map +1 -1
  24. package/dist/management.d.ts +0 -7
  25. package/dist/management.d.ts.map +1 -1
  26. package/dist/remote-session-protocol.d.ts +2 -0
  27. package/dist/remote-session-protocol.d.ts.map +1 -1
  28. package/dist/remote-turn-coordinator.d.ts.map +1 -1
  29. package/dist/types.d.ts +57 -66
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/validation.d.ts.map +1 -1
  32. package/package.json +2 -2
  33. package/src/app-server-management.ts +20 -256
  34. package/src/app-server-session.ts +0 -32
  35. package/src/client-base.ts +47 -73
  36. package/src/client.ts +31 -70
  37. package/src/cloud-session.ts +9 -267
  38. package/src/cloud-status-transport.ts +305 -0
  39. package/src/index.ts +11 -29
  40. package/src/local-app-server-session.ts +13 -3
  41. package/src/local-app-server.ts +97 -3
  42. package/src/management.ts +0 -7
  43. package/src/remote-session-protocol.ts +14 -0
  44. package/src/remote-turn-coordinator.ts +20 -2
  45. package/src/types.ts +64 -111
  46. package/src/validation.ts +21 -6
  47. package/dist/protocol.d.ts +0 -205
  48. package/dist/protocol.d.ts.map +0 -1
  49. package/dist/session.d.ts +0 -155
  50. package/dist/session.d.ts.map +0 -1
  51. package/dist/transport.d.ts +0 -53
  52. package/dist/transport.d.ts.map +0 -1
  53. package/src/protocol.ts +0 -249
  54. package/src/session.ts +0 -1638
  55. package/src/transport.ts +0 -484
package/src/protocol.ts DELETED
@@ -1,249 +0,0 @@
1
- /**
2
- * Local protocol type surface consumed by the SDK.
3
- *
4
- * @letta-ai/letta-code@0.27.11 publishes these declarations under an internal
5
- * dist path while its package.json points the public `./protocol` export at a
6
- * missing file. Keep the SDK's public types self-contained so CI and consumers
7
- * do not depend on that broken subpath export.
8
- */
9
-
10
- export interface MessageEnvelope {
11
- type: string;
12
- session_id?: string;
13
- uuid?: string;
14
- timestamp?: string;
15
- event_seq?: number;
16
- agent_id?: string;
17
- conversation_id?: string;
18
- [key: string]: unknown;
19
- }
20
-
21
- /**
22
- * System prompt preset configuration used by the CLI protocol.
23
- */
24
- export interface SystemPromptPresetConfig {
25
- type: "preset";
26
- preset: string;
27
- append?: string;
28
- }
29
-
30
- /**
31
- * Custom memory block definition accepted when creating agents.
32
- */
33
- export interface CreateBlock {
34
- label: string;
35
- value: string;
36
- base_template_id?: string | null;
37
- deployment_id?: string | null;
38
- description?: string | null;
39
- entity_id?: string | null;
40
- hidden?: boolean | null;
41
- is_template?: boolean;
42
- limit?: number;
43
- metadata?: Record<string, unknown> | null;
44
- preserve_on_migration?: boolean | null;
45
- project_id?: string | null;
46
- read_only?: boolean;
47
- tags?: string[] | null;
48
- template_id?: string | null;
49
- template_name?: string | null;
50
- }
51
-
52
- export interface SystemInitMessage extends MessageEnvelope {
53
- type: "system";
54
- subtype: "init";
55
- agent_id: string;
56
- conversation_id: string;
57
- model: string;
58
- tools: string[];
59
- cwd: string;
60
- mcp_servers: Array<{
61
- name: string;
62
- status: string;
63
- }>;
64
- permission_mode: string;
65
- slash_commands: string[];
66
- memfs_enabled?: boolean;
67
- skill_sources?: Array<"bundled" | "global" | "agent" | "project">;
68
- system_info_reminder_enabled?: boolean;
69
- reflection_trigger?: "off" | "step-count" | "compaction-event";
70
- reflection_behavior?: "reminder" | "auto-launch";
71
- reflection_step_count?: number;
72
- }
73
-
74
- export interface MessageWire extends MessageEnvelope {
75
- type: "message";
76
- message_type?: string;
77
- run_id?: string;
78
- }
79
-
80
- export interface StreamEvent extends MessageEnvelope {
81
- type: "stream_event";
82
- event: unknown;
83
- }
84
-
85
- export type ResultSubtype = "success" | "interrupted" | "error" | string;
86
-
87
- export interface ResultMessage extends MessageEnvelope {
88
- type: "result";
89
- subtype: ResultSubtype;
90
- agent_id?: string;
91
- conversation_id: string;
92
- duration_ms: number;
93
- duration_api_ms?: number;
94
- num_turns?: number;
95
- result?: string | null;
96
- run_ids?: string[];
97
- usage?: unknown;
98
- stop_reason?: string;
99
- }
100
-
101
- export interface ErrorMessage extends MessageEnvelope {
102
- type: "error";
103
- message: string;
104
- stop_reason: string;
105
- run_id?: string;
106
- api_error?: Record<string, unknown>;
107
- }
108
-
109
- export interface CanUseToolControlRequest {
110
- subtype: "can_use_tool";
111
- tool_name: string;
112
- input: Record<string, unknown>;
113
- tool_call_id: string;
114
- permission_suggestions?: unknown[];
115
- blocked_path?: string | null;
116
- diffs?: unknown[];
117
- }
118
-
119
- export interface RegisterExternalToolsRequest {
120
- subtype: "register_external_tools";
121
- tools: Array<{
122
- name: string;
123
- label?: string;
124
- description: string;
125
- parameters: Record<string, unknown>;
126
- }>;
127
- }
128
-
129
- export interface BootstrapSessionStateRequest {
130
- subtype: "bootstrap_session_state";
131
- limit?: number;
132
- order?: "asc" | "desc";
133
- }
134
-
135
- export interface RecoverPendingApprovalsControlRequest {
136
- subtype: "recover_pending_approvals";
137
- agent_id?: string;
138
- conversation_id?: string;
139
- }
140
-
141
- export interface ListMessagesControlRequest {
142
- subtype: "list_messages";
143
- conversation_id?: string;
144
- agent_id?: string;
145
- before?: string;
146
- after?: string;
147
- order?: "asc" | "desc";
148
- limit?: number;
149
- }
150
-
151
- export interface InterruptControlRequest {
152
- subtype: "interrupt";
153
- }
154
-
155
- export interface InitializeControlRequest {
156
- subtype: "initialize";
157
- }
158
-
159
- export interface ExecuteExternalToolControlRequest {
160
- subtype: "execute_external_tool";
161
- tool_call_id: string;
162
- tool_name: string;
163
- input: Record<string, unknown>;
164
- }
165
-
166
- export type ControlRequestBody =
167
- | InitializeControlRequest
168
- | InterruptControlRequest
169
- | RegisterExternalToolsRequest
170
- | BootstrapSessionStateRequest
171
- | RecoverPendingApprovalsControlRequest
172
- | ListMessagesControlRequest
173
- | CanUseToolControlRequest
174
- | ExecuteExternalToolControlRequest
175
- | (Record<string, unknown> & { subtype: string });
176
-
177
- export interface ControlRequest extends MessageEnvelope {
178
- type: "control_request";
179
- request_id: string;
180
- request: ControlRequestBody;
181
- }
182
-
183
- export interface CanUseToolResponseAllow {
184
- behavior: "allow";
185
- message?: string;
186
- updatedInput?: Record<string, unknown> | null;
187
- updatedPermissions?: unknown[];
188
- }
189
-
190
- export interface CanUseToolResponseDeny {
191
- behavior: "deny";
192
- message: string;
193
- interrupt?: boolean;
194
- }
195
-
196
- export type CanUseToolResponse = CanUseToolResponseAllow | CanUseToolResponseDeny;
197
-
198
- export interface ExternalToolResultContent {
199
- type: "text" | "image";
200
- text?: string;
201
- data?: string;
202
- mimeType?: string;
203
- }
204
-
205
- export interface ExternalToolResultResponse {
206
- subtype: "external_tool_result";
207
- request_id: string;
208
- tool_call_id: string;
209
- content: ExternalToolResultContent[];
210
- is_error: boolean;
211
- }
212
-
213
- export type ControlResponseBody =
214
- | {
215
- subtype: "success";
216
- request_id: string;
217
- response?: CanUseToolResponse | Record<string, unknown>;
218
- }
219
- | {
220
- subtype: "error";
221
- request_id: string;
222
- error: string;
223
- }
224
- | ExternalToolResultResponse;
225
-
226
- export interface ControlResponse extends MessageEnvelope {
227
- type: "control_response";
228
- response: ControlResponseBody;
229
- }
230
-
231
- export interface RetryMessage extends MessageEnvelope {
232
- type: "retry";
233
- reason: string;
234
- attempt: number;
235
- max_attempts: number;
236
- delay_ms: number;
237
- run_id?: string;
238
- }
239
-
240
- export type WireMessage =
241
- | SystemInitMessage
242
- | MessageWire
243
- | StreamEvent
244
- | ResultMessage
245
- | ErrorMessage
246
- | RetryMessage
247
- | ControlRequest
248
- | ControlResponse
249
- | (MessageEnvelope & { type: string });