aidevops 3.8.27 → 3.8.28

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.8.27
1
+ 3.8.28
package/aidevops.sh CHANGED
@@ -5,7 +5,7 @@
5
5
  # AI DevOps Framework CLI
6
6
  # Usage: aidevops <command> [options]
7
7
  #
8
- # Version: 3.8.27
8
+ # Version: 3.8.28
9
9
 
10
10
  set -euo pipefail
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "3.8.27",
3
+ "version": "3.8.28",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "bin": {
package/setup.sh CHANGED
@@ -12,7 +12,7 @@ shopt -s inherit_errexit 2>/dev/null || true
12
12
  # AI Assistant Server Access Framework Setup Script
13
13
  # Helps developers set up the framework for their infrastructure
14
14
  #
15
- # Version: 3.8.27
15
+ # Version: 3.8.28
16
16
  #
17
17
  # Quick Install:
18
18
  # npm install -g aidevops && aidevops update (recommended)
@@ -825,10 +825,16 @@ _setup_print_header() {
825
825
  return 0
826
826
  }
827
827
 
828
- # GH#18950 (t2087): Check for bash 3.2 modern bash upgrade opportunity.
829
- # Runs after platform detection, before deploy. Interactive mode prompts
830
- # for install; non-interactive respects AIDEVOPS_AUTO_UPGRADE_BASH=1.
831
- # Always fail-open never block setup on a missing bash upgrade.
828
+ # GH#18950 (t2087) + GH#18965 (t2094): ensure modern bash is installed
829
+ # and up to date on macOS. Runs after platform detection, before deploy.
830
+ # Uses the canonical `ensure` subcommand which combines install + upgrade:
831
+ # - Missing interactive prompt for install (or silent with --yes)
832
+ # - Installed but drifted → silent upgrade (brew upgrade bash)
833
+ # - Current → no-op
834
+ # Rate-limits `brew update` to 24h internally. Always fail-open — never
835
+ # blocks setup on a bash upgrade failure.
836
+ #
837
+ # Opt-out: AIDEVOPS_AUTO_UPGRADE_BASH=0 disables install + upgrade entirely.
832
838
  _setup_check_bash_upgrade() {
833
839
  # Only applies to macOS; Linux bash is already modern on any current distro.
834
840
  if [[ "${AIDEVOPS_PLATFORM:-}" != "macos" ]]; then
@@ -838,32 +844,18 @@ _setup_check_bash_upgrade() {
838
844
  local helper="${INSTALL_DIR}/.agents/scripts/bash-upgrade-helper.sh"
839
845
  [[ -x "$helper" ]] || return 0
840
846
 
841
- # Check exit 0 = ok; 1 = needs upgrade; 2 = unsupported platform; 3 = homebrew missing.
842
- local rc=0
843
- "$helper" check --quiet || rc=$?
844
-
845
- if [[ "$rc" -eq 0 ]]; then
846
- return 0 # Already has modern bash, nothing to do.
847
- fi
848
-
849
- echo ""
850
- echo "ℹ️ macOS default bash is 3.2 — modern bash (4+) recommended to avoid bash-compat bugs."
851
- echo " Background: GH#18770, GH#18784, GH#18786, GH#18804, GH#18830 all traced to this class."
852
- echo ""
853
-
854
847
  if [[ "$NON_INTERACTIVE" == "true" ]]; then
855
- if [[ "${AIDEVOPS_AUTO_UPGRADE_BASH:-}" == "1" ]]; then
856
- print_info "AIDEVOPS_AUTO_UPGRADE_BASH=1 set: installing bash via Homebrew"
857
- "$helper" install --yes || print_warning "bash install failed (non-fatal) — advisory written"
858
- else
859
- print_info "non-interactive mode: skipping bash upgrade prompt (set AIDEVOPS_AUTO_UPGRADE_BASH=1 to auto-install)"
860
- "$helper" status 2>&1 | grep -E "^Remediation|^Status" || true
861
- fi
848
+ # Non-interactive: ensure does everything silently (install with
849
+ # --yes, upgrade on drift, no-op when current). Same pattern as
850
+ # `aidevops update` fire-and-forget.
851
+ "$helper" ensure --yes --quiet || print_warning "bash ensure failed (non-fatal) — advisory written"
862
852
  return 0
863
853
  fi
864
854
 
865
- # Interactive: prompt to install.
866
- "$helper" install || print_warning "bash install declined or failed (non-fatal) — advisory written"
855
+ # Interactive: ensure prompts on first install (inherited from
856
+ # _bu_cmd_install's read path), runs silently on upgrade. Users don't
857
+ # see a prompt on every `./setup.sh` run — only the first one.
858
+ "$helper" ensure || print_warning "bash ensure failed (non-fatal) — advisory written"
867
859
  return 0
868
860
  }
869
861