var RuntimeRegistry = { RUNTIMES: { HOLY_SIM: 'holy-sim', SWIFT_WASM: 'swift-wasm', WASM: 'wasm', WEBLLM: 'webllm', OLLAMA: 'ollama' }, current: 'holy-sim', swiftAvailable: false, webllmAvailable: false, ollamaAvailable: false, wasmAvailable: false, asmAvailable: true, adapters: {}, register: function(name, adapter) { this.adapters[name] = adapter; }, get: function(name) { return this.adapters[name] || null; }, getCurrent: function() { return this.adapters[this.current] || null; }, setSwiftAvailable: function(val) { this.swiftAvailable = val; }, setWebLLMAvailable: function(val) { this.webllmAvailable = val; }, setOllamaAvailable: function(val) { this.ollamaAvailable = val; }, setWasmAvailable: function(val) { this.wasmAvailable = val; }, initAll: async function() { var results = {}; var sw = this.get('swift-wasm'); if (sw) results.swift = await sw.init(); var wl = this.get('webllm'); if (wl) results.webllm = await wl.init(); var ol = this.get('ollama'); if (ol) results.ollama = await ol.init(); var wa = this.get('wasm'); if (wa) results.wasm = await wa.init(); this.swiftAvailable = results.swift || false; this.webllmAvailable = results.webllm || false; this.ollamaAvailable = results.ollama || false; this.wasmAvailable = results.wasm || false; return results; }, getRuntimeStatus: function() { return { holySim: 'SIMULATED', swiftWasm: this.swiftAvailable ? 'AVAILABLE' : 'FALLBACK_JS', webllm: this.webllmAvailable ? 'AVAILABLE' : 'FALLBACK_JS', ollama: this.ollamaAvailable ? 'AVAILABLE' : 'FALLBACK_JS', wasm: this.wasmAvailable ? 'AVAILABLE' : 'FALLBACK_JS', asm: 'SIMULATED', currentCore: this._getCurrentCore(), lispMachine: 'ONLINE', fontanaFFI: 'SIMULATED', assemblyLayer: 'SIMULATED', unicodeLayer: 'ONLINE' }; }, _getCurrentCore: function() { if (this.current === 'swift-wasm' && this.swiftAvailable) return 'SWIFT_SIM'; if (this.current === 'webllm' && this.webllmAvailable) return 'WEBLLM_INFERENCE'; if (this.current === 'ollama' && this.ollamaAvailable) return 'OLLAMA_BRIDGE'; if (this.current === 'wasm' && this.wasmAvailable) return 'WASM_NATIVE'; return 'JS_SIM'; } };