__vite_ssr_exportName__("normalizeHttpBaseUrl", () => { try { return normalizeHttpBaseUrl } catch {} });
__vite_ssr_exportName__("deriveWsBaseUrl", () => { try { return deriveWsBaseUrl } catch {} });
__vite_ssr_exportName__("createAdvertisedEndpoint", () => { try { return createAdvertisedEndpoint } catch {} });
function normalizeHttpBaseUrl(rawValue) {
	const url = new URL(rawValue);
	if (url.protocol === "ws:") {
		url.protocol = "http:";
	} else if (url.protocol === "wss:") {
		url.protocol = "https:";
	};
	if (url.protocol !== "http:" && url.protocol !== "https:") {
		throw new Error(`Endpoint must use HTTP or HTTPS. Received ${url.protocol}`);
	};
	url.pathname = "/";
	url.search = "";
	url.hash = "";
	return url.toString();
};
function deriveWsBaseUrl(httpBaseUrl) {
	const url = new URL(normalizeHttpBaseUrl(httpBaseUrl));
	url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
	return url.toString();
};
function classifyHostedHttpsCompatibility(httpBaseUrl, fallback = "unknown") {
	const url = new URL(normalizeHttpBaseUrl(httpBaseUrl));
	if (url.protocol === "http:") {
		return "mixed-content-blocked";
	};
	return fallback === "mixed-content-blocked" ? "unknown" : fallback;
}
function createAdvertisedEndpoint(input) {
	const httpBaseUrl = normalizeHttpBaseUrl(input.httpBaseUrl);
	return {
		id: input.id,
		label: input.label,
		provider: input.provider,
		httpBaseUrl,
		wsBaseUrl: deriveWsBaseUrl(httpBaseUrl),
		reachability: input.reachability,
		compatibility: {
			hostedHttpsApp: input.hostedHttpsCompatibility ?? classifyHostedHttpsCompatibility(httpBaseUrl),
			desktopApp: input.desktopCompatibility ?? "compatible"
		},
		source: input.source,
		status: input.status ?? "available",
		...input.isDefault === undefined ? {} : { isDefault: input.isDefault },
		...input.description === undefined ? {} : { description: input.description }
	};
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQTs7O0FBdUJPLFNBQVMscUJBQXFCLFVBQTBCO0NBQzdELE1BQU0sTUFBTSxJQUFJLElBQUksUUFBUTtDQUM1QixJQUFJLElBQUksYUFBYSxPQUFPO0VBQzFCLElBQUksV0FBVztDQUNqQixPQUFPLElBQUksSUFBSSxhQUFhLFFBQVE7RUFDbEMsSUFBSSxXQUFXO0NBQ2pCO0NBRUEsSUFBSSxJQUFJLGFBQWEsV0FBVyxJQUFJLGFBQWEsVUFBVTtFQUN6RCxNQUFNLElBQUksTUFBTSw2Q0FBNkMsSUFBSSxVQUFVO0NBQzdFO0NBRUEsSUFBSSxXQUFXO0NBQ2YsSUFBSSxTQUFTO0NBQ2IsSUFBSSxPQUFPO0NBQ1gsT0FBTyxJQUFJLFNBQVM7QUFDdEI7QUFFTyxTQUFTLGdCQUFnQixhQUE2QjtDQUMzRCxNQUFNLE1BQU0sSUFBSSxJQUFJLHFCQUFxQixXQUFXLENBQUM7Q0FDckQsSUFBSSxXQUFXLElBQUksYUFBYSxXQUFXLFNBQVM7Q0FDcEQsT0FBTyxJQUFJLFNBQVM7QUFDdEI7QUFFQSxTQUFTLGlDQUNQLGFBQ0EsV0FBdUQsV0FDWDtDQUM1QyxNQUFNLE1BQU0sSUFBSSxJQUFJLHFCQUFxQixXQUFXLENBQUM7Q0FDckQsSUFBSSxJQUFJLGFBQWEsU0FBUztFQUM1QixPQUFPO0NBQ1Q7Q0FDQSxPQUFPLGFBQWEsMEJBQTBCLFlBQVk7QUFDNUQ7QUFFTyxTQUFTLHlCQUF5QixPQUEwRDtDQUNqRyxNQUFNLGNBQWMscUJBQXFCLE1BQU0sV0FBVztDQUMxRCxPQUFPO0VBQ0wsSUFBSSxNQUFNO0VBQ1YsT0FBTyxNQUFNO0VBQ2IsVUFBVSxNQUFNO0VBQ2hCO0VBQ0EsV0FBVyxnQkFBZ0IsV0FBVztFQUN0QyxjQUFjLE1BQU07RUFDcEIsZUFBZTtHQUNiLGdCQUNFLE1BQU0sNEJBQTRCLGlDQUFpQyxXQUFXO0dBQ2hGLFlBQVksTUFBTSx3QkFBd0I7RUFDNUM7RUFDQSxRQUFRLE1BQU07RUFDZCxRQUFRLE1BQU0sVUFBVTtFQUN4QixHQUFJLE1BQU0sY0FBYyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsTUFBTSxVQUFVO0VBQ3RFLEdBQUksTUFBTSxnQkFBZ0IsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLE1BQU0sWUFBWTtDQUM5RTtBQUNGIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJhZHZlcnRpc2VkRW5kcG9pbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBZHZlcnRpc2VkRW5kcG9pbnQsXG4gIEFkdmVydGlzZWRFbmRwb2ludEhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eSxcbiAgQWR2ZXJ0aXNlZEVuZHBvaW50UHJvdmlkZXIsXG4gIEFkdmVydGlzZWRFbmRwb2ludFJlYWNoYWJpbGl0eSxcbiAgQWR2ZXJ0aXNlZEVuZHBvaW50U291cmNlLFxuICBBZHZlcnRpc2VkRW5kcG9pbnRTdGF0dXMsXG59IGZyb20gXCJAdDN0b29scy9jb250cmFjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBZHZlcnRpc2VkRW5kcG9pbnRJbnB1dCB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBBZHZlcnRpc2VkRW5kcG9pbnRQcm92aWRlcjtcbiAgcmVhZG9ubHkgaHR0cEJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVhY2hhYmlsaXR5OiBBZHZlcnRpc2VkRW5kcG9pbnRSZWFjaGFiaWxpdHk7XG4gIHJlYWRvbmx5IGhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eT86IEFkdmVydGlzZWRFbmRwb2ludEhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eTtcbiAgcmVhZG9ubHkgZGVza3RvcENvbXBhdGliaWxpdHk/OiBcImNvbXBhdGlibGVcIiB8IFwidW5rbm93blwiO1xuICByZWFkb25seSBzb3VyY2U6IEFkdmVydGlzZWRFbmRwb2ludFNvdXJjZTtcbiAgcmVhZG9ubHkgc3RhdHVzPzogQWR2ZXJ0aXNlZEVuZHBvaW50U3RhdHVzO1xuICByZWFkb25seSBpc0RlZmF1bHQ/OiBib29sZWFuO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUh0dHBCYXNlVXJsKHJhd1ZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB1cmwgPSBuZXcgVVJMKHJhd1ZhbHVlKTtcbiAgaWYgKHVybC5wcm90b2NvbCA9PT0gXCJ3czpcIikge1xuICAgIHVybC5wcm90b2NvbCA9IFwiaHR0cDpcIjtcbiAgfSBlbHNlIGlmICh1cmwucHJvdG9jb2wgPT09IFwid3NzOlwiKSB7XG4gICAgdXJsLnByb3RvY29sID0gXCJodHRwczpcIjtcbiAgfVxuXG4gIGlmICh1cmwucHJvdG9jb2wgIT09IFwiaHR0cDpcIiAmJiB1cmwucHJvdG9jb2wgIT09IFwiaHR0cHM6XCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVuZHBvaW50IG11c3QgdXNlIEhUVFAgb3IgSFRUUFMuIFJlY2VpdmVkICR7dXJsLnByb3RvY29sfWApO1xuICB9XG5cbiAgdXJsLnBhdGhuYW1lID0gXCIvXCI7XG4gIHVybC5zZWFyY2ggPSBcIlwiO1xuICB1cmwuaGFzaCA9IFwiXCI7XG4gIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZVdzQmFzZVVybChodHRwQmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTChub3JtYWxpemVIdHRwQmFzZVVybChodHRwQmFzZVVybCkpO1xuICB1cmwucHJvdG9jb2wgPSB1cmwucHJvdG9jb2wgPT09IFwiaHR0cHM6XCIgPyBcIndzczpcIiA6IFwid3M6XCI7XG4gIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbn1cblxuZnVuY3Rpb24gY2xhc3NpZnlIb3N0ZWRIdHRwc0NvbXBhdGliaWxpdHkoXG4gIGh0dHBCYXNlVXJsOiBzdHJpbmcsXG4gIGZhbGxiYWNrOiBBZHZlcnRpc2VkRW5kcG9pbnRIb3N0ZWRIdHRwc0NvbXBhdGliaWxpdHkgPSBcInVua25vd25cIixcbik6IEFkdmVydGlzZWRFbmRwb2ludEhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eSB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwobm9ybWFsaXplSHR0cEJhc2VVcmwoaHR0cEJhc2VVcmwpKTtcbiAgaWYgKHVybC5wcm90b2NvbCA9PT0gXCJodHRwOlwiKSB7XG4gICAgcmV0dXJuIFwibWl4ZWQtY29udGVudC1ibG9ja2VkXCI7XG4gIH1cbiAgcmV0dXJuIGZhbGxiYWNrID09PSBcIm1peGVkLWNvbnRlbnQtYmxvY2tlZFwiID8gXCJ1bmtub3duXCIgOiBmYWxsYmFjaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFkdmVydGlzZWRFbmRwb2ludChpbnB1dDogQ3JlYXRlQWR2ZXJ0aXNlZEVuZHBvaW50SW5wdXQpOiBBZHZlcnRpc2VkRW5kcG9pbnQge1xuICBjb25zdCBodHRwQmFzZVVybCA9IG5vcm1hbGl6ZUh0dHBCYXNlVXJsKGlucHV0Lmh0dHBCYXNlVXJsKTtcbiAgcmV0dXJuIHtcbiAgICBpZDogaW5wdXQuaWQsXG4gICAgbGFiZWw6IGlucHV0LmxhYmVsLFxuICAgIHByb3ZpZGVyOiBpbnB1dC5wcm92aWRlcixcbiAgICBodHRwQmFzZVVybCxcbiAgICB3c0Jhc2VVcmw6IGRlcml2ZVdzQmFzZVVybChodHRwQmFzZVVybCksXG4gICAgcmVhY2hhYmlsaXR5OiBpbnB1dC5yZWFjaGFiaWxpdHksXG4gICAgY29tcGF0aWJpbGl0eToge1xuICAgICAgaG9zdGVkSHR0cHNBcHA6XG4gICAgICAgIGlucHV0Lmhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eSA/PyBjbGFzc2lmeUhvc3RlZEh0dHBzQ29tcGF0aWJpbGl0eShodHRwQmFzZVVybCksXG4gICAgICBkZXNrdG9wQXBwOiBpbnB1dC5kZXNrdG9wQ29tcGF0aWJpbGl0eSA/PyBcImNvbXBhdGlibGVcIixcbiAgICB9LFxuICAgIHNvdXJjZTogaW5wdXQuc291cmNlLFxuICAgIHN0YXR1czogaW5wdXQuc3RhdHVzID8/IFwiYXZhaWxhYmxlXCIsXG4gICAgLi4uKGlucHV0LmlzRGVmYXVsdCA9PT0gdW5kZWZpbmVkID8ge30gOiB7IGlzRGVmYXVsdDogaW5wdXQuaXNEZWZhdWx0IH0pLFxuICAgIC4uLihpbnB1dC5kZXNjcmlwdGlvbiA9PT0gdW5kZWZpbmVkID8ge30gOiB7IGRlc2NyaXB0aW9uOiBpbnB1dC5kZXNjcmlwdGlvbiB9KSxcbiAgfTtcbn1cbiJdLCJmaWxlIjoiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9zaGFyZWQvc3JjL2FkdmVydGlzZWRFbmRwb2ludC50cyJ9

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvc2hhcmVkL3NyYy9hZHZlcnRpc2VkRW5kcG9pbnQudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL3NoYXJlZC9zcmMvYWR2ZXJ0aXNlZEVuZHBvaW50LnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFtdLFtdLFtdLHt9XQ==