aidevops 2.100.2 → 2.100.4

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
- 2.100.2
1
+ 2.100.4
package/aidevops.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI DevOps Framework CLI
4
4
  # Usage: aidevops <command> [options]
5
5
  #
6
- # Version: 2.100.2
6
+ # Version: 2.100.4
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": "2.100.2",
3
+ "version": "2.100.4",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/setup.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI Assistant Server Access Framework Setup Script
4
4
  # Helps developers set up the framework for their infrastructure
5
5
  #
6
- # Version: 2.100.2
6
+ # Version: 2.100.4
7
7
  #
8
8
  # Quick Install (one-liner):
9
9
  # bash <(curl -fsSL https://aidevops.dev/install)
@@ -505,8 +505,9 @@ bootstrap_repo() {
505
505
  # Detect if running from curl (no script directory context)
506
506
  local script_path="${BASH_SOURCE[0]}"
507
507
 
508
- # If script_path is empty or stdin, we're running from curl
509
- if [[ -z "$script_path" || "$script_path" == "/dev/stdin" || "$script_path" == "bash" ]]; then
508
+ # If script_path is empty, stdin, bash, or /dev/fd/* (process substitution), we're running from curl
509
+ # bash <(curl ...) produces paths like /dev/fd/63
510
+ if [[ -z "$script_path" || "$script_path" == "/dev/stdin" || "$script_path" == "bash" || "$script_path" == /dev/fd/* ]]; then
510
511
  print_info "Remote install detected - bootstrapping repository..."
511
512
 
512
513
  # Check for git
@@ -978,11 +979,16 @@ setup_worktrunk() {
978
979
 
979
980
  # Install shell integration
980
981
  print_info "Installing shell integration..."
981
- if wt config shell install 2>/dev/null; then
982
+ local wt_shell_output
983
+ if wt_shell_output=$(wt config shell install 2>&1); then
982
984
  print_success "Shell integration installed"
983
985
  print_info "Restart your terminal or source your shell config"
984
986
  else
987
+ # Show the actual error for debugging
985
988
  print_warning "Shell integration failed - run manually: wt config shell install"
989
+ if [[ -n "$wt_shell_output" ]]; then
990
+ echo "$wt_shell_output" | head -3 | sed 's/^/ /'
991
+ fi
986
992
  fi
987
993
 
988
994
  echo ""
@@ -1363,10 +1369,10 @@ setup_configs() {
1363
1369
  set_permissions() {
1364
1370
  print_info "Setting proper file permissions..."
1365
1371
 
1366
- # Make scripts executable
1367
- chmod +x ./*.sh
1368
- chmod +x .agent/scripts/*.sh
1369
- chmod +x ssh/*.sh
1372
+ # Make scripts executable (suppress errors for missing paths)
1373
+ chmod +x ./*.sh 2>/dev/null || true
1374
+ chmod +x .agent/scripts/*.sh 2>/dev/null || true
1375
+ chmod +x ssh/*.sh 2>/dev/null || true
1370
1376
 
1371
1377
  # Secure configuration files
1372
1378
  chmod 600 configs/*.json 2>/dev/null || true
@@ -2617,16 +2623,28 @@ setup_beads_ui() {
2617
2623
 
2618
2624
  local installed_count=0
2619
2625
 
2620
- # beads_viewer (Python)
2621
- if command -v pip3 &> /dev/null || command -v pip &> /dev/null; then
2626
+ # beads_viewer (Python) - use pipx for isolated install
2627
+ if command -v pipx &> /dev/null || command -v pip3 &> /dev/null || command -v pip &> /dev/null; then
2622
2628
  read -r -p " Install beads_viewer (Python TUI with graph analytics)? (y/n): " install_viewer
2623
2629
  if [[ "$install_viewer" == "y" ]]; then
2624
- print_info "Installing beads_viewer..."
2625
- if pip3 install beads-viewer 2>/dev/null || pip install beads-viewer 2>/dev/null; then
2626
- print_success "beads_viewer installed"
2627
- ((installed_count++))
2630
+ if command -v pipx &> /dev/null; then
2631
+ print_info "Installing beads_viewer via pipx..."
2632
+ if pipx install beads-viewer 2>/dev/null; then
2633
+ print_success "beads_viewer installed (run: beads-viewer)"
2634
+ ((installed_count++))
2635
+ else
2636
+ print_warning "Failed to install beads_viewer"
2637
+ print_info "Try manually: pipx install beads-viewer"
2638
+ fi
2628
2639
  else
2629
- print_warning "Failed to install beads_viewer"
2640
+ print_info "Installing beads_viewer..."
2641
+ if pip3 install --user beads-viewer 2>/dev/null || pip install --user beads-viewer 2>/dev/null; then
2642
+ print_success "beads_viewer installed"
2643
+ ((installed_count++))
2644
+ else
2645
+ print_warning "Failed to install beads_viewer"
2646
+ print_info "On macOS, install pipx first: brew install pipx && pipx ensurepath"
2647
+ fi
2630
2648
  fi
2631
2649
  fi
2632
2650
  fi
@@ -2760,11 +2778,14 @@ setup_browser_tools() {
2760
2778
 
2761
2779
  if [[ "$install_playwright" == "y" ]]; then
2762
2780
  print_info "Installing Playwright browsers..."
2763
- if npx playwright install; then
2781
+ # Use -y to auto-confirm npx install, suppress the "install without dependencies" warning
2782
+ # Use PIPESTATUS to check npx exit code, not grep's exit code
2783
+ npx -y playwright@latest install 2>&1 | grep -v "WARNING: It looks like you are running"
2784
+ if [[ ${PIPESTATUS[0]} -eq 0 ]]; then
2764
2785
  print_success "Playwright browsers installed"
2765
2786
  else
2766
2787
  print_warning "Playwright browser installation failed"
2767
- print_info "Run manually: npx playwright install"
2788
+ print_info "Run manually: npx -y playwright@latest install"
2768
2789
  fi
2769
2790
  else
2770
2791
  print_info "Skipped Playwright installation"