feat: add settings for parallelToolCalls and enableSleeptime (#80)

Co-authored-by: Letta <noreply@letta.com>
This commit is contained in:
Charles Packer
2025-11-07 17:47:58 -08:00
committed by GitHub
parent 7bfc2ce25a
commit 2845781811
4 changed files with 16 additions and 4 deletions

View File

@@ -28,6 +28,8 @@ export async function createAgent(
updateArgs?: Record<string, unknown>,
forceNewBlocks = false,
skillsDirectory?: string,
parallelToolCalls = true,
enableSleeptime = false,
) {
// Resolve model identifier to handle
let modelHandle: string;
@@ -214,10 +216,8 @@ export async function createAgent(
include_base_tools: false,
include_base_tool_rules: false,
initial_message_sequence: [],
// TODO: enable as default
parallel_tool_calls: true,
// TODO: enable via flag --sleeptime
// enable_sleeptime: true,
parallel_tool_calls: parallelToolCalls,
enable_sleeptime: enableSleeptime,
});
// Apply updateArgs if provided (e.g., reasoningEffort, contextWindow, etc.)

View File

@@ -100,6 +100,8 @@ export async function handleHeadlessCommand(
updateArgs,
forceNew,
skillsDirectory,
settings.parallelToolCalls,
settings.enableSleeptime,
);
}
@@ -139,6 +141,8 @@ export async function handleHeadlessCommand(
updateArgs,
false,
skillsDirectory,
settings.parallelToolCalls,
settings.enableSleeptime,
);
}

View File

@@ -363,6 +363,8 @@ async function main() {
updateArgs,
forceNew,
skillsDirectory,
settings.parallelToolCalls,
settings.enableSleeptime,
);
}
@@ -407,6 +409,8 @@ async function main() {
updateArgs,
false,
skillsDirectory,
settings.parallelToolCalls,
settings.enableSleeptime,
);
}

View File

@@ -12,6 +12,8 @@ export interface Settings {
uiMode: UIMode;
lastAgent: string | null;
tokenStreaming: boolean;
parallelToolCalls: boolean;
enableSleeptime: boolean;
globalSharedBlockIds: Record<string, string>;
permissions?: PermissionRules;
env?: Record<string, string>;
@@ -34,6 +36,8 @@ const DEFAULT_SETTINGS: Settings = {
uiMode: "simple",
lastAgent: null,
tokenStreaming: false,
parallelToolCalls: true,
enableSleeptime: false,
globalSharedBlockIds: {},
};