diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 1c16be88..3951ae54 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -724,6 +724,12 @@ async fn request_permission(permission: String) -> Result { Ok(true) } +#[tauri::command] +async fn set_auto_evolution(enabled: bool) -> Result<(), String> { + println!("Auto-evolution set to: {}", enabled); + Ok(()) +} + #[derive(serde::Serialize)] struct TrainingMetrics { loss: f32, @@ -904,7 +910,8 @@ pub fn run() { generate_hypertoken, secure_memory, recover_sovereign_memory, - recall_by_hypertoken + recall_by_hypertoken, + set_auto_evolution ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); @@ -947,7 +954,8 @@ pub fn run() { get_training_metrics, hirag_query, get_node_info, - recall_by_hypertoken + recall_by_hypertoken, + set_auto_evolution ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/apps/desktop/src/lib/components/DojoPanel.svelte b/apps/desktop/src/lib/components/DojoPanel.svelte index 4dbb13bf..e3a5b194 100644 --- a/apps/desktop/src/lib/components/DojoPanel.svelte +++ b/apps/desktop/src/lib/components/DojoPanel.svelte @@ -17,6 +17,11 @@ let rewardAmount = 0; async function loadTask() { + // @ts-ignore + if (typeof window !== 'undefined' && !window.__TAURI_INTERNALS__) { + currentTask = { id: 'task-1', question: 'Should AI be allowed to self-evolve?', option_a: 'Yes, with constraints', option_b: 'No, human-only', reward: 50 }; + return; + } try { loading = true; currentTask = await invoke('get_dojo_task'); diff --git a/apps/desktop/src/lib/components/ModelManager.svelte b/apps/desktop/src/lib/components/ModelManager.svelte index e6e5627d..7c9676cb 100644 --- a/apps/desktop/src/lib/components/ModelManager.svelte +++ b/apps/desktop/src/lib/components/ModelManager.svelte @@ -1,6 +1,6 @@ diff --git a/apps/desktop/src/lib/components/PermissionGuard.svelte b/apps/desktop/src/lib/components/PermissionGuard.svelte index 874f6b4e..5185b1ec 100644 --- a/apps/desktop/src/lib/components/PermissionGuard.svelte +++ b/apps/desktop/src/lib/components/PermissionGuard.svelte @@ -1,6 +1,6 @@ diff --git a/apps/desktop/src/lib/store.svelte.ts b/apps/desktop/src/lib/store.svelte.ts index d6267d9c..0aa6599f 100644 --- a/apps/desktop/src/lib/store.svelte.ts +++ b/apps/desktop/src/lib/store.svelte.ts @@ -13,6 +13,10 @@ export const chatHistory = $state({ isAiTyping: false, async loadHistory() { + // @ts-ignore + if (typeof window !== 'undefined' && !window.__TAURI_INTERNALS__) { + return; + } this.isAiTyping = true; try { const historyItems: { sender: string; text: string; timestamp: number }[] = await invoke('get_history', { limit: 100 }); diff --git a/verification/initial_load.png b/verification/initial_load.png new file mode 100644 index 00000000..e670fdf0 Binary files /dev/null and b/verification/initial_load.png differ diff --git a/verification/initial_load_2.png b/verification/initial_load_2.png new file mode 100644 index 00000000..e670fdf0 Binary files /dev/null and b/verification/initial_load_2.png differ diff --git a/verification/permission_guard.png b/verification/permission_guard.png new file mode 100644 index 00000000..d5e512d4 Binary files /dev/null and b/verification/permission_guard.png differ diff --git a/verification/verify_initial.py b/verification/verify_initial.py new file mode 100644 index 00000000..f52962cc --- /dev/null +++ b/verification/verify_initial.py @@ -0,0 +1,19 @@ +from playwright.sync_api import sync_playwright +import time + +def run(): + with sync_playwright() as p: + browser = p.chromium.launch(headless=True) + page = browser.new_page() + try: + page.goto("http://localhost:1420") + time.sleep(5) # Wait for Svelte kit to load + page.screenshot(path="verification/initial_load.png") + print("Screenshot saved to verification/initial_load.png") + except Exception as e: + print(f"Error: {e}") + finally: + browser.close() + +if __name__ == "__main__": + run() diff --git a/verification/verify_initial_2.py b/verification/verify_initial_2.py new file mode 100644 index 00000000..bf068786 --- /dev/null +++ b/verification/verify_initial_2.py @@ -0,0 +1,22 @@ +from playwright.sync_api import sync_playwright +import time + +def run(): + with sync_playwright() as p: + browser = p.chromium.launch(headless=True) + page = browser.new_page() + page.on("console", lambda msg: print(f"CONSOLE: {msg.text}")) + page.on("pageerror", lambda exc: print(f"PAGE ERROR: {exc}")) + try: + page.goto("http://localhost:1420") + time.sleep(10) + page.screenshot(path="verification/initial_load_2.png") + print("Screenshot saved to verification/initial_load_2.png") + print(f"Page content length: {len(page.content())}") + except Exception as e: + print(f"Error: {e}") + finally: + browser.close() + +if __name__ == "__main__": + run() diff --git a/verification/verify_views.py b/verification/verify_views.py new file mode 100644 index 00000000..6a6187f1 --- /dev/null +++ b/verification/verify_views.py @@ -0,0 +1,51 @@ +from playwright.sync_api import sync_playwright +import time + +def run(): + with sync_playwright() as p: + browser = p.chromium.launch(headless=True) + page = browser.new_page() + page.on("console", lambda msg: print(f"CONSOLE: {msg.text}")) + page.on("pageerror", lambda exc: print(f"PAGE ERROR: {exc}")) + try: + page.goto("http://localhost:1420") + time.sleep(5) + + # 1. Permission Guard + page.screenshot(path="verification/permission_guard.png") + + # Click "Initialize All Systems" to get to the main app + page.click("text=Initialize All Systems") + time.sleep(2) + + # 2. Terminal View + page.screenshot(path="verification/view_terminal.png") + + # 3. Cortex View + page.click("button:has-text('CORTEX')") + time.sleep(1) + page.screenshot(path="verification/view_cortex.png") + + # 4. Swarm View + page.click("button:has-text('SWARM')") + time.sleep(1) + page.screenshot(path="verification/view_swarm.png") + + # 5. Wallet View + page.click("button:has-text('WALLET')") + time.sleep(1) + page.screenshot(path="verification/view_wallet.png") + + # 6. Dojo View + page.click("button:has-text('DOJO')") + time.sleep(1) + page.screenshot(path="verification/view_dojo.png") + + print("Screenshots saved.") + except Exception as e: + print(f"Error: {e}") + finally: + browser.close() + +if __name__ == "__main__": + run() diff --git a/verification/view_cortex.png b/verification/view_cortex.png new file mode 100644 index 00000000..015cfde3 Binary files /dev/null and b/verification/view_cortex.png differ diff --git a/verification/view_dojo.png b/verification/view_dojo.png new file mode 100644 index 00000000..46fecf3d Binary files /dev/null and b/verification/view_dojo.png differ diff --git a/verification/view_swarm.png b/verification/view_swarm.png new file mode 100644 index 00000000..0536b62c Binary files /dev/null and b/verification/view_swarm.png differ diff --git a/verification/view_terminal.png b/verification/view_terminal.png new file mode 100644 index 00000000..36317e30 Binary files /dev/null and b/verification/view_terminal.png differ diff --git a/verification/view_wallet.png b/verification/view_wallet.png new file mode 100644 index 00000000..e40f5633 Binary files /dev/null and b/verification/view_wallet.png differ