feat: bundle build script + default API_BASE_URL to local bridge
scripts/build-bundle.sh cross-builds whatsapp-mcp + whatsapp-bridge (stripped, darwin/arm64) into the Neuron app's bundled connector-servers dir. tools.go: default API_BASE_URL to http://localhost:8080/api (was a hardcoded LAN IP) so the MCP finds the connector-launched loopback bridge. Validated: stripped bundled whatsapp-mcp exposes 14 tools incl send_message. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# build-bundle.sh — build the WhatsApp connector binaries for the Neuron app's bundled
|
||||
# connector-servers dir. Produces stripped native binaries (default darwin/arm64).
|
||||
#
|
||||
# whatsapp-mcp — the MCP server connectd spawns (@bin/whatsapp-mcp)
|
||||
# whatsapp-bridge — the whatsmeow sidecar that holds the paired session (@bin/whatsapp-bridge)
|
||||
#
|
||||
# Usage: scripts/build-bundle.sh [OUT_DIR]
|
||||
# OUT_DIR defaults to the neuron-ui bundled servers dir. The bridge uses go-sqlite3 (CGO), so
|
||||
# native builds need a C toolchain (present on macOS); cross-OS builds need a cross toolchain.
|
||||
set -eu
|
||||
|
||||
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
||||
OUT="${1:-$HOME/Development/neuron-technologies/neuron-ui/resources/macos-arm64/neuron-connectd/servers}"
|
||||
GOOS="${GOOS:-darwin}"
|
||||
GOARCH="${GOARCH:-arm64}"
|
||||
|
||||
mkdir -p "$OUT"
|
||||
echo "==> building whatsapp-mcp + whatsapp-bridge ($GOOS/$GOARCH, stripped) -> $OUT"
|
||||
|
||||
( cd "$ROOT/whatsapp-mcp-server" && \
|
||||
CGO_ENABLED=1 GOOS="$GOOS" GOARCH="$GOARCH" go build -ldflags="-s -w" -o "$OUT/whatsapp-mcp" . )
|
||||
( cd "$ROOT/whatsapp-bridge" && \
|
||||
CGO_ENABLED=1 GOOS="$GOOS" GOARCH="$GOARCH" go build -ldflags="-s -w" -o "$OUT/whatsapp-bridge" . )
|
||||
|
||||
chmod +x "$OUT/whatsapp-mcp" "$OUT/whatsapp-bridge"
|
||||
echo "==> done:"
|
||||
ls -lh "$OUT/whatsapp-mcp" "$OUT/whatsapp-bridge"
|
||||
@@ -12,7 +12,9 @@ import (
|
||||
var apiBaseURL = readApiBaseURL()
|
||||
|
||||
func readApiBaseURL() string {
|
||||
if v := ReadEnv("API_BASE_URL", "http://192.168.178.119:30015/api"); v != "" {
|
||||
// Default to the local bridge. The connector launches the bridge on loopback :8080; a dev/LAN
|
||||
// override can still be supplied via API_BASE_URL.
|
||||
if v := ReadEnv("API_BASE_URL", "http://localhost:8080/api"); v != "" {
|
||||
return v
|
||||
}
|
||||
const fallback = "http://localhost:8080/api"
|
||||
|
||||
Reference in New Issue
Block a user