// @bun
import {
  ThemePicker,
  init_ThemePicker
} from "./chunk-cfxbrweb.js";
import"./chunk-4vz571bb.js";
import"./chunk-14p6wvsq.js";
import"./chunk-8hseq8b1.js";
import"./chunk-ddtxq6k5.js";
import"./chunk-28jd8qjx.js";
import"./chunk-djt39ze3.js";
import"./chunk-ptxteaeh.js";
import"./chunk-wd53a7m4.js";
import"./chunk-hms8ge0k.js";
import"./chunk-whpphypt.js";
import"./chunk-pht800m5.js";
import"./chunk-pjkqh1kq.js";
import"./chunk-9a9g5hbj.js";
import"./chunk-9hn8e6h1.js";
import"./chunk-rgyzsbs3.js";
import"./chunk-qn6me9n1.js";
import"./chunk-qd3r2s2n.js";
import"./chunk-djzd7tef.js";
import"./chunk-gyhnpbkx.js";
import"./chunk-71sdcaq6.js";
import"./chunk-60gf7p5s.js";
import"./chunk-sj3d0nqx.js";
import"./chunk-9pk9rk2w.js";
import"./chunk-javpza6a.js";
import"./chunk-6v7bre98.js";
import"./chunk-24kv69g3.js";
import"./chunk-fcqebw9m.js";
import"./chunk-dnfd3c9s.js";
import"./chunk-15ezj4ww.js";
import"./chunk-1h284c6e.js";
import"./chunk-582g9yce.js";
import"./chunk-y3ztgztb.js";
import"./chunk-4spgkgr3.js";
import"./chunk-n8kbhswc.js";
import"./chunk-60fkafk2.js";
import"./chunk-fgbkrbk3.js";
import"./chunk-ssw61jfd.js";
import"./chunk-093ej2sf.js";
import"./chunk-7tfdhkpy.js";
import"./chunk-nde5ym6a.js";
import"./chunk-k8wq4qsj.js";
import"./chunk-g7d3xx1p.js";
import"./chunk-3wrx2943.js";
import"./chunk-7p9kkh0f.js";
import"./chunk-qp8cgz66.js";
import"./chunk-1mg610h2.js";
import"./chunk-93hc149s.js";
import"./chunk-935nrvdb.js";
import"./chunk-8zz4z1q3.js";
import"./chunk-nnat9jw5.js";
import"./chunk-hqxp6b72.js";
import"./chunk-4jzkqgf1.js";
import"./chunk-33rd41ng.js";
import"./chunk-f257kqw9.js";
import"./chunk-w5hnghah.js";
import"./chunk-36twraxy.js";
import"./chunk-1bkvnj0y.js";
import"./chunk-akdpcc5p.js";
import {
  getGlobalConfig,
  init_config1 as init_config,
  saveCurrentProjectConfig,
  saveGlobalConfig
} from "./chunk-7rrkrej7.js";
import"./chunk-6r0bxrh6.js";
import"./chunk-d6500tvx.js";
import"./chunk-jg4bw4hp.js";
import"./chunk-epvbnq43.js";
import"./chunk-tn2sx7j6.js";
import"./chunk-6tzyv21c.js";
import"./chunk-8kf8h7xf.js";
import"./chunk-bgan4cpf.js";
import"./chunk-jmv7k0jn.js";
import"./chunk-ch4pgvwq.js";
import"./chunk-99jc4tcw.js";
import"./chunk-fghczfqt.js";
import"./chunk-vwenx8ke.js";
import"./chunk-f86mwfyd.js";
import"./chunk-v4ypszbb.js";
import"./chunk-bk6ck5c2.js";
import"./chunk-ym6j0wv1.js";
import"./chunk-hjmatcgt.js";
import"./chunk-6mdh70q0.js";
import"./chunk-ch92ycde.js";
import"./chunk-e4dsy4g1.js";
import"./chunk-326zehp8.js";
import"./chunk-kc67kt75.js";
import"./chunk-40t1d75v.js";
import"./chunk-nt5dmk8q.js";
import"./chunk-e3abfxpy.js";
import"./chunk-q44zc68f.js";
import"./chunk-fejeqe61.js";
import"./chunk-0gp4q8aq.js";
import"./chunk-hn4w9pkj.js";
import {
  Pane,
  ThemedBox_default,
  ThemedText,
  init_src,
  useTheme
} from "./chunk-0r6npc3t.js";
import {
  require_jsx_runtime
} from "./chunk-gxyx8b8w.js";
import {
  init_analytics,
  logEvent
} from "./chunk-j1mep9ck.js";
import"./chunk-6x35ffpx.js";
import"./chunk-1zbwhcbt.js";
import"./chunk-t0450ma3.js";
import"./chunk-0cqw3y8h.js";
import"./chunk-k1sw7km0.js";
import"./chunk-e3j7m7k2.js";
import"./chunk-sc9ycxra.js";
import"./chunk-hhta0nge.js";
import"./chunk-8wsj9fff.js";
import"./chunk-m28vg9w4.js";
import"./chunk-f8prtxs3.js";
import"./chunk-41a6f2kv.js";
import"./chunk-c1yc761e.js";
import"./chunk-c5g9shkw.js";
import"./chunk-byd20vdq.js";
import"./chunk-kb3758f7.js";
import"./chunk-3j8w0rq8.js";
import"./chunk-tj0dzck2.js";
import"./chunk-aeysytks.js";
import"./chunk-ns1htxgd.js";
import"./chunk-ztqzmfx1.js";
import"./chunk-6k1rsk85.js";
import"./chunk-nxzx0ey9.js";
import"./chunk-yes1my80.js";
import"./chunk-pecy49yr.js";
import"./chunk-azbab59e.js";
import"./chunk-3nk9q8dr.js";
import {
  __esm,
  __toESM
} from "./chunk-hhsxm2yr.js";

// src/commands/onboarding/launchOnboarding.tsx
function meta(s) {
  return s;
}
function parseSubcommand(args) {
  const trimmed = args.trim().toLowerCase();
  if (trimmed === "" || trimmed === "reset") {
    return { sub: "full" };
  }
  if (SUBCOMMANDS.has(trimmed)) {
    return { sub: trimmed };
  }
  return { sub: "full", unknownArg: trimmed };
}
function ThemeSubcommand({ onDone }) {
  const [, setTheme] = useTheme();
  return /* @__PURE__ */ jsx_runtime.jsx(Pane, {
    color: "permission",
    children: /* @__PURE__ */ jsx_runtime.jsx(ThemePicker, {
      onThemeSelect: (setting) => {
        setTheme(setting);
        logEvent("tengu_onboarding_step", { stepId: meta("theme") });
        onDone(`Theme set to ${setting}.`);
      },
      onCancel: () => onDone("Theme picker dismissed."),
      skipExitHandling: true
    })
  });
}
function StatusView({
  theme,
  hasCompletedOnboarding,
  lastOnboardingVersion
}) {
  return /* @__PURE__ */ jsx_runtime.jsxs(ThemedBox_default, {
    flexDirection: "column",
    paddingLeft: 1,
    children: [
      /* @__PURE__ */ jsx_runtime.jsx(ThemedText, {
        bold: true,
        children: "Onboarding status"
      }),
      /* @__PURE__ */ jsx_runtime.jsxs(ThemedText, {
        children: [
          "- Theme: ",
          /* @__PURE__ */ jsx_runtime.jsx(ThemedText, {
            bold: true,
            children: theme
          })
        ]
      }),
      /* @__PURE__ */ jsx_runtime.jsxs(ThemedText, {
        children: [
          "- Onboarding completed:",
          " ",
          /* @__PURE__ */ jsx_runtime.jsx(ThemedText, {
            bold: true,
            color: hasCompletedOnboarding ? "success" : "warning",
            children: hasCompletedOnboarding ? "yes" : "no"
          })
        ]
      }),
      /* @__PURE__ */ jsx_runtime.jsxs(ThemedText, {
        children: [
          "- Last onboarding version: ",
          /* @__PURE__ */ jsx_runtime.jsx(ThemedText, {
            bold: true,
            children: lastOnboardingVersion
          })
        ]
      }),
      /* @__PURE__ */ jsx_runtime.jsx(ThemedText, {
        dimColor: true,
        children: "Run /onboarding (no args) to re-run the full flow, or /onboarding theme | trust | model | mcp for a specific step."
      })
    ]
  });
}
var jsx_runtime, SUBCOMMANDS, callOnboarding = async (onDone, _context, args) => {
  const { sub, unknownArg } = parseSubcommand(args);
  logEvent("tengu_onboarding_step", { stepId: meta(`slash_${sub}`) });
  if (unknownArg !== undefined) {
    onDone(`Unknown /onboarding subcommand: \`${unknownArg}\`.
` + `Valid: full | theme | trust | model | mcp | status`, { display: "system" });
    return null;
  }
  if (sub === "theme") {
    return /* @__PURE__ */ jsx_runtime.jsx(ThemeSubcommand, {
      onDone: (msg) => onDone(msg)
    });
  }
  if (sub === "trust") {
    saveCurrentProjectConfig((current) => ({
      ...current,
      hasTrustDialogAccepted: false
    }));
    onDone("Workspace trust cleared for the current project. " + "The trust dialog will appear on the next `claude` launch.", { display: "system" });
    return null;
  }
  if (sub === "model") {
    onDone("Run `/model` to pick the AI model. " + "Onboarding does not own the model picker; this entry exists for " + "discoverability only.", { display: "system" });
    return null;
  }
  if (sub === "mcp") {
    onDone(`MCP server setup:
` + "  - `/mcp` \u2014 list configured MCP servers\n" + "  - `claude mcp add <name> <command>` \u2014 add a server (in your shell)\n" + "  - `claude mcp remove <name>` \u2014 remove a server\n" + "Servers also load from `.mcp.json` in the workspace and from " + "`~/.claude.json` globally.", { display: "system" });
    return null;
  }
  if (sub === "status") {
    const cfg = getGlobalConfig();
    return /* @__PURE__ */ jsx_runtime.jsx(StatusView, {
      theme: cfg.theme ?? "(unset)",
      hasCompletedOnboarding: cfg.hasCompletedOnboarding === true,
      lastOnboardingVersion: cfg.lastOnboardingVersion ?? "(unset)"
    });
  }
  saveGlobalConfig((current) => ({
    ...current,
    hasCompletedOnboarding: false
  }));
  onDone("Onboarding flag cleared. The full first-run setup " + "(theme, OAuth/API key, security notes, terminal-setup) " + "will run on the next `claude` launch.\n\n" + `For individual steps in this session, use:
` + `  /onboarding theme   \u2014 re-pick theme inline
` + `  /onboarding trust   \u2014 re-confirm workspace trust on next launch
` + `  /onboarding model   \u2014 open /model picker
` + `  /onboarding mcp     \u2014 show MCP setup hints
` + "  /onboarding status  \u2014 show current onboarding state", { display: "system" });
  return null;
};
var init_launchOnboarding = __esm(() => {
  init_src();
  init_analytics();
  init_ThemePicker();
  init_config();
  jsx_runtime = __toESM(require_jsx_runtime(), 1);
  SUBCOMMANDS = new Set(["full", "theme", "trust", "model", "mcp", "status"]);
});
init_launchOnboarding();

export {
  parseSubcommand,
  callOnboarding
};

//# debugId=AB33C94D7FA7562464756E2164756E21
//# sourceMappingURL=chunk-3jr8b9vg.js.map
