Files
BrowserOS/packages/browseros-agent/apps/agent/lib/rpc/getClient.ts
Dani Akash 290ee91a8b Add 'packages/browseros-agent/' from commit '90bd4be3008285bf3825aad3702aff98f872671a'
git-subtree-dir: packages/browseros-agent
git-subtree-mainline: 8f148d0918
git-subtree-split: 90bd4be300
2026-03-13 21:22:09 +05:30

20 lines
530 B
TypeScript

import type { AppType } from '@browseros/server'
import { hc } from 'hono/client'
import { getAgentServerUrl } from '../browseros/helpers'
export type RpcClient = ReturnType<typeof hc<AppType>>
let clientPromise: Promise<RpcClient> | null = null
export const getClient = (): Promise<RpcClient> => {
if (!clientPromise) {
clientPromise = getAgentServerUrl().then((serverUrl) =>
hc<AppType>(serverUrl),
)
}
return clientPromise
}
// Pre-resolve the client immediately when the module is imported
getClient()