diff --git a/packages/shared/middleware/index.ts b/packages/shared/ai-sdk-middlewares/index.ts similarity index 100% rename from packages/shared/middleware/index.ts rename to packages/shared/ai-sdk-middlewares/index.ts diff --git a/packages/shared/middleware/middlewares.ts b/packages/shared/ai-sdk-middlewares/middlewares.ts similarity index 100% rename from packages/shared/middleware/middlewares.ts rename to packages/shared/ai-sdk-middlewares/middlewares.ts diff --git a/packages/shared/provider/format.ts b/packages/shared/provider/format.ts index cbef857d6..3a1fc637a 100644 --- a/packages/shared/provider/format.ts +++ b/packages/shared/provider/format.ts @@ -14,7 +14,7 @@ import { isWithTrailingSharp, routeToEndpoint, withoutTrailingSlash -} from '../api' +} from '../utils/url' import { isAnthropicProvider, isAzureOpenAIProvider, diff --git a/packages/shared/provider/sdk-config.ts b/packages/shared/provider/sdk-config.ts index 350e686e6..df4b52ca4 100644 --- a/packages/shared/provider/sdk-config.ts +++ b/packages/shared/provider/sdk-config.ts @@ -9,7 +9,7 @@ import { formatPrivateKey, hasProviderConfig, ProviderConfigFactory } from '@che import { defaultAppHeaders } from '@shared/utils' import { isEmpty } from 'lodash' -import { routeToEndpoint } from '../api' +import { routeToEndpoint } from '../utils/url' import { isAzureOpenAIProvider, isOllamaProvider } from './detection' import { getAiSdkProviderId } from './mapping' import type { MinimalProvider } from './types' diff --git a/packages/shared/utils.ts b/packages/shared/utils/headers.ts similarity index 100% rename from packages/shared/utils.ts rename to packages/shared/utils/headers.ts diff --git a/packages/shared/utils/index.ts b/packages/shared/utils/index.ts index 838c28e6c..11cefe0c9 100644 --- a/packages/shared/utils/index.ts +++ b/packages/shared/utils/index.ts @@ -1 +1,3 @@ +export { defaultAppHeaders } from './headers' export { getBaseModelName, getLowerBaseModelName } from './naming' +export * from './url' diff --git a/packages/shared/api/index.ts b/packages/shared/utils/url/index.ts similarity index 100% rename from packages/shared/api/index.ts rename to packages/shared/utils/url/index.ts diff --git a/src/main/apiServer/routes/messages.ts b/src/main/apiServer/routes/messages.ts index 2264cbb84..dbd6b676c 100644 --- a/src/main/apiServer/routes/messages.ts +++ b/src/main/apiServer/routes/messages.ts @@ -1,6 +1,6 @@ import type { MessageCreateParams } from '@anthropic-ai/sdk/resources' import { loggerService } from '@logger' -import { buildSharedMiddlewares, type SharedMiddlewareConfig } from '@shared/middleware' +import { buildSharedMiddlewares, type SharedMiddlewareConfig } from '@shared/ai-sdk-middlewares' import { getAiSdkProviderId } from '@shared/provider' import type { Provider } from '@types' import type { Request, Response } from 'express' diff --git a/src/main/apiServer/services/unified-messages.ts b/src/main/apiServer/services/unified-messages.ts index 1e6990bce..e1b830151 100644 --- a/src/main/apiServer/services/unified-messages.ts +++ b/src/main/apiServer/services/unified-messages.ts @@ -18,7 +18,7 @@ import anthropicService from '@main/services/AnthropicService' import copilotService from '@main/services/CopilotService' import { reduxService } from '@main/services/ReduxService' import type { OpenRouterProviderOptions } from '@openrouter/ai-sdk-provider' -import { isGemini3ModelId } from '@shared/middleware' +import { isGemini3ModelId } from '@shared/ai-sdk-middlewares' import { type AiSdkConfig, type AiSdkConfigContext, diff --git a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts index ae83df4f3..b1e2c0773 100644 --- a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts +++ b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts @@ -5,7 +5,7 @@ import type { MCPTool } from '@renderer/types' import { type Assistant, type Message, type Model, type Provider, SystemProviderIds } from '@renderer/types' import type { Chunk } from '@renderer/types/chunk' import { isOllamaProvider, isSupportEnableThinkingProvider } from '@renderer/utils/provider' -import { openrouterReasoningMiddleware, skipGeminiThoughtSignatureMiddleware } from '@shared/middleware' +import { openrouterReasoningMiddleware, skipGeminiThoughtSignatureMiddleware } from '@shared/ai-sdk-middlewares' import type { LanguageModelMiddleware } from 'ai' import { extractReasoningMiddleware, simulateStreamingMiddleware } from 'ai' diff --git a/src/renderer/src/aiCore/provider/__tests__/providerConfig.test.ts b/src/renderer/src/aiCore/provider/__tests__/providerConfig.test.ts index 59975c824..3d1bc2ac3 100644 --- a/src/renderer/src/aiCore/provider/__tests__/providerConfig.test.ts +++ b/src/renderer/src/aiCore/provider/__tests__/providerConfig.test.ts @@ -46,8 +46,8 @@ vi.mock('@renderer/utils/api', () => ({ isWithTrailingSharp: vi.fn((host) => host?.endsWith('#') || false) })) -// Also mock @shared/api since formatProviderApiHost uses it directly -vi.mock('@shared/api', async (importOriginal) => { +// Also mock @shared/utils/url since formatProviderApiHost uses it directly +vi.mock('@shared/utils/url', async (importOriginal) => { const actual = (await importOriginal()) as any return { ...actual, @@ -93,7 +93,7 @@ vi.mock('@renderer/services/AssistantService', () => ({ import { getProviderByModel } from '@renderer/services/AssistantService' import type { Model, Provider } from '@renderer/types' import { isAzureOpenAIProvider, isCherryAIProvider, isPerplexityProvider } from '@renderer/utils/provider' -import { formatApiHost } from '@shared/api' +import { formatApiHost } from '@shared/utils/url' import { COPILOT_DEFAULT_HEADERS, COPILOT_EDITOR_VERSION, isCopilotResponsesModel } from '../constants' import { getActualProvider, providerToAiSdkConfig } from '../providerConfig' diff --git a/src/renderer/src/utils/api.ts b/src/renderer/src/utils/api.ts index f6e0c63c5..216a8c51f 100644 --- a/src/renderer/src/utils/api.ts +++ b/src/renderer/src/utils/api.ts @@ -14,7 +14,7 @@ export { withoutTrailingApiVersion, withoutTrailingSharp, withoutTrailingSlash -} from '@shared/api' +} from '@shared/utils/url' /** * 格式化 API key 字符串。