episoda 0.2.73 → 0.2.75

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.
@@ -2741,7 +2741,7 @@ var require_package = __commonJS({
2741
2741
  "package.json"(exports2, module2) {
2742
2742
  module2.exports = {
2743
2743
  name: "episoda",
2744
- version: "0.2.73",
2744
+ version: "0.2.75",
2745
2745
  description: "CLI tool for Episoda local development workflow orchestration",
2746
2746
  main: "dist/index.js",
2747
2747
  types: "dist/index.d.ts",
@@ -4380,9 +4380,16 @@ var TunnelManager = class extends import_events.EventEmitter {
4380
4380
  * EP877: Cleanup orphaned cloudflared processes on startup
4381
4381
  * Kills any cloudflared processes that have PID files but aren't tracked in memory,
4382
4382
  * and any cloudflared processes that don't have corresponding PID files.
4383
+ *
4384
+ * EP1111: Skip cleanup in cloud mode - supervisord manages cloudflared there,
4385
+ * and we must not kill processes we didn't start.
4383
4386
  */
4384
4387
  async cleanupOrphanedProcesses() {
4385
4388
  const cleaned = [];
4389
+ if (process.env.EPISODA_MODE === "cloud") {
4390
+ console.log("[Tunnel] EP1111: Skipping orphan cleanup in cloud mode (supervisord manages cloudflared)");
4391
+ return { cleaned: 0, pids: [] };
4392
+ }
4386
4393
  try {
4387
4394
  this.ensurePidDir();
4388
4395
  const pidFiles = fs6.readdirSync(TUNNEL_PID_DIR).filter((f) => f.endsWith(".pid"));