lsd-pi 1.1.10 → 1.2.0

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.
Files changed (49) hide show
  1. package/dist/resources/extensions/slash-commands/index.js +2 -0
  2. package/dist/resources/extensions/slash-commands/init.js +47 -0
  3. package/dist/resources/extensions/slash-commands/plan.js +231 -50
  4. package/dist/resources/extensions/slash-commands/tools.js +14 -27
  5. package/dist/resources/extensions/subagent/index.js +5 -10
  6. package/package.json +1 -1
  7. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  8. package/packages/pi-coding-agent/dist/core/agent-session.js +11 -5
  9. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  10. package/packages/pi-coding-agent/dist/core/resource-loader-lsd-md.test.js +59 -7
  11. package/packages/pi-coding-agent/dist/core/resource-loader-lsd-md.test.js.map +1 -1
  12. package/packages/pi-coding-agent/dist/core/resource-loader.js +4 -4
  13. package/packages/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  14. package/packages/pi-coding-agent/dist/core/sdk.d.ts +1 -1
  15. package/packages/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  16. package/packages/pi-coding-agent/dist/core/sdk.js +18 -7
  17. package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
  18. package/packages/pi-coding-agent/dist/core/sdk.test.js +80 -0
  19. package/packages/pi-coding-agent/dist/core/sdk.test.js.map +1 -1
  20. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +12 -5
  21. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  22. package/packages/pi-coding-agent/dist/core/settings-manager.js +23 -9
  23. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  24. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +8 -4
  25. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  26. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +32 -5
  27. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  28. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  29. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +8 -0
  30. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  31. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  32. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +34 -25
  33. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  34. package/packages/pi-coding-agent/package.json +1 -1
  35. package/packages/pi-coding-agent/src/core/agent-session.ts +13 -5
  36. package/packages/pi-coding-agent/src/core/resource-loader-lsd-md.test.ts +67 -7
  37. package/packages/pi-coding-agent/src/core/resource-loader.ts +4 -4
  38. package/packages/pi-coding-agent/src/core/sdk.test.ts +100 -0
  39. package/packages/pi-coding-agent/src/core/sdk.ts +23 -8
  40. package/packages/pi-coding-agent/src/core/settings-manager.ts +36 -15
  41. package/packages/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +41 -10
  42. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +11 -0
  43. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +43 -27
  44. package/pkg/package.json +1 -1
  45. package/src/resources/extensions/slash-commands/index.ts +2 -0
  46. package/src/resources/extensions/slash-commands/init.ts +55 -0
  47. package/src/resources/extensions/slash-commands/plan.ts +268 -52
  48. package/src/resources/extensions/slash-commands/tools.ts +15 -29
  49. package/src/resources/extensions/subagent/index.ts +5 -10
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from \"node:path\";\nimport { Agent, type AgentMessage, type ThinkingLevel } from \"@gsd/pi-agent-core\";\nimport type { Message, Model } from \"@gsd/pi-ai\";\nimport { getAgentDir, getDocsPath } from \"../config.js\";\nimport { AgentSession } from \"./agent-session.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport { DEFAULT_THINKING_LEVEL } from \"./defaults.js\";\nimport type { ExtensionRunner, LoadExtensionsResult, ToolDefinition } from \"./extensions/index.js\";\nimport { convertToLlm } from \"./messages.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { findInitialModel } from \"./model-resolver.js\";\nimport type { ResourceLoader } from \"./resource-loader.js\";\nimport { DefaultResourceLoader } from \"./resource-loader.js\";\nimport { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\nimport { time } from \"./timings.js\";\nimport { SandboxManager } from \"./sandbox/index.js\";\nimport {\n allTools,\n bashTool,\n codingTools,\n createBashTool,\n createCodingTools,\n createEditTool,\n createFindTool,\n createGrepTool,\n createLsTool,\n createReadOnlyTools,\n createReadTool,\n createWriteTool,\n editTool,\n findTool,\n grepTool,\n hashlineCodingTools,\n hashlineEditTool,\n hashlineReadTool,\n createHashlineCodingTools,\n createHashlineEditTool,\n createHashlineReadTool,\n lsTool,\n readOnlyTools,\n readTool,\n type Tool,\n writeTool,\n} from \"./tools/index.js\";\n\nexport interface CreateAgentSessionOptions {\n /** Working directory for project-local discovery. Default: process.cwd() */\n cwd?: string;\n /** Global config directory. Default: ~/.pi/agent */\n agentDir?: string;\n\n /** Auth storage for credentials. Default: AuthStorage.create(agentDir/auth.json) */\n authStorage?: AuthStorage;\n /** Model registry. Default: new ModelRegistry(authStorage, agentDir/models.json) */\n modelRegistry?: ModelRegistry;\n\n /** Model to use. Default: from settings, else first available */\n model?: Model<any>;\n /** Thinking level. Default: from settings, else 'medium' (clamped to model capabilities) */\n thinkingLevel?: ThinkingLevel;\n /** Models available for cycling (Ctrl+P in interactive mode) */\n scopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel }>;\n\n /** Built-in tools to use. Default: codingTools [read, bash, edit, write] */\n tools?: Tool[];\n /** Custom tools to register (in addition to built-in tools). */\n customTools?: ToolDefinition[];\n\n /** Resource loader. When omitted, DefaultResourceLoader is used. */\n resourceLoader?: ResourceLoader;\n\n /** Session manager. Default: SessionManager.create(cwd) */\n sessionManager?: SessionManager;\n\n /** Settings manager. Default: SettingsManager.create(cwd, agentDir) */\n settingsManager?: SettingsManager;\n}\n\n/** Result from createAgentSession */\nexport interface CreateAgentSessionResult {\n /** The created session */\n session: AgentSession;\n /** Extensions result (for UI context setup in interactive mode) */\n extensionsResult: LoadExtensionsResult;\n /** Warning if session was restored with a different model than saved */\n modelFallbackMessage?: string;\n}\n\n// Re-exports\n\nexport type {\n ExtensionAPI,\n ExtensionCommandContext,\n ExtensionContext,\n ExtensionFactory,\n SlashCommandInfo,\n SlashCommandLocation,\n SlashCommandSource,\n ToolDefinition,\n} from \"./extensions/index.js\";\nexport type { PromptTemplate } from \"./prompt-templates.js\";\nexport type { Skill } from \"./skills.js\";\nexport type { Tool } from \"./tools/index.js\";\n\nexport {\n // Pre-built tools (use process.cwd())\n readTool,\n bashTool,\n editTool,\n writeTool,\n grepTool,\n findTool,\n lsTool,\n codingTools,\n readOnlyTools,\n allTools as allBuiltInTools,\n // Tool factories (for custom cwd)\n createCodingTools,\n createReadOnlyTools,\n createReadTool,\n createBashTool,\n createEditTool,\n createWriteTool,\n createGrepTool,\n createFindTool,\n createLsTool,\n // Hashline edit mode\n hashlineCodingTools,\n hashlineEditTool,\n hashlineReadTool,\n createHashlineCodingTools,\n createHashlineEditTool,\n createHashlineReadTool,\n};\n\n// Helper Functions\n\nfunction getDefaultAgentDir(): string {\n return getAgentDir();\n}\n\n/**\n * Create an AgentSession with the specified options.\n *\n * @example\n * ```typescript\n * // Minimal - uses defaults\n * const { session } = await createAgentSession();\n *\n * // With explicit model\n * import { getModel } from '@gsd/pi-ai';\n * const { session } = await createAgentSession({\n * model: getModel('anthropic', 'claude-opus-4-5'),\n * thinkingLevel: 'high',\n * });\n *\n * // Continue previous session\n * const { session, modelFallbackMessage } = await createAgentSession({\n * continueSession: true,\n * });\n *\n * // Full control\n * const loader = new DefaultResourceLoader({\n * cwd: process.cwd(),\n * agentDir: getAgentDir(),\n * settingsManager: SettingsManager.create(),\n * });\n * await loader.reload();\n * const { session } = await createAgentSession({\n * model: myModel,\n * tools: [readTool, bashTool],\n * resourceLoader: loader,\n * sessionManager: SessionManager.inMemory(),\n * });\n * ```\n */\nexport async function createAgentSession(options: CreateAgentSessionOptions = {}): Promise<CreateAgentSessionResult> {\n const cwd = options.cwd ?? process.cwd();\n const agentDir = options.agentDir ?? getDefaultAgentDir();\n let resourceLoader = options.resourceLoader;\n\n // Use provided or create AuthStorage and ModelRegistry\n const authPath = options.agentDir ? join(agentDir, \"auth.json\") : undefined;\n const modelsPath = options.agentDir ? join(agentDir, \"models.json\") : undefined;\n const authStorage = options.authStorage ?? AuthStorage.create(authPath);\n const modelRegistry = options.modelRegistry ?? new ModelRegistry(authStorage, modelsPath);\n\n const settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);\n const sessionManager = options.sessionManager ?? SessionManager.create(cwd);\n\n if (!resourceLoader) {\n resourceLoader = new DefaultResourceLoader({ cwd, agentDir, settingsManager });\n await resourceLoader.reload();\n time(\"resourceLoader.reload\");\n }\n\n // Check if session has existing data to restore\n const existingSession = sessionManager.buildSessionContext();\n const hasExistingSession = existingSession.messages.length > 0;\n const hasThinkingEntry = sessionManager.getBranch().some((entry) => entry.type === \"thinking_level_change\");\n\n let model = options.model;\n let modelFallbackMessage: string | undefined;\n\n // If session has data, try to restore model from it.\n //\n // Do NOT gate restoration on API key resolution here. Providers using\n // external CLIs (or temporarily expired OAuth credentials) may not return\n // a key at startup even though the model is still the correct user choice.\n // In those cases we should preserve the last used model and surface auth\n // errors only when a request is actually made.\n if (!model && hasExistingSession && existingSession.model) {\n const restoredModel = modelRegistry.find(existingSession.model.provider, existingSession.model.modelId);\n if (restoredModel) {\n model = restoredModel;\n }\n if (!model) {\n modelFallbackMessage = `Could not restore model ${existingSession.model.provider}/${existingSession.model.modelId}`;\n }\n }\n\n // If still no model, use findInitialModel (checks settings default, then provider defaults)\n if (!model) {\n const result = await findInitialModel({\n scopedModels: [],\n isContinuing: hasExistingSession,\n defaultProvider: settingsManager.getDefaultProvider(),\n defaultModelId: settingsManager.getDefaultModel(),\n defaultThinkingLevel: settingsManager.getDefaultThinkingLevel(),\n modelRegistry,\n });\n model = result.model;\n if (!model) {\n modelFallbackMessage = `No models available. Use /login or set an API key environment variable. See ${join(getDocsPath(), \"providers.md\")}. Then use /model to select a model.`;\n } else if (modelFallbackMessage) {\n modelFallbackMessage += `. Using ${model.provider}/${model.id}`;\n }\n }\n\n let thinkingLevel = options.thinkingLevel;\n\n // If session has data, restore thinking level from it\n if (thinkingLevel === undefined && hasExistingSession) {\n thinkingLevel = hasThinkingEntry\n ? (existingSession.thinkingLevel as ThinkingLevel)\n : (settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL);\n }\n\n // Fall back to settings default\n if (thinkingLevel === undefined) {\n thinkingLevel = settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;\n }\n\n // Clamp to model capabilities\n if (!model || !model.reasoning) {\n thinkingLevel = \"off\";\n }\n\n const editMode = settingsManager.getEditMode();\n const toolProfile = settingsManager.getToolProfile();\n const defaultActiveToolNames: string[] = toolProfile === \"minimal\"\n ? (editMode === \"hashline\"\n ? [\"hashline_read\", \"bash\", \"lsp\", \"tool_search\", \"tool_enable\"]\n : [\"read\", \"bash\", \"lsp\", \"tool_search\", \"tool_enable\"])\n : editMode === \"hashline\"\n ? [\"hashline_read\", \"bash\", \"hashline_edit\", \"write\", \"lsp\", \"bg_shell\", \"tool_search\", \"tool_enable\", \"Skill\", \"subagent\", \"await_subagent\"]\n : [\"read\", \"bash\", \"edit\", \"write\", \"lsp\", \"bg_shell\", \"tool_search\", \"tool_enable\", \"Skill\", \"subagent\", \"await_subagent\"];\n const initialActiveToolNames: string[] = options.tools\n ? options.tools.map((t) => t.name).filter((n): n is string => typeof n === \"string\" && n in allTools)\n : defaultActiveToolNames;\n\n let agent: Agent;\n\n // Create convertToLlm wrapper that filters images if blockImages is enabled (defense-in-depth)\n const convertToLlmWithBlockImages = (messages: AgentMessage[]): Message[] => {\n const converted = convertToLlm(messages);\n // Check setting dynamically so mid-session changes take effect\n if (!settingsManager.getBlockImages()) {\n return converted;\n }\n // Filter out ImageContent from all messages, replacing with text placeholder\n return converted.map((msg) => {\n if (msg.role === \"user\" || msg.role === \"toolResult\") {\n const content = msg.content;\n if (Array.isArray(content)) {\n const hasImages = content.some((c) => c.type === \"image\");\n if (hasImages) {\n const filteredContent = content\n .map((c) =>\n c.type === \"image\" ? { type: \"text\" as const, text: \"Image reading is disabled.\" } : c,\n )\n .filter(\n (c, i, arr) =>\n // Dedupe consecutive \"Image reading is disabled.\" texts\n !(\n c.type === \"text\" &&\n c.text === \"Image reading is disabled.\" &&\n i > 0 &&\n arr[i - 1].type === \"text\" &&\n (arr[i - 1] as { type: \"text\"; text: string }).text === \"Image reading is disabled.\"\n ),\n );\n return { ...msg, content: filteredContent };\n }\n }\n }\n return msg;\n });\n };\n\n const extensionRunnerRef: { current?: ExtensionRunner } = {};\n\n agent = new Agent({\n initialState: {\n systemPrompt: \"\",\n model,\n thinkingLevel,\n tools: [],\n },\n convertToLlm: convertToLlmWithBlockImages,\n onPayload: async (payload, currentModel) => {\n const runner = extensionRunnerRef.current;\n if (!runner?.hasHandlers(\"before_provider_request\")) {\n return payload;\n }\n return runner.emitBeforeProviderRequest(payload, currentModel);\n },\n sessionId: sessionManager.getSessionId(),\n transformContext: async (messages) => {\n const runner = extensionRunnerRef.current;\n if (!runner) return messages;\n return runner.emitContext(messages);\n },\n steeringMode: settingsManager.getSteeringMode(),\n followUpMode: settingsManager.getFollowUpMode(),\n transport: settingsManager.getTransport(),\n thinkingBudgets: settingsManager.getThinkingBudgets(),\n maxRetryDelayMs: settingsManager.getRetrySettings().maxDelayMs,\n externalToolExecution: (m) => modelRegistry.getProviderAuthMode(m.provider) === \"externalCli\",\n getApiKey: async (provider) => {\n // Use the provider argument from the in-flight request;\n // agent.state.model may already be switched mid-turn.\n const resolvedProvider = provider || agent.state.model?.provider;\n if (!resolvedProvider) {\n throw new Error(\"No model selected\");\n }\n const authMode = modelRegistry.getProviderAuthMode(resolvedProvider);\n if (authMode === \"externalCli\" || authMode === \"none\") {\n return undefined;\n }\n\n // Retry key resolution with backoff to handle transient network failures\n // (e.g., OAuth token refresh failing due to brief connectivity loss).\n const maxAttempts = 3;\n const baseDelayMs = 2000;\n const sid = sessionManager.getSessionId();\n for (let attempt = 1; attempt <= maxAttempts; attempt++) {\n const key = await modelRegistry.getApiKeyForProvider(resolvedProvider, sid);\n if (key) return key;\n\n // On the last attempt, fall through to error handling below\n if (attempt >= maxAttempts) break;\n\n // Only retry if credentials exist (network issue) — no point retrying\n // when there are genuinely no credentials configured.\n const hasAuth = modelRegistry.authStorage.hasAuth(resolvedProvider);\n const model = agent.state.model;\n const isOAuth = model && modelRegistry.isUsingOAuth(model);\n if (!hasAuth && !isOAuth) break;\n\n // Wait with exponential backoff before retrying\n await new Promise(resolve => setTimeout(resolve, baseDelayMs * attempt));\n }\n\n // All retries exhausted — throw descriptive error\n // Check if credentials exist but are temporarily backed off\n // (e.g., after a 429 quota exhaustion). Provide a specific error\n // so the retry handler knows this is transient, not a permanent\n // auth failure.\n const hasAuth = modelRegistry.authStorage.hasAuth(resolvedProvider);\n if (hasAuth) {\n throw new Error(\n `All credentials for \"${resolvedProvider}\" are temporarily backed off due to rate limiting. ` +\n `The request will be retried automatically when backoff expires.`,\n );\n }\n const model = agent.state.model;\n const isOAuth = model && modelRegistry.isUsingOAuth(model);\n if (isOAuth) {\n // If credentials exist but are all in a backoff window (quota / rate-limit),\n // surface a specific message instead of the misleading \"Authentication failed\".\n if (modelRegistry.authStorage.areAllCredentialsBackedOff(resolvedProvider)) {\n throw new Error(\n `Rate limit in effect for \"${resolvedProvider}\". ` +\n `Please wait before retrying or switch to a different model.`,\n );\n }\n throw new Error(\n `Authentication failed for \"${resolvedProvider}\". ` +\n `Credentials may have expired or network is unavailable. ` +\n `Run '/login ${resolvedProvider}' to re-authenticate.`,\n );\n }\n throw new Error(\n `No API key found for \"${resolvedProvider}\". ` +\n `Set an API key environment variable or run '/login ${resolvedProvider}'.`,\n );\n },\n });\n\n // Restore messages if session has existing data\n if (hasExistingSession) {\n agent.replaceMessages(existingSession.messages);\n if (!hasThinkingEntry) {\n sessionManager.appendThinkingLevelChange(thinkingLevel);\n }\n } else {\n // Save initial model and thinking level for new sessions so they can be restored on resume\n if (model) {\n sessionManager.appendModelChange(model.provider, model.id);\n }\n sessionManager.appendThinkingLevelChange(thinkingLevel);\n }\n\n const session = new AgentSession({\n agent,\n sessionManager,\n settingsManager,\n cwd,\n scopedModels: options.scopedModels,\n resourceLoader,\n customTools: options.customTools,\n modelRegistry,\n initialActiveToolNames,\n extensionRunnerRef,\n sandboxManager: new SandboxManager(settingsManager),\n });\n const extensionsResult = resourceLoader.getExtensions();\n\n return {\n session,\n extensionsResult,\n modelFallbackMessage,\n };\n}\n"]}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from \"node:path\";\nimport { Agent, type AgentMessage, type ThinkingLevel } from \"@gsd/pi-agent-core\";\nimport { supportsAdaptiveThinking, type Message, type Model } from \"@gsd/pi-ai\";\nimport { getAgentDir, getDocsPath } from \"../config.js\";\nimport { AgentSession } from \"./agent-session.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport { DEFAULT_THINKING_LEVEL } from \"./defaults.js\";\nimport type { ExtensionRunner, LoadExtensionsResult, ToolDefinition } from \"./extensions/index.js\";\nimport { convertToLlm } from \"./messages.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { findInitialModel } from \"./model-resolver.js\";\nimport type { ResourceLoader } from \"./resource-loader.js\";\nimport { DefaultResourceLoader } from \"./resource-loader.js\";\nimport { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\nimport { time } from \"./timings.js\";\nimport { SandboxManager } from \"./sandbox/index.js\";\nimport {\n allTools,\n bashTool,\n codingTools,\n createBashTool,\n createCodingTools,\n createEditTool,\n createFindTool,\n createGrepTool,\n createLsTool,\n createReadOnlyTools,\n createReadTool,\n createWriteTool,\n editTool,\n findTool,\n grepTool,\n hashlineCodingTools,\n hashlineEditTool,\n hashlineReadTool,\n createHashlineCodingTools,\n createHashlineEditTool,\n createHashlineReadTool,\n lsTool,\n readOnlyTools,\n readTool,\n type Tool,\n writeTool,\n} from \"./tools/index.js\";\n\nexport interface CreateAgentSessionOptions {\n /** Working directory for project-local discovery. Default: process.cwd() */\n cwd?: string;\n /** Global config directory. Default: ~/.pi/agent */\n agentDir?: string;\n\n /** Auth storage for credentials. Default: AuthStorage.create(agentDir/auth.json) */\n authStorage?: AuthStorage;\n /** Model registry. Default: new ModelRegistry(authStorage, agentDir/models.json) */\n modelRegistry?: ModelRegistry;\n\n /** Model to use. Default: from settings, else first available */\n model?: Model<any>;\n /** Thinking level. Default: from settings, else 'medium' (clamped to model capabilities) */\n thinkingLevel?: ThinkingLevel;\n /** Models available for cycling (Ctrl+P in interactive mode) */\n scopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel }>;\n\n /** Built-in tools to use. Default: codingTools [read, bash, edit, write] */\n tools?: Tool[];\n /** Custom tools to register (in addition to built-in tools). */\n customTools?: ToolDefinition[];\n\n /** Resource loader. When omitted, DefaultResourceLoader is used. */\n resourceLoader?: ResourceLoader;\n\n /** Session manager. Default: SessionManager.create(cwd) */\n sessionManager?: SessionManager;\n\n /** Settings manager. Default: SettingsManager.create(cwd, agentDir) */\n settingsManager?: SettingsManager;\n}\n\n/** Result from createAgentSession */\nexport interface CreateAgentSessionResult {\n /** The created session */\n session: AgentSession;\n /** Extensions result (for UI context setup in interactive mode) */\n extensionsResult: LoadExtensionsResult;\n /** Warning if session was restored with a different model than saved */\n modelFallbackMessage?: string;\n}\n\n// Re-exports\n\nexport type {\n ExtensionAPI,\n ExtensionCommandContext,\n ExtensionContext,\n ExtensionFactory,\n SlashCommandInfo,\n SlashCommandLocation,\n SlashCommandSource,\n ToolDefinition,\n} from \"./extensions/index.js\";\nexport type { PromptTemplate } from \"./prompt-templates.js\";\nexport type { Skill } from \"./skills.js\";\nexport type { Tool } from \"./tools/index.js\";\n\nexport {\n // Pre-built tools (use process.cwd())\n readTool,\n bashTool,\n editTool,\n writeTool,\n grepTool,\n findTool,\n lsTool,\n codingTools,\n readOnlyTools,\n allTools as allBuiltInTools,\n // Tool factories (for custom cwd)\n createCodingTools,\n createReadOnlyTools,\n createReadTool,\n createBashTool,\n createEditTool,\n createWriteTool,\n createGrepTool,\n createFindTool,\n createLsTool,\n // Hashline edit mode\n hashlineCodingTools,\n hashlineEditTool,\n hashlineReadTool,\n createHashlineCodingTools,\n createHashlineEditTool,\n createHashlineReadTool,\n};\n\n// Helper Functions\n\nfunction getDefaultAgentDir(): string {\n return getAgentDir();\n}\n\nfunction shouldPreferAdaptiveThinkingByDefault(\n model: Model<any> | undefined,\n settingsManager: SettingsManager,\n): boolean {\n return !!model &&\n model.provider === \"anthropic\" &&\n model.reasoning === true &&\n settingsManager.getAnthropicAdaptiveByDefault() &&\n supportsAdaptiveThinking(model.id);\n}\n\n/**\n * Create an AgentSession with the specified options.\n *\n * @example\n * ```typescript\n * // Minimal - uses defaults\n * const { session } = await createAgentSession();\n *\n * // With explicit model\n * import { getModel } from '@gsd/pi-ai';\n * const { session } = await createAgentSession({\n * model: getModel('anthropic', 'claude-opus-4-5'),\n * thinkingLevel: 'high',\n * });\n *\n * // Continue previous session\n * const { session, modelFallbackMessage } = await createAgentSession({\n * continueSession: true,\n * });\n *\n * // Full control\n * const loader = new DefaultResourceLoader({\n * cwd: process.cwd(),\n * agentDir: getAgentDir(),\n * settingsManager: SettingsManager.create(),\n * });\n * await loader.reload();\n * const { session } = await createAgentSession({\n * model: myModel,\n * tools: [readTool, bashTool],\n * resourceLoader: loader,\n * sessionManager: SessionManager.inMemory(),\n * });\n * ```\n */\nexport async function createAgentSession(options: CreateAgentSessionOptions = {}): Promise<CreateAgentSessionResult> {\n const cwd = options.cwd ?? process.cwd();\n const agentDir = options.agentDir ?? getDefaultAgentDir();\n let resourceLoader = options.resourceLoader;\n\n // Use provided or create AuthStorage and ModelRegistry\n const authPath = options.agentDir ? join(agentDir, \"auth.json\") : undefined;\n const modelsPath = options.agentDir ? join(agentDir, \"models.json\") : undefined;\n const authStorage = options.authStorage ?? AuthStorage.create(authPath);\n const modelRegistry = options.modelRegistry ?? new ModelRegistry(authStorage, modelsPath);\n\n const settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);\n const sessionManager = options.sessionManager ?? SessionManager.create(cwd);\n\n if (!resourceLoader) {\n resourceLoader = new DefaultResourceLoader({ cwd, agentDir, settingsManager });\n await resourceLoader.reload();\n time(\"resourceLoader.reload\");\n }\n\n // Check if session has existing data to restore\n const existingSession = sessionManager.buildSessionContext();\n const hasExistingSession = existingSession.messages.length > 0;\n const hasThinkingEntry = sessionManager.getBranch().some((entry) => entry.type === \"thinking_level_change\");\n\n let model = options.model;\n let modelFallbackMessage: string | undefined;\n\n // If session has data, try to restore model from it.\n //\n // Do NOT gate restoration on API key resolution here. Providers using\n // external CLIs (or temporarily expired OAuth credentials) may not return\n // a key at startup even though the model is still the correct user choice.\n // In those cases we should preserve the last used model and surface auth\n // errors only when a request is actually made.\n if (!model && hasExistingSession && existingSession.model) {\n const restoredModel = modelRegistry.find(existingSession.model.provider, existingSession.model.modelId);\n if (restoredModel) {\n model = restoredModel;\n }\n if (!model) {\n modelFallbackMessage = `Could not restore model ${existingSession.model.provider}/${existingSession.model.modelId}`;\n }\n }\n\n // If still no model, use findInitialModel (checks settings default, then provider defaults)\n if (!model) {\n const result = await findInitialModel({\n scopedModels: [],\n isContinuing: hasExistingSession,\n defaultProvider: settingsManager.getDefaultProvider(),\n defaultModelId: settingsManager.getDefaultModel(),\n defaultThinkingLevel: settingsManager.getDefaultThinkingLevel(),\n modelRegistry,\n });\n model = result.model;\n if (!model) {\n modelFallbackMessage = `No models available. Use /login or set an API key environment variable. See ${join(getDocsPath(), \"providers.md\")}. Then use /model to select a model.`;\n } else if (modelFallbackMessage) {\n modelFallbackMessage += `. Using ${model.provider}/${model.id}`;\n }\n }\n\n let thinkingLevel = options.thinkingLevel;\n\n // If session has data, restore thinking level from it\n if (thinkingLevel === undefined && hasExistingSession) {\n thinkingLevel = hasThinkingEntry\n ? (existingSession.thinkingLevel as ThinkingLevel)\n : (settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL);\n }\n\n // Fall back to settings default\n if (thinkingLevel === undefined) {\n thinkingLevel = settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;\n }\n\n const preferAdaptiveByDefault = shouldPreferAdaptiveThinkingByDefault(model, settingsManager);\n if (preferAdaptiveByDefault) {\n thinkingLevel = \"adaptive\";\n }\n\n // Clamp to model capabilities\n if (!model || !model.reasoning) {\n thinkingLevel = \"off\";\n }\n\n const editMode = settingsManager.getEditMode();\n const toolProfile = settingsManager.getToolProfile();\n const balancedToolNames = editMode === \"hashline\"\n ? [\"hashline_read\", \"bash\", \"hashline_edit\", \"write\", \"lsp\", \"bg_shell\", \"tool_search\", \"tool_enable\", \"Skill\", \"subagent\", \"await_subagent\", \"ask_user_questions\"]\n : [\"read\", \"bash\", \"edit\", \"write\", \"lsp\", \"bg_shell\", \"tool_search\", \"tool_enable\", \"Skill\", \"subagent\", \"await_subagent\", \"ask_user_questions\"];\n const defaultActiveToolNames: string[] = toolProfile === \"full\"\n ? Object.keys(allTools)\n : balancedToolNames;\n const initialActiveToolNames: string[] = options.tools\n ? options.tools.map((t) => t.name).filter((n): n is string => typeof n === \"string\" && n in allTools)\n : defaultActiveToolNames;\n\n let agent: Agent;\n\n // Create convertToLlm wrapper that filters images if blockImages is enabled (defense-in-depth)\n const convertToLlmWithBlockImages = (messages: AgentMessage[]): Message[] => {\n const converted = convertToLlm(messages);\n // Check setting dynamically so mid-session changes take effect\n if (!settingsManager.getBlockImages()) {\n return converted;\n }\n // Filter out ImageContent from all messages, replacing with text placeholder\n return converted.map((msg) => {\n if (msg.role === \"user\" || msg.role === \"toolResult\") {\n const content = msg.content;\n if (Array.isArray(content)) {\n const hasImages = content.some((c) => c.type === \"image\");\n if (hasImages) {\n const filteredContent = content\n .map((c) =>\n c.type === \"image\" ? { type: \"text\" as const, text: \"Image reading is disabled.\" } : c,\n )\n .filter(\n (c, i, arr) =>\n // Dedupe consecutive \"Image reading is disabled.\" texts\n !(\n c.type === \"text\" &&\n c.text === \"Image reading is disabled.\" &&\n i > 0 &&\n arr[i - 1].type === \"text\" &&\n (arr[i - 1] as { type: \"text\"; text: string }).text === \"Image reading is disabled.\"\n ),\n );\n return { ...msg, content: filteredContent };\n }\n }\n }\n return msg;\n });\n };\n\n const extensionRunnerRef: { current?: ExtensionRunner } = {};\n\n agent = new Agent({\n initialState: {\n systemPrompt: \"\",\n model,\n thinkingLevel,\n tools: [],\n },\n convertToLlm: convertToLlmWithBlockImages,\n onPayload: async (payload, currentModel) => {\n const runner = extensionRunnerRef.current;\n if (!runner?.hasHandlers(\"before_provider_request\")) {\n return payload;\n }\n return runner.emitBeforeProviderRequest(payload, currentModel);\n },\n sessionId: sessionManager.getSessionId(),\n transformContext: async (messages) => {\n const runner = extensionRunnerRef.current;\n if (!runner) return messages;\n return runner.emitContext(messages);\n },\n steeringMode: settingsManager.getSteeringMode(),\n followUpMode: settingsManager.getFollowUpMode(),\n transport: settingsManager.getTransport(),\n thinkingBudgets: settingsManager.getThinkingBudgets(),\n maxRetryDelayMs: settingsManager.getRetrySettings().maxDelayMs,\n externalToolExecution: (m) => modelRegistry.getProviderAuthMode(m.provider) === \"externalCli\",\n getApiKey: async (provider) => {\n // Use the provider argument from the in-flight request;\n // agent.state.model may already be switched mid-turn.\n const resolvedProvider = provider || agent.state.model?.provider;\n if (!resolvedProvider) {\n throw new Error(\"No model selected\");\n }\n const authMode = modelRegistry.getProviderAuthMode(resolvedProvider);\n if (authMode === \"externalCli\" || authMode === \"none\") {\n return undefined;\n }\n\n // Retry key resolution with backoff to handle transient network failures\n // (e.g., OAuth token refresh failing due to brief connectivity loss).\n const maxAttempts = 3;\n const baseDelayMs = 2000;\n const sid = sessionManager.getSessionId();\n for (let attempt = 1; attempt <= maxAttempts; attempt++) {\n const key = await modelRegistry.getApiKeyForProvider(resolvedProvider, sid);\n if (key) return key;\n\n // On the last attempt, fall through to error handling below\n if (attempt >= maxAttempts) break;\n\n // Only retry if credentials exist (network issue) — no point retrying\n // when there are genuinely no credentials configured.\n const hasAuth = modelRegistry.authStorage.hasAuth(resolvedProvider);\n const model = agent.state.model;\n const isOAuth = model && modelRegistry.isUsingOAuth(model);\n if (!hasAuth && !isOAuth) break;\n\n // Wait with exponential backoff before retrying\n await new Promise(resolve => setTimeout(resolve, baseDelayMs * attempt));\n }\n\n // All retries exhausted — throw descriptive error\n // Check if credentials exist but are temporarily backed off\n // (e.g., after a 429 quota exhaustion). Provide a specific error\n // so the retry handler knows this is transient, not a permanent\n // auth failure.\n const hasAuth = modelRegistry.authStorage.hasAuth(resolvedProvider);\n if (hasAuth) {\n throw new Error(\n `All credentials for \"${resolvedProvider}\" are temporarily backed off due to rate limiting. ` +\n `The request will be retried automatically when backoff expires.`,\n );\n }\n const model = agent.state.model;\n const isOAuth = model && modelRegistry.isUsingOAuth(model);\n if (isOAuth) {\n // If credentials exist but are all in a backoff window (quota / rate-limit),\n // surface a specific message instead of the misleading \"Authentication failed\".\n if (modelRegistry.authStorage.areAllCredentialsBackedOff(resolvedProvider)) {\n throw new Error(\n `Rate limit in effect for \"${resolvedProvider}\". ` +\n `Please wait before retrying or switch to a different model.`,\n );\n }\n throw new Error(\n `Authentication failed for \"${resolvedProvider}\". ` +\n `Credentials may have expired or network is unavailable. ` +\n `Run '/login ${resolvedProvider}' to re-authenticate.`,\n );\n }\n throw new Error(\n `No API key found for \"${resolvedProvider}\". ` +\n `Set an API key environment variable or run '/login ${resolvedProvider}'.`,\n );\n },\n });\n\n // Restore messages if session has existing data\n if (hasExistingSession) {\n agent.replaceMessages(existingSession.messages);\n if (!hasThinkingEntry) {\n sessionManager.appendThinkingLevelChange(thinkingLevel);\n }\n } else {\n // Save initial model and thinking level for new sessions so they can be restored on resume\n if (model) {\n sessionManager.appendModelChange(model.provider, model.id);\n }\n sessionManager.appendThinkingLevelChange(thinkingLevel);\n }\n\n const session = new AgentSession({\n agent,\n sessionManager,\n settingsManager,\n cwd,\n scopedModels: options.scopedModels,\n resourceLoader,\n customTools: options.customTools,\n modelRegistry,\n initialActiveToolNames,\n extensionRunnerRef,\n sandboxManager: new SandboxManager(settingsManager),\n });\n const extensionsResult = resourceLoader.getExtensions();\n\n return {\n session,\n extensionsResult,\n modelFallbackMessage,\n };\n}\n"]}
@@ -70,4 +70,84 @@ test("createAgentSession restores last session model even when API key cannot be
70
70
  }
71
71
  }
72
72
  });
73
+ test("createAgentSession defaults to adaptive for supported Anthropic models when enabled", async () => {
74
+ const tempDir = join(process.cwd(), ".tmp-tests", `sdk-anthropic-adaptive-${Date.now()}-${Math.random().toString(36).slice(2)}`);
75
+ mkdirSync(tempDir, { recursive: true });
76
+ tempDirs.push(tempDir);
77
+ const authStorage = AuthStorage.inMemory({
78
+ anthropic: { type: "api_key", key: "test-anthropic-key" },
79
+ });
80
+ const modelRegistry = new ModelRegistry(authStorage, join(tempDir, "models.json"));
81
+ const settingsManager = SettingsManager.inMemory();
82
+ settingsManager.setDefaultModelAndProvider("anthropic", "claude-sonnet-4-6");
83
+ settingsManager.setDefaultThinkingLevel("high");
84
+ settingsManager.setAnthropicAdaptiveByDefault(true);
85
+ const sessionManager = SessionManager.inMemory(tempDir);
86
+ const resourceLoader = new DefaultResourceLoader({
87
+ cwd: tempDir,
88
+ agentDir: tempDir,
89
+ settingsManager,
90
+ noExtensions: true,
91
+ noSkills: true,
92
+ noPromptTemplates: true,
93
+ noThemes: true,
94
+ });
95
+ const { session } = await createAgentSession({
96
+ cwd: tempDir,
97
+ agentDir: tempDir,
98
+ authStorage,
99
+ modelRegistry,
100
+ settingsManager,
101
+ sessionManager,
102
+ resourceLoader,
103
+ });
104
+ assert.equal(session.model?.provider, "anthropic");
105
+ assert.equal(session.model?.id, "claude-sonnet-4-6");
106
+ assert.equal(session.thinkingLevel, "adaptive");
107
+ assert.equal(settingsManager.getDefaultThinkingLevel(), "high");
108
+ session.dispose();
109
+ });
110
+ test("AgentSession switches supported Anthropic models to adaptive when the setting is enabled", async () => {
111
+ const tempDir = join(process.cwd(), ".tmp-tests", `sdk-anthropic-switch-${Date.now()}-${Math.random().toString(36).slice(2)}`);
112
+ mkdirSync(tempDir, { recursive: true });
113
+ tempDirs.push(tempDir);
114
+ const authStorage = AuthStorage.inMemory({
115
+ anthropic: { type: "api_key", key: "test-anthropic-key" },
116
+ openai: { type: "api_key", key: "test-openai-key" },
117
+ });
118
+ const modelRegistry = new ModelRegistry(authStorage, join(tempDir, "models.json"));
119
+ const settingsManager = SettingsManager.inMemory();
120
+ settingsManager.setDefaultModelAndProvider("openai", "gpt-5.4");
121
+ settingsManager.setDefaultThinkingLevel("high");
122
+ settingsManager.setAnthropicAdaptiveByDefault(true);
123
+ const sessionManager = SessionManager.inMemory(tempDir);
124
+ const resourceLoader = new DefaultResourceLoader({
125
+ cwd: tempDir,
126
+ agentDir: tempDir,
127
+ settingsManager,
128
+ noExtensions: true,
129
+ noSkills: true,
130
+ noPromptTemplates: true,
131
+ noThemes: true,
132
+ });
133
+ const { session } = await createAgentSession({
134
+ cwd: tempDir,
135
+ agentDir: tempDir,
136
+ authStorage,
137
+ modelRegistry,
138
+ settingsManager,
139
+ sessionManager,
140
+ resourceLoader,
141
+ });
142
+ assert.equal(session.model?.provider, "openai");
143
+ assert.equal(session.thinkingLevel, "high");
144
+ const anthropicModel = modelRegistry.getAvailable().find((model) => model.provider === "anthropic" && model.id === "claude-sonnet-4-6");
145
+ if (!anthropicModel)
146
+ throw new Error("expected claude-sonnet-4-6 to be available");
147
+ await session.setModel(anthropicModel);
148
+ assert.equal(session.model?.provider, "anthropic");
149
+ assert.equal(session.model?.id, "claude-sonnet-4-6");
150
+ assert.equal(session.thinkingLevel, "adaptive");
151
+ session.dispose();
152
+ });
73
153
  //# sourceMappingURL=sdk.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/core/sdk.test.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from \"node:assert/strict\";\nimport { mkdirSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { afterEach, test } from \"node:test\";\nimport { DefaultResourceLoader } from \"./resource-loader.js\";\nimport { createAgentSession } from \"./sdk.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\n\nconst tempDirs: string[] = [];\n\nafterEach(() => {\n\tfor (const dir of tempDirs.splice(0)) {\n\t\ttry {\n\t\t\trmSync(dir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// best effort cleanup\n\t\t}\n\t}\n});\n\ntest(\"createAgentSession restores last session model even when API key cannot be resolved at startup\", async () => {\n\tconst tempDir = join(\n\t\tprocess.cwd(),\n\t\t\".tmp-tests\",\n\t\t`sdk-restore-model-${Date.now()}-${Math.random().toString(36).slice(2)}`,\n\t);\n\tmkdirSync(tempDir, { recursive: true });\n\ttempDirs.push(tempDir);\n\n\tconst authStorage = AuthStorage.inMemory({\n\t\tanthropic: { type: \"api_key\", key: \"test-anthropic-key\" },\n\t});\n\tconst modelRegistry = new ModelRegistry(authStorage, join(tempDir, \"models.json\"));\n\tconst settingsManager = SettingsManager.inMemory();\n\tconst sessionManager = SessionManager.inMemory(tempDir);\n\n\tsessionManager.appendMessage({\n\t\trole: \"user\",\n\t\tcontent: [{ type: \"text\", text: \"hello\" }],\n\t\ttimestamp: Date.now(),\n\t});\n\tsessionManager.appendModelChange(\"zai\", \"glm-4.7\");\n\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tsettingsManager,\n\t\tnoExtensions: true,\n\t\tnoSkills: true,\n\t\tnoPromptTemplates: true,\n\t\tnoThemes: true,\n\t});\n\n\tconst originalZaiKey = process.env.ZAI_API_KEY;\n\tdelete process.env.ZAI_API_KEY;\n\n\ttry {\n\t\tconst { session, modelFallbackMessage } = await createAgentSession({\n\t\t\tcwd: tempDir,\n\t\t\tagentDir: tempDir,\n\t\t\tauthStorage,\n\t\t\tmodelRegistry,\n\t\t\tsettingsManager,\n\t\t\tsessionManager,\n\t\t\tresourceLoader,\n\t\t});\n\n\t\tassert.equal(modelFallbackMessage, undefined);\n\t\tassert.equal(session.model?.provider, \"zai\");\n\t\tassert.equal(session.model?.id, \"glm-4.7\");\n\t\tsession.dispose();\n\t} finally {\n\t\tif (originalZaiKey === undefined) {\n\t\t\tdelete process.env.ZAI_API_KEY;\n\t\t} else {\n\t\t\tprocess.env.ZAI_API_KEY = originalZaiKey;\n\t\t}\n\t}\n});\n"]}
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/core/sdk.test.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from \"node:assert/strict\";\nimport { mkdirSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { afterEach, test } from \"node:test\";\nimport { DefaultResourceLoader } from \"./resource-loader.js\";\nimport { createAgentSession } from \"./sdk.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\n\nconst tempDirs: string[] = [];\n\nafterEach(() => {\n\tfor (const dir of tempDirs.splice(0)) {\n\t\ttry {\n\t\t\trmSync(dir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// best effort cleanup\n\t\t}\n\t}\n});\n\ntest(\"createAgentSession restores last session model even when API key cannot be resolved at startup\", async () => {\n\tconst tempDir = join(\n\t\tprocess.cwd(),\n\t\t\".tmp-tests\",\n\t\t`sdk-restore-model-${Date.now()}-${Math.random().toString(36).slice(2)}`,\n\t);\n\tmkdirSync(tempDir, { recursive: true });\n\ttempDirs.push(tempDir);\n\n\tconst authStorage = AuthStorage.inMemory({\n\t\tanthropic: { type: \"api_key\", key: \"test-anthropic-key\" },\n\t});\n\tconst modelRegistry = new ModelRegistry(authStorage, join(tempDir, \"models.json\"));\n\tconst settingsManager = SettingsManager.inMemory();\n\tconst sessionManager = SessionManager.inMemory(tempDir);\n\n\tsessionManager.appendMessage({\n\t\trole: \"user\",\n\t\tcontent: [{ type: \"text\", text: \"hello\" }],\n\t\ttimestamp: Date.now(),\n\t});\n\tsessionManager.appendModelChange(\"zai\", \"glm-4.7\");\n\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tsettingsManager,\n\t\tnoExtensions: true,\n\t\tnoSkills: true,\n\t\tnoPromptTemplates: true,\n\t\tnoThemes: true,\n\t});\n\n\tconst originalZaiKey = process.env.ZAI_API_KEY;\n\tdelete process.env.ZAI_API_KEY;\n\n\ttry {\n\t\tconst { session, modelFallbackMessage } = await createAgentSession({\n\t\t\tcwd: tempDir,\n\t\t\tagentDir: tempDir,\n\t\t\tauthStorage,\n\t\t\tmodelRegistry,\n\t\t\tsettingsManager,\n\t\t\tsessionManager,\n\t\t\tresourceLoader,\n\t\t});\n\n\t\tassert.equal(modelFallbackMessage, undefined);\n\t\tassert.equal(session.model?.provider, \"zai\");\n\t\tassert.equal(session.model?.id, \"glm-4.7\");\n\t\tsession.dispose();\n\t} finally {\n\t\tif (originalZaiKey === undefined) {\n\t\t\tdelete process.env.ZAI_API_KEY;\n\t\t} else {\n\t\t\tprocess.env.ZAI_API_KEY = originalZaiKey;\n\t\t}\n\t}\n});\n\ntest(\"createAgentSession defaults to adaptive for supported Anthropic models when enabled\", async () => {\n\tconst tempDir = join(\n\t\tprocess.cwd(),\n\t\t\".tmp-tests\",\n\t\t`sdk-anthropic-adaptive-${Date.now()}-${Math.random().toString(36).slice(2)}`,\n\t);\n\tmkdirSync(tempDir, { recursive: true });\n\ttempDirs.push(tempDir);\n\n\tconst authStorage = AuthStorage.inMemory({\n\t\tanthropic: { type: \"api_key\", key: \"test-anthropic-key\" },\n\t});\n\tconst modelRegistry = new ModelRegistry(authStorage, join(tempDir, \"models.json\"));\n\tconst settingsManager = SettingsManager.inMemory();\n\tsettingsManager.setDefaultModelAndProvider(\"anthropic\", \"claude-sonnet-4-6\");\n\tsettingsManager.setDefaultThinkingLevel(\"high\");\n\tsettingsManager.setAnthropicAdaptiveByDefault(true);\n\tconst sessionManager = SessionManager.inMemory(tempDir);\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tsettingsManager,\n\t\tnoExtensions: true,\n\t\tnoSkills: true,\n\t\tnoPromptTemplates: true,\n\t\tnoThemes: true,\n\t});\n\n\tconst { session } = await createAgentSession({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tauthStorage,\n\t\tmodelRegistry,\n\t\tsettingsManager,\n\t\tsessionManager,\n\t\tresourceLoader,\n\t});\n\n\tassert.equal(session.model?.provider, \"anthropic\");\n\tassert.equal(session.model?.id, \"claude-sonnet-4-6\");\n\tassert.equal(session.thinkingLevel, \"adaptive\");\n\tassert.equal(settingsManager.getDefaultThinkingLevel(), \"high\");\n\tsession.dispose();\n});\n\ntest(\"AgentSession switches supported Anthropic models to adaptive when the setting is enabled\", async () => {\n\tconst tempDir = join(\n\t\tprocess.cwd(),\n\t\t\".tmp-tests\",\n\t\t`sdk-anthropic-switch-${Date.now()}-${Math.random().toString(36).slice(2)}`,\n\t);\n\tmkdirSync(tempDir, { recursive: true });\n\ttempDirs.push(tempDir);\n\n\tconst authStorage = AuthStorage.inMemory({\n\t\tanthropic: { type: \"api_key\", key: \"test-anthropic-key\" },\n\t\topenai: { type: \"api_key\", key: \"test-openai-key\" },\n\t});\n\tconst modelRegistry = new ModelRegistry(authStorage, join(tempDir, \"models.json\"));\n\tconst settingsManager = SettingsManager.inMemory();\n\tsettingsManager.setDefaultModelAndProvider(\"openai\", \"gpt-5.4\");\n\tsettingsManager.setDefaultThinkingLevel(\"high\");\n\tsettingsManager.setAnthropicAdaptiveByDefault(true);\n\tconst sessionManager = SessionManager.inMemory(tempDir);\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tsettingsManager,\n\t\tnoExtensions: true,\n\t\tnoSkills: true,\n\t\tnoPromptTemplates: true,\n\t\tnoThemes: true,\n\t});\n\n\tconst { session } = await createAgentSession({\n\t\tcwd: tempDir,\n\t\tagentDir: tempDir,\n\t\tauthStorage,\n\t\tmodelRegistry,\n\t\tsettingsManager,\n\t\tsessionManager,\n\t\tresourceLoader,\n\t});\n\n\tassert.equal(session.model?.provider, \"openai\");\n\tassert.equal(session.thinkingLevel, \"high\");\n\n\tconst anthropicModel = modelRegistry.getAvailable().find((model) =>\n\t\tmodel.provider === \"anthropic\" && model.id === \"claude-sonnet-4-6\"\n\t);\n\tif (!anthropicModel) throw new Error(\"expected claude-sonnet-4-6 to be available\");\n\n\tawait session.setModel(anthropicModel);\n\n\tassert.equal(session.model?.provider, \"anthropic\");\n\tassert.equal(session.model?.id, \"claude-sonnet-4-6\");\n\tassert.equal(session.thinkingLevel, \"adaptive\");\n\tsession.dispose();\n});\n"]}
@@ -97,9 +97,12 @@ export interface Settings {
97
97
  planModeReasoningModel?: string;
98
98
  planModeReviewModel?: string;
99
99
  planModeCodingModel?: string;
100
+ autoSuggestPlanMode?: boolean;
101
+ autoSwitchPlanModel?: boolean;
100
102
  permissionMode?: "danger-full-access" | "accept-on-edit" | "auto" | "plan";
101
103
  classifierModel?: string;
102
104
  defaultThinkingLevel?: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive";
105
+ anthropicAdaptiveByDefault?: boolean;
103
106
  transport?: TransportSetting;
104
107
  steeringMode?: "all" | "one-at-a-time";
105
108
  followUpMode?: "all" | "one-at-a-time";
@@ -120,7 +123,7 @@ export interface Settings {
120
123
  themes?: string[];
121
124
  enableSkillCommands?: boolean;
122
125
  toolSearch?: boolean;
123
- toolProfile?: "minimal" | "balanced";
126
+ toolProfile?: "balanced" | "full";
124
127
  terminal?: TerminalSettings;
125
128
  images?: ImageSettings;
126
129
  enabledModels?: string[];
@@ -236,6 +239,10 @@ export declare class SettingsManager {
236
239
  setPlanModeReasoningModel(modelRef: string | undefined): void;
237
240
  setPlanModeReviewModel(modelRef: string | undefined): void;
238
241
  setPlanModeCodingModel(modelRef: string | undefined): void;
242
+ getAutoSuggestPlanMode(): boolean;
243
+ setAutoSuggestPlanMode(enabled: boolean): void;
244
+ getAutoSwitchPlanModel(): boolean;
245
+ setAutoSwitchPlanModel(enabled: boolean): void;
239
246
  setPermissionMode(mode: "danger-full-access" | "accept-on-edit" | "auto" | "plan"): void;
240
247
  setClassifierModel(modelRef: string | undefined): void;
241
248
  setDefaultModelAndProvider(provider: string, modelId: string): void;
@@ -249,6 +256,8 @@ export declare class SettingsManager {
249
256
  setThemeAccent(accent: string | undefined): void;
250
257
  getDefaultThinkingLevel(): "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive" | undefined;
251
258
  setDefaultThinkingLevel(level: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive"): void;
259
+ getAnthropicAdaptiveByDefault(): boolean;
260
+ setAnthropicAdaptiveByDefault(enabled: boolean): void;
252
261
  getTransport(): TransportSetting;
253
262
  setTransport(transport: TransportSetting): void;
254
263
  getCompactionEnabled(): boolean;
@@ -305,10 +314,8 @@ export declare class SettingsManager {
305
314
  setProjectThemePaths(paths: string[]): void;
306
315
  getEnableSkillCommands(): boolean;
307
316
  setEnableSkillCommands(enabled: boolean): void;
308
- getToolProfile(): "minimal" | "balanced";
309
- setToolProfile(profile: "minimal" | "balanced"): void;
310
- getToolSearch(): boolean;
311
- setToolSearch(enabled: boolean): void;
317
+ getToolProfile(): "balanced" | "full";
318
+ setToolProfile(profile: "balanced" | "full"): void;
312
319
  getThinkingBudgets(): ThinkingBudgetsSettings | undefined;
313
320
  getShowImages(): boolean;
314
321
  setShowImages(show: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"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"}
@@ -495,6 +495,18 @@ export class SettingsManager {
495
495
  }
496
496
  this.setGlobalSetting("planModeCodingModel", modelRef.trim());
497
497
  }
498
+ getAutoSuggestPlanMode() {
499
+ return this.settings.autoSuggestPlanMode ?? false;
500
+ }
501
+ setAutoSuggestPlanMode(enabled) {
502
+ this.setGlobalSetting("autoSuggestPlanMode", enabled);
503
+ }
504
+ getAutoSwitchPlanModel() {
505
+ return this.settings.autoSwitchPlanModel ?? false;
506
+ }
507
+ setAutoSwitchPlanModel(enabled) {
508
+ this.setGlobalSetting("autoSwitchPlanModel", enabled);
509
+ }
498
510
  setPermissionMode(mode) {
499
511
  this.setGlobalSetting("permissionMode", mode);
500
512
  }
@@ -559,6 +571,12 @@ export class SettingsManager {
559
571
  setDefaultThinkingLevel(level) {
560
572
  this.setGlobalSetting("defaultThinkingLevel", level);
561
573
  }
574
+ getAnthropicAdaptiveByDefault() {
575
+ return this.settings.anthropicAdaptiveByDefault ?? false;
576
+ }
577
+ setAnthropicAdaptiveByDefault(enabled) {
578
+ this.setGlobalSetting("anthropicAdaptiveByDefault", enabled);
579
+ }
562
580
  getTransport() {
563
581
  return this.settings.transport ?? "sse";
564
582
  }
@@ -703,21 +721,17 @@ export class SettingsManager {
703
721
  }
704
722
  getToolProfile() {
705
723
  const profile = this.settings.toolProfile;
706
- if (profile === "minimal" || profile === "balanced")
724
+ if (profile === "balanced" || profile === "full")
707
725
  return profile;
726
+ // Migrate legacy minimal/toolSearch settings to balanced.
708
727
  if (this.settings.toolSearch !== undefined)
709
- return this.settings.toolSearch ? "minimal" : "balanced";
728
+ return "balanced";
710
729
  return "balanced";
711
730
  }
712
731
  setToolProfile(profile) {
713
732
  this.setGlobalSetting("toolProfile", profile);
714
- this.setGlobalSetting("toolSearch", profile === "minimal");
715
- }
716
- getToolSearch() {
717
- return this.getToolProfile() === "minimal";
718
- }
719
- setToolSearch(enabled) {
720
- this.setToolProfile(enabled ? "minimal" : "balanced");
733
+ // Keep legacy field in sync with deprecated minimal mode removal.
734
+ this.setGlobalSetting("toolSearch", false);
721
735
  }
722
736
  getThinkingBudgets() {
723
737
  return this.settings.thinkingBudgets;