Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license

This commit is contained in:
2026-09-05 13:26:46 +03:00
commit 03634b1ca3
11340 changed files with 3442369 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
// HUD mode's renderer URL. The pure, Electron-free piece lives here so it can
// be unit-tested (same split as session-windows.ts, and for the same reason:
// the contract below is invisible until it breaks at runtime).
import { pathToFileURL } from 'node:url'
/**
* Build the renderer URL for the HUD window.
*
* Same query-before-hash contract as `buildSessionWindowUrl`: `?win=hud` and
* the optional `profile=` MUST sit in the search string before the '#', or
* HashRouter swallows them as part of the route.
*
* The profile is what the HUD renderer adopts at boot. Session ids are scoped
* per profile, so without it a HUD opened on a non-primary conversation
* resolves the id against the primary backend, misses, and falls back to that
* backend's last session (#82285). Absent/blank means no override — ordinary
* single-profile boots are unchanged.
*/
export function buildHudWindowUrl(
sessionId: null | string | undefined,
{
devServer,
profile,
rendererIndexPath
}: { devServer?: null | string; profile?: null | string; rendererIndexPath?: string } = {}
): string {
const profileKey = typeof profile === 'string' ? profile.trim() : ''
const query = `?win=hud${profileKey ? `&profile=${encodeURIComponent(profileKey)}` : ''}`
const route = sessionId ? `#/${encodeURIComponent(sessionId)}` : '#/'
if (devServer) {
const base = devServer.endsWith('/') ? devServer.slice(0, -1) : devServer
return `${base}/${query}${route}`
}
return `${pathToFileURL(rendererIndexPath!).toString()}${query}${route}`
}