UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

49 lines (47 loc) 1.48 kB
//#region src/gateway/gateway-config-prompts.shared.ts const TAILSCALE_EXPOSURE_OPTIONS = [ { value: "off", label: "Off", hint: "No Tailscale exposure" }, { value: "serve", label: "Serve", hint: "Private HTTPS for your tailnet (devices on Tailscale)" }, { value: "funnel", label: "Funnel", hint: "Public HTTPS via Tailscale Funnel (internet)" } ]; const TAILSCALE_MISSING_BIN_NOTE_LINES = [ "Tailscale binary not found in PATH or /Applications.", "Ensure Tailscale is installed from:", " https://tailscale.com/download/mac", "", "You can continue setup, but serve/funnel will fail at runtime." ]; const TAILSCALE_DOCS_LINES = [ "Docs:", "https://docs.openclaw.ai/gateway/tailscale", "https://docs.openclaw.ai/web" ]; //#endregion //#region src/shared/net/ipv4.ts function validateDottedDecimalIPv4Input(value) { if (!value) return "IP address is required for custom bind mode"; const parts = value.trim().split("."); if (parts.length !== 4) return "Invalid IPv4 address (e.g., 192.168.1.100)"; if (parts.every((part) => { const n = parseInt(part, 10); return !Number.isNaN(n) && n >= 0 && n <= 255 && part === String(n); })) return; return "Invalid IPv4 address (each octet must be 0-255)"; } function validateIPv4AddressInput(value) { return validateDottedDecimalIPv4Input(value); } //#endregion export { TAILSCALE_MISSING_BIN_NOTE_LINES as i, TAILSCALE_DOCS_LINES as n, TAILSCALE_EXPOSURE_OPTIONS as r, validateIPv4AddressInput as t };