aidevops 3.31.34 → 3.31.35
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 -1
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/packages/gui-desktop/scripts/install-macos-app.sh +25 -10
- package/packages/gui-web/index.html +3 -2
- package/packages/gui-web/src/AppNavigation.tsx +14 -1
- package/packages/gui-web/src/styles.css +28 -0
- package/setup.sh +1 -1
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ The result: an AI operations platform that manages projects across every busines
|
|
|
58
58
|
[](https://github.com/marcusquinn)
|
|
59
59
|
|
|
60
60
|
<!-- Release & Version Info -->
|
|
61
|
-
[](https://github.com/marcusquinn/aidevops/releases)
|
|
62
62
|
[](https://www.npmjs.com/package/aidevops)
|
|
63
63
|
[](https://github.com/marcusquinn/homebrew-tap)
|
|
64
64
|
[](https://github.com/marcusquinn/aidevops)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.31.
|
|
1
|
+
3.31.35
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
|
@@ -64,7 +64,6 @@ gui_dependencies_present() {
|
|
|
64
64
|
node_modules/vite/bin/vite.js
|
|
65
65
|
node_modules/react
|
|
66
66
|
node_modules/react-icons
|
|
67
|
-
node_modules/@fontsource/cal-sans
|
|
68
67
|
node_modules/@fontsource/courier-prime
|
|
69
68
|
node_modules/@fontsource/dm-mono
|
|
70
69
|
node_modules/@fontsource/dm-sans
|
|
@@ -127,10 +126,25 @@ write_icon_assets() {
|
|
|
127
126
|
local iconset_dir="${resources_dir}/aidevops.iconset"
|
|
128
127
|
|
|
129
128
|
cat > "$svg_path" <<'SVG'
|
|
130
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0
|
|
131
|
-
<
|
|
132
|
-
<
|
|
133
|
-
|
|
129
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" role="img" aria-labelledby="title desc">
|
|
130
|
+
<title id="title">AI DevOps prompt icon</title>
|
|
131
|
+
<desc id="desc">A rounded black app icon with the cyan terminal prompt mark used in the website logo.</desc>
|
|
132
|
+
<defs>
|
|
133
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
134
|
+
<stop offset="0" stop-color="#000000"/>
|
|
135
|
+
<stop offset="1" stop-color="#030707"/>
|
|
136
|
+
</linearGradient>
|
|
137
|
+
<radialGradient id="glow" cx="50%" cy="50%" r="62%">
|
|
138
|
+
<stop offset="0" stop-color="#66d9f2" stop-opacity="0.22"/>
|
|
139
|
+
<stop offset="1" stop-color="#66d9f2" stop-opacity="0"/>
|
|
140
|
+
</radialGradient>
|
|
141
|
+
</defs>
|
|
142
|
+
<rect width="1024" height="1024" fill="none"/>
|
|
143
|
+
<rect x="88" y="88" width="848" height="848" rx="188" fill="url(#bg)"/>
|
|
144
|
+
<rect x="88" y="88" width="848" height="848" rx="188" fill="url(#glow)"/>
|
|
145
|
+
<rect x="116" y="116" width="792" height="792" rx="160" fill="none" stroke="#66d9f2" stroke-opacity="0.36" stroke-width="18"/>
|
|
146
|
+
<g transform="translate(512 522) scale(0.94) translate(-288 -256)">
|
|
147
|
+
<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"/>
|
|
134
148
|
</g>
|
|
135
149
|
</svg>
|
|
136
150
|
SVG
|
|
@@ -1276,7 +1290,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, WKNavigationDelegate,
|
|
|
1276
1290
|
if title == "Starting aidevops" {
|
|
1277
1291
|
contentHTML = """
|
|
1278
1292
|
<main class="shell" aria-busy="true" aria-label="Loading aidevops interface">
|
|
1279
|
-
<section class="brand" aria-label="Starting aidevops"><strong><span>aidevops</span><b>></b><em>_</em></strong><small>Preparing local GUI</small></section>
|
|
1293
|
+
<section class="brand" aria-label="Starting aidevops"><strong><svg viewBox="0 0 1024 1024" aria-hidden="true"><rect x="88" y="88" width="848" height="848" rx="188" fill="#000000"/><rect x="88" y="88" width="848" height="848" rx="188" fill="#66d9f2" opacity="0.22"/><rect x="116" y="116" width="792" height="792" rx="160" fill="none" stroke="#66d9f2" stroke-opacity="0.36" stroke-width="18"/><g transform="translate(512 522) scale(0.94) translate(-288 -256)"><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"/></g></svg><span>aidevops</span><b>></b><em>_</em></strong><small>Preparing local GUI</small></section>
|
|
1280
1294
|
<aside class="rail panel"><i></i><i></i><i></i><i></i><i></i><i></i></aside>
|
|
1281
1295
|
<aside class="sidebar panel"><header><b></b><span></span></header><nav><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></nav><footer><i></i><i></i></footer></aside>
|
|
1282
1296
|
<section class="workspace panel"><header><b></b><span></span><i></i><i></i></header><article><h1>\(escapedTitle)</h1><p>\(escapedDetail)</p><div class="cards"><i></i><i></i><i></i><i></i><i></i><i></i></div><div class="block"></div></article></section>
|
|
@@ -1293,16 +1307,17 @@ final class AppDelegate: NSObject, NSApplicationDelegate, WKNavigationDelegate,
|
|
|
1293
1307
|
<meta charset="utf-8">
|
|
1294
1308
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
1295
1309
|
<style>
|
|
1296
|
-
:root { --accent:
|
|
1310
|
+
:root { --accent: #66d9f2; --border: rgb(255 255 255 / 11%); --panel: #151515; --muted: rgb(255 255 255 / 70%); }
|
|
1297
1311
|
* { box-sizing: border-box; }
|
|
1298
|
-
body { background: radial-gradient(ellipse at top left,
|
|
1312
|
+
body { background: radial-gradient(ellipse at top left, rgb(102 217 242 / 16%), transparent 36%), #111; color: #fff; font: 15px -apple-system, BlinkMacSystemFont, sans-serif; height: 100vh; margin: 0; }
|
|
1299
1313
|
.message { background: var(--panel); border: 1px solid var(--border); border-radius: 18px; left: 50%; max-width: 560px; padding: 28px; position: fixed; top: 50%; transform: translate(-50%, -50%); }
|
|
1300
1314
|
h1 { font-size: 22px; margin: 0 0 10px; }
|
|
1301
1315
|
p { color: #b9c3b0; line-height: 1.5; margin: 0; }
|
|
1302
1316
|
code { color: var(--accent); }
|
|
1303
1317
|
.shell { display: grid; gap: 8px; grid-template-columns: 72px 302px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 30px; height: 100vh; padding: 30px 8px 8px; }
|
|
1304
|
-
.brand { align-items: center; backdrop-filter: blur(18px); background: rgb(10 10 10 / 78%); border: 1px solid
|
|
1305
|
-
.brand strong { align-items:
|
|
1318
|
+
.brand { align-items: center; backdrop-filter: blur(18px); background: rgb(10 10 10 / 78%); border: 1px solid rgb(102 217 242 / 34%); border-radius: 24px; box-shadow: 0 24px 90px rgb(102 217 242 / 14%), 0 24px 80px rgb(0 0 0 / 40%); display: grid; gap: 10px; justify-items: center; left: 50%; padding: 26px 30px; position: fixed; top: 50%; transform: translate(-50%, -50%); width: min(360px, calc(100vw - 48px)); z-index: 20; }
|
|
1319
|
+
.brand strong { align-items: center; display: inline-flex; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: clamp(34px, 7vw, 64px); font-weight: 900; gap: .18em; letter-spacing: -0.08em; line-height: .9; }
|
|
1320
|
+
.brand svg { display: block; height: .96em; width: .96em; }
|
|
1306
1321
|
.brand span { color: #f6f7f2; font-size: .48em; letter-spacing: -0.04em; margin-right: .18em; }
|
|
1307
1322
|
.brand b, .brand em { color: var(--accent); font-style: normal; }
|
|
1308
1323
|
.brand em { animation: cursor 0.95s steps(1, end) infinite; }
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
body { background: radial-gradient(ellipse at top left, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 36%), var(--bg-secondary); color: var(--text-primary); font: 16px Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; margin: 0; }
|
|
27
27
|
.app-shell { display: grid; gap: 8px; grid-template-columns: 72px 302px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 30px; height: 100vh; padding: 30px 8px 8px; }
|
|
28
28
|
.loading-brand-overlay { align-items: center; backdrop-filter: blur(18px); background: color-mix(in srgb, var(--surface) 78%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--border)); border-radius: 24px; box-shadow: 0 24px 90px color-mix(in srgb, var(--accent) 14%, transparent), 0 24px 80px rgb(0 0 0 / 40%); display: grid; gap: 10px; justify-items: center; left: 50%; padding: 26px 30px; position: fixed; top: 50%; transform: translate(-50%, -50%); width: min(360px, calc(100vw - 48px)); z-index: 20; }
|
|
29
|
-
.loading-brand-mark { align-items:
|
|
29
|
+
.loading-brand-mark { align-items: center; display: inline-flex; font-size: clamp(2.1rem, 7vw, 4rem); font-weight: 900; gap: 0.18em; letter-spacing: -0.08em; line-height: 0.9; }
|
|
30
|
+
.loading-brand-icon { display: block; height: 0.96em; width: 0.96em; }
|
|
30
31
|
.loading-brand-word { color: color-mix(in srgb, var(--text-primary) 86%, var(--accent)); font-size: 0.48em; letter-spacing: -0.04em; margin-right: 0.18em; }
|
|
31
32
|
.loading-brand-chevron, .loading-brand-cursor { color: var(--accent); }
|
|
32
33
|
.loading-brand-cursor { animation: loading-cursor-blink 0.95s steps(1, end) infinite; }
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
<body>
|
|
53
54
|
<div id="root">
|
|
54
55
|
<main class="app-shell app-loading-shell" aria-busy="true" aria-label="Loading aidevops interface">
|
|
55
|
-
<section class="loading-brand-overlay" aria-label="Starting aidevops"><span class="loading-brand-mark" aria-hidden="true"><span class="loading-brand-word">aidevops</span><span class="loading-brand-chevron">></span><span class="loading-brand-cursor">_</span></span><span class="loading-brand-status">Preparing local GUI</span></section>
|
|
56
|
+
<section class="loading-brand-overlay" aria-label="Starting aidevops"><span class="loading-brand-mark" aria-hidden="true"><svg class="loading-brand-icon" viewBox="0 0 1024 1024"><rect x="88" y="88" width="848" height="848" rx="188" fill="#000000" /><rect x="88" y="88" width="848" height="848" rx="188" fill="#66d9f2" opacity="0.22" /><rect x="116" y="116" width="792" height="792" rx="160" fill="none" stroke="#66d9f2" stroke-opacity="0.36" stroke-width="18" /><g transform="translate(512 522) scale(0.94) translate(-288 -256)"><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" /></g></svg><span class="loading-brand-word">aidevops</span><span class="loading-brand-chevron">></span><span class="loading-brand-cursor">_</span></span><span class="loading-brand-status">Preparing local GUI</span></section>
|
|
56
57
|
<aside class="machine-rail loading-panel" aria-label="machine rail"><span class="loading-orb"></span><span class="loading-orb"></span><span class="loading-orb"></span><span class="loading-orb"></span><span class="loading-orb"></span><span class="loading-orb"></span></aside>
|
|
57
58
|
<aside class="app-sidebar loading-panel" aria-label="sidebar">
|
|
58
59
|
<div class="loading-sidebar-header"><span class="loading-logo"></span><span class="loading-line loading-line-wide"></span></div>
|
|
@@ -39,6 +39,19 @@ import { dashboardNavItem, navGroups, sidebarModeForSurface, surfaceRecordCounts
|
|
|
39
39
|
import { SidebarFooter, wrappedOptionIndex } from "./AppearanceControls";
|
|
40
40
|
import { VaultPadlock, vaultCollectionForSurface } from "./VaultBadges";
|
|
41
41
|
|
|
42
|
+
function AidevopsPromptIcon() {
|
|
43
|
+
return (
|
|
44
|
+
<svg className="brand-icon" viewBox="0 0 1024 1024" role="img" aria-label="AI DevOps prompt icon">
|
|
45
|
+
<rect className="brand-icon-bg" x="88" y="88" width="848" height="848" rx="188" />
|
|
46
|
+
<rect className="brand-icon-glow" x="88" y="88" width="848" height="848" rx="188" />
|
|
47
|
+
<rect className="brand-icon-ring" x="116" y="116" width="792" height="792" rx="160" />
|
|
48
|
+
<g transform="translate(512 522) scale(0.94) translate(-288 -256)">
|
|
49
|
+
<path className="brand-icon-glyph" 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" />
|
|
50
|
+
</g>
|
|
51
|
+
</svg>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
42
55
|
export { hueFromInputValue } from "./AppearanceControls";
|
|
43
56
|
|
|
44
57
|
const surfaceIcons: Record<SurfaceIconName, IconType> = {
|
|
@@ -362,7 +375,7 @@ function SidebarHeader({ setActiveSurface, setShellMode, shellMode }: {
|
|
|
362
375
|
<header className="sidebar-header">
|
|
363
376
|
<div className="sidebar-titlebar">
|
|
364
377
|
<button className="brand-lockup" onClick={() => { setShellMode("devices"); setActiveSurface(dashboardNavItem.id); }} title="Return to dashboard" type="button">
|
|
365
|
-
<
|
|
378
|
+
<AidevopsPromptIcon />
|
|
366
379
|
<strong>{text.aidevops}</strong>
|
|
367
380
|
</button>
|
|
368
381
|
<IconSwitch
|
|
@@ -579,6 +579,7 @@ code {
|
|
|
579
579
|
letter-spacing: -0.05em;
|
|
580
580
|
}
|
|
581
581
|
|
|
582
|
+
.brand-icon,
|
|
582
583
|
.terminal-mark {
|
|
583
584
|
align-items: center;
|
|
584
585
|
background: color-mix(in srgb, var(--accent) 15%, #0a0a0a);
|
|
@@ -594,6 +595,33 @@ code {
|
|
|
594
595
|
width: 44px;
|
|
595
596
|
}
|
|
596
597
|
|
|
598
|
+
.brand-icon {
|
|
599
|
+
background: transparent;
|
|
600
|
+
border: 0;
|
|
601
|
+
display: block;
|
|
602
|
+
flex: 0 0 auto;
|
|
603
|
+
filter: drop-shadow(0 8px 18px rgb(0 0 0 / 24%));
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
.brand-icon-bg {
|
|
607
|
+
fill: #000000;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.brand-icon-glow {
|
|
611
|
+
fill: color-mix(in srgb, #66d9f2 22%, transparent);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.brand-icon-ring {
|
|
615
|
+
fill: none;
|
|
616
|
+
stroke: #66d9f2;
|
|
617
|
+
stroke-opacity: 0.36;
|
|
618
|
+
stroke-width: 18;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
.brand-icon-glyph {
|
|
622
|
+
fill: #8ce8ff;
|
|
623
|
+
}
|
|
624
|
+
|
|
597
625
|
.sidebar-history-controls {
|
|
598
626
|
background: color-mix(in srgb, var(--surface-muted) 72%, transparent);
|
|
599
627
|
border: 1px solid var(--border);
|
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.
|
|
15
|
+
# Version: 3.31.35
|
|
16
16
|
#
|
|
17
17
|
# Quick Install:
|
|
18
18
|
# npm install -g aidevops && aidevops update (recommended)
|