openvibers/openvibe.link Commits
Install: --ai installs the ai plugin it turns on (#165)
Changes
@@@ -1108,6 +1108,8 @@ fi# ---- your own models (--ai): the ai plugin, and which model server answers now ----if [ "$AI" = 1 ]; then++ # The plugin's own package (it was configured but never installed: "No module named openvibe_ai", 2026-11-12).++ $SUDO "$PIP" install --quiet "$STATE/plugins/ai" || die "the ai plugin did not install into $STATE/venv"write_ai_config "$CONF/config.json" ${AI_ENDPOINT:+"$AI_ENDPOINT"}found="$(ai_found ${AI_ENDPOINT:+"$AI_ENDPOINT"})"if [ -n "$found" ]; thennnew file mode 100644@@@ -0,0 +1,16 @@++#!/bin/sh++# Tests that install.sh pip-installs the bundled plugin behind every option that turns one on, so the Link never starts++# a plugin whose package is missing ("No module named openvibe_ai": --ai configured the ai plugin and never installed++# it, 2026-11-12). Community drivers (looi) come from their own registry and are not in this list.++set -eu++++here="$(cd "$(dirname "$0")" && pwd)"++installer="$here/../install/install.sh"++fail() { printf 'FAIL: %s\n' "$*" >&2; exit 1; }++++# option → the bundled plugin it needs++for pair in "--ai:ai" "--computer:computer" "--desk-host:computer" "--driver adeept:adeept_adr036" "--driver cozmo:cozmo" "--driver ros2:ros2" "base:sdk" "base:dryrun" "base:relay"; do++ plugin="${pair##*:}"++ grep -Eq "PIP\"? install [^#]*plugins/$plugin([\"\[ ]|$)" "$installer" || fail "${pair%%:*} needs plugins/$plugin, which the installer never pip-installs"++done++printf 'ok: every option installs the bundled plugin it turns on\n'
@@ -1108,6 +1108,8 @@ fi
@@ -1108,6 +1108,8 @@ fi
# ---- your own models (--ai): the ai plugin, and which model server answers now ----
# ---- your own models (--ai): the ai plugin, and which model server answers now ----
if [ "$AI" = 1 ]; then
if [ "$AI" = 1 ]; then
+ # The plugin's own package (it was configured but never installed: "No module named openvibe_ai", 2026-11-12).
+ $SUDO "$PIP" install --quiet "$STATE/plugins/ai" || die "the ai plugin did not install into $STATE/venv"
write_ai_config "$CONF/config.json" ${AI_ENDPOINT:+"$AI_ENDPOINT"}
write_ai_config "$CONF/config.json" ${AI_ENDPOINT:+"$AI_ENDPOINT"}
found="$(ai_found ${AI_ENDPOINT:+"$AI_ENDPOINT"})"
found="$(ai_found ${AI_ENDPOINT:+"$AI_ENDPOINT"})"
if [ -n "$found" ]; then
if [ -n "$found" ]; then
new file mode 100644
new file mode 100644
@@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Tests that install.sh pip-installs the bundled plugin behind every option that turns one on, so the Link never starts
+# a plugin whose package is missing ("No module named openvibe_ai": --ai configured the ai plugin and never installed
+# it, 2026-11-12). Community drivers (looi) come from their own registry and are not in this list.
+set -eu
+
+here="$(cd "$(dirname "$0")" && pwd)"
+installer="$here/../install/install.sh"
+fail() { printf 'FAIL: %s\n' "$*" >&2; exit 1; }
+
+# option → the bundled plugin it needs
+for pair in "--ai:ai" "--computer:computer" "--desk-host:computer" "--driver adeept:adeept_adr036" "--driver cozmo:cozmo" "--driver ros2:ros2" "base:sdk" "base:dryrun" "base:relay"; do
+ plugin="${pair##*:}"
+ grep -Eq "PIP\"? install [^#]*plugins/$plugin([\"\[ ]|$)" "$installer" || fail "${pair%%:*} needs plugins/$plugin, which the installer never pip-installs"
+done
+printf 'ok: every option installs the bundled plugin it turns on\n'