Logo FSBarV1_Archived

BundledProxy Module

 Locates and validates the HighBarV2 skirmish-AI proxy that the hub
 installs into a user's BAR data dir (FR-006 / FR-006a).

 On-disk layout (repo-relative):

     proxy/
     ├── bundled/
     │   └── /              # e.g. 0.1.17/
     │       ├── libSkirmishAI.so
     │       ├── AIInfo.lua
     │       └── AIOptions.lua
     ├── BUNDLED_VERSION             # single non-empty line = 
     └── README.md

 At runtime `resolve ()` picks the bundle root by checking, in order,
 the `$FSBAR_HUB_BUNDLED_PROXY_DIR` env var (dev / test) and the
 assembly-relative `proxy/` directory (installed build), then verifies
 every required file exists. Reads are cheap; the caller is expected
 to memoise the result for the life of the hub process.

Types

Type Description

BundledProxyError

Reasons `resolve` may fail. Each carries the concrete path the check was against so the GUI can render an actionable message.

BundledProxyInfo

Resolved bundle descriptor. Every path is absolute; every named file has been `File.Exists`-checked at resolution time.

Functions and values

Function or value Description

formatError arg1

Full Usage: formatError arg1

Parameters:
Returns: string

Human-readable rendering of a `BundledProxyError`. Used by the GUI and by diagnostics logs.

arg0 : BundledProxyError
Returns: string

resolve ()

Full Usage: resolve ()

Parameters:
    () : unit

Returns: Result<BundledProxyInfo, BundledProxyError>

Resolves the bundle. See module docs for the search order.

() : unit
Returns: Result<BundledProxyInfo, BundledProxyError>

Type something to start searching.