refactor: enhance Atomic Chat API URL handling

- Updated the `getAtomicChatApiBaseUrl` function to parse the base URL correctly and ensure the pathname is formatted without trailing version segments.
- Cleared search and hash components from the URL to standardize the output.

This change improves the robustness of the URL handling for the Atomic Chat provider.
This commit is contained in:
Misha Skvortsov
2026-04-02 12:27:12 +03:00
parent 4f78bde085
commit 64ba7fdb9a

View File

@@ -97,8 +97,16 @@ export async function listOllamaModels(
// ── Atomic Chat discovery (Apple Silicon local LLMs at 127.0.0.1:1337) ──────
export function getAtomicChatApiBaseUrl(baseUrl?: string): string {
const raw = baseUrl || process.env.ATOMIC_CHAT_BASE_URL || DEFAULT_ATOMIC_CHAT_BASE_URL
return trimTrailingSlash(raw)
const parsed = new URL(
baseUrl || process.env.ATOMIC_CHAT_BASE_URL || DEFAULT_ATOMIC_CHAT_BASE_URL,
)
const pathname = trimTrailingSlash(parsed.pathname)
parsed.pathname = pathname.endsWith('/v1')
? pathname.slice(0, -3) || '/'
: pathname || '/'
parsed.search = ''
parsed.hash = ''
return trimTrailingSlash(parsed.toString())
}
export function getAtomicChatChatBaseUrl(baseUrl?: string): string {