clawdex-mobile 5.0.5-internal.0 → 5.0.5-internal.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ From a source checkout, the equivalent command is:
18
18
  npm run setup:wizard -- --engine opencode
19
19
  ```
20
20
 
21
- That writes `BRIDGE_ACTIVE_ENGINE=opencode` into `.env.secure`. To switch back, rerun setup with `--engine codex` or edit `.env.secure` directly.
21
+ That writes `BRIDGE_ACTIVE_ENGINE=opencode` into `.env.secure`. This is the default engine preference, not an exclusive mode. When both CLIs are installed, the bridge will expose both Codex and OpenCode in the mobile app. To switch the default back, rerun setup with `--engine codex` or edit `.env.secure` directly.
22
22
 
23
23
  ## Onboarding Output Cues
24
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawdex-mobile",
3
- "version": "5.0.5-internal.0",
3
+ "version": "5.0.5-internal.2",
4
4
  "description": "Private-network mobile bridge and CLI for Codex and OpenCode",
5
5
  "keywords": [
6
6
  "codex",
@@ -289,7 +289,8 @@ echo ""
289
289
  echo "Bridge network mode: $BRIDGE_NETWORK_MODE"
290
290
  echo "Bridge host: $BRIDGE_HOST ($HOST_SOURCE)"
291
291
  echo "Bridge port: $BRIDGE_PORT"
292
- echo "Preferred engine: $BRIDGE_ACTIVE_ENGINE"
292
+ echo "Default engine: $BRIDGE_ACTIVE_ENGINE"
293
+ echo "Both engines will be exposed in the app when both CLIs are installed."
293
294
  echo "Token source: $SECURE_ENV_FILE"
294
295
  if has_local_mobile_workspace; then
295
296
  echo "Mobile env updated: $MOBILE_ENV_FILE"
@@ -83,7 +83,7 @@ Usage: $(basename "$0") [options]
83
83
  Options:
84
84
  --no-start Configure everything but do not start bridge
85
85
  --engine <codex|opencode>
86
- Set preferred engine before writing .env.secure
86
+ Set default engine before writing .env.secure
87
87
  -h, --help Show this help
88
88
  EOF
89
89
  }
@@ -110,6 +110,20 @@ format_engine_name() {
110
110
  esac
111
111
  }
112
112
 
113
+ secondary_engine_name() {
114
+ case "$1" in
115
+ codex)
116
+ printf 'opencode'
117
+ ;;
118
+ opencode)
119
+ printf 'codex'
120
+ ;;
121
+ *)
122
+ return 1
123
+ ;;
124
+ esac
125
+ }
126
+
113
127
  parse_args() {
114
128
  while (($# > 0)); do
115
129
  case "$1" in
@@ -789,18 +803,20 @@ choose_bridge_network_mode() {
789
803
  }
790
804
 
791
805
  choose_runtime_engine() {
792
- menu_select "Preferred engine" "Codex" "OpenCode"
806
+ info "This selects the default engine."
807
+ info "If both CLIs are installed, the bridge will expose both Codex and OpenCode in the app."
808
+ menu_select "Default engine" "Codex" "OpenCode"
793
809
  case "$MENU_RESULT" in
794
810
  "Codex")
795
811
  ACTIVE_ENGINE="codex"
796
- info "Codex selected."
812
+ info "Codex will be preferred by default."
797
813
  ;;
798
814
  "OpenCode")
799
815
  ACTIVE_ENGINE="opencode"
800
- info "OpenCode selected."
816
+ info "OpenCode will be preferred by default."
801
817
  ;;
802
818
  *)
803
- abort_wizard "Unexpected preferred engine."
819
+ abort_wizard "Unexpected default engine."
804
820
  ;;
805
821
  esac
806
822
  }
@@ -930,6 +946,43 @@ ensure_selected_engine_cli() {
930
946
  esac
931
947
  }
932
948
 
949
+ ensure_optional_secondary_engine_cli() {
950
+ local secondary_engine=""
951
+
952
+ secondary_engine="$(secondary_engine_name "$ACTIVE_ENGINE")" || return 0
953
+
954
+ case "$secondary_engine" in
955
+ codex)
956
+ if command -v codex >/dev/null 2>&1; then
957
+ info "Codex is also installed. The bridge will expose both engines."
958
+ return 0
959
+ fi
960
+
961
+ if confirm_prompt "Install Codex too so both engines are available in the app?" "N"; then
962
+ ensure_codex_cli
963
+ ok "Codex added. The bridge will expose both engines."
964
+ else
965
+ info "Continuing without Codex. Install it later if you want both engines."
966
+ fi
967
+ ;;
968
+ opencode)
969
+ if command -v opencode >/dev/null 2>&1; then
970
+ info "OpenCode is also installed. The bridge will expose both engines."
971
+ return 0
972
+ fi
973
+
974
+ if confirm_prompt "Install OpenCode too so both engines are available in the app?" "N"; then
975
+ ensure_opencode_cli
976
+ ok "OpenCode added. The bridge will expose both engines."
977
+ else
978
+ info "Continuing without OpenCode. Install it later if you want both engines."
979
+ fi
980
+ ;;
981
+ *)
982
+ ;;
983
+ esac
984
+ }
985
+
933
986
  ensure_tailscale_cli() {
934
987
  if command -v tailscale >/dev/null 2>&1; then
935
988
  ok "Found tailscale: $(command -v tailscale)"
@@ -1309,7 +1362,7 @@ if [[ "$CONFIG_ACTION" == "reset" ]]; then
1309
1362
  ok "Previous secure config removed: $SECURE_ENV_FILE"
1310
1363
  fi
1311
1364
 
1312
- section "Preferred engine"
1365
+ section "Default engine"
1313
1366
  EXISTING_ACTIVE_ENGINE="$(extract_env_value "$SECURE_ENV_FILE" "BRIDGE_ACTIVE_ENGINE")"
1314
1367
  if ! validate_engine_name "$EXISTING_ACTIVE_ENGINE"; then
1315
1368
  EXISTING_ACTIVE_ENGINE="codex"
@@ -1317,20 +1370,21 @@ fi
1317
1370
  if [[ "$CONFIG_ACTION" == "keep" ]]; then
1318
1371
  if [[ "$ENGINE_PRESET" == "false" ]]; then
1319
1372
  ACTIVE_ENGINE="$EXISTING_ACTIVE_ENGINE"
1320
- info "Keeping existing preferred engine: $(format_engine_name "$ACTIVE_ENGINE")."
1373
+ info "Keeping existing default engine: $(format_engine_name "$ACTIVE_ENGINE")."
1321
1374
  else
1322
- info "Preferred engine preset via flag: $(format_engine_name "$ACTIVE_ENGINE")."
1375
+ info "Default engine preset via flag: $(format_engine_name "$ACTIVE_ENGINE")."
1323
1376
  fi
1324
1377
  else
1325
1378
  if [[ "$ENGINE_PRESET" == "false" ]]; then
1326
1379
  choose_runtime_engine
1327
1380
  else
1328
- info "Preferred engine preset via flag: $(format_engine_name "$ACTIVE_ENGINE")."
1381
+ info "Default engine preset via flag: $(format_engine_name "$ACTIVE_ENGINE")."
1329
1382
  fi
1330
1383
  fi
1331
1384
 
1332
1385
  section "Runtime dependency"
1333
1386
  ensure_selected_engine_cli
1387
+ ensure_optional_secondary_engine_cli
1334
1388
 
1335
1389
  if [[ "$CONFIG_ACTION" != "keep" ]]; then
1336
1390
  section "Bridge network mode"
@@ -1413,7 +1467,8 @@ BRIDGE_PORT="${BRIDGE_PORT:-8787}"
1413
1467
  section "Summary"
1414
1468
  rail_echo "Bridge mode: $NETWORK_MODE"
1415
1469
  rail_echo "Bridge endpoint: http://$BRIDGE_HOST:$BRIDGE_PORT"
1416
- rail_echo "Preferred engine: $(format_engine_name "$ACTIVE_ENGINE")"
1470
+ rail_echo "Default engine: $(format_engine_name "$ACTIVE_ENGINE")"
1471
+ rail_echo "${DIM}Both engines appear in the app when both CLIs are installed.${RESET}"
1417
1472
  rail_echo "Secure env: $SECURE_ENV_FILE"
1418
1473
  if [[ "$FLOW" == "quickstart" ]]; then
1419
1474
  rail_echo "${DIM}Tip: re-run with Manual mode for full control at each step.${RESET}"