zenflo 0.11.9 → 0.11.11
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.
- package/dist/{index-CE4K-X3c.mjs → index-RuRkhdHV.mjs} +36 -19
- package/dist/{index-GoBFTs9u.cjs → index-lz0pc3Nu.cjs} +38 -21
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.mjs +1 -1
- package/dist/{runCCR-C4iiYV_d.mjs → runCCR-f9YrjVcg.mjs} +2 -2
- package/dist/{runCCR-CbB0wPJ6.cjs → runCCR-yI2Usk3n.cjs} +2 -2
- package/dist/{runCodex-DaGqRdiG.cjs → runCodex--Rj5Rs7p.cjs} +2 -2
- package/dist/{runCodex-DqKH9UFw.mjs → runCodex-BvhkEb4_.mjs} +2 -2
- package/dist/{status-DVIDR-sx.mjs → status-B9hPQJQP.mjs} +1 -1
- package/dist/{status-CXjOWgh0.cjs → status-BuTzMjvY.cjs} +1 -1
- package/dist/{status-Crjj5AbA.mjs → status-Cqt7wcT3.mjs} +1 -1
- package/dist/{status-BmogoZjk.mjs → status-DD8iaL7J.mjs} +1 -1
- package/dist/{status-BB4epZ_d.cjs → status-DQSBN3Po.cjs} +1 -1
- package/dist/{status-QtPjWqoQ.cjs → status-XEH_XIYa.cjs} +1 -1
- package/dist/{types-BNjAQcO4.cjs → types-CDeFDKvi.cjs} +2 -2
- package/dist/{types-CTT5Uja5.mjs → types-Dbv8Jp0p.mjs} +1 -1
- package/package.json +1 -1
|
@@ -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-
|
|
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-Dbv8Jp0p.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 "
|
|
847
|
+
return "magentaBright";
|
|
848
848
|
case "assistant":
|
|
849
|
-
return "
|
|
849
|
+
return "cyanBright";
|
|
850
850
|
case "system":
|
|
851
|
-
return "
|
|
851
|
+
return "blueBright";
|
|
852
852
|
case "tool":
|
|
853
|
-
return "
|
|
853
|
+
return "yellowBright";
|
|
854
854
|
case "result":
|
|
855
|
-
return "
|
|
855
|
+
return "greenBright";
|
|
856
856
|
case "status":
|
|
857
857
|
return "gray";
|
|
858
858
|
default:
|
|
@@ -871,19 +871,36 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
|
|
|
871
871
|
return chunks.join("\n");
|
|
872
872
|
}).join("\n");
|
|
873
873
|
};
|
|
874
|
-
|
|
874
|
+
const banner = terminalWidth < 80 || terminalHeight < 24 ? [
|
|
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\u2557",
|
|
876
|
+
"\u2551 \u2580\u2580\u2588 \u2588\u2580\u2580 \u2588\u2580\u2588 \u2588\u2580\u2580 \u2588 \u2584\u2580\u2584 Remote Mode \u2551",
|
|
877
|
+
"\u2551 \u2588 \u2588\u2580\u2580 \u2588 \u2588 \u2588\u2580\u2580 \u2588 \u2588 \u2588 \u2551",
|
|
878
|
+
"\u2551 \u2580\u2580\u2580 \u2580\u2580\u2580 \u2580 \u2580 \u2580 \u2580\u2580\u2580 \u2580\u2580\u2580 \u2551",
|
|
879
|
+
"\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\u255D"
|
|
880
|
+
] : [
|
|
881
|
+
"\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",
|
|
882
|
+
"\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",
|
|
883
|
+
"\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",
|
|
884
|
+
"\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",
|
|
885
|
+
"\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",
|
|
886
|
+
"\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",
|
|
887
|
+
"\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",
|
|
888
|
+
"\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"
|
|
889
|
+
];
|
|
890
|
+
const bannerHeight = banner.length;
|
|
891
|
+
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, banner.map((line, i) => /* @__PURE__ */ React.createElement(Text, { key: i, color: "cyan", bold: true }, line))), /* @__PURE__ */ React.createElement(
|
|
875
892
|
Box,
|
|
876
893
|
{
|
|
877
894
|
flexDirection: "column",
|
|
878
895
|
width: terminalWidth,
|
|
879
|
-
height: terminalHeight -
|
|
896
|
+
height: terminalHeight - bannerHeight - 6,
|
|
880
897
|
borderStyle: "round",
|
|
881
|
-
borderColor: "
|
|
898
|
+
borderColor: "magenta",
|
|
882
899
|
paddingX: 1,
|
|
883
900
|
overflow: "hidden"
|
|
884
901
|
},
|
|
885
|
-
/* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, { color: "
|
|
886
|
-
/* @__PURE__ */ React.createElement(Box, { flexDirection: "column", height: terminalHeight -
|
|
902
|
+
/* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, { color: "magenta", bold: true }, "\u{1F4E1} Live Session"), /* @__PURE__ */ React.createElement(Text, { color: "magenta", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
|
|
903
|
+
/* @__PURE__ */ React.createElement(Box, { flexDirection: "column", height: terminalHeight - bannerHeight - 12, overflow: "hidden" }, messages.length === 0 ? /* @__PURE__ */ React.createElement(Text, { color: "gray", dimColor: true }, "Waiting for messages...") : (
|
|
887
904
|
// Show only the last messages that fit in the available space
|
|
888
905
|
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))))
|
|
889
906
|
))
|
|
@@ -891,14 +908,14 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
|
|
|
891
908
|
Box,
|
|
892
909
|
{
|
|
893
910
|
width: terminalWidth,
|
|
894
|
-
borderStyle: "
|
|
895
|
-
borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "
|
|
911
|
+
borderStyle: "double",
|
|
912
|
+
borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "cyan",
|
|
896
913
|
paddingX: 2,
|
|
897
914
|
justifyContent: "center",
|
|
898
915
|
alignItems: "center",
|
|
899
916
|
flexDirection: "column"
|
|
900
917
|
},
|
|
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: "
|
|
918
|
+
/* @__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
919
|
));
|
|
903
920
|
};
|
|
904
921
|
|
|
@@ -6299,7 +6316,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6299
6316
|
return;
|
|
6300
6317
|
} else if (subcommand === "codex") {
|
|
6301
6318
|
try {
|
|
6302
|
-
const { runCodex } = await import('./runCodex-
|
|
6319
|
+
const { runCodex } = await import('./runCodex-BvhkEb4_.mjs');
|
|
6303
6320
|
let startedBy = void 0;
|
|
6304
6321
|
for (let i = 1; i < args.length; i++) {
|
|
6305
6322
|
if (args[i] === "--started-by") {
|
|
@@ -6320,7 +6337,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6320
6337
|
return;
|
|
6321
6338
|
} else if (subcommand === "ccr" || subcommand === "glm") {
|
|
6322
6339
|
try {
|
|
6323
|
-
const { runCCR } = await import('./runCCR-
|
|
6340
|
+
const { runCCR } = await import('./runCCR-f9YrjVcg.mjs');
|
|
6324
6341
|
let startedBy = void 0;
|
|
6325
6342
|
for (let i = 1; i < args.length; i++) {
|
|
6326
6343
|
if (args[i] === "--started-by") {
|
|
@@ -6423,13 +6440,13 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6423
6440
|
let statusModule;
|
|
6424
6441
|
switch (process.platform) {
|
|
6425
6442
|
case "darwin":
|
|
6426
|
-
statusModule = await import('./status-
|
|
6443
|
+
statusModule = await import('./status-DD8iaL7J.mjs');
|
|
6427
6444
|
break;
|
|
6428
6445
|
case "win32":
|
|
6429
|
-
statusModule = await import('./status-
|
|
6446
|
+
statusModule = await import('./status-Cqt7wcT3.mjs');
|
|
6430
6447
|
break;
|
|
6431
6448
|
case "linux":
|
|
6432
|
-
statusModule = await import('./status-
|
|
6449
|
+
statusModule = await import('./status-B9hPQJQP.mjs');
|
|
6433
6450
|
break;
|
|
6434
6451
|
default:
|
|
6435
6452
|
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-
|
|
6
|
+
var types = require('./types-CDeFDKvi.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 "
|
|
869
|
+
return "magentaBright";
|
|
870
870
|
case "assistant":
|
|
871
|
-
return "
|
|
871
|
+
return "cyanBright";
|
|
872
872
|
case "system":
|
|
873
|
-
return "
|
|
873
|
+
return "blueBright";
|
|
874
874
|
case "tool":
|
|
875
|
-
return "
|
|
875
|
+
return "yellowBright";
|
|
876
876
|
case "result":
|
|
877
|
-
return "
|
|
877
|
+
return "greenBright";
|
|
878
878
|
case "status":
|
|
879
879
|
return "gray";
|
|
880
880
|
default:
|
|
@@ -893,19 +893,36 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
|
|
|
893
893
|
return chunks.join("\n");
|
|
894
894
|
}).join("\n");
|
|
895
895
|
};
|
|
896
|
-
|
|
896
|
+
const banner = terminalWidth < 80 || terminalHeight < 24 ? [
|
|
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\u2557",
|
|
898
|
+
"\u2551 \u2580\u2580\u2588 \u2588\u2580\u2580 \u2588\u2580\u2588 \u2588\u2580\u2580 \u2588 \u2584\u2580\u2584 Remote Mode \u2551",
|
|
899
|
+
"\u2551 \u2588 \u2588\u2580\u2580 \u2588 \u2588 \u2588\u2580\u2580 \u2588 \u2588 \u2588 \u2551",
|
|
900
|
+
"\u2551 \u2580\u2580\u2580 \u2580\u2580\u2580 \u2580 \u2580 \u2580 \u2580\u2580\u2580 \u2580\u2580\u2580 \u2551",
|
|
901
|
+
"\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\u255D"
|
|
902
|
+
] : [
|
|
903
|
+
"\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",
|
|
904
|
+
"\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",
|
|
905
|
+
"\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",
|
|
906
|
+
"\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",
|
|
907
|
+
"\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",
|
|
908
|
+
"\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",
|
|
909
|
+
"\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",
|
|
910
|
+
"\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"
|
|
911
|
+
];
|
|
912
|
+
const bannerHeight = banner.length;
|
|
913
|
+
return /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", width: terminalWidth, height: terminalHeight }, /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column" }, banner.map((line, i) => /* @__PURE__ */ React.createElement(ink.Text, { key: i, color: "cyan", bold: true }, line))), /* @__PURE__ */ React.createElement(
|
|
897
914
|
ink.Box,
|
|
898
915
|
{
|
|
899
916
|
flexDirection: "column",
|
|
900
917
|
width: terminalWidth,
|
|
901
|
-
height: terminalHeight -
|
|
918
|
+
height: terminalHeight - bannerHeight - 6,
|
|
902
919
|
borderStyle: "round",
|
|
903
|
-
borderColor: "
|
|
920
|
+
borderColor: "magenta",
|
|
904
921
|
paddingX: 1,
|
|
905
922
|
overflow: "hidden"
|
|
906
923
|
},
|
|
907
|
-
/* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { color: "
|
|
908
|
-
/* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", height: terminalHeight -
|
|
924
|
+
/* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { color: "magenta", bold: true }, "\u{1F4E1} Live Session"), /* @__PURE__ */ React.createElement(ink.Text, { color: "magenta", dimColor: true }, "\u2500".repeat(Math.min(terminalWidth - 4, 60)))),
|
|
925
|
+
/* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", height: terminalHeight - bannerHeight - 12, overflow: "hidden" }, messages.length === 0 ? /* @__PURE__ */ React.createElement(ink.Text, { color: "gray", dimColor: true }, "Waiting for messages...") : (
|
|
909
926
|
// Show only the last messages that fit in the available space
|
|
910
927
|
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))))
|
|
911
928
|
))
|
|
@@ -913,14 +930,14 @@ const RemoteModeDisplay = ({ messageBuffer, logPath, onExit, onSwitchToLocal })
|
|
|
913
930
|
ink.Box,
|
|
914
931
|
{
|
|
915
932
|
width: terminalWidth,
|
|
916
|
-
borderStyle: "
|
|
917
|
-
borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "
|
|
933
|
+
borderStyle: "double",
|
|
934
|
+
borderColor: actionInProgress ? "gray" : confirmationMode === "exit" ? "red" : confirmationMode === "switch" ? "yellow" : "cyan",
|
|
918
935
|
paddingX: 2,
|
|
919
936
|
justifyContent: "center",
|
|
920
937
|
alignItems: "center",
|
|
921
938
|
flexDirection: "column"
|
|
922
939
|
},
|
|
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: "
|
|
940
|
+
/* @__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
941
|
));
|
|
925
942
|
};
|
|
926
943
|
|
|
@@ -1021,7 +1038,7 @@ class AbortError extends Error {
|
|
|
1021
1038
|
}
|
|
1022
1039
|
}
|
|
1023
1040
|
|
|
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-
|
|
1041
|
+
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-lz0pc3Nu.cjs', document.baseURI).href)));
|
|
1025
1042
|
const __dirname$2 = node_path.join(__filename$2, "..");
|
|
1026
1043
|
function getDefaultClaudeCodePath() {
|
|
1027
1044
|
return node_path.join(__dirname$2, "..", "..", "..", "node_modules", "@anthropic-ai", "claude-code", "cli.js");
|
|
@@ -5040,7 +5057,7 @@ async function runClaude(credentials, options = {}) {
|
|
|
5040
5057
|
process.exit(0);
|
|
5041
5058
|
}
|
|
5042
5059
|
|
|
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-
|
|
5060
|
+
const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-lz0pc3Nu.cjs', document.baseURI).href)));
|
|
5044
5061
|
const __dirname$1 = path.dirname(__filename$1);
|
|
5045
5062
|
const PLIST_LABEL$1 = "com.zenflo.daemon";
|
|
5046
5063
|
const LAUNCH_AGENTS_DIR$1 = path.join(os$1.homedir(), "Library", "LaunchAgents");
|
|
@@ -6321,7 +6338,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6321
6338
|
return;
|
|
6322
6339
|
} else if (subcommand === "codex") {
|
|
6323
6340
|
try {
|
|
6324
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex
|
|
6341
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex--Rj5Rs7p.cjs'); });
|
|
6325
6342
|
let startedBy = void 0;
|
|
6326
6343
|
for (let i = 1; i < args.length; i++) {
|
|
6327
6344
|
if (args[i] === "--started-by") {
|
|
@@ -6342,7 +6359,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6342
6359
|
return;
|
|
6343
6360
|
} else if (subcommand === "ccr" || subcommand === "glm") {
|
|
6344
6361
|
try {
|
|
6345
|
-
const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-
|
|
6362
|
+
const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-yI2Usk3n.cjs'); });
|
|
6346
6363
|
let startedBy = void 0;
|
|
6347
6364
|
for (let i = 1; i < args.length; i++) {
|
|
6348
6365
|
if (args[i] === "--started-by") {
|
|
@@ -6445,13 +6462,13 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6445
6462
|
let statusModule;
|
|
6446
6463
|
switch (process.platform) {
|
|
6447
6464
|
case "darwin":
|
|
6448
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6465
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-XEH_XIYa.cjs'); });
|
|
6449
6466
|
break;
|
|
6450
6467
|
case "win32":
|
|
6451
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6468
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-BuTzMjvY.cjs'); });
|
|
6452
6469
|
break;
|
|
6453
6470
|
case "linux":
|
|
6454
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6471
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-DQSBN3Po.cjs'); });
|
|
6455
6472
|
break;
|
|
6456
6473
|
default:
|
|
6457
6474
|
console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
package/dist/lib.cjs
CHANGED
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-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-Dbv8Jp0p.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'chalk';
|
|
4
4
|
import 'fs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as runClaude } from './index-
|
|
2
|
-
import { l as logger } from './types-
|
|
1
|
+
import { r as runClaude } from './index-RuRkhdHV.mjs';
|
|
2
|
+
import { l as logger } from './types-Dbv8Jp0p.mjs';
|
|
3
3
|
import { execSync } from 'node:child_process';
|
|
4
4
|
import 'chalk';
|
|
5
5
|
import 'node:os';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var types = require('./types-
|
|
3
|
+
var index = require('./index-lz0pc3Nu.cjs');
|
|
4
|
+
var types = require('./types-CDeFDKvi.cjs');
|
|
5
5
|
var node_child_process = require('node:child_process');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('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-
|
|
5
|
+
var types = require('./types-CDeFDKvi.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-
|
|
12
|
+
var index = require('./index-lz0pc3Nu.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-
|
|
3
|
+
import { l as logger, A as ApiClient, b as readSettings, p as projectPath, c as configuration, d as packageJson } from './types-Dbv8Jp0p.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-
|
|
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-RuRkhdHV.mjs';
|
|
11
11
|
import os from 'node:os';
|
|
12
12
|
import { resolve, join } from 'node:path';
|
|
13
13
|
import fs from 'node: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-
|
|
3
|
+
import { r as readDaemonState, l as logger } from './types-Dbv8Jp0p.mjs';
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import chalk from 'chalk';
|
|
@@ -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-
|
|
6
|
+
import { r as readDaemonState } from './types-Dbv8Jp0p.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-
|
|
8
|
+
var types = require('./types-CDeFDKvi.cjs');
|
|
9
9
|
require('axios');
|
|
10
10
|
require('node:fs');
|
|
11
11
|
require('node:os');
|
|
@@ -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.
|
|
45
|
+
var version = "0.11.11";
|
|
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-
|
|
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-CDeFDKvi.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.
|
|
24
|
+
var version = "0.11.11";
|
|
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";
|