sf-lwc-deploy-required-full-rewrite-tooling-api-approach

sf_lwc_deploy was fundamentally broken — it built a metadata_package dict and passed it directly to mdapi.deploy() which expects a zip file or IO[bytes]. The correct approach is: (1) retrieve LWC bundle and component files from source org via Tooling API, (2) build a proper metadata zip with package.xml and lwc directory structure in memory using zipfile.ZipFile, (3) deploy via mdapi.deploy() with io.BytesIO wrapper.