@volter/supercode-teams 0.2.97 → 0.2.99

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.
Files changed (2) hide show
  1. package/bin/workspace.mjs +3 -24
  2. package/package.json +1 -1
package/bin/workspace.mjs CHANGED
@@ -757,30 +757,9 @@ async function connectorCommand(verb, { flags, rest, output, client, context, te
757
757
  process.stderr.write(`supercode teams: ${changed} changed under this connector (an upgrade); moving to the new code\n`);
758
758
  const cli = process.platform === 'win32' ? 'supercode' : process.env.SUPERCODE_BIN;
759
759
  spawn(cli, ['teams', 'connect', '--install', '--context', contextName, '--cwd', path], { shell: process.platform === 'win32', detached: true, stdio: 'ignore', windowsHide: true }).unref();
760
- if (process.platform !== 'win32') setTimeout(() => { process.exitCode = 75; void stopConnector?.(); }, 60_000);
761
- });
762
- }
763
- // A daemon with no server link holding the socket is a session's auto-start while this service was between
764
- // restarts (from a supercode old enough not to wait for the service): it yields to the service's connector, which
765
- // otherwise failed on EADDRINUSE at every restart and left this machine unlinked.
766
- if (saved.service) await retireLinklessDaemon(paths(daemonHome).machine);
767
- try { await connector.start({ roots: () => saved.roots }); await machine.start(); } catch (error) { await stopAll(); throw error; }
768
- output({ version: 1, context: scope(context), data: { machine: saved.machine, source: saved.source, roots: saved.roots.map(({ path: _path, ...item }) => item), socket: machine.socketPath, foreground: true } });
769
- // Run by a service, the connector moves to an upgrade on its own: its readers would otherwise answer from the code
770
- // they loaded until something restarted it (after 0.5.51 this Mac's went on reading a Codex turn waiting on an
771
- // approval as busy). On Windows the service runs a per-version copy, so what an upgrade replaces is the
772
- // `supercode` on PATH, and the move is the install that re-pins the service (it stops this connector and starts
773
- // the new copy). Elsewhere it stops and exits non-zero, which every service manager here restarts.
774
- if (saved.service) {
775
- const shim = process.platform === 'win32' ? (() => { try { return execFileSync('where', ['supercode'], { encoding: 'utf8', windowsHide: true }).split(/\r?\n/).find(Boolean); } catch { return null; } })() : null;
776
- watchCodeChange([process.env.SUPERCODE_BIN, new URL('../package.json', import.meta.url), shim], (changed) => {
777
- process.stderr.write(`supercode teams: ${changed} changed under this connector (an upgrade); moving to the new code\n`);
778
- if (process.platform === 'win32') {
779
- spawn('supercode', ['teams', 'connect', '--install', '--context', contextName, '--cwd', path], { shell: true, detached: true, stdio: 'ignore', windowsHide: true }).unref();
780
- return;
781
- }
782
- process.exitCode = 75;
783
- void stopConnector?.();
760
+ // An explicit exit: the command's own return would end the process with 0, which systemd's on-failure policy
761
+ // does not restart.
762
+ if (process.platform !== 'win32') setTimeout(async () => { await stopConnector?.(); process.exit(75); }, 60_000);
784
763
  });
785
764
  }
786
765
  await new Promise(resolveStop => { let stopped = false; stopConnector = async () => { if (stopped) return; stopped = true; await stopAll(); resolveStop(); }; for (const signal of ['SIGINT', 'SIGTERM', ...(process.platform === 'win32' ? ['SIGHUP', 'SIGBREAK'] : [])]) process.once(signal, stopConnector); });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/supercode-teams",
3
- "version": "0.2.97",
3
+ "version": "0.2.99",
4
4
  "type": "module",
5
5
  "description": "A machine daemon serving this machine's doors, and a local or remote Teams server for shared session discovery, OpenTelemetry ingestion and access to enrolled machines.",
6
6
  "license": "MIT",