aidevops 3.31.35 → 3.31.37

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
@@ -58,7 +58,7 @@ The result: an AI operations platform that manages projects across every busines
58
58
  [![Copyright](https://img.shields.io/badge/Copyright-Marcus%20Quinn%202025--2026-blue.svg)](https://github.com/marcusquinn)
59
59
 
60
60
  <!-- Release & Version Info -->
61
- [![Version](https://img.shields.io/badge/Version-3.31.35-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
61
+ [![Version](https://img.shields.io/badge/Version-3.31.37-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
62
62
  [![npm version](https://img.shields.io/npm/v/aidevops)](https://www.npmjs.com/package/aidevops)
63
63
  [![Homebrew](https://img.shields.io/badge/homebrew-marcusquinn%2Ftap-orange)](https://github.com/marcusquinn/homebrew-tap)
64
64
  [![GitHub repository](https://img.shields.io/badge/github-repository-181717.svg?logo=github)](https://github.com/marcusquinn/aidevops)
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.31.35
1
+ 3.31.37
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.31.35
8
+ # Version: 3.31.37
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.31.35",
3
+ "version": "3.31.37",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "workspaces": [
@@ -457,7 +457,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, WKNavigationDelegate,
457
457
  private var webView: WKWebView!
458
458
  private let apiPort = ProcessInfo.processInfo.environment["AIDEVOPS_GUI_API_PORT"] ?? "8787"
459
459
  private let webPort = ProcessInfo.processInfo.environment["AIDEVOPS_GUI_WEB_PORT"] ?? "5173"
460
- private let defaultAccentHue: CGFloat = 123
460
+ private let defaultAccentHue: CGFloat = 191
461
461
  private let mainWindowFrameAutosaveName = "aidevops-main-window"
462
462
  private let titlebarHeight: CGFloat = 24
463
463
  private let serviceQueue = DispatchQueue(label: "sh.aidevops.gui.services")
@@ -467,7 +467,6 @@ final class AppDelegate: NSObject, NSApplicationDelegate, WKNavigationDelegate,
467
467
  func applicationDidFinishLaunching(_ notification: Notification) {
468
468
  configureMenu()
469
469
  configureWindow()
470
- loadStatusHTML(title: "Starting aidevops", detail: "Preparing the local read-only GUI services…")
471
470
  startServicesAndLoadApp()
472
471
  }
473
472
 
@@ -1342,7 +1341,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, WKNavigationDelegate,
1342
1341
  .status { align-items: center; display: flex; gap: 10px; grid-column: 1 / -1; justify-content: center; padding: 0 12px; }
1343
1342
  .status i { border-radius: 999px; height: 8px; width: 8px; }
1344
1343
  .status span { height: 10px; width: 96px; }
1345
- .rail i, .sidebar b, .sidebar span, .sidebar i, .workspace b, .workspace span, .workspace i, .cards i, .block, .status i, .status span { animation: pulse 1.35s ease-in-out infinite; background: linear-gradient(90deg, #202020, hsl(123 74% 66% / 16%), #202020); background-size: 220% 100%; border: 1px solid var(--border); border-radius: 999px; display: block; }
1344
+ .rail i, .sidebar b, .sidebar span, .sidebar i, .workspace b, .workspace span, .workspace i, .cards i, .block, .status i, .status span { animation: pulse 1.35s ease-in-out infinite; background: linear-gradient(90deg, #202020, rgb(102 217 242 / 16%), #202020); background-size: 220% 100%; border: 1px solid var(--border); border-radius: 999px; display: block; }
1346
1345
  .block, .cards i { border-radius: 18px; }
1347
1346
  @keyframes pulse { 0% { background-position: 120% 0; opacity: .52; } 50% { opacity: .95; } 100% { background-position: -120% 0; opacity: .52; } }
1348
1347
  @keyframes cursor { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
@@ -1396,6 +1395,7 @@ write_app_bundle() {
1396
1395
  version="$(app_version "$root")"
1397
1396
 
1398
1397
  mkdir -p "$macos_dir" "$resources_dir"
1398
+ rm -f "${resources_dir}/aidevops.icns" "${resources_dir}/aidevops.svg"
1399
1399
  cat > "${contents_dir}/Info.plist" <<PLIST
1400
1400
  <?xml version="1.0" encoding="UTF-8"?>
1401
1401
  <plist version="1.0">
@@ -1420,6 +1420,8 @@ PLIST
1420
1420
  write_service_helper "$root" "$resources_dir"
1421
1421
  write_webview_source "$resources_dir"
1422
1422
  compile_webview_app "$resources_dir" "$macos_dir"
1423
+ touch "${resources_dir}/aidevops.icns" "${contents_dir}/Info.plist" "$app_path"
1424
+ qlmanage -r cache >/dev/null 2>&1 || true
1423
1425
  printf 'Installed %s\n' "$app_path"
1424
1426
  return 0
1425
1427
  }
@@ -35,11 +35,24 @@ export const appearanceStorageKeys = {
35
35
  theme: "aidevops-gui-theme",
36
36
  } as const;
37
37
 
38
+ function AidevopsLoadingIcon(): ReactElement {
39
+ return (
40
+ <svg className="loading-brand-icon" viewBox="0 0 1024 1024" role="img" aria-label="AI DevOps prompt icon">
41
+ <rect x="88" y="88" width="848" height="848" rx="188" fill="#000000" />
42
+ <rect x="88" y="88" width="848" height="848" rx="188" fill="#66d9f2" opacity="0.22" />
43
+ <rect x="116" y="116" width="792" height="792" rx="160" fill="none" stroke="#66d9f2" strokeOpacity="0.36" strokeWidth="18" />
44
+ <g transform="translate(512 522) scale(0.94) translate(-288 -256)">
45
+ <path fill="#8ce8ff" d="M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32z" />
46
+ </g>
47
+ </svg>
48
+ );
49
+ }
50
+
38
51
  const defaultSidebarWidth = 302;
39
52
  const minSidebarWidth = 300;
40
53
  const maxSidebarWidth = 520;
41
54
  export const loadingSkeletonPanelLabels = ["machine rail", "sidebar", "workspace", "status bar"] as const;
42
- export const loadingBrandGlyph = ">_";
55
+ export const loadingBrandGlyph = "AI DevOps prompt icon";
43
56
  const loadingMachineOrbKeys = ["machine-orb-a", "machine-orb-b", "machine-orb-c", "machine-orb-d", "machine-orb-e", "machine-orb-f"] as const;
44
57
  const loadingListRows = [
45
58
  { key: "loading-list-a", variant: "short" },
@@ -323,6 +336,7 @@ function LoadingBrandOverlay(): ReactElement {
323
336
  return (
324
337
  <div className="loading-brand-overlay" aria-label="Starting aidevops" role="status">
325
338
  <span className="loading-brand-mark" aria-hidden="true">
339
+ <AidevopsLoadingIcon />
326
340
  <span className="loading-brand-word">aidevops</span>
327
341
  <span className="loading-brand-chevron">&gt;</span>
328
342
  <span className="loading-brand-cursor">_</span>
@@ -579,7 +579,6 @@ code {
579
579
  letter-spacing: -0.05em;
580
580
  }
581
581
 
582
- .brand-icon,
583
582
  .terminal-mark {
584
583
  align-items: center;
585
584
  background: color-mix(in srgb, var(--accent) 15%, #0a0a0a);
@@ -601,6 +600,8 @@ code {
601
600
  display: block;
602
601
  flex: 0 0 auto;
603
602
  filter: drop-shadow(0 8px 18px rgb(0 0 0 / 24%));
603
+ height: 44px;
604
+ width: 44px;
604
605
  }
605
606
 
606
607
  .brand-icon-bg {
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.31.35
15
+ # Version: 3.31.37
16
16
  #
17
17
  # Quick Install:
18
18
  # npm install -g aidevops && aidevops update (recommended)