import PyInstaller.__main__ from pathlib import Path import os def build(): backend_dir = Path(__file__).parent.absolute() main_file = backend_dir / "main.py" PyInstaller.__main__.run([ str(main_file), '--name=jarvis-backend-x86_64-pc-windows-msvc', '--onefile', '--distpath', str(backend_dir.parent / "src-tauri" / "sidecar"), '--workpath', str(backend_dir.parent / "build"), '--specpath', str(backend_dir.parent), '--collect-all=faster_whisper', '--collect-all=openwakeword', '--collect-all=chromadb', '--collect-all=TTS', '--collect-all=trainer', '--collect-all=motor', '--hidden-import=backend.memory.semantic_memory', '--hidden-import=backend.memory.procedural_memory', '--hidden-import=backend.memory.episodic_memory', '--add-data', str(backend_dir.parent / "modules") + os.pathsep + "modules", '--add-data', str(backend_dir.parent / "backend" / "supervisor.py") + os.pathsep + ".", '--paths', str(backend_dir.parent), '--noconfirm' ]) if __name__ == "__main__": build()