From 9a4bb0e1ca9ad8852a2fca94b90385b0181db206 Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Fri, 3 Apr 2026 13:46:05 +0800 Subject: [PATCH] refactor: enrich sdk runtime session types --- src/entrypoints/sdk/runtimeTypes.ts | 54 +++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/src/entrypoints/sdk/runtimeTypes.ts b/src/entrypoints/sdk/runtimeTypes.ts index b20ca68..8690575 100755 --- a/src/entrypoints/sdk/runtimeTypes.ts +++ b/src/entrypoints/sdk/runtimeTypes.ts @@ -1,5 +1,11 @@ import type { CallToolResult, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js' import type { ZodTypeAny } from 'zod/v4' +import type { + SDKMessage, + SDKResultMessage, + SDKSessionInfo as CoreSDKSessionInfo, + SDKUserMessage, +} from './coreTypes.ts' export type EffortLevel = 'low' | 'medium' | 'high' | 'max' @@ -19,17 +25,33 @@ export type SdkMcpToolDefinition = { alwaysLoad?: boolean } -export type McpSdkServerConfigWithInstance = Record - -export type Options = Record -export type InternalOptions = Options - -export type SDKSessionOptions = Options & { - model?: string +export type McpSdkServerConfigWithInstance = Record & { + name?: string + version?: string + instance?: unknown + // eslint-disable-next-line @typescript-eslint/no-explicit-any + tools?: Array> } -export type Query = AsyncIterable -export type InternalQuery = AsyncIterable +export type Options = Record & { + cwd?: string + model?: string + permissionMode?: string + maxThinkingTokens?: number | null +} + +export type InternalOptions = Options & { + systemPrompt?: string + appendSystemPrompt?: string +} + +export type SDKSessionOptions = Options & { + cwd?: string + resume?: boolean +} + +export type Query = AsyncIterable +export type InternalQuery = AsyncIterable export type SessionMutationOptions = { dir?: string @@ -48,7 +70,10 @@ export type GetSessionMessagesOptions = SessionMutationOptions & { includeSystemMessages?: boolean } -export type ForkSessionOptions = SessionMutationOptions +export type ForkSessionOptions = SessionMutationOptions & { + upToMessageId?: string + title?: string +} export type ForkSessionResult = { sessionId: string @@ -56,4 +81,13 @@ export type ForkSessionResult = { export type SDKSession = { id: string + query( + prompt: string | AsyncIterable, + options?: Options, + ): Query + interrupt(): void } + +export type SessionMessage = SDKMessage + +export type SDKSessionInfo = CoreSDKSessionInfo