zenflo 0.12.0 → 0.12.1
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-LeMT1COL.cjs → index-BCav_-KH.cjs} +27 -67
- package/dist/{index-BmkLkj0P.mjs → index-D4H-IoO4.mjs} +25 -65
- 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-DHyrfvNo.mjs → runCCR-BSTeKn4P.mjs} +2 -2
- package/dist/{runCCR-CokU0NUY.cjs → runCCR-CAUBpsGG.cjs} +2 -2
- package/dist/{runCodex-BED95lb3.cjs → runCodex-BhI-aMek.cjs} +3 -3
- package/dist/{runCodex-DU0XMdXX.mjs → runCodex-Bor-iohW.mjs} +3 -3
- package/dist/{status-DcMExT1x.mjs → status-Bh14_wDU.mjs} +1 -1
- package/dist/{status-DgMMF-7E.mjs → status-BpN5JCxI.mjs} +1 -1
- package/dist/{status-DUnHkBDq.cjs → status-ByHnu9oN.cjs} +1 -1
- package/dist/{status-6nX5obxE.cjs → status-DMFI5EdW.cjs} +1 -1
- package/dist/{status-VT6VbsEc.mjs → status-DmbS7OtX.mjs} +1 -1
- package/dist/{status-CES2ft-F.cjs → status-Dz3SVH5d.cjs} +1 -1
- package/dist/{types-Bm-nJvHk.mjs → types-BPoWNAha.mjs} +1 -1
- package/dist/{types-C0K47bQB.cjs → types-DzNSylqA.cjs} +2 -2
- package/package.json +1 -1
|
@@ -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-DzNSylqA.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');
|
|
@@ -1046,7 +1046,7 @@ class AbortError extends Error {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
}
|
|
1048
1048
|
|
|
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-
|
|
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-BCav_-KH.cjs', document.baseURI).href)));
|
|
1050
1050
|
const __dirname$2 = node_path.join(__filename$2, "..");
|
|
1051
1051
|
function getDefaultClaudeCodePath() {
|
|
1052
1052
|
return node_path.join(__dirname$2, "..", "..", "..", "node_modules", "@anthropic-ai", "claude-code", "cli.js");
|
|
@@ -4655,7 +4655,7 @@ async function startDaemon() {
|
|
|
4655
4655
|
}
|
|
4656
4656
|
}
|
|
4657
4657
|
|
|
4658
|
-
async function startZenfloServer(client
|
|
4658
|
+
async function startZenfloServer(client) {
|
|
4659
4659
|
const handler = async (title) => {
|
|
4660
4660
|
types.logger.debug("[zenfloMCP] Changing title to:", title);
|
|
4661
4661
|
try {
|
|
@@ -4672,7 +4672,7 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4672
4672
|
const mcp = new mcp_js.McpServer({
|
|
4673
4673
|
name: "ZenFlo MCP",
|
|
4674
4674
|
version: "1.0.0",
|
|
4675
|
-
description: "ZenFlo CLI MCP server
|
|
4675
|
+
description: "ZenFlo CLI MCP server for chat session title management"
|
|
4676
4676
|
});
|
|
4677
4677
|
mcp.registerTool("change_title", {
|
|
4678
4678
|
description: "Change the title of the current chat session",
|
|
@@ -4705,46 +4705,6 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4705
4705
|
};
|
|
4706
4706
|
}
|
|
4707
4707
|
});
|
|
4708
|
-
mcp.registerTool("send_inbox_message", {
|
|
4709
|
-
description: "Send a message to Quinn's ZenFlo app inbox for cross-session communication",
|
|
4710
|
-
title: "Send Inbox Message",
|
|
4711
|
-
inputSchema: {
|
|
4712
|
-
title: z.z.string().describe('Message title (e.g., "Task completed", "Found a bug")'),
|
|
4713
|
-
message: z.z.string().describe("Message content/details"),
|
|
4714
|
-
sessionId: z.z.string().optional().describe("Optional session ID to link the message to (makes it clickable)"),
|
|
4715
|
-
priority: z.z.enum(["low", "normal", "high"]).optional().describe("Message priority (affects icon and color)")
|
|
4716
|
-
}
|
|
4717
|
-
}, async (args) => {
|
|
4718
|
-
types.logger.debug("[zenfloMCP] Sending inbox message:", args.title);
|
|
4719
|
-
try {
|
|
4720
|
-
await apiClient.sendInboxMessage({
|
|
4721
|
-
title: args.title,
|
|
4722
|
-
message: args.message,
|
|
4723
|
-
sessionId: args.sessionId,
|
|
4724
|
-
priority: args.priority || "normal"
|
|
4725
|
-
});
|
|
4726
|
-
return {
|
|
4727
|
-
content: [
|
|
4728
|
-
{
|
|
4729
|
-
type: "text",
|
|
4730
|
-
text: `Successfully sent inbox message: "${args.title}"`
|
|
4731
|
-
}
|
|
4732
|
-
],
|
|
4733
|
-
isError: false
|
|
4734
|
-
};
|
|
4735
|
-
} catch (error) {
|
|
4736
|
-
types.logger.debug("[zenfloMCP] Error sending inbox message:", error);
|
|
4737
|
-
return {
|
|
4738
|
-
content: [
|
|
4739
|
-
{
|
|
4740
|
-
type: "text",
|
|
4741
|
-
text: `Failed to send inbox message: ${error instanceof Error ? error.message : String(error)}`
|
|
4742
|
-
}
|
|
4743
|
-
],
|
|
4744
|
-
isError: true
|
|
4745
|
-
};
|
|
4746
|
-
}
|
|
4747
|
-
});
|
|
4748
4708
|
const transport = new streamableHttp_js.StreamableHTTPServerTransport({
|
|
4749
4709
|
// NOTE: Returning session id here will result in claude
|
|
4750
4710
|
// sdk spawn to fail with `Invalid Request: Server already initialized`
|
|
@@ -4769,7 +4729,7 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4769
4729
|
});
|
|
4770
4730
|
return {
|
|
4771
4731
|
url: baseUrl.toString(),
|
|
4772
|
-
toolNames: ["change_title"
|
|
4732
|
+
toolNames: ["change_title"],
|
|
4773
4733
|
stop: () => {
|
|
4774
4734
|
types.logger.debug("[zenfloMCP] Stopping server");
|
|
4775
4735
|
mcp.close();
|
|
@@ -4857,7 +4817,7 @@ async function runClaude(credentials, options = {}) {
|
|
|
4857
4817
|
}
|
|
4858
4818
|
});
|
|
4859
4819
|
const session = api.sessionSyncClient(response);
|
|
4860
|
-
const zenfloServer = await startZenfloServer(session
|
|
4820
|
+
const zenfloServer = await startZenfloServer(session);
|
|
4861
4821
|
types.logger.debug(`[START] ZenFlo MCP server started at ${zenfloServer.url}`);
|
|
4862
4822
|
const logPath = types.logger.logFilePath;
|
|
4863
4823
|
types.logger.infoDeveloper(`Session: ${response.id}`);
|
|
@@ -5065,7 +5025,7 @@ async function runClaude(credentials, options = {}) {
|
|
|
5065
5025
|
process.exit(0);
|
|
5066
5026
|
}
|
|
5067
5027
|
|
|
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-
|
|
5028
|
+
const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BCav_-KH.cjs', document.baseURI).href)));
|
|
5069
5029
|
const __dirname$1 = path.dirname(__filename$1);
|
|
5070
5030
|
const PLIST_LABEL$1 = "com.zenflo.daemon";
|
|
5071
5031
|
const LAUNCH_AGENTS_DIR$1 = path.join(os$1.homedir(), "Library", "LaunchAgents");
|
|
@@ -6247,38 +6207,38 @@ async function handleConnectCommand(args) {
|
|
|
6247
6207
|
}
|
|
6248
6208
|
function showConnectHelp() {
|
|
6249
6209
|
console.log(`
|
|
6250
|
-
${chalk.bold("
|
|
6210
|
+
${chalk.bold("zenflo connect")} - Connect AI vendor API keys to ZenFlo cloud
|
|
6251
6211
|
|
|
6252
6212
|
${chalk.bold("Usage:")}
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6213
|
+
zenflo connect codex Store your Codex API key in ZenFlo cloud
|
|
6214
|
+
zenflo connect claude Store your Anthropic API key in ZenFlo cloud
|
|
6215
|
+
zenflo connect gemini Store your Gemini API key in ZenFlo cloud
|
|
6216
|
+
zenflo connect help Show this help message
|
|
6257
6217
|
|
|
6258
6218
|
${chalk.bold("Description:")}
|
|
6259
6219
|
The connect command allows you to securely store your AI vendor API keys
|
|
6260
|
-
in
|
|
6220
|
+
in ZenFlo cloud. This enables you to use these services through ZenFlo
|
|
6261
6221
|
without exposing your API keys locally.
|
|
6262
6222
|
|
|
6263
6223
|
${chalk.bold("Examples:")}
|
|
6264
|
-
|
|
6265
|
-
|
|
6266
|
-
|
|
6224
|
+
zenflo connect codex
|
|
6225
|
+
zenflo connect claude
|
|
6226
|
+
zenflo connect gemini
|
|
6267
6227
|
|
|
6268
6228
|
${chalk.bold("Notes:")}
|
|
6269
|
-
\u2022 You must be authenticated with
|
|
6270
|
-
\u2022 API keys are encrypted and stored securely in
|
|
6229
|
+
\u2022 You must be authenticated with ZenFlo first (run 'zenflo auth login')
|
|
6230
|
+
\u2022 API keys are encrypted and stored securely in ZenFlo cloud
|
|
6271
6231
|
\u2022 You can manage your stored keys at app.zenflo.dev
|
|
6272
6232
|
`);
|
|
6273
6233
|
}
|
|
6274
6234
|
async function handleConnectVendor(vendor, displayName) {
|
|
6275
6235
|
console.log(chalk.bold(`
|
|
6276
|
-
\u{1F50C} Connecting ${displayName} to
|
|
6236
|
+
\u{1F50C} Connecting ${displayName} to ZenFlo cloud
|
|
6277
6237
|
`));
|
|
6278
6238
|
const credentials = await types.readCredentials();
|
|
6279
6239
|
if (!credentials) {
|
|
6280
|
-
console.log(chalk.yellow("\u26A0\uFE0F Not authenticated with
|
|
6281
|
-
console.log(chalk.gray(' Please run "
|
|
6240
|
+
console.log(chalk.yellow("\u26A0\uFE0F Not authenticated with ZenFlo"));
|
|
6241
|
+
console.log(chalk.gray(' Please run "zenflo auth login" first'));
|
|
6282
6242
|
process.exit(1);
|
|
6283
6243
|
}
|
|
6284
6244
|
const api = await types.ApiClient.create(credentials);
|
|
@@ -6346,7 +6306,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6346
6306
|
return;
|
|
6347
6307
|
} else if (subcommand === "codex") {
|
|
6348
6308
|
try {
|
|
6349
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-
|
|
6309
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-BhI-aMek.cjs'); });
|
|
6350
6310
|
let startedBy = void 0;
|
|
6351
6311
|
for (let i = 1; i < args.length; i++) {
|
|
6352
6312
|
if (args[i] === "--started-by") {
|
|
@@ -6367,7 +6327,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6367
6327
|
return;
|
|
6368
6328
|
} else if (subcommand === "ccr" || subcommand === "glm") {
|
|
6369
6329
|
try {
|
|
6370
|
-
const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-
|
|
6330
|
+
const { runCCR } = await Promise.resolve().then(function () { return require('./runCCR-CAUBpsGG.cjs'); });
|
|
6371
6331
|
let startedBy = void 0;
|
|
6372
6332
|
for (let i = 1; i < args.length; i++) {
|
|
6373
6333
|
if (args[i] === "--started-by") {
|
|
@@ -6470,13 +6430,13 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6470
6430
|
let statusModule;
|
|
6471
6431
|
switch (process.platform) {
|
|
6472
6432
|
case "darwin":
|
|
6473
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6433
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-DMFI5EdW.cjs'); });
|
|
6474
6434
|
break;
|
|
6475
6435
|
case "win32":
|
|
6476
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6436
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-ByHnu9oN.cjs'); });
|
|
6477
6437
|
break;
|
|
6478
6438
|
case "linux":
|
|
6479
|
-
statusModule = await Promise.resolve().then(function () { return require('./status-
|
|
6439
|
+
statusModule = await Promise.resolve().then(function () { return require('./status-Dz3SVH5d.cjs'); });
|
|
6480
6440
|
break;
|
|
6481
6441
|
default:
|
|
6482
6442
|
console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
|
|
@@ -6563,7 +6523,7 @@ ${chalk.bold("To clean up runaway processes:")} Use ${chalk.cyan("zenflo doctor
|
|
|
6563
6523
|
}
|
|
6564
6524
|
if (showHelp) {
|
|
6565
6525
|
console.log(`
|
|
6566
|
-
${chalk.bold("zenflo")} - Claude Code
|
|
6526
|
+
${chalk.bold("zenflo")} - Claude Code with ZenFlo
|
|
6567
6527
|
|
|
6568
6528
|
${chalk.bold("Usage:")}
|
|
6569
6529
|
zenflo [options] Start Claude with mobile control
|
|
@@ -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-BPoWNAha.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';
|
|
@@ -4633,7 +4633,7 @@ async function startDaemon() {
|
|
|
4633
4633
|
}
|
|
4634
4634
|
}
|
|
4635
4635
|
|
|
4636
|
-
async function startZenfloServer(client
|
|
4636
|
+
async function startZenfloServer(client) {
|
|
4637
4637
|
const handler = async (title) => {
|
|
4638
4638
|
logger.debug("[zenfloMCP] Changing title to:", title);
|
|
4639
4639
|
try {
|
|
@@ -4650,7 +4650,7 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4650
4650
|
const mcp = new McpServer({
|
|
4651
4651
|
name: "ZenFlo MCP",
|
|
4652
4652
|
version: "1.0.0",
|
|
4653
|
-
description: "ZenFlo CLI MCP server
|
|
4653
|
+
description: "ZenFlo CLI MCP server for chat session title management"
|
|
4654
4654
|
});
|
|
4655
4655
|
mcp.registerTool("change_title", {
|
|
4656
4656
|
description: "Change the title of the current chat session",
|
|
@@ -4683,46 +4683,6 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4683
4683
|
};
|
|
4684
4684
|
}
|
|
4685
4685
|
});
|
|
4686
|
-
mcp.registerTool("send_inbox_message", {
|
|
4687
|
-
description: "Send a message to Quinn's ZenFlo app inbox for cross-session communication",
|
|
4688
|
-
title: "Send Inbox Message",
|
|
4689
|
-
inputSchema: {
|
|
4690
|
-
title: z.string().describe('Message title (e.g., "Task completed", "Found a bug")'),
|
|
4691
|
-
message: z.string().describe("Message content/details"),
|
|
4692
|
-
sessionId: z.string().optional().describe("Optional session ID to link the message to (makes it clickable)"),
|
|
4693
|
-
priority: z.enum(["low", "normal", "high"]).optional().describe("Message priority (affects icon and color)")
|
|
4694
|
-
}
|
|
4695
|
-
}, async (args) => {
|
|
4696
|
-
logger.debug("[zenfloMCP] Sending inbox message:", args.title);
|
|
4697
|
-
try {
|
|
4698
|
-
await apiClient.sendInboxMessage({
|
|
4699
|
-
title: args.title,
|
|
4700
|
-
message: args.message,
|
|
4701
|
-
sessionId: args.sessionId,
|
|
4702
|
-
priority: args.priority || "normal"
|
|
4703
|
-
});
|
|
4704
|
-
return {
|
|
4705
|
-
content: [
|
|
4706
|
-
{
|
|
4707
|
-
type: "text",
|
|
4708
|
-
text: `Successfully sent inbox message: "${args.title}"`
|
|
4709
|
-
}
|
|
4710
|
-
],
|
|
4711
|
-
isError: false
|
|
4712
|
-
};
|
|
4713
|
-
} catch (error) {
|
|
4714
|
-
logger.debug("[zenfloMCP] Error sending inbox message:", error);
|
|
4715
|
-
return {
|
|
4716
|
-
content: [
|
|
4717
|
-
{
|
|
4718
|
-
type: "text",
|
|
4719
|
-
text: `Failed to send inbox message: ${error instanceof Error ? error.message : String(error)}`
|
|
4720
|
-
}
|
|
4721
|
-
],
|
|
4722
|
-
isError: true
|
|
4723
|
-
};
|
|
4724
|
-
}
|
|
4725
|
-
});
|
|
4726
4686
|
const transport = new StreamableHTTPServerTransport({
|
|
4727
4687
|
// NOTE: Returning session id here will result in claude
|
|
4728
4688
|
// sdk spawn to fail with `Invalid Request: Server already initialized`
|
|
@@ -4747,7 +4707,7 @@ async function startZenfloServer(client, apiClient) {
|
|
|
4747
4707
|
});
|
|
4748
4708
|
return {
|
|
4749
4709
|
url: baseUrl.toString(),
|
|
4750
|
-
toolNames: ["change_title"
|
|
4710
|
+
toolNames: ["change_title"],
|
|
4751
4711
|
stop: () => {
|
|
4752
4712
|
logger.debug("[zenfloMCP] Stopping server");
|
|
4753
4713
|
mcp.close();
|
|
@@ -4835,7 +4795,7 @@ async function runClaude(credentials, options = {}) {
|
|
|
4835
4795
|
}
|
|
4836
4796
|
});
|
|
4837
4797
|
const session = api.sessionSyncClient(response);
|
|
4838
|
-
const zenfloServer = await startZenfloServer(session
|
|
4798
|
+
const zenfloServer = await startZenfloServer(session);
|
|
4839
4799
|
logger.debug(`[START] ZenFlo MCP server started at ${zenfloServer.url}`);
|
|
4840
4800
|
const logPath = logger.logFilePath;
|
|
4841
4801
|
logger.infoDeveloper(`Session: ${response.id}`);
|
|
@@ -6225,38 +6185,38 @@ async function handleConnectCommand(args) {
|
|
|
6225
6185
|
}
|
|
6226
6186
|
function showConnectHelp() {
|
|
6227
6187
|
console.log(`
|
|
6228
|
-
${chalk.bold("
|
|
6188
|
+
${chalk.bold("zenflo connect")} - Connect AI vendor API keys to ZenFlo cloud
|
|
6229
6189
|
|
|
6230
6190
|
${chalk.bold("Usage:")}
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6191
|
+
zenflo connect codex Store your Codex API key in ZenFlo cloud
|
|
6192
|
+
zenflo connect claude Store your Anthropic API key in ZenFlo cloud
|
|
6193
|
+
zenflo connect gemini Store your Gemini API key in ZenFlo cloud
|
|
6194
|
+
zenflo connect help Show this help message
|
|
6235
6195
|
|
|
6236
6196
|
${chalk.bold("Description:")}
|
|
6237
6197
|
The connect command allows you to securely store your AI vendor API keys
|
|
6238
|
-
in
|
|
6198
|
+
in ZenFlo cloud. This enables you to use these services through ZenFlo
|
|
6239
6199
|
without exposing your API keys locally.
|
|
6240
6200
|
|
|
6241
6201
|
${chalk.bold("Examples:")}
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6202
|
+
zenflo connect codex
|
|
6203
|
+
zenflo connect claude
|
|
6204
|
+
zenflo connect gemini
|
|
6245
6205
|
|
|
6246
6206
|
${chalk.bold("Notes:")}
|
|
6247
|
-
\u2022 You must be authenticated with
|
|
6248
|
-
\u2022 API keys are encrypted and stored securely in
|
|
6207
|
+
\u2022 You must be authenticated with ZenFlo first (run 'zenflo auth login')
|
|
6208
|
+
\u2022 API keys are encrypted and stored securely in ZenFlo cloud
|
|
6249
6209
|
\u2022 You can manage your stored keys at app.zenflo.dev
|
|
6250
6210
|
`);
|
|
6251
6211
|
}
|
|
6252
6212
|
async function handleConnectVendor(vendor, displayName) {
|
|
6253
6213
|
console.log(chalk.bold(`
|
|
6254
|
-
\u{1F50C} Connecting ${displayName} to
|
|
6214
|
+
\u{1F50C} Connecting ${displayName} to ZenFlo cloud
|
|
6255
6215
|
`));
|
|
6256
6216
|
const credentials = await readCredentials();
|
|
6257
6217
|
if (!credentials) {
|
|
6258
|
-
console.log(chalk.yellow("\u26A0\uFE0F Not authenticated with
|
|
6259
|
-
console.log(chalk.gray(' Please run "
|
|
6218
|
+
console.log(chalk.yellow("\u26A0\uFE0F Not authenticated with ZenFlo"));
|
|
6219
|
+
console.log(chalk.gray(' Please run "zenflo auth login" first'));
|
|
6260
6220
|
process.exit(1);
|
|
6261
6221
|
}
|
|
6262
6222
|
const api = await ApiClient.create(credentials);
|
|
@@ -6324,7 +6284,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6324
6284
|
return;
|
|
6325
6285
|
} else if (subcommand === "codex") {
|
|
6326
6286
|
try {
|
|
6327
|
-
const { runCodex } = await import('./runCodex-
|
|
6287
|
+
const { runCodex } = await import('./runCodex-Bor-iohW.mjs');
|
|
6328
6288
|
let startedBy = void 0;
|
|
6329
6289
|
for (let i = 1; i < args.length; i++) {
|
|
6330
6290
|
if (args[i] === "--started-by") {
|
|
@@ -6345,7 +6305,7 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6345
6305
|
return;
|
|
6346
6306
|
} else if (subcommand === "ccr" || subcommand === "glm") {
|
|
6347
6307
|
try {
|
|
6348
|
-
const { runCCR } = await import('./runCCR-
|
|
6308
|
+
const { runCCR } = await import('./runCCR-BSTeKn4P.mjs');
|
|
6349
6309
|
let startedBy = void 0;
|
|
6350
6310
|
for (let i = 1; i < args.length; i++) {
|
|
6351
6311
|
if (args[i] === "--started-by") {
|
|
@@ -6448,13 +6408,13 @@ async function handleConnectVendor(vendor, displayName) {
|
|
|
6448
6408
|
let statusModule;
|
|
6449
6409
|
switch (process.platform) {
|
|
6450
6410
|
case "darwin":
|
|
6451
|
-
statusModule = await import('./status-
|
|
6411
|
+
statusModule = await import('./status-DmbS7OtX.mjs');
|
|
6452
6412
|
break;
|
|
6453
6413
|
case "win32":
|
|
6454
|
-
statusModule = await import('./status-
|
|
6414
|
+
statusModule = await import('./status-Bh14_wDU.mjs');
|
|
6455
6415
|
break;
|
|
6456
6416
|
case "linux":
|
|
6457
|
-
statusModule = await import('./status-
|
|
6417
|
+
statusModule = await import('./status-BpN5JCxI.mjs');
|
|
6458
6418
|
break;
|
|
6459
6419
|
default:
|
|
6460
6420
|
console.error(chalk.red(`Status command not supported on platform: ${process.platform}`));
|
|
@@ -6541,7 +6501,7 @@ ${chalk.bold("To clean up runaway processes:")} Use ${chalk.cyan("zenflo doctor
|
|
|
6541
6501
|
}
|
|
6542
6502
|
if (showHelp) {
|
|
6543
6503
|
console.log(`
|
|
6544
|
-
${chalk.bold("zenflo")} - Claude Code
|
|
6504
|
+
${chalk.bold("zenflo")} - Claude Code with ZenFlo
|
|
6545
6505
|
|
|
6546
6506
|
${chalk.bold("Usage:")}
|
|
6547
6507
|
zenflo [options] Start Claude with mobile control
|
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-BPoWNAha.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-D4H-IoO4.mjs';
|
|
2
|
+
import { l as logger } from './types-BPoWNAha.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-BCav_-KH.cjs');
|
|
4
|
+
var types = require('./types-DzNSylqA.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-DzNSylqA.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-BCav_-KH.cjs');
|
|
13
13
|
var os = require('node:os');
|
|
14
14
|
var node_path = require('node:path');
|
|
15
15
|
var fs = require('node:fs');
|
|
@@ -1124,7 +1124,7 @@ async function runCodex(opts) {
|
|
|
1124
1124
|
}
|
|
1125
1125
|
}
|
|
1126
1126
|
});
|
|
1127
|
-
const zenfloServer = await index.startZenfloServer(session
|
|
1127
|
+
const zenfloServer = await index.startZenfloServer(session);
|
|
1128
1128
|
const bridgeCommand = node_path.join(types.projectPath(), "bin", "zenflo-mcp.mjs");
|
|
1129
1129
|
const zenModeConfig = {
|
|
1130
1130
|
command: "node",
|
|
@@ -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-BPoWNAha.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-D4H-IoO4.mjs';
|
|
11
11
|
import os from 'node:os';
|
|
12
12
|
import { resolve, join } from 'node:path';
|
|
13
13
|
import fs from 'node:fs';
|
|
@@ -1122,7 +1122,7 @@ async function runCodex(opts) {
|
|
|
1122
1122
|
}
|
|
1123
1123
|
}
|
|
1124
1124
|
});
|
|
1125
|
-
const zenfloServer = await startZenfloServer(session
|
|
1125
|
+
const zenfloServer = await startZenfloServer(session);
|
|
1126
1126
|
const bridgeCommand = join(projectPath(), "bin", "zenflo-mcp.mjs");
|
|
1127
1127
|
const zenModeConfig = {
|
|
1128
1128
|
command: "node",
|
|
@@ -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-BPoWNAha.mjs';
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import chalk from '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-
|
|
8
|
+
var types = require('./types-DzNSylqA.cjs');
|
|
9
9
|
require('axios');
|
|
10
10
|
require('node:fs');
|
|
11
11
|
require('node:os');
|
|
@@ -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-BPoWNAha.mjs';
|
|
7
7
|
import 'axios';
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:os';
|
|
@@ -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.12.
|
|
24
|
+
var version = "0.12.1";
|
|
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";
|
|
@@ -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.12.
|
|
45
|
+
var version = "0.12.1";
|
|
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";
|
|
@@ -1028,7 +1028,7 @@ class RpcHandlerManager {
|
|
|
1028
1028
|
}
|
|
1029
1029
|
}
|
|
1030
1030
|
|
|
1031
|
-
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-
|
|
1031
|
+
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-DzNSylqA.cjs', document.baseURI).href))));
|
|
1032
1032
|
function projectPath() {
|
|
1033
1033
|
const path$1 = path.resolve(__dirname$1, "..");
|
|
1034
1034
|
return path$1;
|