Publish curated Unraid-AppOps-Gateway source from 034c9f844d2455850ba37b31379b7edaa786583e

This commit is contained in:
Public Source Publisher committed 2026-10-01 19:39:31 +00:00
1 parent c61fbfd87f
commit 1a54836efc
101 files changed
+4973 -1298

No files matched your search

+11 -1
View File
@@ -1,4 +1,4 @@
import { ActionID, RiskLevel, PolicyDecision, Status, SourceType, ActionPlan, RagCitation } from './appops';
import { ActionID, RiskLevel, PolicyDecision, Status, SourceType, ActionPlan, RagCitation, ManagedAiStatus } from './appops';
export type AIAutonomyLevel = 0 | 1 | 2 | 3 | 4 | 5;
@@ -27,6 +27,14 @@ export interface AIChatMessage {
nextStep?: string;
citations?: RagCitation[];
confidence?: string;
provider?: 'modelforge';
capability?: string;
model?: string;
modelRevision?: string;
deploymentId?: string;
requestId?: string;
artifactDigest?: string;
contextTruncated?: boolean;
};
}
@@ -68,4 +76,6 @@ export interface AISummary {
storageForecast: string;
securityScore: number;
autopilotStatus: 'active' | 'paused' | 'off';
inference?: ManagedAiStatus;
recommendationEngine?: 'deterministic_policy_evidence';
}
+78 -7
View File
@@ -234,6 +234,50 @@ export interface IntegrationStatus {
} | null;
};
}
export interface ExposurePreferences {
nginxAccessListChecksEnabled: boolean;
}
export interface ManagedAiConfig {
enabled: boolean;
gatewayUrl: string;
capability: 'assistant.ops@1';
credentialConfigured: boolean;
managedBy: 'ModelForge';
}
export interface ManagedAiInference {
content?: string;
model: string;
revision: string;
deploymentId: string;
requestId: string;
artifactDigest: string;
latencyMs?: number;
observedAt?: string;
contextTruncated?: boolean;
}
export interface ManagedAiStatus extends ManagedAiConfig {
provider: 'modelforge';
state: 'not_configured' | 'ready' | 'not_deployed' | 'unverified' | 'unavailable';
ready: boolean;
readOnly: true;
projectKey?: string;
deploymentId?: string;
model?: string;
revision?: string;
errorCode?: string;
correlationId?: string | null;
lastInference: ManagedAiInference | null;
}
export interface ManagedAiConfigUpdate {
enabled: boolean;
gatewayUrl: string;
credential?: string;
}
export type SourceType = 'voice' | 'manual' | 'automation' | 'system';
export type MaintenanceState = 'active' | 'inactive';
export type ConnectorStatus = 'connected' | 'disconnected' | 'error' | 'missing_config' | 'configured' | 'none';
@@ -597,6 +641,22 @@ export interface StatisticsSummary {
sourceWarnings?: Array<{ source: string; surface: string; status: string; reason: string }>;
cpuHistory: Array<{ time: string; value: number | null }>;
ramHistory: Array<{ time: string; value: number | null }>;
gpuHistory?: Array<{ time: string; value: number | null }>;
gpu?: {
status: string;
source?: string;
observedAt?: string | null;
receivedAt?: string;
reason?: string | null;
devices: Array<{
id: string;
name: string;
utilizationPercent: number | null;
memoryUsedMiB: number | null;
memoryTotalMiB: number | null;
temperatureC: number | null;
}>;
};
restartsByApp: Array<{ appId: string; count: number }>;
blockedActions: number;
voiceActionCount: number;
@@ -853,15 +913,26 @@ export interface RuntimeInfo {
productionWarnings: string[];
}
export interface OperatorSessionStatus {
authorized: boolean;
mode: 'locked' | 'token' | 'session' | 'account' | 'private';
identity?: string | null;
export type UserRole = 'admin' | 'operator' | 'read_only' | 'custom';
export type UserPermission = 'read' | 'actions.execute' | 'inventory.manage' | 'approvals.manage' | 'connectors.manage' | 'policies.manage' | 'settings.manage' | 'notifications.manage' | 'voice.use' | 'users.manage';
export interface GatewayUser {
id: string;
provider: 'authentik' | 'entra';
subject: string;
email: string;
displayName: string;
role: UserRole;
enabled: boolean;
permissions: UserPermission[];
}
export interface OperatorAuthPolicy {
required: boolean;
export interface UserAuthSession {
authenticated: boolean;
user: GatewayUser | null;
permissions: UserPermission[];
}
export interface IdentityProvider { id: 'authentik' | 'entra'; label: string; configured: boolean }
export interface PermissionDefinition { id: UserPermission; label: string }
export interface UserAccessUpdate { role: UserRole; enabled: boolean; permissions: UserPermission[] }
export interface SqliteBackupMetadata {
name: string;