@letta-ai/letta-agent-sdk 0.5.8 → 0.6.1
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/README.md +19 -1
- package/dist/app-server-session.d.ts +3 -2
- package/dist/app-server-session.d.ts.map +1 -1
- package/dist/client-base.d.ts +4 -1
- package/dist/client-base.d.ts.map +1 -1
- package/dist/client-entry.js +54 -20
- package/dist/client-entry.js.map +8 -8
- package/dist/cloud-management.d.ts.map +1 -1
- package/dist/cloud-session.d.ts.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -22
- package/dist/index.js.map +10 -10
- package/dist/management-types.d.ts +3 -0
- package/dist/management-types.d.ts.map +1 -1
- package/dist/remote-client-session-core.d.ts +2 -2
- package/dist/remote-client-session-core.d.ts.map +1 -1
- package/dist/tests/advanced-session.d.ts +1 -1
- package/dist/tests/advanced-session.d.ts.map +1 -1
- package/dist/types.d.ts +13 -21
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/app-server-session.ts +16 -2
- package/src/client-base.ts +7 -4
- package/src/cloud-management.ts +18 -1
- package/src/cloud-session.ts +4 -2
- package/src/index.ts +9 -10
- package/src/management-types.ts +3 -0
- package/src/remote-client-session-core.ts +1 -5
- package/src/types.ts +23 -25
- package/src/validation.ts +39 -23
package/README.md
CHANGED
|
@@ -53,7 +53,6 @@ An agent is the persistent entity with memory. A conversation is a thread on tha
|
|
|
53
53
|
- `createSession(agentId)` starts a new conversation.
|
|
54
54
|
- `resumeSession(conversationId)` resumes a saved conversation.
|
|
55
55
|
- `resumeSession(agentId)` resumes the agent's default conversation.
|
|
56
|
-
- `prompt(message, agentId)` runs a one-shot prompt in a new conversation.
|
|
57
56
|
|
|
58
57
|
Portable sessions also expose the stateful controls needed by interactive
|
|
59
58
|
clients:
|
|
@@ -121,6 +120,25 @@ await using session = client.createSession(agentId, {
|
|
|
121
120
|
|
|
122
121
|
Local execution (embedded Letta Code harness / app server) requires Node.js 22.19 or newer.
|
|
123
122
|
|
|
123
|
+
### Built-in client toolsets
|
|
124
|
+
|
|
125
|
+
Use `toolset` to select a request-scoped harness preset and add bundled client
|
|
126
|
+
tools. `allowedTools` remains the final visibility boundary across bundled and
|
|
127
|
+
custom tools.
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
await using session = client.createSession(agentId, {
|
|
131
|
+
toolset: {
|
|
132
|
+
base: "none",
|
|
133
|
+
include: ["Read", "LS", "Glob", "Grep"],
|
|
134
|
+
},
|
|
135
|
+
allowedTools: ["Read", "LS", "Glob", "Grep"],
|
|
136
|
+
});
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
The override applies to this SDK session's turns without changing the agent's
|
|
140
|
+
persisted harness toolset preference.
|
|
141
|
+
|
|
124
142
|
### MCP tools
|
|
125
143
|
|
|
126
144
|
Pass MCP servers by name in session options. The SDK supports local stdio,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AppServerClient, type AppServerExternalToolCallHandler } from "@letta-ai/letta-code/app-server-client";
|
|
2
2
|
import { RemoteClientSessionCore, type ProtocolMessage, type RemoteClientRuntimeController, type RuntimeSendTurnOptions, type RuntimeScope, type RuntimeSessionInit, type RuntimeSessionMode } from "./remote-client-session-core.js";
|
|
3
|
-
import type { AnyAgentTool, CanUseToolContext, CanUseToolResponse, CreateAgentOptions, LettaCodeRemoteClientOptions, LettaCodeClientSessionOptions, ListModelsResult, ListMessagesOptions, ListMessagesResult, RecoverPendingApprovalsOptions, RecoverPendingApprovalsResult, SendMessage, UpdateModelResult } from "./types.js";
|
|
3
|
+
import type { AnyAgentTool, CanUseToolContext, CanUseToolResponse, ClientToolsetConfig, CreateAgentOptions, LettaCodeRemoteClientOptions, LettaCodeClientSessionOptions, ListModelsResult, ListMessagesOptions, ListMessagesResult, RecoverPendingApprovalsOptions, RecoverPendingApprovalsResult, SendMessage, UpdateModelResult } from "./types.js";
|
|
4
4
|
type UpdateModelPayload = {
|
|
5
5
|
model_id?: string;
|
|
6
6
|
model_handle?: string;
|
|
@@ -47,7 +47,8 @@ export declare class AppServerRuntimeController implements RemoteClientRuntimeCo
|
|
|
47
47
|
private readonly client;
|
|
48
48
|
private readonly options;
|
|
49
49
|
private readonly clientToolAllowlist?;
|
|
50
|
-
|
|
50
|
+
private readonly clientToolset?;
|
|
51
|
+
constructor(client: AppServerClient, options: AppServerSessionOptions, clientToolAllowlist?: readonly string[] | undefined, clientToolset?: ClientToolsetConfig | undefined);
|
|
51
52
|
onMessage(handler: (message: ProtocolMessage, channel?: string) => void): () => void;
|
|
52
53
|
send(command: Record<string, unknown>): void;
|
|
53
54
|
sendTurnMessage(runtime: RuntimeScope, message: SendMessage, options: RuntimeSendTurnOptions): void;
|
|
@@ -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;AA0BhD,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,CAiBlC;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;AA+FD,wBAAgB,sCAAsC,CAAC,MAAM,EAAE;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,wBAAwB,CAAC;CAC5C,GAAG,MAAM,IAAI,CA0Cb;AAED,qBAAa,0BAA2B,YAAW,6BAA6B;IAE5E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;
|
|
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-base.d.ts
CHANGED
|
@@ -45,7 +45,10 @@ export declare class LettaAgentClientBase {
|
|
|
45
45
|
* Letta Cloud sessions. Remote app-server URLs already select the runtime.
|
|
46
46
|
*/
|
|
47
47
|
resumeSession(id: string, options?: LettaCodeClientSessionOptions): LettaCodeSession;
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* One-shot convenience for scripts, smoke tests, and evals.
|
|
50
|
+
* Applications should use a session when they need interactive turn state.
|
|
51
|
+
*/
|
|
49
52
|
prompt(message: SendMessage, agentId: string, options?: LettaCodeClientSessionOptions): Promise<SDKResultMessage>;
|
|
50
53
|
private assertSessionBackend;
|
|
51
54
|
protected createLocalAgent(_options: CreateAgentOptions): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-base.d.ts","sourceRoot":"","sources":["../src/client-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAevD,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAEV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EAIpB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAmDpB;;;;;;;;;GASG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACnD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAoC;gBAEnD,OAAO,GAAE,sBAA2B;IA0EhD;;;;;OAKG;IACH,IAAI,YAAY,IAAI,kBAAkB,CAErC;IAEK,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpE;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB;IA+BnB;;;;;OAKG;IACH,aAAa,CACX,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB;IA8CnB
|
|
1
|
+
{"version":3,"file":"client-base.d.ts","sourceRoot":"","sources":["../src/client-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAevD,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAEV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EAIpB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAmDpB;;;;;;;;;GASG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACnD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAoC;gBAEnD,OAAO,GAAE,sBAA2B;IA0EhD;;;;;OAKG;IACH,IAAI,YAAY,IAAI,kBAAkB,CAErC;IAEK,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpE;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB;IA+BnB;;;;;OAKG;IACH,aAAa,CACX,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB;IA8CnB;;;OAGG;IACG,MAAM,CACV,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,gBAAgB,CAAC;IAU5B,OAAO,CAAC,oBAAoB;IA4E5B,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,6BAA6B,GACtC,gBAAgB;IAInB,SAAS,CAAC,kBAAkB,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,6BAA6B,GACtC,gBAAgB;IAInB,SAAS,CAAC,4BAA4B,IAAI,KAAK;IAM/C,SAAS,CAAC,8BAA8B,IAAI,mBAAmB;IAI/D,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,YAAY;CAMrB"}
|
package/dist/client-entry.js
CHANGED
|
@@ -9573,7 +9573,7 @@ class RemoteClientSessionCore {
|
|
|
9573
9573
|
throw error;
|
|
9574
9574
|
}
|
|
9575
9575
|
}
|
|
9576
|
-
async
|
|
9576
|
+
async sendAndWaitForResult(message) {
|
|
9577
9577
|
if (this.turns.hasInFlightTurn()) {
|
|
9578
9578
|
throw new Error(`A turn is already in flight for this ${this.label} session. Use send() and stream() to let the listener queue messages.`);
|
|
9579
9579
|
}
|
|
@@ -10320,10 +10320,12 @@ class AppServerRuntimeController {
|
|
|
10320
10320
|
client;
|
|
10321
10321
|
options;
|
|
10322
10322
|
clientToolAllowlist;
|
|
10323
|
-
|
|
10323
|
+
clientToolset;
|
|
10324
|
+
constructor(client, options, clientToolAllowlist, clientToolset) {
|
|
10324
10325
|
this.client = client;
|
|
10325
10326
|
this.options = options;
|
|
10326
10327
|
this.clientToolAllowlist = clientToolAllowlist;
|
|
10328
|
+
this.clientToolset = clientToolset;
|
|
10327
10329
|
}
|
|
10328
10330
|
onMessage(handler) {
|
|
10329
10331
|
return this.client.onMessage((message, channel) => {
|
|
@@ -10347,6 +10349,12 @@ class AppServerRuntimeController {
|
|
|
10347
10349
|
if (this.clientToolAllowlist !== undefined) {
|
|
10348
10350
|
payload.client_tool_allowlist = [...new Set(this.clientToolAllowlist)];
|
|
10349
10351
|
}
|
|
10352
|
+
if (this.clientToolset !== undefined) {
|
|
10353
|
+
payload.client_toolset = {
|
|
10354
|
+
...this.clientToolset.base !== undefined ? { base: this.clientToolset.base } : {},
|
|
10355
|
+
...this.clientToolset.include !== undefined ? { include: [...new Set(this.clientToolset.include)] } : {}
|
|
10356
|
+
};
|
|
10357
|
+
}
|
|
10350
10358
|
payload.exclude_interactive_tools = true;
|
|
10351
10359
|
this.client.input({
|
|
10352
10360
|
runtime,
|
|
@@ -10487,12 +10495,13 @@ class AppServerSession extends RemoteClientSessionCore {
|
|
|
10487
10495
|
throw new Error(response.error ?? "Failed to start app-server runtime");
|
|
10488
10496
|
}
|
|
10489
10497
|
const tools = agentToolNames(response.agent);
|
|
10490
|
-
const skillSources =
|
|
10498
|
+
const skillSources = options.skillSources;
|
|
10499
|
+
const clientToolset = "toolset" in options ? options.toolset : undefined;
|
|
10491
10500
|
const mcpToolNames = this.mcpBridge?.tools.map((tool) => tool.name) ?? [];
|
|
10492
|
-
const allowedTools = expandMcpToolWildcards(
|
|
10501
|
+
const allowedTools = expandMcpToolWildcards(options.allowedTools, mcpToolNames);
|
|
10493
10502
|
const availableTools = tools === undefined && mcpToolNames.length === 0 ? undefined : [...tools ?? [], ...mcpToolNames];
|
|
10494
10503
|
return {
|
|
10495
|
-
controller: new AppServerRuntimeController(client, this.remoteOptions, allowedTools),
|
|
10504
|
+
controller: new AppServerRuntimeController(client, this.remoteOptions, allowedTools, clientToolset),
|
|
10496
10505
|
runtime: response.runtime,
|
|
10497
10506
|
model: typeof response.agent?.model === "string" ? response.agent.model : "",
|
|
10498
10507
|
modelSettings: objectRecord(response.agent?.model_settings) ?? null,
|
|
@@ -10640,6 +10649,16 @@ function cloudModelEntry(raw) {
|
|
|
10640
10649
|
function isNotFound(error) {
|
|
10641
10650
|
return error instanceof APIError && error.status === 404;
|
|
10642
10651
|
}
|
|
10652
|
+
function toOrderRelativeCursors(query) {
|
|
10653
|
+
if ((query.order ?? "desc") !== "desc")
|
|
10654
|
+
return query;
|
|
10655
|
+
const { before, after, ...rest } = query;
|
|
10656
|
+
return {
|
|
10657
|
+
...rest,
|
|
10658
|
+
...after != null ? { before: after } : {},
|
|
10659
|
+
...before != null ? { after: before } : {}
|
|
10660
|
+
};
|
|
10661
|
+
}
|
|
10643
10662
|
|
|
10644
10663
|
class CloudManagementTransport {
|
|
10645
10664
|
client;
|
|
@@ -10715,7 +10734,7 @@ class CloudManagementTransport {
|
|
|
10715
10734
|
return this.client.conversations.update(conversationId, body);
|
|
10716
10735
|
}
|
|
10717
10736
|
async listConversationMessages(conversationId, query) {
|
|
10718
|
-
const page = await this.client.conversations.messages.list(conversationId, query);
|
|
10737
|
+
const page = await this.client.conversations.messages.list(conversationId, toOrderRelativeCursors(query));
|
|
10719
10738
|
return { messages: page.items };
|
|
10720
10739
|
}
|
|
10721
10740
|
}
|
|
@@ -11255,14 +11274,15 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11255
11274
|
throw new Error(response.error ?? "Failed to start Cloud status runtime");
|
|
11256
11275
|
}
|
|
11257
11276
|
const tools = agentToolNames(response.agent);
|
|
11258
|
-
const skillSources =
|
|
11277
|
+
const skillSources = options.skillSources;
|
|
11278
|
+
const clientToolset = "toolset" in options ? options.toolset : undefined;
|
|
11259
11279
|
const mcpToolNames = this.mcpBridge?.tools.map((tool) => tool.name) ?? [];
|
|
11260
|
-
const allowedTools = expandMcpToolWildcards(
|
|
11280
|
+
const allowedTools = expandMcpToolWildcards(options.allowedTools, mcpToolNames);
|
|
11261
11281
|
const availableTools = tools === undefined && mcpToolNames.length === 0 ? undefined : [...tools ?? [], ...mcpToolNames];
|
|
11262
11282
|
return {
|
|
11263
11283
|
controller: new AppServerRuntimeController(client, {
|
|
11264
11284
|
requestTimeoutMs: this.cloudOptions.requestTimeoutMs ?? DEFAULT_TURN_TIMEOUT_MS
|
|
11265
|
-
}, allowedTools),
|
|
11285
|
+
}, allowedTools, clientToolset),
|
|
11266
11286
|
runtime: response.runtime,
|
|
11267
11287
|
model: typeof response.agent?.model === "string" ? response.agent.model : "",
|
|
11268
11288
|
modelSettings: response.agent?.model_settings ?? null,
|
|
@@ -11772,6 +11792,15 @@ var VALID_SKILL_SOURCES = [
|
|
|
11772
11792
|
"agent",
|
|
11773
11793
|
"project"
|
|
11774
11794
|
];
|
|
11795
|
+
var VALID_TOOLSET_BASES = [
|
|
11796
|
+
"auto",
|
|
11797
|
+
"codex",
|
|
11798
|
+
"codex_snake",
|
|
11799
|
+
"default",
|
|
11800
|
+
"gemini",
|
|
11801
|
+
"gemini_snake",
|
|
11802
|
+
"none"
|
|
11803
|
+
];
|
|
11775
11804
|
var VALID_REASONING_EFFORTS = [
|
|
11776
11805
|
"none",
|
|
11777
11806
|
"minimal",
|
|
@@ -11789,14 +11818,6 @@ function getBlockLabels(memory) {
|
|
|
11789
11818
|
return null;
|
|
11790
11819
|
}).filter((label) => label !== null);
|
|
11791
11820
|
}
|
|
11792
|
-
function validateApprovalRecoveryOptions(options) {
|
|
11793
|
-
if (options.maxApprovalRecoveryAttempts !== undefined && (!Number.isInteger(options.maxApprovalRecoveryAttempts) || options.maxApprovalRecoveryAttempts < 0)) {
|
|
11794
|
-
throw new Error("Invalid maxApprovalRecoveryAttempts. Expected a non-negative integer.");
|
|
11795
|
-
}
|
|
11796
|
-
if (options.approvalRecoveryTimeoutMs !== undefined && (!Number.isInteger(options.approvalRecoveryTimeoutMs) || options.approvalRecoveryTimeoutMs <= 0)) {
|
|
11797
|
-
throw new Error("Invalid approvalRecoveryTimeoutMs. Expected a positive integer.");
|
|
11798
|
-
}
|
|
11799
|
-
}
|
|
11800
11821
|
function validateRemovedSessionOptions(options) {
|
|
11801
11822
|
const removedOptions = options;
|
|
11802
11823
|
if (removedOptions.systemPrompt !== undefined) {
|
|
@@ -11832,6 +11853,19 @@ function validateSystemPromptPreset(preset) {
|
|
|
11832
11853
|
throw new Error(`Invalid system prompt preset '${preset}'. ` + `Valid presets: ${validPresets.join(", ")}`);
|
|
11833
11854
|
}
|
|
11834
11855
|
}
|
|
11856
|
+
function validateClientToolset(toolset) {
|
|
11857
|
+
if (toolset === undefined)
|
|
11858
|
+
return;
|
|
11859
|
+
if (!toolset || typeof toolset !== "object" || Array.isArray(toolset)) {
|
|
11860
|
+
throw new Error("Invalid toolset. Expected an object with optional base and include fields.");
|
|
11861
|
+
}
|
|
11862
|
+
if (toolset.base !== undefined && !VALID_TOOLSET_BASES.includes(toolset.base)) {
|
|
11863
|
+
throw new Error(`Invalid toolset.base '${String(toolset.base)}'. Valid values: ${VALID_TOOLSET_BASES.join(", ")}`);
|
|
11864
|
+
}
|
|
11865
|
+
if (toolset.include !== undefined && (!Array.isArray(toolset.include) || toolset.include.some((toolName) => typeof toolName !== "string" || toolName.length === 0))) {
|
|
11866
|
+
throw new Error("Invalid toolset.include. Expected an array of non-empty bundled tool names.");
|
|
11867
|
+
}
|
|
11868
|
+
}
|
|
11835
11869
|
function validateSkillSources(sources) {
|
|
11836
11870
|
if (sources === undefined) {
|
|
11837
11871
|
return;
|
|
@@ -11891,11 +11925,11 @@ function validateMcpServers(servers) {
|
|
|
11891
11925
|
}
|
|
11892
11926
|
}
|
|
11893
11927
|
function validateCreateSessionOptions(options) {
|
|
11928
|
+
validateClientToolset(options.toolset);
|
|
11894
11929
|
validateSkillSources(options.skillSources);
|
|
11895
11930
|
validateMcpServers(options.mcpServers);
|
|
11896
11931
|
validateReasoningEffort(options.reasoningEffort);
|
|
11897
11932
|
validateDreamingOptions(options.dreaming);
|
|
11898
|
-
validateApprovalRecoveryOptions(options);
|
|
11899
11933
|
validateRemovedSessionOptions(options);
|
|
11900
11934
|
}
|
|
11901
11935
|
function validateCreateAgentOptions(options) {
|
|
@@ -12103,7 +12137,7 @@ class LettaAgentClientBase {
|
|
|
12103
12137
|
async prompt(message, agentId, options = {}) {
|
|
12104
12138
|
const session = this.createSession(agentId, options);
|
|
12105
12139
|
try {
|
|
12106
|
-
return await session.
|
|
12140
|
+
return await session.sendAndWaitForResult(message);
|
|
12107
12141
|
} finally {
|
|
12108
12142
|
session.close();
|
|
12109
12143
|
}
|
|
@@ -12321,4 +12355,4 @@ export {
|
|
|
12321
12355
|
CloudManagedSandboxExpiredError
|
|
12322
12356
|
};
|
|
12323
12357
|
|
|
12324
|
-
//# debugId=
|
|
12358
|
+
//# debugId=F422AB0A96BFDBF164756E2164756E21
|