From 2845781811a0f47ea333c7add26977bce4b8a8b2 Mon Sep 17 00:00:00 2001 From: Charles Packer Date: Fri, 7 Nov 2025 17:47:58 -0800 Subject: [PATCH] feat: add settings for parallelToolCalls and enableSleeptime (#80) Co-authored-by: Letta --- src/agent/create.ts | 8 ++++---- src/headless.ts | 4 ++++ src/index.ts | 4 ++++ src/settings-manager.ts | 4 ++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/agent/create.ts b/src/agent/create.ts index 302a390..a0a62f6 100644 --- a/src/agent/create.ts +++ b/src/agent/create.ts @@ -28,6 +28,8 @@ export async function createAgent( updateArgs?: Record, 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.) diff --git a/src/headless.ts b/src/headless.ts index d155a76..8a46679 100644 --- a/src/headless.ts +++ b/src/headless.ts @@ -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, ); } diff --git a/src/index.ts b/src/index.ts index 15bd1a5..9cc17c7 100755 --- a/src/index.ts +++ b/src/index.ts @@ -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, ); } diff --git a/src/settings-manager.ts b/src/settings-manager.ts index 852a539..38e35a5 100644 --- a/src/settings-manager.ts +++ b/src/settings-manager.ts @@ -12,6 +12,8 @@ export interface Settings { uiMode: UIMode; lastAgent: string | null; tokenStreaming: boolean; + parallelToolCalls: boolean; + enableSleeptime: boolean; globalSharedBlockIds: Record; permissions?: PermissionRules; env?: Record; @@ -34,6 +36,8 @@ const DEFAULT_SETTINGS: Settings = { uiMode: "simple", lastAgent: null, tokenStreaming: false, + parallelToolCalls: true, + enableSleeptime: false, globalSharedBlockIds: {}, };