Problem
Abbenay is published only for linux-x64, linux-arm64, and darwin-arm64. There is no win32-x64 VSIX on the Marketplace.
Making Abbenay a hard extensionDependency of vscode-ansible fails Windows CI because VS Code cannot install redhat.abbenay-provider on Windows 64-bit. The same gap blocks Windows end users.
Related Jira
Approach
IPC on Windows: TCP 127.0.0.1 + address file — not named pipes. @grpc/grpc-js already binds TCP (used for containers via --grpc-port); pipe path stubs exist in the code but the daemon always binds unix://… and named-pipe gRPC is unproven in-tree.
Bootstrap: Extend bootstrap.sh for win32 (lean CI forbids actions/setup-node).
Out of scope (this issue)
- Authenticode / SmartScreen signing
darwin-x64
- Python client Windows paths
- Named-pipe gRPC (later optimization if proven)
Implementation checklist
1. Windows local transport
2. Packaging / discovery
3. Bootstrap + CI/release
4. Acceptance / smoke
Notes
Runtime stubs already exist (pipe path strings, SEA .exe naming in packages/daemon/build.js), but end-to-end Windows IPC and CI/publish are missing. Sequencing: land this issue → publish win32 VSIX → then land the vscode-ansible hard dependency.
Problem
Abbenay is published only for
linux-x64,linux-arm64, anddarwin-arm64. There is nowin32-x64VSIX on the Marketplace.Making Abbenay a hard
extensionDependencyof vscode-ansible fails Windows CI because VS Code cannot installredhat.abbenay-provideron Windows 64-bit. The same gap blocks Windows end users.Related Jira
Approach
IPC on Windows: TCP
127.0.0.1+ address file — not named pipes.@grpc/grpc-jsalready binds TCP (used for containers via--grpc-port); pipe path stubs exist in the code but the daemon always bindsunix://…and named-pipe gRPC is unproven in-tree.Bootstrap: Extend
bootstrap.shfor win32 (lean CI forbidsactions/setup-node).Out of scope (this issue)
darwin-x64Implementation checklist
1. Windows local transport
getRuntimeDir()on win32 →path.join(os.tmpdir(), 'abbenay')(PID + address file)127.0.0.1with an ephemeral port; writehost:portto<runtimeDir>/daemon.addrstartDaemon(grpcPort/grpcHost)daemon.addrand connect viahost:port(notunix://)fs.existsSyncon a pipe path)2. Packaging / discovery
.exeon win32build.jscreateDistribution(): copyabbenay-daemon-win32-x64.exeinto the.ziparchivekeytar.nodebuilds onwindows-latest(Credential Manager); ship as sidecar next to SEA3. Bootstrap + CI/release
bootstrap.sh: detect Windows, downloadnode-v*-win-x64.zip, unpacknode.exelayout, SEA fuse check,GITHUB_PATHwindows-latest/win32/x64to CI and release workflowsdist/*.zip+abbenay-vsix-win32-x64; update release notes tabledocs/DEVELOPMENT.mdplatform tables (3 → 4)4. Acceptance / smoke
win32-x64VSIXredhat.abbenay-provideris installable on VS Code for Windows 64-bit (Marketplace publish)Notes
Runtime stubs already exist (pipe path strings, SEA
.exenaming inpackages/daemon/build.js), but end-to-end Windows IPC and CI/publish are missing. Sequencing: land this issue → publish win32 VSIX → then land the vscode-ansible hard dependency.