fischer-agentkit/scripts/build-backend.ps1

45 lines
1.6 KiB
PowerShell

# Build Python backend as standalone binary using PyInstaller (Windows)
# Usage: .\scripts\build-backend.ps1 [target-triple]
param(
[string]$TargetTriple = "x86_64-pc-windows-msvc"
)
$ErrorActionPreference = "Stop"
$ProjectRoot = Resolve-Path (Join-Path $PSScriptRoot "..")
Write-Host "Building agentkit-server for $TargetTriple..."
Set-Location $ProjectRoot
# Install PyInstaller if not present
pip install pyinstaller 2>$null
# Build the binary
pyinstaller --onefile `
--name "agentkit-server.exe" `
--hidden-import agentkit.server `
--hidden-import agentkit.server.app `
--hidden-import agentkit.server.routes `
--hidden-import agentkit.server.config `
--hidden-import agentkit.cli.main `
--hidden-import uvicorn.logging `
--hidden-import uvicorn.lifespan.on `
--hidden-import uvicorn.lifespan.off `
--hidden-import uvicorn.protocols.websockets.auto `
--hidden-import uvicorn.protocols.http.auto `
--hidden-import uvicorn.protocols.websockets.wsproto_impl `
--hidden-import uvicorn.protocols.websockets.websockets_impl `
--hidden-import uvicorn.protocols.websockets.impl_11 `
--hidden-import uvicorn.lifespan `
--hidden-import sse_starlette `
--distpath "$ProjectRoot\src-tauri\binaries" `
--workpath "$ProjectRoot\build\pyinstaller-work" `
--specpath "$ProjectRoot\build" `
src\agentkit\__main__.py
# Rename with target triple suffix
Rename-Item "$ProjectRoot\src-tauri\binaries\agentkit-server.exe" "agentkit-server-$TargetTriple.exe"
Write-Host "Built: src-tauri\binaries\agentkit-server-$TargetTriple.exe"