aidevops 3.31.75 → 3.31.76
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-shared/src/fixtures.ts +13 -2
- package/packages/gui-web/src/AppNavigation.tsx +2 -2
- package/packages/gui-web/src/VaultBadges.tsx +10 -3
- package/packages/gui-web/src/app-model.ts +1 -0
- package/setup.sh +1 -1
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ The result: an AI operations platform that manages projects across every busines
|
|
|
60
60
|
[](https://github.com/marcusquinn)
|
|
61
61
|
|
|
62
62
|
<!-- Release & Version Info -->
|
|
63
|
-
[](https://github.com/marcusquinn/aidevops/releases)
|
|
64
64
|
[](https://www.npmjs.com/package/aidevops)
|
|
65
65
|
[](https://github.com/marcusquinn/homebrew-tap)
|
|
66
66
|
[](https://github.com/marcusquinn/aidevops)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.31.
|
|
1
|
+
3.31.76
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
|
@@ -362,15 +362,26 @@ export const statusFixture: GuiStatusData = {
|
|
|
362
362
|
preview_policy: "hidden_while_locked",
|
|
363
363
|
actions_policy: "disabled_while_locked",
|
|
364
364
|
},
|
|
365
|
+
{
|
|
366
|
+
id: "security-routing",
|
|
367
|
+
label: "Security routing metadata",
|
|
368
|
+
data_class: "config metadata",
|
|
369
|
+
labels: ["internal", "provider-allowed"],
|
|
370
|
+
surface_ids: ["security"],
|
|
371
|
+
encrypted: true,
|
|
372
|
+
state: "not_configured",
|
|
373
|
+
preview_policy: "hidden_while_locked",
|
|
374
|
+
actions_policy: "disabled_while_locked",
|
|
375
|
+
},
|
|
365
376
|
{
|
|
366
377
|
id: "provider-routing",
|
|
367
378
|
label: "Provider routing metadata",
|
|
368
379
|
data_class: "config metadata",
|
|
369
380
|
labels: ["internal", "provider-allowed"],
|
|
370
|
-
surface_ids: ["
|
|
381
|
+
surface_ids: ["aiProviders"],
|
|
371
382
|
encrypted: true,
|
|
372
383
|
state: "not_configured",
|
|
373
|
-
preview_policy: "
|
|
384
|
+
preview_policy: "metadata_only",
|
|
374
385
|
actions_policy: "disabled_while_locked",
|
|
375
386
|
},
|
|
376
387
|
{
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
import type { ContrastPreference, ConversationMode, FontPreference, FontSizePreference, ShellMode, SidebarMode, SurfaceIconName, SurfaceId, SurfaceNavGroup, SurfaceNavItem, ThemePreference } from "./app-model";
|
|
38
38
|
import { dashboardNavItem, navGroups, sidebarModeForSurface, surfaceRecordCounts, text } from "./app-model";
|
|
39
39
|
import { SidebarFooter, wrappedOptionIndex } from "./AppearanceControls";
|
|
40
|
-
import { VaultPadlock, vaultCollectionForSurface } from "./VaultBadges";
|
|
40
|
+
import { VaultPadlock, vaultCollectionForSurface, vaultCollectionTooltip } from "./VaultBadges";
|
|
41
41
|
|
|
42
42
|
function AidevopsPromptIcon() {
|
|
43
43
|
return (
|
|
@@ -338,7 +338,7 @@ function SidebarItem({ activeSurface, item, recordCount, setActiveSurface, showC
|
|
|
338
338
|
}) {
|
|
339
339
|
const isActive = activeSurface === item.id;
|
|
340
340
|
const vaultCollection = vaultCollectionForSurface(status.vault, item.id);
|
|
341
|
-
const vaultTooltip = vaultCollection ? ` ${
|
|
341
|
+
const vaultTooltip = vaultCollection ? ` ${vaultCollectionTooltip(vaultCollection)}` : "";
|
|
342
342
|
const tooltip = `${item.label}: ${item.description}${vaultTooltip}`;
|
|
343
343
|
const shouldShowCount = showCount && recordCount !== undefined && recordCount > 0;
|
|
344
344
|
|
|
@@ -12,7 +12,15 @@ export function vaultCollectionForSurface(
|
|
|
12
12
|
|
|
13
13
|
export function isVaultSurfaceLocked(vault: GuiVaultStatusData, surface: SurfaceId): boolean {
|
|
14
14
|
const collection = vaultCollectionForSurface(vault, surface);
|
|
15
|
-
return surface !== "vault" && collection?.encrypted === true && !vault.unlocked;
|
|
15
|
+
return surface !== "vault" && collection?.encrypted === true && collection.preview_policy === "hidden_while_locked" && !vault.unlocked;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function vaultCollectionTooltip(collection: GuiVaultCollectionSummary): string {
|
|
19
|
+
if (collection.preview_policy === "metadata_only") {
|
|
20
|
+
return text.vaultMetadataPreview;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return text.vaultTooltip;
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
export function VaultPadlock({ collection, compact = false, vault }: {
|
|
@@ -23,11 +31,10 @@ export function VaultPadlock({ collection, compact = false, vault }: {
|
|
|
23
31
|
const locked = collection.state !== "unlocked" || !vault.unlocked;
|
|
24
32
|
const stateLabel = locked ? "Locked" : "Unlocked";
|
|
25
33
|
const Icon = locked ? FiLock : FiUnlock;
|
|
26
|
-
const tooltip = `${stateLabel}: ${
|
|
34
|
+
const tooltip = `${stateLabel}: ${vaultCollectionTooltip(collection)}`;
|
|
27
35
|
|
|
28
36
|
return (
|
|
29
37
|
<span
|
|
30
|
-
aria-label={`${stateLabel} by aidevops Vault: ${collection.label}`}
|
|
31
38
|
className={compact ? "vault-padlock compact" : "vault-padlock"}
|
|
32
39
|
data-vault-state={locked ? "locked" : "unlocked"}
|
|
33
40
|
title={tooltip}
|
|
@@ -316,6 +316,7 @@ export const text = {
|
|
|
316
316
|
vaultSetup: "First-use Setup",
|
|
317
317
|
vaultStatus: "Status",
|
|
318
318
|
vaultSync: "Sync",
|
|
319
|
+
vaultMetadataPreview: "Encrypted by aidevops Vault; metadata previews stay visible while locked, and protected previews plus write actions require a local unlock.",
|
|
319
320
|
vaultTooltip: "Encrypted by aidevops Vault; contents visible only when unlocked through app or authorised vault commands.",
|
|
320
321
|
vaultUnlockCta: "Unlock Vault",
|
|
321
322
|
vaultUnlockHint: "Run `aidevops vault unlock` in a local terminal and enter the passphrase only into the hidden prompt.",
|
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.76
|
|
16
16
|
#
|
|
17
17
|
# Quick Install:
|
|
18
18
|
# npm install -g aidevops && aidevops update (recommended)
|