zenflo 0.11.9 → 0.11.10

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,7 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import os$1, { homedir } from 'node:os';
3
3
  import { randomUUID, randomBytes } from 'node:crypto';
4
- import { l as logger, p as projectPath, e as backoff, f as delay, R as RawJSONLinesSchema, g as AsyncLock, c as configuration, r as readDaemonState, h as clearDaemonState, d as packageJson, b as readSettings, i as readCredentials, j as encodeBase64, u as updateSettings, k as encodeBase64Url, m as decodeBase64, w as writeCredentialsLegacy, n as writeCredentialsDataKey, o as acquireDaemonLock, q as writeDaemonState, A as ApiClient, s as releaseDaemonLock, t as clearCredentials, v as clearMachineId, x as getLatestDaemonLog } from './types-CTT5Uja5.mjs';
4
+ import { l as logger, p as projectPath, e as backoff, f as delay, R as RawJSONLinesSchema, g as AsyncLock, c as configuration, r as readDaemonState, h as clearDaemonState, d as packageJson, b as readSettings, i as readCredentials, j as encodeBase64, u as updateSettings, k as encodeBase64Url, m as decodeBase64, w as writeCredentialsLegacy, n as writeCredentialsDataKey, o as acquireDaemonLock, q as writeDaemonState, A as ApiClient, s as releaseDaemonLock, t as clearCredentials, v as clearMachineId, x as getLatestDaemonLog } from './types-Kg2WtK0J.mjs';
5
5
  import { spawn, execSync, execFileSync } from 'node:child_process';
6
6
  import { resolve, join } from 'node:path';
7
7
  import { createInterface } from 'node:readline';
@@ -844,15 +844,15 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
844
844
  const getMessageColor = (type) => {
845
845
  switch (type) {
846
846
  case "user":
847
- return "magenta";
847
+ return "magentaBright";
848
848
  case "assistant":
849
- return "cyan";
849
+ return "cyanBright";
850
850
  case "system":
851
- return "blue";
851
+ return "blueBright";
852
852
  case "tool":
853
- return "yellow";
853
+ return "yellowBright";
854
854
  case "result":
855
- return "green";
855
+ return "greenBright";
856
856
  case "status":
857
857
  return "gray";
858
858
  default:
@@ -871,18 +871,28 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
871
871
  return chunks.join("\n");
872
872
  }).join("\n");
873
873
  };
874
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(
874
+ const banner = [
875
+ "\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557",
876
+ "\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2551",
877
+ "\u2551 \u255A\u2550\u2550\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2551",
878
+ "\u2551 \u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2551",
879
+ "\u2551 \u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2551",
880
+ "\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2551",
881
+ "\u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u2551",
882
+ "\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"
883
+ ];
884
+ return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, banner.map((line, i) => /* @__PURE__ */ React.createElement(Text, { key: i, color: "cyan", bold: true }, line))), /* @__PURE__ */ React.createElement(
875
885
  Box,
876
886
  {
877
887
  flexDirection: "column",
878
888
  width: terminalWidth,
879
- height: terminalHeight - 4,
889
+ height: terminalHeight - 14,
880
890
  borderStyle: "round",
881
- borderColor: "gray",
891
+ borderColor: "magenta",
882
892
  paddingX: 1,
883
893
  overflow: "hidden"
884
894
  },
885
- /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, { color: "gray", bold: true }, "\u{1F4E1} Remote Mode - Claude Messages"), /* @__PURE__ */ React.createElement(Text, { color: "gray", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
895
+ /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, { color: "magenta", bold: true }, "\u{1F4E1} Remote Mode - Live Session"), /* @__PURE__ */ React.createElement(Text, { color: "magenta", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
886
896
  /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", height: terminalHeight - 10, overflow: "hidden" }, messages.length === 0 ? /* @__PURE__ */ React.createElement(Text, { color: "gray", dimColor: true }, "Waiting for messages...") : (
887
897
  // Show only the last messages that fit in the available space
888
898
  messages.slice(-Math.max(1, terminalHeight - 10)).map((msg) => /* @__PURE__ */ React.createElement(Box, { key: msg.id, flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, { color: getMessageColor(msg.type), dimColor: true }, formatMessage(msg))))
@@ -891,14 +901,14 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
891
901
  Box,
892
902
  {
893
903
  width: terminalWidth,
894
- borderStyle: "round",
895
- borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "green",
904
+ borderStyle: "double",
905
+ borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "cyan",
896
906
  paddingX: 2,
897
907
  justifyContent: "center",
898
908
  alignItems: "center",
899
909
  flexDirection: "column"
900
910
  },
901
- /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", alignItems: "center" }, actionInProgress === "exiting" ? /* @__PURE__ */ React.createElement(Text, { color: "gray", bold: true }, "Exiting...") : actionInProgress === "switching" ? /* @__PURE__ */ React.createElement(Text, { color: "gray", bold: true }, "Switching to local mode...") : confirmationMode === "exit" ? /* @__PURE__ */ React.createElement(Text, { color: "red", bold: true }, "\u26A0\uFE0F Press Ctrl-C again to exit completely") : confirmationMode === "switch" ? /* @__PURE__ */ React.createElement(Text, { color: "yellow", bold: true }, "\u23F8\uFE0F Press space again to switch to local mode") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: "green", bold: true }, "\u{1F4F1} Press space to switch to local mode \u2022 Ctrl-C to exit")), process.env.DEBUG && logPath && /* @__PURE__ */ React.createElement(Text, { color: "gray", dimColor: true }, "Debug logs: ", logPath))
911
+ /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", alignItems: "center" }, actionInProgress === "exiting" ? /* @__PURE__ */ React.createElement(Text, { color: "gray", bold: true }, "\u26A1 Exiting remote session...") : actionInProgress === "switching" ? /* @__PURE__ */ React.createElement(Text, { color: "cyan", bold: true }, "\u{1F504} Switching to local mode...") : confirmationMode === "exit" ? /* @__PURE__ */ React.createElement(Text, { color: "red", bold: true }, "\u26A0\uFE0F Press Ctrl-C again to exit completely") : confirmationMode === "switch" ? /* @__PURE__ */ React.createElement(Text, { color: "yellow", bold: true }, "\u23F8\uFE0F Press SPACE again to switch to local mode") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: "cyan", bold: true }, "\u{1F680} Press SPACE to switch to local \u2022 Ctrl-C to exit")), process.env.DEBUG && logPath && /* @__PURE__ */ React.createElement(Text, { color: "gray", dimColor: true }, "Debug logs: ", logPath))
902
912
  ));
903
913
  };
904
914
 
@@ -6299,7 +6309,7 @@ async function handleConnectVendor(vendor, displayName) {
6299
6309
  return;
6300
6310
  } else if (subcommand === "codex") {
6301
6311
  try {
6302
- const { runCodex } = await import('./runCodex-DqKH9UFw.mjs');
6312
+ const { runCodex } = await import('./runCodex-zJRwP8WW.mjs');
6303
6313
  let startedBy = void 0;
6304
6314
  for (let i = 1; i < args.length; i++) {
6305
6315
  if (args[i] === "--started-by") {
@@ -6320,7 +6330,7 @@ async function handleConnectVendor(vendor, displayName) {
6320
6330
  return;
6321
6331
  } else if (subcommand === "ccr" || subcommand === "glm") {
6322
6332
  try {
6323
- const { runCCR } = await import('./runCCR-C4iiYV_d.mjs');
6333
+ const { runCCR } = await import('./runCCR-CQVvjom9.mjs');
6324
6334
  let startedBy = void 0;
6325
6335
  for (let i = 1; i < args.length; i++) {
6326
6336
  if (args[i] === "--started-by") {
@@ -6423,13 +6433,13 @@ async function handleConnectVendor(vendor, displayName) {
6423
6433
  let statusModule;
6424
6434
  switch (process.platform) {
6425
6435
  case "darwin":
6426
- statusModule = await import('./status-BmogoZjk.mjs');
6436
+ statusModule = await import('./status-4hHpWyGc.mjs');
6427
6437
  break;
6428
6438
  case "win32":
6429
- statusModule = await import('./status-Crjj5AbA.mjs');
6439
+ statusModule = await import('./status-EIRGrJzv.mjs');
6430
6440
  break;
6431
6441
  case "linux":
6432
- statusModule = await import('./status-DVIDR-sx.mjs');
6442
+ statusModule = await import('./status-DT-lQ5z3.mjs');
6433
6443
  break;
6434
6444
  default:
6435
6445
  console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
@@ -3,7 +3,7 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_crypto = require('node:crypto');
6
- var types = require('./types-BNjAQcO4.cjs');
6
+ var types = require('./types-CVUeTsiC.cjs');
7
7
  var node_child_process = require('node:child_process');
8
8
  var node_path = require('node:path');
9
9
  var node_readline = require('node:readline');
@@ -866,15 +866,15 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
866
866
  const getMessageColor = (type) => {
867
867
  switch (type) {
868
868
  case "user":
869
- return "magenta";
869
+ return "magentaBright";
870
870
  case "assistant":
871
- return "cyan";
871
+ return "cyanBright";
872
872
  case "system":
873
- return "blue";
873
+ return "blueBright";
874
874
  case "tool":
875
- return "yellow";
875
+ return "yellowBright";
876
876
  case "result":
877
- return "green";
877
+ return "greenBright";
878
878
  case "status":
879
879
  return "gray";
880
880
  default:
@@ -893,18 +893,28 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
893
893
  return chunks.join("\n");
894
894
  }).join("\n");
895
895
  };
896
- return /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(
896
+ const banner = [
897
+ "\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557",
898
+ "\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2551",
899
+ "\u2551 \u255A\u2550\u2550\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2551",
900
+ "\u2551 \u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2551",
901
+ "\u2551 \u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2551",
902
+ "\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2551",
903
+ "\u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u2551",
904
+ "\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"
905
+ ];
906
+ return /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", marginBottom: 1 }, banner.map((line, i) => /* @__PURE__ */ React.createElement(ink.Text, { key: i, color: "cyan", bold: true }, line))), /* @__PURE__ */ React.createElement(
897
907
  ink.Box,
898
908
  {
899
909
  flexDirection: "column",
900
910
  width: terminalWidth,
901
- height: terminalHeight - 4,
911
+ height: terminalHeight - 14,
902
912
  borderStyle: "round",
903
- borderColor: "gray",
913
+ borderColor: "magenta",
904
914
  paddingX: 1,
905
915
  overflow: "hidden"
906
916
  },
907
- /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", bold: true }, "\u{1F4E1} Remote Mode - Claude Messages"), /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
917
+ /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { color: "magenta", bold: true }, "\u{1F4E1} Remote Mode - Live Session"), /* @__PURE__ */ React.createElement(ink.Text, { color: "magenta", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
908
918
  /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", height: terminalHeight - 10, overflow: "hidden" }, messages.length === 0 ? /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", dimColor: true }, "Waiting for messages...") : (
909
919
  // Show only the last messages that fit in the available space
910
920
  messages.slice(-Math.max(1, terminalHeight - 10)).map((msg) => /* @__PURE__ */ React.createElement(ink.Box, { key: msg.id, flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { color: getMessageColor(msg.type), dimColor: true }, formatMessage(msg))))
@@ -913,14 +923,14 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
913
923
  ink.Box,
914
924
  {
915
925
  width: terminalWidth,
916
- borderStyle: "round",
917
- borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "green",
926
+ borderStyle: "double",
927
+ borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "cyan",
918
928
  paddingX: 2,
919
929
  justifyContent: "center",
920
930
  alignItems: "center",
921
931
  flexDirection: "column"
922
932
  },
923
- /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", alignItems: "center" }, actionInProgress === "exiting" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", bold: true }, "Exiting...") : actionInProgress === "switching" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", bold: true }, "Switching to local mode...") : confirmationMode === "exit" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "red", bold: true }, "\u26A0\uFE0F Press Ctrl-C again to exit completely") : confirmationMode === "switch" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "yellow", bold: true }, "\u23F8\uFE0F Press space again to switch to local mode") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ink.Text, { color: "green", bold: true }, "\u{1F4F1} Press space to switch to local mode \u2022 Ctrl-C to exit")), process.env.DEBUG && logPath && /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", dimColor: true }, "Debug logs: ", logPath))
933
+ /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", alignItems: "center" }, actionInProgress === "exiting" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", bold: true }, "\u26A1 Exiting remote session...") : actionInProgress === "switching" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "cyan", bold: true }, "\u{1F504} Switching to local mode...") : confirmationMode === "exit" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "red", bold: true }, "\u26A0\uFE0F Press Ctrl-C again to exit completely") : confirmationMode === "switch" ? /* @__PURE__ */ React.createElement(ink.Text, { color: "yellow", bold: true }, "\u23F8\uFE0F Press SPACE again to switch to local mode") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ink.Text, { color: "cyan", bold: true }, "\u{1F680} Press SPACE to switch to local \u2022 Ctrl-C to exit")), process.env.DEBUG && logPath && /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", dimColor: true }, "Debug logs: ", logPath))
924
934
  ));
925
935
  };
926
936
 
@@ -1021,7 +1031,7 @@ class AbortError extends Error {
1021
1031
  }
1022
1032
  }
1023
1033
 
1024
- const __filename$2 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-GoBFTs9u.cjs', document.baseURI).href)));
1034
+ const __filename$2 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CIEIMabk.cjs', document.baseURI).href)));
1025
1035
  const __dirname$2 = node_path.join(__filename$2, "..");
1026
1036
  function getDefaultClaudeCodePath() {
1027
1037
  return node_path.join(__dirname$2, "..", "..", "..", "node_modules", "@anthropic-ai", "claude-code", "cli.js");
@@ -5040,7 +5050,7 @@ async function runClaude(credentials, options = {}) {
5040
5050
  process.exit(0);
5041
5051
  }
5042
5052
 
5043
- const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-GoBFTs9u.cjs', document.baseURI).href)));
5053
+ const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CIEIMabk.cjs', document.baseURI).href)));
5044
5054
  const __dirname$1 = path.dirname(__filename$1);
5045
5055
  const PLIST_LABEL$1 = "com.zenflo.daemon";
5046
5056
  const LAUNCH_AGENTS_DIR$1 = path.join(os$1.homedir(), "Library", "LaunchAgents");
@@ -6321,7 +6331,7 @@ async function handleConnectVendor(vendor, displayName) {
6321
6331
  return;
6322
6332
  } else if (subcommand === "codex") {
6323
6333
  try {
6324
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-DaGqRdiG.cjs'); });
6334
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CWrjFTDA.cjs'); });
6325
6335
  let startedBy = void 0;
6326
6336
  for (let i = 1; i < args.length; i++) {
6327
6337
  if (args[i] === "--started-by") {
@@ -6342,7 +6352,7 @@ async function handleConnectVendor(vendor, displayName) {
6342
6352
  return;
6343
6353
  } else if (subcommand === "ccr" || subcommand === "glm") {
6344
6354
  try {
6345
- const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-CbB0wPJ6.cjs'); });
6355
+ const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-COQ_d0t_.cjs'); });
6346
6356
  let startedBy = void 0;
6347
6357
  for (let i = 1; i < args.length; i++) {
6348
6358
  if (args[i] === "--started-by") {
@@ -6445,13 +6455,13 @@ async function handleConnectVendor(vendor, displayName) {
6445
6455
  let statusModule;
6446
6456
  switch (process.platform) {
6447
6457
  case "darwin":
6448
- statusModule = await Promise.resolve().then(function () { return require('./status-QtPjWqoQ.cjs'); });
6458
+ statusModule = await Promise.resolve().then(function () { return require('./status-DChMScEv.cjs'); });
6449
6459
  break;
6450
6460
  case "win32":
6451
- statusModule = await Promise.resolve().then(function () { return require('./status-CXjOWgh0.cjs'); });
6461
+ statusModule = await Promise.resolve().then(function () { return require('./status-a3Xws-4m.cjs'); });
6452
6462
  break;
6453
6463
  case "linux":
6454
- statusModule = await Promise.resolve().then(function () { return require('./status-BB4epZ_d.cjs'); });
6464
+ statusModule = await Promise.resolve().then(function () { return require('./status-CXWZdbyc.cjs'); });
6455
6465
  break;
6456
6466
  default:
6457
6467
  console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-GoBFTs9u.cjs');
5
- require('./types-BNjAQcO4.cjs');
4
+ require('./index-CIEIMabk.cjs');
5
+ require('./types-CVUeTsiC.cjs');
6
6
  require('zod');
7
7
  require('node:child_process');
8
8
  require('node:os');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'chalk';
2
- import './index-CE4K-X3c.mjs';
3
- import './types-CTT5Uja5.mjs';
2
+ import './index-BW7_WZAp.mjs';
3
+ import './types-Kg2WtK0J.mjs';
4
4
  import 'zod';
5
5
  import 'node:child_process';
6
6
  import 'node:os';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var types = require('./types-BNjAQcO4.cjs');
3
+ var types = require('./types-CVUeTsiC.cjs');
4
4
  require('axios');
5
5
  require('chalk');
6
6
  require('fs');
package/dist/lib.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-CTT5Uja5.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-Kg2WtK0J.mjs';
2
2
  import 'axios';
3
3
  import 'chalk';
4
4
  import 'fs';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-GoBFTs9u.cjs');
4
- var types = require('./types-BNjAQcO4.cjs');
3
+ var index = require('./index-CIEIMabk.cjs');
4
+ var types = require('./types-CVUeTsiC.cjs');
5
5
  var node_child_process = require('node:child_process');
6
6
  require('chalk');
7
7
  require('node:os');
@@ -1,5 +1,5 @@
1
- import { r as runClaude } from './index-CE4K-X3c.mjs';
2
- import { l as logger } from './types-CTT5Uja5.mjs';
1
+ import { r as runClaude } from './index-BW7_WZAp.mjs';
2
+ import { l as logger } from './types-Kg2WtK0J.mjs';
3
3
  import { execSync } from 'node:child_process';
4
4
  import 'chalk';
5
5
  import 'node:os';
@@ -2,14 +2,14 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var types = require('./types-BNjAQcO4.cjs');
5
+ var types = require('./types-CVUeTsiC.cjs');
6
6
  var index_js = require('@modelcontextprotocol/sdk/client/index.js');
7
7
  var stdio_js = require('@modelcontextprotocol/sdk/client/stdio.js');
8
8
  var z = require('zod');
9
9
  var types_js = require('@modelcontextprotocol/sdk/types.js');
10
10
  var child_process = require('child_process');
11
11
  var node_crypto = require('node:crypto');
12
- var index = require('./index-GoBFTs9u.cjs');
12
+ var index = require('./index-CIEIMabk.cjs');
13
13
  var os = require('node:os');
14
14
  var node_path = require('node:path');
15
15
  var fs = require('node:fs');
@@ -1,13 +1,13 @@
1
1
  import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
- import { l as logger, A as ApiClient, b as readSettings, p as projectPath, c as configuration, d as packageJson } from './types-CTT5Uja5.mjs';
3
+ import { l as logger, A as ApiClient, b as readSettings, p as projectPath, c as configuration, d as packageJson } from './types-Kg2WtK0J.mjs';
4
4
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
5
5
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
6
6
  import { z } from 'zod';
7
7
  import { ElicitRequestSchema } from '@modelcontextprotocol/sdk/types.js';
8
8
  import { execSync } from 'child_process';
9
9
  import { randomUUID } from 'node:crypto';
10
- import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, a as registerKillSessionHandler, b as MessageBuffer, s as startZenfloServer, t as trimIdent, c as stopCaffeinate } from './index-CE4K-X3c.mjs';
10
+ import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, a as registerKillSessionHandler, b as MessageBuffer, s as startZenfloServer, t as trimIdent, c as stopCaffeinate } from './index-BW7_WZAp.mjs';
11
11
  import os from 'node:os';
12
12
  import { resolve, join } from 'node:path';
13
13
  import fs from 'node:fs';
@@ -3,7 +3,7 @@ import { execSync } from 'child_process';
3
3
  import os from 'os';
4
4
  import path from 'path';
5
5
  import chalk from 'chalk';
6
- import { r as readDaemonState } from './types-CTT5Uja5.mjs';
6
+ import { r as readDaemonState } from './types-Kg2WtK0J.mjs';
7
7
  import 'axios';
8
8
  import 'node:fs';
9
9
  import 'node:os';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('fs');
4
4
  var child_process = require('child_process');
5
- var types = require('./types-BNjAQcO4.cjs');
5
+ var types = require('./types-CVUeTsiC.cjs');
6
6
  var os = require('os');
7
7
  var path = require('path');
8
8
  var chalk = require('chalk');
@@ -5,7 +5,7 @@ var child_process = require('child_process');
5
5
  var os = require('os');
6
6
  var path = require('path');
7
7
  var chalk = require('chalk');
8
- var types = require('./types-BNjAQcO4.cjs');
8
+ var types = require('./types-CVUeTsiC.cjs');
9
9
  require('axios');
10
10
  require('node:fs');
11
11
  require('node:os');
@@ -1,6 +1,6 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { execSync } from 'child_process';
3
- import { r as readDaemonState, l as logger } from './types-CTT5Uja5.mjs';
3
+ import { r as readDaemonState, l as logger } from './types-Kg2WtK0J.mjs';
4
4
  import os from 'os';
5
5
  import path from 'path';
6
6
  import chalk from 'chalk';
@@ -1,5 +1,5 @@
1
1
  import { execSync } from 'child_process';
2
- import { r as readDaemonState, l as logger } from './types-CTT5Uja5.mjs';
2
+ import { r as readDaemonState, l as logger } from './types-Kg2WtK0J.mjs';
3
3
  import chalk from 'chalk';
4
4
  import 'axios';
5
5
  import 'fs';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var child_process = require('child_process');
4
- var types = require('./types-BNjAQcO4.cjs');
4
+ var types = require('./types-CVUeTsiC.cjs');
5
5
  var chalk = require('chalk');
6
6
  require('axios');
7
7
  require('fs');
@@ -42,7 +42,7 @@ function _interopNamespaceDefault(e) {
42
42
  var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
43
43
 
44
44
  var name = "zenflo";
45
- var version = "0.11.9";
45
+ var version = "0.11.10";
46
46
  var description = "Mobile and Web client for Claude Code and Codex - ZenFlo edition";
47
47
  var author = "Combined Memory";
48
48
  var license = "MIT";
@@ -1019,7 +1019,7 @@ class RpcHandlerManager {
1019
1019
  }
1020
1020
  }
1021
1021
 
1022
- const __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-BNjAQcO4.cjs', document.baseURI).href))));
1022
+ const __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-CVUeTsiC.cjs', document.baseURI).href))));
1023
1023
  function projectPath() {
1024
1024
  const path$1 = path.resolve(__dirname$1, "..");
1025
1025
  return path$1;
@@ -21,7 +21,7 @@ import { platform } from 'os';
21
21
  import { Expo } from 'expo-server-sdk';
22
22
 
23
23
  var name = "zenflo";
24
- var version = "0.11.9";
24
+ var version = "0.11.10";
25
25
  var description = "Mobile and Web client for Claude Code and Codex - ZenFlo edition";
26
26
  var author = "Combined Memory";
27
27
  var license = "MIT";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zenflo",
3
- "version": "0.11.9",
3
+ "version": "0.11.10",
4
4
  "description": "Mobile and Web client for Claude Code and Codex - ZenFlo edition",
5
5
  "author": "Combined Memory",
6
6
  "license": "MIT",