// @bun
import {
  init_ListItem
} from "./chunk-w3zczyse.js";
import {
  buildCliLaunch,
  init_cliLaunch,
  spawnCli
} from "./chunk-4kqt1pm1.js";
import {
  init_Dialog
} from "./chunk-kxwava1g.js";
import {
  init_overlayContext,
  useRegisterOverlay
} from "./chunk-421yegj3.js";
import"./chunk-aaxz8a5g.js";
import"./chunk-2kcgxnvp.js";
import"./chunk-14p6wvsq.js";
import"./chunk-6s0q1s5r.js";
import"./chunk-0cpg8qh8.js";
import"./chunk-9phn5khx.js";
import"./chunk-vk9xcryd.js";
import"./chunk-9a9g5hbj.js";
import"./chunk-ptxteaeh.js";
import"./chunk-7fcmqvbz.js";
import"./chunk-rgyzsbs3.js";
import"./chunk-q3b4n194.js";
import"./chunk-zaqfb3tz.js";
import"./chunk-6hzx0kqr.js";
import"./chunk-71sdcaq6.js";
import"./chunk-9hn8e6h1.js";
import"./chunk-dxa3y9vh.js";
import"./chunk-gjvhjywj.js";
import"./chunk-1w20m7gw.js";
import"./chunk-3gam18xn.js";
import"./chunk-rpmntgyh.js";
import"./chunk-24kv69g3.js";
import"./chunk-tzcrwnrf.js";
import"./chunk-k7xszak2.js";
import"./chunk-ztmb7geg.js";
import"./chunk-tbdkekz3.js";
import {
  init_useKeybinding
} from "./chunk-65zbgg1n.js";
import"./chunk-4spgkgr3.js";
import"./chunk-60fkafk2.js";
import"./chunk-h5zz0vxy.js";
import"./chunk-6hygvrhn.js";
import"./chunk-7tfdhkpy.js";
import"./chunk-8gv2pjby.js";
import"./chunk-pn23dh3d.js";
import"./chunk-rpdh02rm.js";
import"./chunk-j1wktfe2.js";
import"./chunk-fjtzfz1t.js";
import"./chunk-6hr7742d.js";
import"./chunk-xyg1sk2w.js";
import"./chunk-935nrvdb.js";
import"./chunk-8zz4z1q3.js";
import"./chunk-hem4f4gz.js";
import"./chunk-hqxp6b72.js";
import"./chunk-ccw8pse0.js";
import"./chunk-wsnxtggw.js";
import"./chunk-k8nwt8yq.js";
import"./chunk-vxbjzggp.js";
import"./chunk-d6h68rz1.js";
import"./chunk-8yvsnrkr.js";
import"./chunk-5mmhfbxb.js";
import"./chunk-s2t5anwv.js";
import"./chunk-ga1jkyqy.js";
import"./chunk-9hbhydvp.js";
import"./chunk-ck9r8hpf.js";
import"./chunk-k7hexw3v.js";
import"./chunk-trqrj23e.js";
import"./chunk-za3k6h2h.js";
import"./chunk-8kf8h7xf.js";
import"./chunk-bgan4cpf.js";
import"./chunk-jmv7k0jn.js";
import"./chunk-hjxqmtg5.js";
import"./chunk-bzyzrq0k.js";
import"./chunk-vwenx8ke.js";
import"./chunk-q2h79ncs.js";
import"./chunk-v4ypszbb.js";
import"./chunk-qfsn720k.js";
import"./chunk-7qx3xhv3.js";
import"./chunk-j9475b46.js";
import"./chunk-fdwabr8p.js";
import"./chunk-e4dsy4g1.js";
import"./chunk-326zehp8.js";
import"./chunk-kc67kt75.js";
import"./chunk-40t1d75v.js";
import"./chunk-dbts5q5p.js";
import"./chunk-e3abfxpy.js";
import"./chunk-q44zc68f.js";
import"./chunk-fejeqe61.js";
import"./chunk-q1vrhh0q.js";
import"./chunk-hn4w9pkj.js";
import {
  Dialog,
  ListItem,
  ThemedBox_default,
  ThemedText,
  init_src,
  useKeybindings
} from "./chunk-2g0ytd9d.js";
import {
  require_jsx_dev_runtime,
  require_react
} from "./chunk-de0qnnf7.js";
import"./chunk-j1mep9ck.js";
import"./chunk-6x35ffpx.js";
import"./chunk-1zbwhcbt.js";
import"./chunk-92bjkrf2.js";
import {
  findGitRoot,
  init_git
} from "./chunk-10k5jfc5.js";
import"./chunk-n9g24mwe.js";
import"./chunk-e3j7m7k2.js";
import"./chunk-hzmzwte2.js";
import"./chunk-pdvg91cg.js";
import"./chunk-c696122m.js";
import"./chunk-xbj5keyy.js";
import"./chunk-c1yc761e.js";
import"./chunk-c5g9shkw.js";
import"./chunk-aeysytks.js";
import"./chunk-s3hafnk3.js";
import"./chunk-kb3758f7.js";
import {
  getKairosActive,
  init_state,
  setKairosActive
} from "./chunk-9h9k5vz3.js";
import"./chunk-xmpgmeb8.js";
import"./chunk-2kz09j2s.js";
import"./chunk-c0k7b0jw.js";
import"./chunk-pecy49yr.js";
import"./chunk-azbab59e.js";
import"./chunk-3nk9q8dr.js";
import {
  __esm,
  __toESM
} from "./chunk-hhsxm2yr.js";

// src/commands/assistant/assistant.tsx
import { resolve } from "path";
async function computeDefaultInstallDir() {
  const cwd = process.cwd();
  const gitRoot = findGitRoot(cwd);
  return gitRoot || resolve(cwd);
}
function NewInstallWizard({ defaultDir, onInstalled, onCancel, onError }) {
  useRegisterOverlay("assistant-install-wizard");
  const [focusIndex, setFocusIndex] = import_react.useState(0);
  const [starting, setStarting] = import_react.useState(false);
  useKeybindings({
    "select:next": () => setFocusIndex((i) => (i + 1) % 2),
    "select:previous": () => setFocusIndex((i) => (i - 1 + 2) % 2),
    "select:accept": () => {
      if (focusIndex === 0) {
        startDaemon();
      } else {
        onCancel();
      }
    }
  }, { context: "Select" });
  function startDaemon() {
    if (starting)
      return;
    setStarting(true);
    const dir = defaultDir || resolve(".");
    try {
      const launch = buildCliLaunch(["daemon", "start", `--dir=${dir}`]);
      const child = spawnCli(launch, {
        cwd: dir,
        stdio: "ignore",
        detached: true
      });
      child.unref();
      child.on("error", (err) => {
        onError(`Failed to start daemon: ${err.message}`);
      });
      setTimeout(() => {
        onInstalled(dir);
      }, 1500);
    } catch (err) {
      onError(`Failed to start daemon: ${err instanceof Error ? err.message : String(err)}`);
    }
  }
  if (starting) {
    return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
      title: "Assistant Setup",
      onCancel,
      hideInputGuide: true,
      children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
        children: [
          "Starting daemon in ",
          defaultDir,
          "..."
        ]
      }, undefined, true, undefined, this)
    }, undefined, false, undefined, this);
  }
  return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
    title: "Assistant Setup",
    onCancel,
    hideInputGuide: true,
    children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
      flexDirection: "column",
      gap: 1,
      children: [
        /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
          children: "No active assistant sessions found."
        }, undefined, false, undefined, this),
        /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
          children: [
            "Start a daemon in ",
            /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
              bold: true,
              children: defaultDir || "."
            }, undefined, false, undefined, this),
            " to create a cloud session?"
          ]
        }, undefined, true, undefined, this),
        /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
          flexDirection: "column",
          children: [
            /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ListItem, {
              isFocused: focusIndex === 0,
              children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
                children: "Start assistant daemon"
              }, undefined, false, undefined, this)
            }, undefined, false, undefined, this),
            /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ListItem, {
              isFocused: focusIndex === 1,
              children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
                children: "Cancel"
              }, undefined, false, undefined, this)
            }, undefined, false, undefined, this)
          ]
        }, undefined, true, undefined, this),
        /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
          dimColor: true,
          children: "Enter to select \xB7 Esc to cancel"
        }, undefined, false, undefined, this)
      ]
    }, undefined, true, undefined, this)
  }, undefined, false, undefined, this);
}
async function call(onDone, context, _args) {
  const { setAppState, getAppState } = context;
  if (!getKairosActive()) {
    setKairosActive(true);
    setAppState((prev) => ({
      ...prev,
      kairosEnabled: true,
      assistantPanelVisible: true
    }));
    onDone("KAIROS assistant mode activated.", { display: "system" });
    return null;
  }
  const current = getAppState();
  const isVisible = current.assistantPanelVisible;
  if (isVisible) {
    setAppState((prev) => ({
      ...prev,
      assistantPanelVisible: false
    }));
    onDone("Assistant panel hidden.", { display: "system" });
  } else {
    setAppState((prev) => ({
      ...prev,
      assistantPanelVisible: true
    }));
    onDone("Assistant panel opened.", { display: "system" });
  }
  return null;
}
var import_react, jsx_dev_runtime;
var init_assistant = __esm(() => {
  init_src();
  init_Dialog();
  init_ListItem();
  init_overlayContext();
  init_useKeybinding();
  init_git();
  init_cliLaunch();
  init_state();
  import_react = __toESM(require_react(), 1);
  jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
});
init_assistant();

export {
  computeDefaultInstallDir,
  call,
  NewInstallWizard
};
