zenflo 0.11.12 → 0.11.14

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.
@@ -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-Ce8X5U4N.cjs');
6
+ var types = require('./types-D71O4NYi.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');
@@ -893,17 +893,32 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
893
893
  return chunks.join("\n");
894
894
  }).join("\n");
895
895
  };
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(
896
+ const generateBanner = () => {
897
+ const asciiArt = [
898
+ " \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 ",
899
+ " \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 ",
900
+ " \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 ",
901
+ " \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 ",
902
+ " \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 ",
903
+ " \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 "
904
+ ];
905
+ const minWidth = 60;
906
+ const width = Math.max(terminalWidth, minWidth);
907
+ const contentWidth = width - 2;
908
+ const banner2 = [];
909
+ banner2.push("\u2554" + "\u2550".repeat(width - 2) + "\u2557");
910
+ for (const line of asciiArt) {
911
+ const trimmedLine = line.trimEnd();
912
+ const paddingNeeded = contentWidth - trimmedLine.length;
913
+ const leftPad = Math.floor(paddingNeeded / 2);
914
+ const rightPad = paddingNeeded - leftPad;
915
+ banner2.push("\u2551" + " ".repeat(leftPad) + trimmedLine + " ".repeat(rightPad) + "\u2551");
916
+ }
917
+ banner2.push("\u255A" + "\u2550".repeat(width - 2) + "\u255D");
918
+ return banner2;
919
+ };
920
+ const banner = generateBanner();
921
+ 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: "yellow", bold: true }, line))), /* @__PURE__ */ React.createElement(
907
922
  ink.Box,
908
923
  {
909
924
  flexDirection: "column",
@@ -1031,7 +1046,7 @@ class AbortError extends Error {
1031
1046
  }
1032
1047
  }
1033
1048
 
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-D7y6WJRy.cjs', document.baseURI).href)));
1049
+ 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-B-_jUY7z.cjs', document.baseURI).href)));
1035
1050
  const __dirname$2 = node_path.join(__filename$2, "..");
1036
1051
  function getDefaultClaudeCodePath() {
1037
1052
  return node_path.join(__dirname$2, "..", "..", "..", "node_modules", "@anthropic-ai", "claude-code", "cli.js");
@@ -4405,7 +4420,7 @@ async function startDaemon() {
4405
4420
  }
4406
4421
  const args = [
4407
4422
  options.agent || "claude",
4408
- // Use the agent directly (claude, codex, qwen, gemini)
4423
+ // Use the agent directly (claude, codex, qwen, gemini, ccr)
4409
4424
  "--zenflo-starting-mode",
4410
4425
  "remote",
4411
4426
  "--started-by",
@@ -5050,7 +5065,7 @@ async function runClaude(credentials, options = {}) {
5050
5065
  process.exit(0);
5051
5066
  }
5052
5067
 
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-D7y6WJRy.cjs', document.baseURI).href)));
5068
+ const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-B-_jUY7z.cjs', document.baseURI).href)));
5054
5069
  const __dirname$1 = path.dirname(__filename$1);
5055
5070
  const PLIST_LABEL$1 = "com.zenflo.daemon";
5056
5071
  const LAUNCH_AGENTS_DIR$1 = path.join(os$1.homedir(), "Library", "LaunchAgents");
@@ -6331,7 +6346,7 @@ async function handleConnectVendor(vendor, displayName) {
6331
6346
  return;
6332
6347
  } else if (subcommand === "codex") {
6333
6348
  try {
6334
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-DDs_QCMm.cjs'); });
6349
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-_tYPk4Oz.cjs'); });
6335
6350
  let startedBy = void 0;
6336
6351
  for (let i = 1; i < args.length; i++) {
6337
6352
  if (args[i] === "--started-by") {
@@ -6352,7 +6367,7 @@ async function handleConnectVendor(vendor, displayName) {
6352
6367
  return;
6353
6368
  } else if (subcommand === "ccr" || subcommand === "glm") {
6354
6369
  try {
6355
- const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-6LCpkqyI.cjs'); });
6370
+ const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-CThtbn17.cjs'); });
6356
6371
  let startedBy = void 0;
6357
6372
  for (let i = 1; i < args.length; i++) {
6358
6373
  if (args[i] === "--started-by") {
@@ -6455,13 +6470,13 @@ async function handleConnectVendor(vendor, displayName) {
6455
6470
  let statusModule;
6456
6471
  switch (process.platform) {
6457
6472
  case "darwin":
6458
- statusModule = await Promise.resolve().then(function () { return require('./status-LTy4IBhr.cjs'); });
6473
+ statusModule = await Promise.resolve().then(function () { return require('./status-CR_0C10R.cjs'); });
6459
6474
  break;
6460
6475
  case "win32":
6461
- statusModule = await Promise.resolve().then(function () { return require('./status-Dvu2lpJ5.cjs'); });
6476
+ statusModule = await Promise.resolve().then(function () { return require('./status-CACgOMAn.cjs'); });
6462
6477
  break;
6463
6478
  case "linux":
6464
- statusModule = await Promise.resolve().then(function () { return require('./status-DHbMTIvx.cjs'); });
6479
+ statusModule = await Promise.resolve().then(function () { return require('./status-Cflxezmj.cjs'); });
6465
6480
  break;
6466
6481
  default:
6467
6482
  console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
@@ -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-OaGVQOiJ.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-DCXqQWGn.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';
@@ -871,17 +871,32 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
871
871
  return chunks.join("\n");
872
872
  }).join("\n");
873
873
  };
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(
874
+ const generateBanner = () => {
875
+ const asciiArt = [
876
+ " \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 ",
877
+ " \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 ",
878
+ " \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 ",
879
+ " \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 ",
880
+ " \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 ",
881
+ " \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 "
882
+ ];
883
+ const minWidth = 60;
884
+ const width = Math.max(terminalWidth, minWidth);
885
+ const contentWidth = width - 2;
886
+ const banner2 = [];
887
+ banner2.push("\u2554" + "\u2550".repeat(width - 2) + "\u2557");
888
+ for (const line of asciiArt) {
889
+ const trimmedLine = line.trimEnd();
890
+ const paddingNeeded = contentWidth - trimmedLine.length;
891
+ const leftPad = Math.floor(paddingNeeded / 2);
892
+ const rightPad = paddingNeeded - leftPad;
893
+ banner2.push("\u2551" + " ".repeat(leftPad) + trimmedLine + " ".repeat(rightPad) + "\u2551");
894
+ }
895
+ banner2.push("\u255A" + "\u2550".repeat(width - 2) + "\u255D");
896
+ return banner2;
897
+ };
898
+ const banner = generateBanner();
899
+ 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: "yellow", bold: true }, line))), /* @__PURE__ */ React.createElement(
885
900
  Box,
886
901
  {
887
902
  flexDirection: "column",
@@ -4383,7 +4398,7 @@ async function startDaemon() {
4383
4398
  }
4384
4399
  const args = [
4385
4400
  options.agent || "claude",
4386
- // Use the agent directly (claude, codex, qwen, gemini)
4401
+ // Use the agent directly (claude, codex, qwen, gemini, ccr)
4387
4402
  "--zenflo-starting-mode",
4388
4403
  "remote",
4389
4404
  "--started-by",
@@ -6309,7 +6324,7 @@ async function handleConnectVendor(vendor, displayName) {
6309
6324
  return;
6310
6325
  } else if (subcommand === "codex") {
6311
6326
  try {
6312
- const { runCodex } = await import('./runCodex-B1eaTMGa.mjs');
6327
+ const { runCodex } = await import('./runCodex-CKkFLCe8.mjs');
6313
6328
  let startedBy = void 0;
6314
6329
  for (let i = 1; i < args.length; i++) {
6315
6330
  if (args[i] === "--started-by") {
@@ -6330,7 +6345,7 @@ async function handleConnectVendor(vendor, displayName) {
6330
6345
  return;
6331
6346
  } else if (subcommand === "ccr" || subcommand === "glm") {
6332
6347
  try {
6333
- const { runCCR } = await import('./runCCR-RPbRdVY_.mjs');
6348
+ const { runCCR } = await import('./runCCR-DQq1cOry.mjs');
6334
6349
  let startedBy = void 0;
6335
6350
  for (let i = 1; i < args.length; i++) {
6336
6351
  if (args[i] === "--started-by") {
@@ -6433,13 +6448,13 @@ async function handleConnectVendor(vendor, displayName) {
6433
6448
  let statusModule;
6434
6449
  switch (process.platform) {
6435
6450
  case "darwin":
6436
- statusModule = await import('./status-BjED6LJr.mjs');
6451
+ statusModule = await import('./status-CHKhCKWO.mjs');
6437
6452
  break;
6438
6453
  case "win32":
6439
- statusModule = await import('./status-DxOg5BN3.mjs');
6454
+ statusModule = await import('./status-Df6yuXN8.mjs');
6440
6455
  break;
6441
6456
  case "linux":
6442
- statusModule = await import('./status-CqGqH3Dx.mjs');
6457
+ statusModule = await import('./status-Po2T6tJ6.mjs');
6443
6458
  break;
6444
6459
  default:
6445
6460
  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-D7y6WJRy.cjs');
5
- require('./types-Ce8X5U4N.cjs');
4
+ require('./index-B-_jUY7z.cjs');
5
+ require('./types-D71O4NYi.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-rGUrLBTD.mjs';
3
- import './types-OaGVQOiJ.mjs';
2
+ import './index-C6GNprB6.mjs';
3
+ import './types-DCXqQWGn.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-Ce8X5U4N.cjs');
3
+ var types = require('./types-D71O4NYi.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-OaGVQOiJ.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-DCXqQWGn.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-D7y6WJRy.cjs');
4
- var types = require('./types-Ce8X5U4N.cjs');
3
+ var index = require('./index-B-_jUY7z.cjs');
4
+ var types = require('./types-D71O4NYi.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-rGUrLBTD.mjs';
2
- import { l as logger } from './types-OaGVQOiJ.mjs';
1
+ import { r as runClaude } from './index-C6GNprB6.mjs';
2
+ import { l as logger } from './types-DCXqQWGn.mjs';
3
3
  import { execSync } from 'node:child_process';
4
4
  import 'chalk';
5
5
  import 'node:os';
@@ -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-OaGVQOiJ.mjs';
3
+ import { l as logger, A as ApiClient, b as readSettings, p as projectPath, c as configuration, d as packageJson } from './types-DCXqQWGn.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-rGUrLBTD.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-C6GNprB6.mjs';
11
11
  import os from 'node:os';
12
12
  import { resolve, join } from 'node:path';
13
13
  import fs from 'node:fs';
@@ -2,14 +2,14 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var types = require('./types-Ce8X5U4N.cjs');
5
+ var types = require('./types-D71O4NYi.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-D7y6WJRy.cjs');
12
+ var index = require('./index-B-_jUY7z.cjs');
13
13
  var os = require('node:os');
14
14
  var node_path = require('node:path');
15
15
  var fs = require('node:fs');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var child_process = require('child_process');
4
- var types = require('./types-Ce8X5U4N.cjs');
4
+ var types = require('./types-D71O4NYi.cjs');
5
5
  var chalk = require('chalk');
6
6
  require('axios');
7
7
  require('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-OaGVQOiJ.mjs';
6
+ import { r as readDaemonState } from './types-DCXqQWGn.mjs';
7
7
  import 'axios';
8
8
  import 'node:fs';
9
9
  import 'node:os';
@@ -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-Ce8X5U4N.cjs');
8
+ var types = require('./types-D71O4NYi.cjs');
9
9
  require('axios');
10
10
  require('node:fs');
11
11
  require('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-Ce8X5U4N.cjs');
5
+ var types = require('./types-D71O4NYi.cjs');
6
6
  var os = require('os');
7
7
  var path = require('path');
8
8
  var chalk = require('chalk');
@@ -1,5 +1,5 @@
1
1
  import { execSync } from 'child_process';
2
- import { r as readDaemonState, l as logger } from './types-OaGVQOiJ.mjs';
2
+ import { r as readDaemonState, l as logger } from './types-DCXqQWGn.mjs';
3
3
  import chalk from 'chalk';
4
4
  import 'axios';
5
5
  import 'fs';
@@ -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-OaGVQOiJ.mjs';
3
+ import { r as readDaemonState, l as logger } from './types-DCXqQWGn.mjs';
4
4
  import os from 'os';
5
5
  import path from 'path';
6
6
  import chalk from 'chalk';
@@ -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.12";
45
+ var version = "0.11.14";
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-Ce8X5U4N.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-D71O4NYi.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.12";
24
+ var version = "0.11.14";
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.12",
3
+ "version": "0.11.14",
4
4
  "description": "Mobile and Web client for Claude Code and Codex - ZenFlo edition",
5
5
  "author": "Combined Memory",
6
6
  "license": "MIT",