fellow-agents 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { spawn } from "child_process";
1
+ import { spawn, execSync } from "child_process";
2
2
  import http from "http";
3
3
  import https from "https";
4
4
  import { mkdirSync, writeFileSync, readFileSync, existsSync, rmSync, openSync } from "fs";
@@ -78,12 +78,23 @@ export function startPtyWin(port, workspacesDir, emcomUrl, env) {
78
78
  writePid("pty-win", proc.pid);
79
79
  return proc.pid;
80
80
  }
81
+ // On Windows, PyInstaller --onefile binaries (like emcom-server) run as a bootloader + child
82
+ // process. process.kill() only kills the bootloader; the child keeps the socket. taskkill /T
83
+ // walks the process tree so the child dies too.
84
+ function killTree(pid) {
85
+ if (process.platform === "win32") {
86
+ execSync(`taskkill /F /T /PID ${pid}`, { stdio: "ignore" });
87
+ }
88
+ else {
89
+ process.kill(pid);
90
+ }
91
+ }
81
92
  export function stopAll() {
82
93
  for (const name of ["emcom-server", "pty-win"]) {
83
94
  const pid = readPid(name);
84
95
  if (pid && isRunning(pid)) {
85
96
  try {
86
- process.kill(pid);
97
+ killTree(pid);
87
98
  console.log(` Stopped ${name} (pid ${pid})`);
88
99
  }
89
100
  catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fellow-agents",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "Multi-agent system — multiple Claude Code instances collaborating via messaging",
5
5
  "type": "module",
6
6
  "bin": {