@letta-ai/letta-agent-sdk 0.5.4 → 0.5.5
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-session.d.ts.map +1 -1
- package/dist/client-entry.js +60 -20
- package/dist/client-entry.js.map +5 -5
- package/dist/index.js +60 -20
- package/dist/index.js.map +5 -5
- package/dist/remote-client-session-core.d.ts.map +1 -1
- package/dist/remote-turn-coordinator.d.ts +2 -0
- package/dist/remote-turn-coordinator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app-server-session.ts +88 -34
- package/src/remote-client-session-core.ts +2 -0
- package/src/remote-turn-coordinator.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-server-session.d.ts","sourceRoot":"","sources":["../src/app-server-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gCAAgC,EAEtC,MAAM,wCAAwC,CAAC;AAqBhD,OAAO,EACL,uBAAuB,EAKvB,KAAK,eAAe,EACpB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAElB,8BAA8B,EAC9B,6BAA6B,EAC7B,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAWpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,4BAA4B,CAAC,GAAG;IAC5E,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,CACR,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,IAAI,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7C,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAoDtD,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqFlC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAYhH;AAED,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,gCAAgC,CAgBlC;AAED,KAAK,wBAAwB,GAAG,6BAA6B,GAAG,kBAAkB,CAAC;AAEnF,KAAK,iCAAiC,GAClC;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,kCAAkC,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/C,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAkD7B;AAYD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,GAC3B,iCAAiC,CAkBnC;
|
|
1
|
+
{"version":3,"file":"app-server-session.d.ts","sourceRoot":"","sources":["../src/app-server-session.ts"],"names":[],"mappings":"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"}
|
package/dist/client-entry.js
CHANGED
|
@@ -9021,6 +9021,7 @@ function normalizeSendMessage(message) {
|
|
|
9021
9021
|
class RemoteTurnCoordinator {
|
|
9022
9022
|
label;
|
|
9023
9023
|
requestTimeoutMs;
|
|
9024
|
+
autoHandlesToolApprovals;
|
|
9024
9025
|
onDeviceStatus;
|
|
9025
9026
|
streamQueue = [];
|
|
9026
9027
|
streamResolvers = [];
|
|
@@ -9034,6 +9035,7 @@ class RemoteTurnCoordinator {
|
|
|
9034
9035
|
constructor(config) {
|
|
9035
9036
|
this.label = config.label;
|
|
9036
9037
|
this.requestTimeoutMs = config.requestTimeoutMs;
|
|
9038
|
+
this.autoHandlesToolApprovals = config.autoHandlesToolApprovals === true;
|
|
9037
9039
|
this.onDeviceStatus = config.onDeviceStatus;
|
|
9038
9040
|
}
|
|
9039
9041
|
get activeTurnStartedAt() {
|
|
@@ -9210,6 +9212,8 @@ class RemoteTurnCoordinator {
|
|
|
9210
9212
|
if (!hadTurnEvidence)
|
|
9211
9213
|
return;
|
|
9212
9214
|
if (status === "WAITING_ON_APPROVAL") {
|
|
9215
|
+
if (this.autoHandlesToolApprovals)
|
|
9216
|
+
return;
|
|
9213
9217
|
this.completeActiveTurn({
|
|
9214
9218
|
runtime: active.runtime,
|
|
9215
9219
|
stopReason: "requires_approval",
|
|
@@ -9447,6 +9451,7 @@ class RemoteClientSessionCore {
|
|
|
9447
9451
|
this.turns = new RemoteTurnCoordinator({
|
|
9448
9452
|
label: config.label,
|
|
9449
9453
|
requestTimeoutMs: config.requestTimeoutMs,
|
|
9454
|
+
autoHandlesToolApprovals: mode.kind === "session" && typeof mode.options.canUseTool === "function",
|
|
9450
9455
|
onDeviceStatus: (status) => this.emitDeviceStatus(status)
|
|
9451
9456
|
});
|
|
9452
9457
|
}
|
|
@@ -10212,37 +10217,72 @@ function runtimeScopeFromMessage(message) {
|
|
|
10212
10217
|
}
|
|
10213
10218
|
return null;
|
|
10214
10219
|
}
|
|
10215
|
-
|
|
10216
|
-
|
|
10217
|
-
|
|
10218
|
-
|
|
10219
|
-
return;
|
|
10220
|
-
respondToAppServerControlRequest(config, message).catch(() => {});
|
|
10221
|
-
});
|
|
10222
|
-
}
|
|
10223
|
-
async function respondToAppServerControlRequest(config, message) {
|
|
10224
|
-
const runtime = runtimeScopeFromMessage(message) ?? config.getRuntime();
|
|
10225
|
-
if (!runtime)
|
|
10226
|
-
return;
|
|
10227
|
-
const requestId = typeof message.request_id === "string" ? message.request_id : undefined;
|
|
10220
|
+
var MAX_CACHED_TOOL_APPROVALS = 256;
|
|
10221
|
+
function parseToolApprovalRequest(message, fallbackRuntime) {
|
|
10222
|
+
const runtime = runtimeScopeFromMessage(message) ?? fallbackRuntime;
|
|
10223
|
+
const requestId = typeof message.request_id === "string" ? message.request_id : null;
|
|
10228
10224
|
const request = message.request;
|
|
10229
|
-
if (!requestId || !request || typeof request !== "object")
|
|
10230
|
-
return;
|
|
10225
|
+
if (!runtime || !requestId || !request || typeof request !== "object")
|
|
10226
|
+
return null;
|
|
10231
10227
|
const requestRecord = request;
|
|
10232
10228
|
if (requestRecord.subtype !== "can_use_tool")
|
|
10233
|
-
return;
|
|
10229
|
+
return null;
|
|
10234
10230
|
const toolName = typeof requestRecord.tool_name === "string" ? requestRecord.tool_name : "unknown";
|
|
10235
10231
|
const toolInput = requestRecord.input && typeof requestRecord.input === "object" && !Array.isArray(requestRecord.input) ? requestRecord.input : {};
|
|
10236
|
-
|
|
10237
|
-
|
|
10232
|
+
return {
|
|
10233
|
+
key: JSON.stringify([runtime.agent_id, runtime.conversation_id, requestId]),
|
|
10238
10234
|
runtime,
|
|
10235
|
+
requestId,
|
|
10236
|
+
toolName,
|
|
10237
|
+
toolInput,
|
|
10238
|
+
context: buildCanUseToolContext(requestRecord, requestId)
|
|
10239
|
+
};
|
|
10240
|
+
}
|
|
10241
|
+
function sendToolApprovalResponse(client, request, decision) {
|
|
10242
|
+
client.input({
|
|
10243
|
+
runtime: request.runtime,
|
|
10239
10244
|
payload: {
|
|
10240
10245
|
kind: "approval_response",
|
|
10241
|
-
request_id: requestId,
|
|
10246
|
+
request_id: request.requestId,
|
|
10242
10247
|
decision: toAppServerApprovalDecision(decision)
|
|
10243
10248
|
}
|
|
10244
10249
|
});
|
|
10245
10250
|
}
|
|
10251
|
+
function registerAppServerControlRequestHandler(config) {
|
|
10252
|
+
const approvals = new Map;
|
|
10253
|
+
return config.client.onMessage((rawMessage, channel) => {
|
|
10254
|
+
const message = rawMessage;
|
|
10255
|
+
if (channel !== "control" || message.type !== "control_request")
|
|
10256
|
+
return;
|
|
10257
|
+
const request = parseToolApprovalRequest(message, config.getRuntime());
|
|
10258
|
+
if (!request)
|
|
10259
|
+
return;
|
|
10260
|
+
const cached = approvals.get(request.key);
|
|
10261
|
+
if (cached) {
|
|
10262
|
+
if (cached.sent) {
|
|
10263
|
+
cached.decision.then((decision) => sendToolApprovalResponse(config.client, cached.request, decision)).catch(() => {
|
|
10264
|
+
return;
|
|
10265
|
+
});
|
|
10266
|
+
}
|
|
10267
|
+
return;
|
|
10268
|
+
}
|
|
10269
|
+
if (approvals.size >= MAX_CACHED_TOOL_APPROVALS) {
|
|
10270
|
+
const oldest = approvals.keys().next().value;
|
|
10271
|
+
if (oldest !== undefined)
|
|
10272
|
+
approvals.delete(oldest);
|
|
10273
|
+
}
|
|
10274
|
+
const entry = {
|
|
10275
|
+
decision: resolveAppServerToolApproval(config.getOptions(), request.toolName, request.toolInput, request.context),
|
|
10276
|
+
sent: false,
|
|
10277
|
+
request
|
|
10278
|
+
};
|
|
10279
|
+
approvals.set(request.key, entry);
|
|
10280
|
+
entry.decision.then((decision) => {
|
|
10281
|
+
entry.sent = true;
|
|
10282
|
+
sendToolApprovalResponse(config.client, request, decision);
|
|
10283
|
+
}).catch(() => approvals.delete(request.key));
|
|
10284
|
+
});
|
|
10285
|
+
}
|
|
10246
10286
|
|
|
10247
10287
|
class AppServerRuntimeController {
|
|
10248
10288
|
client;
|
|
@@ -12169,4 +12209,4 @@ export {
|
|
|
12169
12209
|
CloudManagedSandboxExpiredError
|
|
12170
12210
|
};
|
|
12171
12211
|
|
|
12172
|
-
//# debugId=
|
|
12212
|
+
//# debugId=8B8DDE1B1EDE2B4764756E2164756E21
|