aidevops 3.8.77 → 3.8.79
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/README.md +1 -7
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/setup-modules/post-setup.sh +33 -0
- package/setup.sh +26 -2
package/README.md
CHANGED
|
@@ -52,13 +52,7 @@ The result: an AI operations platform that manages projects across every busines
|
|
|
52
52
|
[](https://sonarcloud.io/summary/new_code?id=marcusquinn_aidevops)
|
|
53
53
|
[](https://www.codefactor.io/repository/github/marcusquinn/aidevops)
|
|
54
54
|
[](https://qlty.sh/gh/marcusquinn/projects/aidevops)
|
|
55
|
-
|
|
56
|
-
~370K LOC from its index between 2026-04-16 and 2026-04-17 (532K → 162K)
|
|
57
|
-
while issue count stayed flat, collapsing the displayed grade from A to E
|
|
58
|
-
despite zero matching repo change. Same signature as prior self-healing
|
|
59
|
-
glitches on 2026-03-26 and 2026-03-31. SonarCloud, CodeFactor, and qlty.sh
|
|
60
|
-
still show A. Restore this line once Codacy re-indexes:
|
|
61
|
-
[](https://app.codacy.com/gh/marcusquinn/aidevops/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) -->
|
|
55
|
+
[](https://app.codacy.com/gh/marcusquinn/aidevops/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
|
|
62
56
|
[](https://coderabbit.ai)
|
|
63
57
|
|
|
64
58
|
<!-- License & Legal -->
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.8.
|
|
1
|
+
3.8.79
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
|
@@ -37,6 +37,16 @@ setup_auto_update() {
|
|
|
37
37
|
# Non-interactive: enable silently
|
|
38
38
|
bash "$auto_update_script" enable >/dev/null 2>&1 || true
|
|
39
39
|
print_info "Auto-update enabled (every 10 min). Disable: aidevops auto-update disable"
|
|
40
|
+
# On Linux systemd, advise about linger without running sudo automatically.
|
|
41
|
+
if [[ "$(uname -s)" == "Linux" ]] && [[ "${USER:-}" != "root" ]] \
|
|
42
|
+
&& command -v loginctl &>/dev/null; then
|
|
43
|
+
local _linger_state
|
|
44
|
+
_linger_state=$(loginctl show-user "$USER" -p Linger --value 2>/dev/null || true)
|
|
45
|
+
if [[ "$_linger_state" != "yes" ]]; then
|
|
46
|
+
echo "[INFO] Linux systemd: enable linger so auto-update runs when logged out:" >&2
|
|
47
|
+
echo "[INFO] sudo loginctl enable-linger $USER" >&2
|
|
48
|
+
fi
|
|
49
|
+
fi
|
|
40
50
|
else
|
|
41
51
|
echo ""
|
|
42
52
|
echo "Auto-update keeps aidevops current by checking every 10 minutes."
|
|
@@ -45,6 +55,29 @@ setup_auto_update() {
|
|
|
45
55
|
setup_prompt enable_auto "Enable auto-update? [Y/n]: " "Y"
|
|
46
56
|
if [[ "$enable_auto" =~ ^[Yy]?$ ]]; then
|
|
47
57
|
bash "$auto_update_script" enable
|
|
58
|
+
# On Linux systemd hosts, offer to enable linger so the timer survives logout.
|
|
59
|
+
# Skip for root (irrelevant), WSL/container (loginctl may be absent or stub),
|
|
60
|
+
# and when the backend didn't resolve to systemd.
|
|
61
|
+
if [[ "$(uname -s)" == "Linux" ]] \
|
|
62
|
+
&& [[ "${USER:-}" != "root" ]] \
|
|
63
|
+
&& command -v loginctl &>/dev/null \
|
|
64
|
+
&& systemctl --user is-enabled aidevops-auto-update.timer &>/dev/null 2>&1; then
|
|
65
|
+
local _linger_state
|
|
66
|
+
_linger_state=$(loginctl show-user "$USER" -p Linger --value 2>/dev/null || true)
|
|
67
|
+
if [[ "$_linger_state" != "yes" ]]; then
|
|
68
|
+
echo ""
|
|
69
|
+
echo "Without linger, the auto-update timer stops when you log out."
|
|
70
|
+
echo "On servers and headless hosts, linger is almost always required."
|
|
71
|
+
local enable_linger=""
|
|
72
|
+
setup_prompt enable_linger "Enable linger so auto-update runs when logged out? Requires sudo. [Y/n]: " "Y"
|
|
73
|
+
if [[ "$enable_linger" =~ ^[Yy]?$ ]]; then
|
|
74
|
+
sudo loginctl enable-linger "$USER"
|
|
75
|
+
print_success "Linger enabled for $USER"
|
|
76
|
+
else
|
|
77
|
+
print_info "Skipped. Enable later: sudo loginctl enable-linger $USER"
|
|
78
|
+
fi
|
|
79
|
+
fi
|
|
80
|
+
fi
|
|
48
81
|
else
|
|
49
82
|
print_info "Skipped. Enable later: aidevops auto-update enable"
|
|
50
83
|
fi
|
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.
|
|
15
|
+
# Version: 3.8.79
|
|
16
16
|
#
|
|
17
17
|
# Quick Install:
|
|
18
18
|
# npm install -g aidevops && aidevops update (recommended)
|
|
@@ -895,6 +895,29 @@ _cleanup_legacy_model_config() {
|
|
|
895
895
|
return 0
|
|
896
896
|
}
|
|
897
897
|
|
|
898
|
+
# Deploy auto-hotfix.conf template to user-level configs if not already present.
|
|
899
|
+
# The template ships in .agents/configs/; this copies to ~/.aidevops/configs/
|
|
900
|
+
# where user edits survive `aidevops update`. Existing user config is preserved.
|
|
901
|
+
_deploy_hotfix_config() {
|
|
902
|
+
local source_conf="${INSTALL_DIR:-.}/.agents/configs/auto-hotfix.conf"
|
|
903
|
+
local target_dir="$HOME/.aidevops/configs"
|
|
904
|
+
local target_conf="$target_dir/auto-hotfix.conf"
|
|
905
|
+
|
|
906
|
+
if [[ ! -f "$source_conf" ]]; then
|
|
907
|
+
return 0
|
|
908
|
+
fi
|
|
909
|
+
|
|
910
|
+
# Only deploy if the user doesn't have one yet (preserve user edits)
|
|
911
|
+
if [[ -f "$target_conf" ]]; then
|
|
912
|
+
return 0
|
|
913
|
+
fi
|
|
914
|
+
|
|
915
|
+
mkdir -p "$target_dir"
|
|
916
|
+
cp "$source_conf" "$target_conf"
|
|
917
|
+
chmod 600 "$target_conf"
|
|
918
|
+
return 0
|
|
919
|
+
}
|
|
920
|
+
|
|
898
921
|
# Non-interactive path: deploy agents and run safe migrations only (no prompts).
|
|
899
922
|
_setup_run_non_interactive() {
|
|
900
923
|
print_info "Non-interactive mode: deploying agents and running safe migrations only"
|
|
@@ -919,6 +942,7 @@ _setup_run_non_interactive() {
|
|
|
919
942
|
_cleanup_legacy_model_config
|
|
920
943
|
validate_opencode_config
|
|
921
944
|
deploy_aidevops_agents
|
|
945
|
+
_deploy_hotfix_config
|
|
922
946
|
sync_agent_sources
|
|
923
947
|
install_aidevops_cli
|
|
924
948
|
setup_shellcheck_wrapper
|
|
@@ -1036,7 +1060,7 @@ _setup_run_interactive() {
|
|
|
1036
1060
|
confirm_step "Validate and repair OpenCode config schema" && validate_opencode_config
|
|
1037
1061
|
confirm_step "Extract OpenCode prompts" && extract_opencode_prompts
|
|
1038
1062
|
confirm_step "Check OpenCode prompt drift" && check_opencode_prompt_drift
|
|
1039
|
-
confirm_step "Deploy aidevops agents to ~/.aidevops/agents/" && deploy_aidevops_agents
|
|
1063
|
+
confirm_step "Deploy aidevops agents to ~/.aidevops/agents/" && { deploy_aidevops_agents; _deploy_hotfix_config; }
|
|
1040
1064
|
confirm_step "Sync agents from private repositories" && sync_agent_sources
|
|
1041
1065
|
confirm_step "Set up routines repo (private repo for recurring operational jobs)" && setup_routines
|
|
1042
1066
|
is_feature_enabled safety_hooks 2>/dev/null && confirm_step "Install Claude Code safety hooks (block destructive commands)" && setup_safety_hooks
|