happy-imou-cloud 2.0.11 → 2.0.12

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.
Files changed (25) hide show
  1. package/dist/{BaseReasoningProcessor-COrRWyn0.cjs → BaseReasoningProcessor-BrKUKAOr.cjs} +3 -3
  2. package/dist/{BaseReasoningProcessor-5ACv9gKu.mjs → BaseReasoningProcessor-DrHf5B98.mjs} +3 -3
  3. package/dist/{ProviderSelectionHandler-DBGobhGZ.cjs → ProviderSelectionHandler-BCDvmifJ.cjs} +2 -2
  4. package/dist/{ProviderSelectionHandler-BljOLMQn.mjs → ProviderSelectionHandler-BuZarTDc.mjs} +2 -2
  5. package/dist/{api-Ye-rPX6s.cjs → api-B4g8VLUn.cjs} +2 -2
  6. package/dist/{api-BcWf5v4i.mjs → api-BxXBKBUy.mjs} +2 -2
  7. package/dist/{command-nOI80Mnm.mjs → command-CHiLfBa4.mjs} +3 -3
  8. package/dist/{command-BK93nizl.cjs → command-DVt_YmE6.cjs} +3 -3
  9. package/dist/{index-J7QKJ8lc.cjs → index-CWom7mSf.cjs} +54 -22
  10. package/dist/{index-DnsqY6I_.mjs → index-DaAkW0VN.mjs} +52 -20
  11. package/dist/index.cjs +3 -3
  12. package/dist/index.mjs +3 -3
  13. package/dist/lib.cjs +1 -1
  14. package/dist/lib.mjs +1 -1
  15. package/dist/{persistence-BMa6cyw9.mjs → persistence-8pNEvzaq.mjs} +1 -1
  16. package/dist/{persistence-xK5CKhbn.cjs → persistence-DScOANDE.cjs} +1 -1
  17. package/dist/{registerKillSessionHandler-Dxwg4L4J.mjs → registerKillSessionHandler-CNNguWyD.mjs} +3 -3
  18. package/dist/{registerKillSessionHandler-CH6yN0eG.cjs → registerKillSessionHandler-Dr1inhTc.cjs} +3 -3
  19. package/dist/{runClaude-cQ-UT0Ke.mjs → runClaude-BcvOkIwh.mjs} +5 -5
  20. package/dist/{runClaude-BMHlBny_.cjs → runClaude-h-8llTrI.cjs} +6 -6
  21. package/dist/{runCodex-roOSOWWL.cjs → runCodex-CA58KUHf.cjs} +6 -6
  22. package/dist/{runCodex-AnJUPIhX.mjs → runCodex-ClJUgipy.mjs} +6 -6
  23. package/dist/{runGemini-Cg6Zbqlz.cjs → runGemini-IFHhFMSU.cjs} +5 -5
  24. package/dist/{runGemini-BGo_0mzA.mjs → runGemini-dAr7Gcn8.mjs} +5 -5
  25. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-J7QKJ8lc.cjs');
4
- var api = require('./api-Ye-rPX6s.cjs');
5
- var registerKillSessionHandler = require('./registerKillSessionHandler-CH6yN0eG.cjs');
3
+ var index = require('./index-CWom7mSf.cjs');
4
+ var api = require('./api-B4g8VLUn.cjs');
5
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Dr1inhTc.cjs');
6
6
  var node_events = require('node:events');
7
7
  var node_crypto = require('node:crypto');
8
8
 
@@ -1,6 +1,6 @@
1
- import { p as publishSessionRegistration } from './index-DnsqY6I_.mjs';
2
- import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-BcWf5v4i.mjs';
3
- import { c as createSessionMetadata } from './registerKillSessionHandler-Dxwg4L4J.mjs';
1
+ import { p as publishSessionRegistration } from './index-DaAkW0VN.mjs';
2
+ import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-BxXBKBUy.mjs';
3
+ import { c as createSessionMetadata } from './registerKillSessionHandler-CNNguWyD.mjs';
4
4
  import { EventEmitter } from 'node:events';
5
5
  import { randomUUID } from 'node:crypto';
6
6
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-Ye-rPX6s.cjs');
4
- var registerKillSessionHandler = require('./registerKillSessionHandler-CH6yN0eG.cjs');
3
+ var api = require('./api-B4g8VLUn.cjs');
4
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Dr1inhTc.cjs');
5
5
 
6
6
  async function runModeLoop(opts) {
7
7
  let currentMode = opts.startingMode;
@@ -1,5 +1,5 @@
1
- import { l as logger } from './api-BcWf5v4i.mjs';
2
- import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-Dxwg4L4J.mjs';
1
+ import { l as logger } from './api-BxXBKBUy.mjs';
2
+ import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-CNNguWyD.mjs';
3
3
 
4
4
  async function runModeLoop(opts) {
5
5
  let currentMode = opts.startingMode;
@@ -18,7 +18,7 @@ var node_child_process = require('node:child_process');
18
18
  var expoServerSdk = require('expo-server-sdk');
19
19
 
20
20
  var name = "happy-imou-cloud";
21
- var version = "2.0.11";
21
+ var version = "2.0.12";
22
22
  var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
23
23
  var author = "long.zhu";
24
24
  var license = "MIT";
@@ -432,7 +432,7 @@ async function listDaemonLogFiles(limit = 50) {
432
432
  return { file, path: fullPath, modified: stats.mtime };
433
433
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
434
434
  try {
435
- const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-xK5CKhbn.cjs'); });
435
+ const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-DScOANDE.cjs'); });
436
436
  const state = await readDaemonState();
437
437
  if (!state) {
438
438
  return logs;
@@ -16,7 +16,7 @@ import { spawn } from 'node:child_process';
16
16
  import { Expo } from 'expo-server-sdk';
17
17
 
18
18
  var name = "happy-imou-cloud";
19
- var version = "2.0.11";
19
+ var version = "2.0.12";
20
20
  var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
21
21
  var author = "long.zhu";
22
22
  var license = "MIT";
@@ -430,7 +430,7 @@ async function listDaemonLogFiles(limit = 50) {
430
430
  return { file, path: fullPath, modified: stats.mtime };
431
431
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
432
432
  try {
433
- const { readDaemonState } = await import('./persistence-BMa6cyw9.mjs');
433
+ const { readDaemonState } = await import('./persistence-8pNEvzaq.mjs');
434
434
  const state = await readDaemonState();
435
435
  if (!state) {
436
436
  return logs;
@@ -1,6 +1,6 @@
1
- import { c as createDefaultRuntimeShell } from './index-DnsqY6I_.mjs';
1
+ import { c as createDefaultRuntimeShell } from './index-DaAkW0VN.mjs';
2
2
  import 'chalk';
3
- import './api-BcWf5v4i.mjs';
3
+ import './api-BxXBKBUy.mjs';
4
4
  import 'axios';
5
5
  import 'fs';
6
6
  import 'node:fs';
@@ -16,7 +16,7 @@ import 'crypto';
16
16
  import 'path';
17
17
  import 'node:child_process';
18
18
  import 'expo-server-sdk';
19
- import './persistence-BMa6cyw9.mjs';
19
+ import './persistence-8pNEvzaq.mjs';
20
20
  import 'node:fs/promises';
21
21
  import 'os';
22
22
  import 'tmp';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-J7QKJ8lc.cjs');
3
+ var index = require('./index-CWom7mSf.cjs');
4
4
  require('chalk');
5
- require('./api-Ye-rPX6s.cjs');
5
+ require('./api-B4g8VLUn.cjs');
6
6
  require('axios');
7
7
  require('fs');
8
8
  require('node:fs');
@@ -18,7 +18,7 @@ require('crypto');
18
18
  require('path');
19
19
  require('node:child_process');
20
20
  require('expo-server-sdk');
21
- require('./persistence-xK5CKhbn.cjs');
21
+ require('./persistence-DScOANDE.cjs');
22
22
  require('node:fs/promises');
23
23
  require('os');
24
24
  require('tmp');
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var api = require('./api-Ye-rPX6s.cjs');
5
- var persistence = require('./persistence-xK5CKhbn.cjs');
4
+ var api = require('./api-B4g8VLUn.cjs');
5
+ var persistence = require('./persistence-DScOANDE.cjs');
6
6
  var z = require('zod');
7
7
  var fs$2 = require('fs/promises');
8
8
  var os$1 = require('os');
@@ -71,7 +71,7 @@ async function openBrowser(url) {
71
71
  }
72
72
  }
73
73
 
74
- const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-J7QKJ8lc.cjs', document.baseURI).href)));
74
+ const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CWom7mSf.cjs', document.baseURI).href)));
75
75
  const QRCode = require$1("qrcode-terminal/vendor/QRCode");
76
76
  const QRErrorCorrectLevel = require$1("qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel");
77
77
  const pendingTempFiles = /* @__PURE__ */ new Set();
@@ -694,12 +694,13 @@ function setupCleanupHandlers() {
694
694
  });
695
695
  }
696
696
 
697
- const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-J7QKJ8lc.cjs', document.baseURI).href))));
697
+ const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CWom7mSf.cjs', document.baseURI).href))));
698
698
  function projectPath() {
699
699
  const path = path$1.resolve(__dirname$1, "..");
700
700
  return path;
701
701
  }
702
702
 
703
+ const WINDOWS_PROCESS_QUERY_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
703
704
  function classifyHappyProcessLookup(proc) {
704
705
  const match = classifyHappyProcess(proc);
705
706
  if (match) {
@@ -753,21 +754,16 @@ function classifyHappyProcess(proc) {
753
754
  }
754
755
  return { pid: proc.pid, command: cmd || name, type };
755
756
  }
756
- function getWindowsProcessSnapshots() {
757
- const result = spawn.sync(
758
- "powershell.exe",
759
- [
760
- "-NoProfile",
761
- "-Command",
762
- "Get-CimInstance Win32_Process | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress"
763
- ],
764
- { stdio: "pipe" }
765
- );
766
- if (result.error || result.status !== 0 || !result.stdout) {
757
+ function parseWindowsProcessSnapshots(rawOutput) {
758
+ if (!rawOutput) {
759
+ return [];
760
+ }
761
+ const text = rawOutput.toString().trim();
762
+ if (text.length === 0) {
767
763
  return [];
768
764
  }
769
765
  try {
770
- const parsed = JSON.parse(result.stdout.toString());
766
+ const parsed = JSON.parse(text);
771
767
  const rows = Array.isArray(parsed) ? parsed : [parsed];
772
768
  return rows.filter((row) => typeof row?.ProcessId === "number" && typeof row?.Name === "string").map((row) => ({
773
769
  pid: row.ProcessId,
@@ -778,6 +774,38 @@ function getWindowsProcessSnapshots() {
778
774
  return [];
779
775
  }
780
776
  }
777
+ function runWindowsProcessSnapshotQuery(command) {
778
+ const result = spawn.sync(
779
+ "powershell.exe",
780
+ [
781
+ "-NoProfile",
782
+ "-Command",
783
+ command
784
+ ],
785
+ {
786
+ stdio: "pipe",
787
+ maxBuffer: WINDOWS_PROCESS_QUERY_MAX_BUFFER_BYTES
788
+ }
789
+ );
790
+ if (result.error || result.status !== 0) {
791
+ return [];
792
+ }
793
+ return parseWindowsProcessSnapshots(result.stdout);
794
+ }
795
+ function getWindowsProcessSnapshots() {
796
+ return runWindowsProcessSnapshotQuery(
797
+ "Get-CimInstance Win32_Process | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress"
798
+ );
799
+ }
800
+ function getWindowsProcessSnapshotByPid(pid) {
801
+ if (!Number.isInteger(pid) || pid <= 0) {
802
+ return null;
803
+ }
804
+ const [proc] = runWindowsProcessSnapshotQuery(
805
+ `Get-CimInstance Win32_Process -Filter "ProcessId = ${pid}" | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress`
806
+ );
807
+ return proc ?? null;
808
+ }
781
809
  function findWindowsDaemonProcess(processes) {
782
810
  const daemonPid = getDaemonPid();
783
811
  if (!daemonPid) {
@@ -817,6 +845,10 @@ function toProcessSnapshot(proc) {
817
845
  async function findHappyProcessByPid(pid) {
818
846
  try {
819
847
  if (process.platform === "win32") {
848
+ const directProcess = getWindowsProcessSnapshotByPid(pid);
849
+ if (directProcess) {
850
+ return classifyHappyProcessLookup(directProcess);
851
+ }
820
852
  const windowsProcesses = getWindowsProcessSnapshots();
821
853
  if (windowsProcesses.length > 0) {
822
854
  const proc3 = windowsProcesses.find((candidate) => candidate.pid === pid);
@@ -7641,11 +7673,11 @@ var launch = /*#__PURE__*/Object.freeze({
7641
7673
 
7642
7674
  const unifiedProviderExecutors = {
7643
7675
  claude: async (opts) => {
7644
- const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-BMHlBny_.cjs'); });
7676
+ const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-h-8llTrI.cjs'); });
7645
7677
  await runClaude(opts.credentials, opts.claudeOptions ?? {});
7646
7678
  },
7647
7679
  codex: async (opts) => {
7648
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-roOSOWWL.cjs'); });
7680
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CA58KUHf.cjs'); });
7649
7681
  await runCodex({
7650
7682
  credentials: opts.credentials,
7651
7683
  startedBy: opts.startedBy,
@@ -7654,7 +7686,7 @@ const unifiedProviderExecutors = {
7654
7686
  });
7655
7687
  },
7656
7688
  gemini: async (opts) => {
7657
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-Cg6Zbqlz.cjs'); });
7689
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-IFHhFMSU.cjs'); });
7658
7690
  await runGemini({
7659
7691
  credentials: opts.credentials,
7660
7692
  startedBy: opts.startedBy
@@ -7730,7 +7762,7 @@ function shouldRunMainClaudeFlow(opts) {
7730
7762
  return;
7731
7763
  } else if (subcommand === "runtime") {
7732
7764
  if (args[1] === "providers") {
7733
- const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-BK93nizl.cjs'); });
7765
+ const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-DVt_YmE6.cjs'); });
7734
7766
  console.log(renderRuntimeProviders());
7735
7767
  return;
7736
7768
  }
@@ -7908,8 +7940,8 @@ function shouldRunMainClaudeFlow(opts) {
7908
7940
  const projectId = args[3];
7909
7941
  try {
7910
7942
  const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
7911
- const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-xK5CKhbn.cjs'); });
7912
- const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-Ye-rPX6s.cjs'); }).then(function (n) { return n.api; });
7943
+ const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-DScOANDE.cjs'); });
7944
+ const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-B4g8VLUn.cjs'); }).then(function (n) { return n.api; });
7913
7945
  let userEmail = void 0;
7914
7946
  try {
7915
7947
  const credentials = await readCredentials2();
@@ -1,6 +1,6 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, e as encodeBase64, c as configuration, h as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, j as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, k as encodeBase64Url, f as delay, m as buildClientHeaders, n as decodeBase64, H as HAPPY_CLOUD_DAEMON_PORT, p as packageJson, A as ApiClient, o as getLatestDaemonLog } from './api-BcWf5v4i.mjs';
3
- import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-BMa6cyw9.mjs';
2
+ import { l as logger, e as encodeBase64, c as configuration, h as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, j as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, k as encodeBase64Url, f as delay, m as buildClientHeaders, n as decodeBase64, H as HAPPY_CLOUD_DAEMON_PORT, p as packageJson, A as ApiClient, o as getLatestDaemonLog } from './api-BxXBKBUy.mjs';
3
+ import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-8pNEvzaq.mjs';
4
4
  import { z } from 'zod';
5
5
  import fs, { writeFile as writeFile$1, rename, unlink as unlink$1 } from 'fs/promises';
6
6
  import os, { homedir } from 'os';
@@ -678,6 +678,7 @@ function projectPath() {
678
678
  return path;
679
679
  }
680
680
 
681
+ const WINDOWS_PROCESS_QUERY_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
681
682
  function classifyHappyProcessLookup(proc) {
682
683
  const match = classifyHappyProcess(proc);
683
684
  if (match) {
@@ -731,21 +732,16 @@ function classifyHappyProcess(proc) {
731
732
  }
732
733
  return { pid: proc.pid, command: cmd || name, type };
733
734
  }
734
- function getWindowsProcessSnapshots() {
735
- const result = spawn$1.sync(
736
- "powershell.exe",
737
- [
738
- "-NoProfile",
739
- "-Command",
740
- "Get-CimInstance Win32_Process | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress"
741
- ],
742
- { stdio: "pipe" }
743
- );
744
- if (result.error || result.status !== 0 || !result.stdout) {
735
+ function parseWindowsProcessSnapshots(rawOutput) {
736
+ if (!rawOutput) {
737
+ return [];
738
+ }
739
+ const text = rawOutput.toString().trim();
740
+ if (text.length === 0) {
745
741
  return [];
746
742
  }
747
743
  try {
748
- const parsed = JSON.parse(result.stdout.toString());
744
+ const parsed = JSON.parse(text);
749
745
  const rows = Array.isArray(parsed) ? parsed : [parsed];
750
746
  return rows.filter((row) => typeof row?.ProcessId === "number" && typeof row?.Name === "string").map((row) => ({
751
747
  pid: row.ProcessId,
@@ -756,6 +752,38 @@ function getWindowsProcessSnapshots() {
756
752
  return [];
757
753
  }
758
754
  }
755
+ function runWindowsProcessSnapshotQuery(command) {
756
+ const result = spawn$1.sync(
757
+ "powershell.exe",
758
+ [
759
+ "-NoProfile",
760
+ "-Command",
761
+ command
762
+ ],
763
+ {
764
+ stdio: "pipe",
765
+ maxBuffer: WINDOWS_PROCESS_QUERY_MAX_BUFFER_BYTES
766
+ }
767
+ );
768
+ if (result.error || result.status !== 0) {
769
+ return [];
770
+ }
771
+ return parseWindowsProcessSnapshots(result.stdout);
772
+ }
773
+ function getWindowsProcessSnapshots() {
774
+ return runWindowsProcessSnapshotQuery(
775
+ "Get-CimInstance Win32_Process | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress"
776
+ );
777
+ }
778
+ function getWindowsProcessSnapshotByPid(pid) {
779
+ if (!Number.isInteger(pid) || pid <= 0) {
780
+ return null;
781
+ }
782
+ const [proc] = runWindowsProcessSnapshotQuery(
783
+ `Get-CimInstance Win32_Process -Filter "ProcessId = ${pid}" | Select-Object ProcessId, Name, CommandLine | ConvertTo-Json -Compress`
784
+ );
785
+ return proc ?? null;
786
+ }
759
787
  function findWindowsDaemonProcess(processes) {
760
788
  const daemonPid = getDaemonPid();
761
789
  if (!daemonPid) {
@@ -795,6 +823,10 @@ function toProcessSnapshot(proc) {
795
823
  async function findHappyProcessByPid(pid) {
796
824
  try {
797
825
  if (process.platform === "win32") {
826
+ const directProcess = getWindowsProcessSnapshotByPid(pid);
827
+ if (directProcess) {
828
+ return classifyHappyProcessLookup(directProcess);
829
+ }
798
830
  const windowsProcesses = getWindowsProcessSnapshots();
799
831
  if (windowsProcesses.length > 0) {
800
832
  const proc3 = windowsProcesses.find((candidate) => candidate.pid === pid);
@@ -7619,11 +7651,11 @@ var launch = /*#__PURE__*/Object.freeze({
7619
7651
 
7620
7652
  const unifiedProviderExecutors = {
7621
7653
  claude: async (opts) => {
7622
- const { runClaude } = await import('./runClaude-cQ-UT0Ke.mjs');
7654
+ const { runClaude } = await import('./runClaude-BcvOkIwh.mjs');
7623
7655
  await runClaude(opts.credentials, opts.claudeOptions ?? {});
7624
7656
  },
7625
7657
  codex: async (opts) => {
7626
- const { runCodex } = await import('./runCodex-AnJUPIhX.mjs');
7658
+ const { runCodex } = await import('./runCodex-ClJUgipy.mjs');
7627
7659
  await runCodex({
7628
7660
  credentials: opts.credentials,
7629
7661
  startedBy: opts.startedBy,
@@ -7632,7 +7664,7 @@ const unifiedProviderExecutors = {
7632
7664
  });
7633
7665
  },
7634
7666
  gemini: async (opts) => {
7635
- const { runGemini } = await import('./runGemini-BGo_0mzA.mjs');
7667
+ const { runGemini } = await import('./runGemini-dAr7Gcn8.mjs');
7636
7668
  await runGemini({
7637
7669
  credentials: opts.credentials,
7638
7670
  startedBy: opts.startedBy
@@ -7708,7 +7740,7 @@ function shouldRunMainClaudeFlow(opts) {
7708
7740
  return;
7709
7741
  } else if (subcommand === "runtime") {
7710
7742
  if (args[1] === "providers") {
7711
- const { renderRuntimeProviders } = await import('./command-nOI80Mnm.mjs');
7743
+ const { renderRuntimeProviders } = await import('./command-CHiLfBa4.mjs');
7712
7744
  console.log(renderRuntimeProviders());
7713
7745
  return;
7714
7746
  }
@@ -7886,8 +7918,8 @@ function shouldRunMainClaudeFlow(opts) {
7886
7918
  const projectId = args[3];
7887
7919
  try {
7888
7920
  const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
7889
- const { readCredentials: readCredentials2 } = await import('./persistence-BMa6cyw9.mjs');
7890
- const { ApiClient: ApiClient2 } = await import('./api-BcWf5v4i.mjs').then(function (n) { return n.q; });
7921
+ const { readCredentials: readCredentials2 } = await import('./persistence-8pNEvzaq.mjs');
7922
+ const { ApiClient: ApiClient2 } = await import('./api-BxXBKBUy.mjs').then(function (n) { return n.q; });
7891
7923
  let userEmail = void 0;
7892
7924
  try {
7893
7925
  const credentials = await readCredentials2();
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./api-Ye-rPX6s.cjs');
5
- require('./persistence-xK5CKhbn.cjs');
4
+ require('./api-B4g8VLUn.cjs');
5
+ require('./persistence-DScOANDE.cjs');
6
6
  require('zod');
7
- require('./index-J7QKJ8lc.cjs');
7
+ require('./index-CWom7mSf.cjs');
8
8
  require('node:child_process');
9
9
  require('node:fs');
10
10
  require('cross-spawn');
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import 'chalk';
2
- import './api-BcWf5v4i.mjs';
3
- import './persistence-BMa6cyw9.mjs';
2
+ import './api-BxXBKBUy.mjs';
3
+ import './persistence-8pNEvzaq.mjs';
4
4
  import 'zod';
5
- import './index-DnsqY6I_.mjs';
5
+ import './index-DaAkW0VN.mjs';
6
6
  import 'node:child_process';
7
7
  import 'node:fs';
8
8
  import 'cross-spawn';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-Ye-rPX6s.cjs');
3
+ var api = require('./api-B4g8VLUn.cjs');
4
4
  var types = require('./types-DVk3crez.cjs');
5
5
  require('axios');
6
6
  require('chalk');
package/dist/lib.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-BcWf5v4i.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-BxXBKBUy.mjs';
2
2
  export { R as RawJSONLinesSchema } from './types-CiliQpqS.mjs';
3
3
  import 'axios';
4
4
  import 'chalk';
@@ -1,7 +1,7 @@
1
1
  import { unlink, readFile, mkdir, open, stat, writeFile, rename } from 'node:fs/promises';
2
2
  import { existsSync, unlinkSync, readdirSync, constants, writeFileSync, readFileSync } from 'node:fs';
3
3
  import { join, dirname } from 'node:path';
4
- import { c as configuration, l as logger, e as encodeBase64 } from './api-BcWf5v4i.mjs';
4
+ import { c as configuration, l as logger, e as encodeBase64 } from './api-BxXBKBUy.mjs';
5
5
  import * as z from 'zod';
6
6
  import 'axios';
7
7
  import 'chalk';
@@ -3,7 +3,7 @@
3
3
  var promises = require('node:fs/promises');
4
4
  var fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var api = require('./api-Ye-rPX6s.cjs');
6
+ var api = require('./api-B4g8VLUn.cjs');
7
7
  var z = require('zod');
8
8
  require('axios');
9
9
  require('chalk');
@@ -1,8 +1,8 @@
1
- import { i as initialMachineMetadata, e as projectPath, R as RuntimeShell, h as resolveCanonicalToolNameV2, f as formatDisplayMessage } from './index-DnsqY6I_.mjs';
2
- import { readSettings } from './persistence-BMa6cyw9.mjs';
1
+ import { i as initialMachineMetadata, e as projectPath, R as RuntimeShell, h as resolveCanonicalToolNameV2, f as formatDisplayMessage } from './index-DaAkW0VN.mjs';
2
+ import { readSettings } from './persistence-8pNEvzaq.mjs';
3
3
  import os from 'node:os';
4
4
  import { resolve } from 'node:path';
5
- import { c as configuration, p as packageJson, l as logger } from './api-BcWf5v4i.mjs';
5
+ import { c as configuration, p as packageJson, l as logger } from './api-BxXBKBUy.mjs';
6
6
  import { randomUUID } from 'node:crypto';
7
7
  import { createHash } from 'crypto';
8
8
  import 'axios';
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-J7QKJ8lc.cjs');
4
- var persistence = require('./persistence-xK5CKhbn.cjs');
3
+ var index = require('./index-CWom7mSf.cjs');
4
+ var persistence = require('./persistence-DScOANDE.cjs');
5
5
  var os = require('node:os');
6
6
  var path = require('node:path');
7
- var api = require('./api-Ye-rPX6s.cjs');
7
+ var api = require('./api-B4g8VLUn.cjs');
8
8
  var node_crypto = require('node:crypto');
9
9
  var crypto = require('crypto');
10
10
  require('axios');
@@ -1,8 +1,8 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { l as logger, d as backoff, f as delay, g as AsyncLock, c as configuration, s as startOfflineReconnection, b as connectionState, A as ApiClient, i as isAuthenticationRequiredError } from './api-BcWf5v4i.mjs';
2
+ import { l as logger, d as backoff, f as delay, g as AsyncLock, c as configuration, s as startOfflineReconnection, b as connectionState, A as ApiClient, i as isAuthenticationRequiredError } from './api-BxXBKBUy.mjs';
3
3
  import 'cross-spawn';
4
4
  import '@agentclientprotocol/sdk';
5
- import { j as getProjectPath, k as claudeLocal, E as ExitCodeError, l as trimIdent, m as createClaudeBackend, f as formatDisplayMessage, t as truncateDisplayMessage, n as isBun, o as claudeCheckSession, e as projectPath, q as mapToClaudeMode, b as stopCaffeinate, p as publishSessionRegistration, u as getEnvironmentInfo, w as startCaffeinate } from './index-DnsqY6I_.mjs';
5
+ import { j as getProjectPath, k as claudeLocal, E as ExitCodeError, l as trimIdent, m as createClaudeBackend, f as formatDisplayMessage, t as truncateDisplayMessage, n as isBun, o as claudeCheckSession, e as projectPath, q as mapToClaudeMode, b as stopCaffeinate, p as publishSessionRegistration, u as getEnvironmentInfo, w as startCaffeinate } from './index-DaAkW0VN.mjs';
6
6
  import 'ps-list';
7
7
  import 'fs';
8
8
  import 'path';
@@ -11,7 +11,7 @@ import 'child_process';
11
11
  import { existsSync, readFileSync, mkdirSync, writeFileSync, unlinkSync } from 'node:fs';
12
12
  import { dirname, basename, join, resolve } from 'node:path';
13
13
  import { homedir } from 'node:os';
14
- import './persistence-BMa6cyw9.mjs';
14
+ import './persistence-8pNEvzaq.mjs';
15
15
  import { readFile } from 'node:fs/promises';
16
16
  import { stat, watch, access } from 'fs/promises';
17
17
  import 'crypto';
@@ -23,9 +23,9 @@ import 'tweetnacl';
23
23
  import 'open';
24
24
  import React, { useState, useRef, useEffect, useCallback } from 'react';
25
25
  import { useStdout, useInput, Box, Text, render } from 'ink';
26
- import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-BljOLMQn.mjs';
26
+ import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-BuZarTDc.mjs';
27
27
  import { R as RawJSONLinesSchema } from './types-CiliQpqS.mjs';
28
- import { B as BasePermissionHandler, d as MessageBuffer, C as ConversationHistory$1, w as waitForResponseCompleteWithAbort, l as launchRuntimeHandleWithFactoryResult, j as forwardAgentMessageToProviderSession, s as syncControlledByUserState, e as ensureManagedProviderMachine, M as MissingMachineIdError, c as createSessionMetadata, b as MessageQueue2, h as hashObject, r as registerKillSessionHandler, f as closeProviderSession } from './registerKillSessionHandler-Dxwg4L4J.mjs';
28
+ import { B as BasePermissionHandler, d as MessageBuffer, C as ConversationHistory$1, w as waitForResponseCompleteWithAbort, l as launchRuntimeHandleWithFactoryResult, j as forwardAgentMessageToProviderSession, s as syncControlledByUserState, e as ensureManagedProviderMachine, M as MissingMachineIdError, c as createSessionMetadata, b as MessageQueue2, h as hashObject, r as registerKillSessionHandler, f as closeProviderSession } from './registerKillSessionHandler-CNNguWyD.mjs';
29
29
  import { createInterface } from 'node:readline';
30
30
  import { fileURLToPath } from 'node:url';
31
31
  import 'socket.io-client';
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var node_crypto = require('node:crypto');
4
- var api = require('./api-Ye-rPX6s.cjs');
4
+ var api = require('./api-B4g8VLUn.cjs');
5
5
  require('cross-spawn');
6
6
  require('@agentclientprotocol/sdk');
7
- var index = require('./index-J7QKJ8lc.cjs');
7
+ var index = require('./index-CWom7mSf.cjs');
8
8
  require('ps-list');
9
9
  require('fs');
10
10
  require('path');
@@ -13,7 +13,7 @@ require('child_process');
13
13
  var fs$1 = require('node:fs');
14
14
  var path = require('node:path');
15
15
  var os = require('node:os');
16
- require('./persistence-xK5CKhbn.cjs');
16
+ require('./persistence-DScOANDE.cjs');
17
17
  var promises = require('node:fs/promises');
18
18
  var fs = require('fs/promises');
19
19
  require('crypto');
@@ -25,9 +25,9 @@ require('tweetnacl');
25
25
  require('open');
26
26
  var React = require('react');
27
27
  var ink = require('ink');
28
- var ProviderSelectionHandler = require('./ProviderSelectionHandler-DBGobhGZ.cjs');
28
+ var ProviderSelectionHandler = require('./ProviderSelectionHandler-BCDvmifJ.cjs');
29
29
  var types = require('./types-DVk3crez.cjs');
30
- var registerKillSessionHandler = require('./registerKillSessionHandler-CH6yN0eG.cjs');
30
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Dr1inhTc.cjs');
31
31
  var node_readline = require('node:readline');
32
32
  var node_url = require('node:url');
33
33
  require('socket.io-client');
@@ -1560,7 +1560,7 @@ class AbortError extends Error {
1560
1560
  }
1561
1561
  }
1562
1562
 
1563
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('runClaude-BMHlBny_.cjs', document.baseURI).href)));
1563
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('runClaude-h-8llTrI.cjs', document.baseURI).href)));
1564
1564
  const __dirname$1 = path.join(__filename$1, "..");
1565
1565
  function getGlobalClaudeVersion() {
1566
1566
  try {
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var node_crypto = require('node:crypto');
4
- var api = require('./api-Ye-rPX6s.cjs');
5
- var registerKillSessionHandler = require('./registerKillSessionHandler-CH6yN0eG.cjs');
6
- var index = require('./index-J7QKJ8lc.cjs');
4
+ var api = require('./api-B4g8VLUn.cjs');
5
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Dr1inhTc.cjs');
6
+ var index = require('./index-CWom7mSf.cjs');
7
7
  require('cross-spawn');
8
8
  require('@agentclientprotocol/sdk');
9
9
  require('ps-list');
@@ -14,7 +14,7 @@ require('child_process');
14
14
  require('node:fs');
15
15
  require('node:path');
16
16
  require('node:os');
17
- require('./persistence-xK5CKhbn.cjs');
17
+ require('./persistence-DScOANDE.cjs');
18
18
  require('node:fs/promises');
19
19
  require('fs/promises');
20
20
  require('crypto');
@@ -26,8 +26,8 @@ require('tweetnacl');
26
26
  require('open');
27
27
  var React = require('react');
28
28
  var ink = require('ink');
29
- var ProviderSelectionHandler = require('./ProviderSelectionHandler-DBGobhGZ.cjs');
30
- var BaseReasoningProcessor = require('./BaseReasoningProcessor-COrRWyn0.cjs');
29
+ var ProviderSelectionHandler = require('./ProviderSelectionHandler-BCDvmifJ.cjs');
30
+ var BaseReasoningProcessor = require('./BaseReasoningProcessor-BrKUKAOr.cjs');
31
31
  require('socket.io-client');
32
32
  require('zod');
33
33
  require('expo-server-sdk');
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { l as logger, b as connectionState, A as ApiClient } from './api-BcWf5v4i.mjs';
3
- import { B as BasePermissionHandler, h as hashObject, d as MessageBuffer, C as ConversationHistory$1, w as waitForResponseCompleteWithAbort, r as registerKillSessionHandler, l as launchRuntimeHandleWithFactoryResult, i as inferToolResultError, j as forwardAgentMessageToProviderSession, f as closeProviderSession, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, s as syncControlledByUserState } from './registerKillSessionHandler-Dxwg4L4J.mjs';
4
- import { f as formatDisplayMessage, v as validateCodexAcpSpawn, d as createCodexBackend, t as truncateDisplayMessage, b as stopCaffeinate } from './index-DnsqY6I_.mjs';
2
+ import { l as logger, b as connectionState, A as ApiClient } from './api-BxXBKBUy.mjs';
3
+ import { B as BasePermissionHandler, h as hashObject, d as MessageBuffer, C as ConversationHistory$1, w as waitForResponseCompleteWithAbort, r as registerKillSessionHandler, l as launchRuntimeHandleWithFactoryResult, i as inferToolResultError, j as forwardAgentMessageToProviderSession, f as closeProviderSession, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, s as syncControlledByUserState } from './registerKillSessionHandler-CNNguWyD.mjs';
4
+ import { f as formatDisplayMessage, v as validateCodexAcpSpawn, d as createCodexBackend, t as truncateDisplayMessage, b as stopCaffeinate } from './index-DaAkW0VN.mjs';
5
5
  import 'cross-spawn';
6
6
  import '@agentclientprotocol/sdk';
7
7
  import 'ps-list';
@@ -12,7 +12,7 @@ import 'child_process';
12
12
  import 'node:fs';
13
13
  import 'node:path';
14
14
  import 'node:os';
15
- import './persistence-BMa6cyw9.mjs';
15
+ import './persistence-8pNEvzaq.mjs';
16
16
  import 'node:fs/promises';
17
17
  import 'fs/promises';
18
18
  import 'crypto';
@@ -24,8 +24,8 @@ import 'tweetnacl';
24
24
  import 'open';
25
25
  import React, { useState, useRef, useEffect, useCallback } from 'react';
26
26
  import { useStdout, useInput, Box, Text, render } from 'ink';
27
- import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-BljOLMQn.mjs';
28
- import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-5ACv9gKu.mjs';
27
+ import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-BuZarTDc.mjs';
28
+ import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-DrHf5B98.mjs';
29
29
  import 'socket.io-client';
30
30
  import 'zod';
31
31
  import 'expo-server-sdk';
@@ -3,10 +3,10 @@
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
5
  var node_crypto = require('node:crypto');
6
- var api = require('./api-Ye-rPX6s.cjs');
7
- var registerKillSessionHandler = require('./registerKillSessionHandler-CH6yN0eG.cjs');
8
- var index = require('./index-J7QKJ8lc.cjs');
9
- var BaseReasoningProcessor = require('./BaseReasoningProcessor-COrRWyn0.cjs');
6
+ var api = require('./api-B4g8VLUn.cjs');
7
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Dr1inhTc.cjs');
8
+ var index = require('./index-CWom7mSf.cjs');
9
+ var BaseReasoningProcessor = require('./BaseReasoningProcessor-BrKUKAOr.cjs');
10
10
  require('cross-spawn');
11
11
  require('@agentclientprotocol/sdk');
12
12
  require('ps-list');
@@ -15,7 +15,7 @@ require('node:path');
15
15
  require('node:os');
16
16
  require('tweetnacl');
17
17
  require('axios');
18
- require('./persistence-xK5CKhbn.cjs');
18
+ require('./persistence-DScOANDE.cjs');
19
19
  require('open');
20
20
  require('chalk');
21
21
  require('fs');
@@ -1,10 +1,10 @@
1
1
  import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { l as logger, b as connectionState, A as ApiClient } from './api-BcWf5v4i.mjs';
5
- import { B as BasePermissionHandler, C as ConversationHistory$1, e as ensureManagedProviderMachine, M as MissingMachineIdError, s as syncControlledByUserState, b as MessageQueue2, h as hashObject, d as MessageBuffer, r as registerKillSessionHandler, w as waitForResponseCompleteWithAbort, f as closeProviderSession, l as launchRuntimeHandleWithFactoryResult, i as inferToolResultError, j as forwardAgentMessageToProviderSession } from './registerKillSessionHandler-Dxwg4L4J.mjs';
6
- import { g as getInitialGeminiModel, r as readGeminiLocalConfig, G as GEMINI_MODEL_ENV, s as saveGeminiModelToConfig, a as createGeminiBackend, b as stopCaffeinate } from './index-DnsqY6I_.mjs';
7
- import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-5ACv9gKu.mjs';
4
+ import { l as logger, b as connectionState, A as ApiClient } from './api-BxXBKBUy.mjs';
5
+ import { B as BasePermissionHandler, C as ConversationHistory$1, e as ensureManagedProviderMachine, M as MissingMachineIdError, s as syncControlledByUserState, b as MessageQueue2, h as hashObject, d as MessageBuffer, r as registerKillSessionHandler, w as waitForResponseCompleteWithAbort, f as closeProviderSession, l as launchRuntimeHandleWithFactoryResult, i as inferToolResultError, j as forwardAgentMessageToProviderSession } from './registerKillSessionHandler-CNNguWyD.mjs';
6
+ import { g as getInitialGeminiModel, r as readGeminiLocalConfig, G as GEMINI_MODEL_ENV, s as saveGeminiModelToConfig, a as createGeminiBackend, b as stopCaffeinate } from './index-DaAkW0VN.mjs';
7
+ import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-DrHf5B98.mjs';
8
8
  import 'cross-spawn';
9
9
  import '@agentclientprotocol/sdk';
10
10
  import 'ps-list';
@@ -13,7 +13,7 @@ import 'node:path';
13
13
  import 'node:os';
14
14
  import 'tweetnacl';
15
15
  import 'axios';
16
- import './persistence-BMa6cyw9.mjs';
16
+ import './persistence-8pNEvzaq.mjs';
17
17
  import 'open';
18
18
  import 'chalk';
19
19
  import 'fs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-imou-cloud",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "description": "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI",
5
5
  "author": "long.zhu",
6
6
  "license": "MIT",