aidevops 3.39.53 → 3.39.55

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 CHANGED
@@ -25,7 +25,7 @@ token efficiency, and quality control built in.**
25
25
  [![Maintainability](https://qlty.sh/gh/marcusquinn/projects/aidevops/maintainability.svg)](https://qlty.sh/gh/marcusquinn/projects/aidevops)
26
26
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/2b1adbd66c454dae92234341e801b984)](https://app.codacy.com/gh/marcusquinn/aidevops/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
27
27
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
28
- [![Version](https://img.shields.io/badge/Version-3.39.53-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
28
+ [![Version](https://img.shields.io/badge/Version-3.39.55-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
29
29
  [![npm version](https://img.shields.io/npm/v/aidevops)](https://www.npmjs.com/package/aidevops)
30
30
  [![Homebrew](https://img.shields.io/badge/homebrew-marcusquinn%2Ftap-orange)](https://github.com/marcusquinn/homebrew-tap)
31
31
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.39.53
1
+ 3.39.55
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.39.53
8
+ # Version: 3.39.55
9
9
 
10
10
  set -euo pipefail
11
11
 
@@ -1760,8 +1760,55 @@ _main_check_version() {
1760
1760
  return 0
1761
1761
  }
1762
1762
 
1763
+ # Verify advisory metadata only during an explicit full security assessment.
1764
+ _security_check_advisories() {
1765
+ local advisories_dir="$HOME/.aidevops/advisories"
1766
+ local dismissed_file="$advisories_dir/dismissed.txt"
1767
+ local tls_helper="tls-trust-helper.sh"
1768
+ local advisory_file adv_id line check status
1769
+ local -a check_args=()
1770
+ for advisory_file in "$advisories_dir"/*.advisory; do
1771
+ [[ -f "$advisory_file" ]] || continue
1772
+ adv_id="${advisory_file##*/}"
1773
+ adv_id="${adv_id%.advisory}"
1774
+ if [[ -f "$dismissed_file" ]] && grep -qxF -- "$adv_id" "$dismissed_file"; then
1775
+ continue
1776
+ fi
1777
+ check=""
1778
+ while IFS= read -r line || [[ -n "$line" ]]; do
1779
+ if [[ "$line" == '# check: '* ]]; then
1780
+ check="${line#\# check: }"
1781
+ break
1782
+ fi
1783
+ done <"$advisory_file"
1784
+ [[ -n "$check" ]] || continue
1785
+ # Split literal whitespace only: no evaluation, expansion or shell quoting.
1786
+ IFS=$' \t' read -r -a check_args <<<"$check"
1787
+ # Allow only the checking subcommand, never help/probe-script (also exit 0).
1788
+ if [[ "${check_args[0]:-}" != tls-trust || "${check_args[1]:-}" != local ]] ||
1789
+ { [[ ${#check_args[@]} -ne 2 ]] &&
1790
+ ! { [[ ${#check_args[@]} -eq 4 && "${check_args[2]:-}" == --canary && "${check_args[3]:-}" != -* ]]; }; }; then
1791
+ printf 'Keeping %s: unsupported advisory check\n' "$adv_id"
1792
+ continue
1793
+ fi
1794
+ status=0
1795
+ _dispatch_helper "$tls_helper" "$tls_helper" "${check_args[@]:1}" || status=$?
1796
+ if [[ "$status" -eq 0 ]]; then
1797
+ if printf '%s\n' "$adv_id" >>"$dismissed_file"; then
1798
+ printf 'auto-dismissed %s: verified clean\n' "$adv_id"
1799
+ else
1800
+ printf 'Keeping %s: could not record dismissal\n' "$adv_id" >&2
1801
+ fi
1802
+ else
1803
+ printf 'Keeping %s: advisory check exited %s\n' "$adv_id" "$status"
1804
+ fi
1805
+ done
1806
+ return 0
1807
+ }
1808
+
1763
1809
  # Route 'aidevops security [subcommand]' to appropriate helpers
1764
1810
  _cmd_security() {
1811
+ local tls_helper="tls-trust-helper.sh"
1765
1812
  case "${1:-}" in
1766
1813
  "")
1767
1814
  # No args: run ALL security checks (posture + hygiene + advisories)
@@ -1774,6 +1821,9 @@ _cmd_security() {
1774
1821
  _dispatch_helper "secret-hygiene-helper.sh" "secret-hygiene-helper.sh" scan || true
1775
1822
  echo ""
1776
1823
  _dispatch_helper "supply-chain-advisory-helper.sh" "supply-chain-advisory-helper.sh" scan || true
1824
+ echo ""
1825
+ _dispatch_helper "$tls_helper" "$tls_helper" local || true
1826
+ _security_check_advisories
1777
1827
  ;;
1778
1828
  scan | scan-secrets | scan-pth | scan-deps)
1779
1829
  _dispatch_helper "secret-hygiene-helper.sh" "secret-hygiene-helper.sh" "$@"
@@ -1808,6 +1858,11 @@ _cmd_security() {
1808
1858
  shift || true
1809
1859
  _dispatch_helper "supply-chain-advisory-helper.sh" "supply-chain-advisory-helper.sh" "${@:-scan}"
1810
1860
  ;;
1861
+ tls-trust)
1862
+ shift || true
1863
+ _dispatch_helper "$tls_helper" "$tls_helper" "${@:-local}"
1864
+ return $?
1865
+ ;;
1811
1866
  *)
1812
1867
  _dispatch_helper "security-posture-helper.sh" "security-posture-helper.sh" "$@"
1813
1868
  ;;
@@ -2111,7 +2166,7 @@ _main_dispatch_cleanup() {
2111
2166
  shift || true
2112
2167
  _dispatch_helper "local-branch-cleanup-helper.sh" "local-branch-cleanup-helper.sh" "$@"
2113
2168
  ;;
2114
- report | status | all | tmp | worktrees | opencode | observability)
2169
+ report | status | all | tmp | worktrees | artefacts | opencode | observability)
2115
2170
  # GH#35245: storage stores route to their existing owning cleaners.
2116
2171
  _dispatch_helper "$storage_helper" "$storage_helper" "$@"
2117
2172
  return $?
@@ -2122,7 +2177,7 @@ _main_dispatch_cleanup() {
2122
2177
  echo "Storage (dry-run unless --apply):"
2123
2178
  echo " (no args), report Sizes of aidevops-owned stores and their cleaners"
2124
2179
  echo " all [--apply] Preview or clean every store"
2125
- echo " tmp|worktrees|opencode|observability [--apply] One store"
2180
+ echo " tmp|worktrees|artefacts|opencode|observability [--apply] One store"
2126
2181
  echo " Daily automatic run: routine r922 Storage hygiene (installed by setup)"
2127
2182
  echo ""
2128
2183
  echo "Branches (dry-run unless --apply):"
@@ -2137,7 +2192,7 @@ _main_dispatch_cleanup() {
2137
2192
  echo " --apply Delete safe candidates"
2138
2193
  echo ""
2139
2194
  ;;
2140
- *) print_error "Unknown cleanup subcommand: $cleanup_subcommand (try report|all|tmp|worktrees|opencode|observability|branches|local-branches|help)"; return 1 ;;
2195
+ *) print_error "Unknown cleanup subcommand: $cleanup_subcommand (try report|all|tmp|worktrees|artefacts|opencode|observability|branches|local-branches|help)"; return 1 ;;
2141
2196
  esac
2142
2197
  return 0
2143
2198
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "3.39.53",
3
+ "version": "3.39.55",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.11",
package/setup.sh CHANGED
@@ -17,7 +17,7 @@ fi
17
17
  # AI Assistant Server Access Framework Setup Script
18
18
  # Helps developers set up the framework for their infrastructure
19
19
  #
20
- # Version: 3.39.53
20
+ # Version: 3.39.55
21
21
  #
22
22
  # Quick Install:
23
23
  # npm install -g aidevops && aidevops update (recommended)