@@ -29,6 +29,12 @@ if [ -z "${BAUDBOT_ROOT:-}" ]; then
2929 fi
3030fi
3131
32+ RUNTIME_NODE_HELPER=" $BAUDBOT_ROOT /bin/lib/runtime-node.sh"
33+ if [ -f " $RUNTIME_NODE_HELPER " ]; then
34+ # shellcheck source=bin/lib/runtime-node.sh
35+ source " $RUNTIME_NODE_HELPER "
36+ fi
37+
3238json_get_string_or_empty () {
3339 local file=" $1 "
3440 local key=" $2 "
@@ -193,7 +199,7 @@ resolve_node_bin() {
193199 return 0
194200 fi
195201
196- # 2) Common user-managed Node installs (sudo secure_path may hide these)
202+ # 2) Embedded runtime (sudo secure_path may hide these)
197203 local user_home=" "
198204 if [ -n " ${SUDO_USER:- } " ] && [ " ${SUDO_USER} " != " root" ]; then
199205 user_home=" $( resolve_user_home " $SUDO_USER " || true) "
@@ -202,20 +208,26 @@ resolve_node_bin() {
202208 user_home=" ${HOME:- } "
203209 fi
204210
211+ if [ -n " ${RUNTIME_NODE_HELPER:- } " ] && [ -f " $RUNTIME_NODE_HELPER " ]; then
212+ local embedded_node=" "
213+ embedded_node=" $( bb_resolve_runtime_node_bin " $user_home " || true) "
214+ if [ -n " $embedded_node " ] && [ -x " $embedded_node " ]; then
215+ echo " $embedded_node "
216+ return 0
217+ fi
218+
219+ embedded_node=" $( bb_resolve_runtime_node_bin " /home/baudbot_agent" || true) "
220+ if [ -n " $embedded_node " ] && [ -x " $embedded_node " ]; then
221+ echo " $embedded_node "
222+ return 0
223+ fi
224+ fi
225+
226+ # 3) Common user-managed Node installs
205227 local candidate=" "
206228 for candidate in \
207229 " $user_home /.local/share/mise/shims/node" \
208- " $user_home /.local/bin/node" \
209- " $user_home /opt/node-v22.14.0-linux-x64/bin/node" \
210- /home/baudbot_agent/opt/node-v22.14.0-linux-x64/bin/node \
211- " $user_home " /opt/node-v* -linux-x64/bin/node; do
212- # If the glob didn't expand, skip the literal pattern.
213- case " $candidate " in
214- * \* * )
215- continue
216- ;;
217- esac
218-
230+ " $user_home /.local/bin/node" ; do
219231 if [ -x " $candidate " ]; then
220232 echo " $candidate "
221233 return 0
@@ -289,11 +301,14 @@ bootstrap_install() {
289301
290302 echo " Escalating with $escalator for system setup..."
291303 if [ " $escalator " = " sudo" ]; then
292- sudo --preserve-env=BAUDBOT_PI_VERSION bash " $install_script " " $@ "
304+ sudo --preserve-env=BAUDBOT_PI_VERSION,BAUDBOT_RUNTIME_NODE_VERSION bash " $install_script " " $@ "
293305 else
294306 # doas has no portable preserve-env flag; pass explicitly when set.
295- if [ -n " ${BAUDBOT_PI_VERSION:- } " ]; then
296- doas env BAUDBOT_PI_VERSION=" $BAUDBOT_PI_VERSION " bash " $install_script " " $@ "
307+ if [ -n " ${BAUDBOT_PI_VERSION:- } " ] || [ -n " ${BAUDBOT_RUNTIME_NODE_VERSION:- } " ]; then
308+ doas env \
309+ BAUDBOT_PI_VERSION=" ${BAUDBOT_PI_VERSION:- } " \
310+ BAUDBOT_RUNTIME_NODE_VERSION=" ${BAUDBOT_RUNTIME_NODE_VERSION:- } " \
311+ bash " $install_script " " $@ "
297312 else
298313 doas bash " $install_script " " $@ "
299314 fi
0 commit comments