@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
36 lines (35 loc) • 1.78 kB
TypeScript
/**
* `neurolink proxy expose` — put this node's proxy on a public URL.
*
* Wraps `cloudflared` because that is the shortest path from a laptop to a URL
* a peer can reach, with no port forwarding and no inbound firewall change.
*
* **The safety check is the point.** Whether a port is gated depends on the
* proxy process — which listener it is, and how that process was started —
* none of which this command can read. So instead of trusting configuration, it
* asks the running proxy directly: a request with no share token must be
* refused. A port that answers one is open, and exposing it would publish the
* operator's subscription to anyone who finds the URL, so the tunnel is refused
* rather than opened.
*
* With no `--port` it targets the gate-only share listener, which is the port
* that exists to face outward.
*
* @module cli/commands/proxyExpose
*/
import type { CommandModule } from "yargs";
import type { ProxyExposeArgs, ProxyGateProbe } from "../../types/index.js";
/**
* Ask the running proxy whether it refuses untokened traffic.
*
* A refusal carrying `x-neurolink-grant-reason: missing_token` is proof the
* gate is live. Anything else — an answer, an upstream error, a credentials
* complaint — means the request got past the gate, which is the dangerous case.
*
* `scheme` matters: probing a TLS address over plain http fails to connect,
* which reads as unreachable, and an unreachable address is reported as *not*
* dangerous. A public `https://` URL would therefore never raise the warning it
* exists to raise.
*/
export declare function probeProxyGate(host: string, port: number, scheme?: "http" | "https"): Promise<ProxyGateProbe>;
export declare const proxyExposeCommand: CommandModule<object, ProxyExposeArgs>;