aidevops 3.1.10 → 3.1.11

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.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.10
1
+ 3.1.11
package/aidevops.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI DevOps Framework CLI
4
4
  # Usage: aidevops <command> [options]
5
5
  #
6
- # Version: 3.1.10
6
+ # Version: 3.1.11
7
7
 
8
8
  set -euo pipefail
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "3.1.10",
3
+ "version": "3.1.11",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -387,10 +387,6 @@ check_optional_deps() {
387
387
  print_info "Checking optional dependencies..."
388
388
 
389
389
  local missing_optional=()
390
- local recommended_python_formula
391
- recommended_python_formula=$(get_recommended_python_formula)
392
- local python_required_major="${PYTHON_REQUIRED_MAJOR:-3}"
393
- local python_required_minor="${PYTHON_REQUIRED_MINOR:-10}"
394
390
 
395
391
  if ! command -v sshpass >/dev/null 2>&1; then
396
392
  missing_optional+=("sshpass")
@@ -398,25 +394,7 @@ check_optional_deps() {
398
394
  print_success "sshpass found"
399
395
  fi
400
396
 
401
- local python3_bin=""
402
- if python3_bin=$(find_python3); then
403
- local python_version
404
- python_version=$("$python3_bin" -c 'import sys; print("{}.{}.{}".format(sys.version_info[0], sys.version_info[1], sys.version_info[2]))' 2>/dev/null || true)
405
- local python_major
406
- python_major=$(echo "$python_version" | cut -d. -f1)
407
- local python_minor
408
- python_minor=$(echo "$python_version" | cut -d. -f2)
409
-
410
- if [[ "$python_major" =~ ^[0-9]+$ ]] && [[ "$python_minor" =~ ^[0-9]+$ ]] && { ((python_major > python_required_major)) || { ((python_major == python_required_major)) && ((python_minor >= python_required_minor)); }; }; then
411
- print_success "Python $python_version found ($python_required_major.$python_required_minor+ required)"
412
- else
413
- print_warning "Python $python_version found, but $python_required_major.$python_required_minor+ is recommended for all skills/tools"
414
- offer_python_brew_install "upgrade" "$recommended_python_formula" || true
415
- fi
416
- else
417
- print_warning "Python 3 not found"
418
- offer_python_brew_install "install" "$recommended_python_formula" || true
419
- fi
397
+ check_python_version "" "skills/tools" >/dev/null || true
420
398
 
421
399
  if [[ ${#missing_optional[@]} -gt 0 ]]; then
422
400
  print_warning "Missing optional dependencies: ${missing_optional[*]}"
@@ -1004,7 +1004,9 @@ setup_ssh_key() {
1004
1004
  # Check installed Python version against latest stable available from package manager.
1005
1005
  # Warns if an upgrade is available but never auto-upgrades (GH#5237).
1006
1006
  # Works on macOS (Homebrew) and Linux (apt/dnf).
1007
- check_python_version() {
1007
+ # Named check_python_upgrade_available() to avoid collision with the shared
1008
+ # check_python_version() in _common.sh (which validates minimum required version).
1009
+ check_python_upgrade_available() {
1008
1010
  print_info "Checking Python version..."
1009
1011
 
1010
1012
  # 1. Check currently installed Python
@@ -1455,45 +1457,9 @@ setup_orbstack_vm() {
1455
1457
  setup_ai_orchestration() {
1456
1458
  print_info "Setting up AI orchestration frameworks..."
1457
1459
 
1458
- local has_python=false
1459
- local python_required_major="${PYTHON_REQUIRED_MAJOR:-3}"
1460
- local python_required_minor="${PYTHON_REQUIRED_MINOR:-10}"
1461
- local recommended_python_formula
1462
- recommended_python_formula=$(get_recommended_python_formula)
1463
- local recommended_python_version
1464
- recommended_python_version="${recommended_python_formula#python@}"
1465
-
1466
- # Check Python (prefer Homebrew/pyenv over system) — uses shared helpers
1467
- # from _common.sh (get_recommended_python_formula, find_python3,
1468
- # offer_python_brew_install) to avoid duplicating version-check logic.
1469
- local python3_bin
1470
- if python3_bin=$(find_python3); then
1471
- local python_version
1472
- python_version=$("$python3_bin" -c 'import sys; print("{}.{}.{}".format(sys.version_info[0], sys.version_info[1], sys.version_info[2]))' 2>/dev/null || true)
1473
- local major minor
1474
- major=$(echo "$python_version" | cut -d. -f1)
1475
- minor=$(echo "$python_version" | cut -d. -f2)
1476
-
1477
- if [[ "$major" =~ ^[0-9]+$ ]] && [[ "$minor" =~ ^[0-9]+$ ]] && { ((major > python_required_major)) || { ((major == python_required_major)) && ((minor >= python_required_minor)); }; }; then
1478
- has_python=true
1479
- print_success "Python $python_version found ($python_required_major.$python_required_minor+ required)"
1480
- else
1481
- print_warning "Python $python_required_major.$python_required_minor+ required for AI orchestration, found $python_version"
1482
- if [[ "${PLATFORM_MACOS:-false}" == "true" ]]; then
1483
- print_info "Alternative (pyenv): pyenv install ${recommended_python_version} && pyenv global ${recommended_python_version}"
1484
- fi
1485
- offer_python_brew_install "upgrade" "$recommended_python_formula" || true
1486
- fi
1487
- else
1488
- print_warning "Python 3 not found - AI orchestration frameworks unavailable"
1489
- if [[ "${PLATFORM_MACOS:-false}" == "true" ]]; then
1490
- print_info "Alternative (pyenv): pyenv install ${recommended_python_version} && pyenv global ${recommended_python_version}"
1491
- fi
1492
- offer_python_brew_install "install" "$recommended_python_formula" || true
1493
- return 0
1494
- fi
1495
-
1496
- if [[ "$has_python" == "false" ]]; then
1460
+ # Check Python — uses check_python_version from _common.sh to avoid
1461
+ # duplicating find_python3 → parse → compare → offer_python_brew_install logic.
1462
+ if ! check_python_version "" "AI orchestration" >/dev/null; then
1497
1463
  return 0
1498
1464
  fi
1499
1465
 
package/setup.sh CHANGED
@@ -10,7 +10,7 @@ shopt -s inherit_errexit 2>/dev/null || true
10
10
  # AI Assistant Server Access Framework Setup Script
11
11
  # Helps developers set up the framework for their infrastructure
12
12
  #
13
- # Version: 3.1.10
13
+ # Version: 3.1.11
14
14
  #
15
15
  # Quick Install:
16
16
  # npm install -g aidevops && aidevops update (recommended)
@@ -697,7 +697,7 @@ main() {
697
697
  print_info "Non-interactive mode: deploying agents and running safe migrations only"
698
698
  verify_location
699
699
  check_requirements
700
- check_python_version
700
+ check_python_upgrade_available
701
701
  set_permissions
702
702
  migrate_old_backups
703
703
  migrate_loop_state_directories
@@ -762,7 +762,7 @@ main() {
762
762
 
763
763
  # Optional steps with confirmation in interactive mode
764
764
  confirm_step "Check optional dependencies (bun, node, python)" && check_optional_deps
765
- confirm_step "Check Python version (recommend upgrade if outdated)" && check_python_version
765
+ confirm_step "Check Python version (recommend upgrade if outdated)" && check_python_upgrade_available
766
766
  confirm_step "Setup recommended tools (Tabby, Zed, etc.)" && setup_recommended_tools
767
767
  confirm_step "Setup MiniSim (iOS/Android emulator launcher)" && setup_minisim
768
768
  confirm_step "Setup Git CLIs (gh, glab, tea)" && setup_git_clis