@letta-ai/letta-agent-sdk 0.7.2 → 0.7.4
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.
- package/dist/app-server-management.d.ts +2 -1
- package/dist/app-server-management.d.ts.map +1 -1
- package/dist/client-entry.d.ts +1 -0
- package/dist/client-entry.d.ts.map +1 -1
- package/dist/client-entry.js +53 -5
- package/dist/client-entry.js.map +10 -9
- package/dist/cloud-management.d.ts +2 -1
- package/dist/cloud-management.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -5
- package/dist/index.js.map +10 -9
- package/dist/management-errors.d.ts +9 -0
- package/dist/management-errors.d.ts.map +1 -0
- package/dist/management-types.d.ts +13 -1
- package/dist/management-types.d.ts.map +1 -1
- package/dist/management.d.ts +2 -1
- package/dist/management.d.ts.map +1 -1
- package/dist/remote-session-protocol.d.ts +1 -0
- package/dist/remote-session-protocol.d.ts.map +1 -1
- package/dist/remote-turn-coordinator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app-server-management.ts +24 -0
- package/src/client-entry.ts +1 -0
- package/src/cloud-management.ts +8 -0
- package/src/index.ts +2 -0
- package/src/management-errors.ts +16 -0
- package/src/management-types.ts +17 -0
- package/src/management.ts +25 -0
- package/src/remote-session-protocol.ts +1 -0
- package/src/remote-turn-coordinator.ts +18 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentListParams, AgentUpdateParams } from "@letta-ai/letta-client/resources/agents/agents";
|
|
2
|
-
import type { ConversationCreateParams, ConversationListParams, ConversationUpdateParams } from "@letta-ai/letta-client/resources/conversations/conversations";
|
|
2
|
+
import type { ConversationCreateParams, ConversationForkParams, ConversationListParams, ConversationUpdateParams } from "@letta-ai/letta-client/resources/conversations/conversations";
|
|
3
3
|
import type { MessageListParams } from "@letta-ai/letta-client/resources/conversations/messages";
|
|
4
4
|
import type { ManagementTransport } from "./management.js";
|
|
5
5
|
import type { ConversationMessagesResult, LettaAgent, LettaConversation } from "./management-types.js";
|
|
@@ -33,6 +33,7 @@ export declare class AppServerManagementTransport implements ManagementTransport
|
|
|
33
33
|
retrieveConversation(conversationId: string): Promise<LettaConversation>;
|
|
34
34
|
createConversation(body: ConversationCreateParams): Promise<LettaConversation>;
|
|
35
35
|
updateConversation(conversationId: string, body: ConversationUpdateParams): Promise<LettaConversation>;
|
|
36
|
+
forkConversation(conversationId: string, body: ConversationForkParams): Promise<LettaConversation>;
|
|
36
37
|
listConversationMessages(conversationId: string, query: MessageListParams): Promise<ConversationMessagesResult>;
|
|
37
38
|
private request;
|
|
38
39
|
private acquireConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-server-management.d.ts","sourceRoot":"","sources":["../src/app-server-management.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-server-management.d.ts","sourceRoot":"","sources":["../src/app-server-management.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,8DAA8D,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AAGjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjF,KAAK,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,0BAA0B,GACpC,OAAO,CAAC,4BAA4B,CAAC,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1C,CAAC;AAmBJ;;;;;;GAMG;AACH,qBAAa,4BACX,YAAW,mBAAmB;IAKlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,iBAAiB,CAA0C;IACnE,OAAO,CAAC,kBAAkB,CAA4B;gBAEzB,OAAO,EAAE,0BAA0B;IAE1D,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAYzD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAanD,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC;IAahB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3C,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAWvC,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAYzB,oBAAoB,CACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC;IAavB,kBAAkB,CACtB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAavB,kBAAkB,CACtB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAavB,gBAAgB,CACpB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAkBvB,wBAAwB,CAC5B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,0BAA0B,CAAC;YAgBxB,OAAO;IA4BrB,OAAO,CAAC,iBAAiB;YAsBX,cAAc;IA+C5B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,sBAAsB;CAW/B"}
|
package/dist/client-entry.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class LettaAgentClient extends LettaAgentClientBase {
|
|
|
11
11
|
constructor(options: PortableLettaAgentClientOptions);
|
|
12
12
|
}
|
|
13
13
|
export { CloudManagedSandboxExpiredError } from "./cloud-session.js";
|
|
14
|
+
export { ConversationForkHydrationError } from "./management-errors.js";
|
|
14
15
|
export { RepositoriesClient } from "./repositories.js";
|
|
15
16
|
export type { Computer, ComputerMetadata, ComputerSelector, ComputersClient, ListComputersOptions, ListComputersResult, ResolvedComputer, } from "./computers.js";
|
|
16
17
|
export type * from "./management-types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-entry.d.ts","sourceRoot":"","sources":["../src/client-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,+BAA+B,GACvC,4BAA4B,GAC5B,2BAA2B,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,oBAAoB;gBAC5C,OAAO,EAAE,+BAA+B;CAMrD;AAED,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,uBAAuB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AACvE,mBAAmB,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"client-entry.d.ts","sourceRoot":"","sources":["../src/client-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,+BAA+B,GACvC,4BAA4B,GAC5B,2BAA2B,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,oBAAoB;gBAC5C,OAAO,EAAE,+BAA+B;CAMrD;AAED,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,uBAAuB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AACvE,mBAAmB,YAAY,CAAC"}
|
package/dist/client-entry.js
CHANGED
|
@@ -3439,6 +3439,16 @@ function normalizeAppServerModels(response) {
|
|
|
3439
3439
|
};
|
|
3440
3440
|
}
|
|
3441
3441
|
|
|
3442
|
+
// src/management-errors.ts
|
|
3443
|
+
class ConversationForkHydrationError extends Error {
|
|
3444
|
+
conversationId;
|
|
3445
|
+
constructor(conversationId, cause) {
|
|
3446
|
+
super(`Conversation ${conversationId} was forked, but its state could not be retrieved.`, { cause });
|
|
3447
|
+
this.name = "ConversationForkHydrationError";
|
|
3448
|
+
this.conversationId = conversationId;
|
|
3449
|
+
}
|
|
3450
|
+
}
|
|
3451
|
+
|
|
3442
3452
|
// src/request-ids.ts
|
|
3443
3453
|
var processRequestCounter = 0;
|
|
3444
3454
|
function createRequestIdGenerator() {
|
|
@@ -3509,6 +3519,15 @@ class AppServerManagementTransport {
|
|
|
3509
3519
|
const response = await this.request("conversation_update", { conversation_id: conversationId, body }, "conversation_update_response");
|
|
3510
3520
|
return ensureResponse(response, response.conversation, `Failed to update conversation ${conversationId}.`);
|
|
3511
3521
|
}
|
|
3522
|
+
async forkConversation(conversationId, body) {
|
|
3523
|
+
const response = await this.request("conversation_fork", { conversation_id: conversationId, body }, "conversation_fork_response");
|
|
3524
|
+
const fork = ensureResponse(response, response.conversation, `Failed to fork conversation ${conversationId}.`);
|
|
3525
|
+
try {
|
|
3526
|
+
return await this.retrieveConversation(fork.id);
|
|
3527
|
+
} catch (error) {
|
|
3528
|
+
throw new ConversationForkHydrationError(fork.id, error);
|
|
3529
|
+
}
|
|
3530
|
+
}
|
|
3512
3531
|
async listConversationMessages(conversationId, query) {
|
|
3513
3532
|
const response = await this.request("conversation_messages_list", { conversation_id: conversationId, query }, "conversation_messages_list_response");
|
|
3514
3533
|
if (!response.success) {
|
|
@@ -8807,6 +8826,7 @@ class RemoteTurnCoordinator {
|
|
|
8807
8826
|
runIds: new Set,
|
|
8808
8827
|
observedTurnEvidence: false,
|
|
8809
8828
|
observedRequiresApprovalStop: false,
|
|
8829
|
+
pendingTerminal: null,
|
|
8810
8830
|
abortRequested: false,
|
|
8811
8831
|
timeout: null
|
|
8812
8832
|
};
|
|
@@ -9026,6 +9046,8 @@ class RemoteTurnCoordinator {
|
|
|
9026
9046
|
return;
|
|
9027
9047
|
}
|
|
9028
9048
|
if (status === "WAITING_ON_INPUT" && active.observedTurnEvidence) {
|
|
9049
|
+
if (active.pendingTerminal)
|
|
9050
|
+
return;
|
|
9029
9051
|
this.completeActiveTurn({
|
|
9030
9052
|
runtime: active.runtime,
|
|
9031
9053
|
stopReason: null,
|
|
@@ -9056,14 +9078,19 @@ class RemoteTurnCoordinator {
|
|
|
9056
9078
|
}
|
|
9057
9079
|
const errorCode = toSdkErrorCode(finished.stopReason);
|
|
9058
9080
|
const success = !isFailureStopReason(finished.stopReason);
|
|
9059
|
-
|
|
9081
|
+
const terminal = {
|
|
9060
9082
|
runtime: active.runtime,
|
|
9061
9083
|
stopReason: finished.stopReason,
|
|
9062
9084
|
runIds: [...active.runIds],
|
|
9063
9085
|
success,
|
|
9064
9086
|
...success ? {} : { errorCode: errorCode ?? "error" },
|
|
9065
9087
|
...finished.error ? { detail: finished.error } : {}
|
|
9066
|
-
}
|
|
9088
|
+
};
|
|
9089
|
+
if (active.pendingTerminal) {
|
|
9090
|
+
active.pendingTerminal = terminal;
|
|
9091
|
+
return;
|
|
9092
|
+
}
|
|
9093
|
+
this.completeActiveTurn(terminal);
|
|
9067
9094
|
}
|
|
9068
9095
|
handleTurnTerminalDelta(delta, sdkMessage) {
|
|
9069
9096
|
const active = this.activeTurn;
|
|
@@ -9076,11 +9103,15 @@ class RemoteTurnCoordinator {
|
|
|
9076
9103
|
active.observedRequiresApprovalStop = true;
|
|
9077
9104
|
return;
|
|
9078
9105
|
}
|
|
9079
|
-
|
|
9106
|
+
active.pendingTerminal = {
|
|
9080
9107
|
runtime: active.runtime,
|
|
9081
9108
|
stopReason,
|
|
9082
9109
|
runIds: [...active.runIds]
|
|
9083
|
-
}
|
|
9110
|
+
};
|
|
9111
|
+
return;
|
|
9112
|
+
}
|
|
9113
|
+
if (messageType === "usage_statistics" && active.pendingTerminal) {
|
|
9114
|
+
this.completeActiveTurn(active.pendingTerminal);
|
|
9084
9115
|
return;
|
|
9085
9116
|
}
|
|
9086
9117
|
if (sdkMessage?.type === "error") {
|
|
@@ -10518,6 +10549,9 @@ class CloudManagementTransport {
|
|
|
10518
10549
|
async updateConversation(conversationId, body) {
|
|
10519
10550
|
return this.client.conversations.update(conversationId, body);
|
|
10520
10551
|
}
|
|
10552
|
+
async forkConversation(conversationId, query) {
|
|
10553
|
+
return this.client.conversations.fork(conversationId, query);
|
|
10554
|
+
}
|
|
10521
10555
|
async listConversationMessages(conversationId, query) {
|
|
10522
10556
|
const page = await this.client.conversations.messages.list(conversationId, toOrderRelativeCursors(query));
|
|
10523
10557
|
return { messages: page.items };
|
|
@@ -11641,6 +11675,12 @@ function conversationUpdateBody(options) {
|
|
|
11641
11675
|
archived: options.archived
|
|
11642
11676
|
};
|
|
11643
11677
|
}
|
|
11678
|
+
function conversationForkQuery(options) {
|
|
11679
|
+
return {
|
|
11680
|
+
message_id: options.messageId,
|
|
11681
|
+
hidden: options.hidden
|
|
11682
|
+
};
|
|
11683
|
+
}
|
|
11644
11684
|
function conversationMessagesQuery(options) {
|
|
11645
11685
|
return {
|
|
11646
11686
|
before: options.before,
|
|
@@ -11674,6 +11714,13 @@ function createConversationsClient(transport) {
|
|
|
11674
11714
|
retrieve: (conversationId) => transport().retrieveConversation(conversationId),
|
|
11675
11715
|
create: (options) => transport().createConversation(conversationCreateBody(options)),
|
|
11676
11716
|
update: (conversationId, options) => transport().updateConversation(conversationId, conversationUpdateBody(options)),
|
|
11717
|
+
fork: async (sourceConversationId, options = {}) => {
|
|
11718
|
+
assertNonEmptyId2(sourceConversationId, "conversation id");
|
|
11719
|
+
if (options.messageId !== undefined) {
|
|
11720
|
+
assertNonEmptyId2(options.messageId, "message id");
|
|
11721
|
+
}
|
|
11722
|
+
return await transport().forkConversation(sourceConversationId, conversationForkQuery(options));
|
|
11723
|
+
},
|
|
11677
11724
|
listMessages: (conversationId, options = {}) => transport().listConversationMessages(conversationId, conversationMessagesQuery(options))
|
|
11678
11725
|
};
|
|
11679
11726
|
}
|
|
@@ -12719,7 +12766,8 @@ export {
|
|
|
12719
12766
|
createReactNativeWebSocketConstructor,
|
|
12720
12767
|
RepositoriesClient,
|
|
12721
12768
|
LettaAgentClient,
|
|
12769
|
+
ConversationForkHydrationError,
|
|
12722
12770
|
CloudManagedSandboxExpiredError
|
|
12723
12771
|
};
|
|
12724
12772
|
|
|
12725
|
-
//# debugId=
|
|
12773
|
+
//# debugId=D64E5E8DF2F0895364756E2164756E21
|