@mearl/client 2.22.3 → 2.22.5
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/README.md
CHANGED
|
@@ -162,6 +162,8 @@ mearl browser_release --session '<sessionId>' --payload '{"closeCreatedTabs":tru
|
|
|
162
162
|
|
|
163
163
|
用户在 Popup 的浏览器管理页接管、交还或结束会话。交接后排队旧请求和批次后续步骤停止;已派发动作可能仍然生效。交还后重新取快照。CDP-only 环境可在用户明确确认后用同一 `browser_control` 的 `operation:"resume"` 交还,无需额外 action。会话跨 CLI 连接保留,宿主进程退出后失效;不会根据空闲时间清理用户正在操作的会话。
|
|
164
164
|
|
|
165
|
+
扩展中新开的后台页面默认加入折叠的 `Mearl` 标签组,前台新页进入展开的 `Mearl · 待操作` 组。两个管理组统一复用同一个已有窗口,同名管理组会合并;页面打开的后续标签也收进该窗口,并继承源组的展开状态。工作窗口关闭后重新选择已有窗口,不额外创建窗口。显式传入 `tab_open.group` 时使用指定分组;复用普通页面时保留原窗口和分组。接管会话只把管理组内的会话页面移入待操作组;交还后,仍在待操作组内的会话页面收回 `Mearl` 组。用户正在查看组内其他页面,或窗口没有其他可显示页面时,保留展开状态。
|
|
166
|
+
|
|
165
167
|
带 Session 的释放只影响该会话,默认保留页面及环境;`closeCreatedTabs` 只关闭新建页,`keepTabIds` 保留结果页,复用的用户页面始终保留。`preserveEnvironment:false` 清理这些页面的环境。活动会话存在时,浏览器级释放与关闭会被拒绝。
|
|
166
168
|
|
|
167
169
|
`page_download` 先监听再点击,返回浏览器文件产物;CLI `--output` 或 SDK `saveArtifact(artifact, absolutePath, { session })` 以 256 KiB 分块导出到调用方。`page_upload.files` 接受调用方绝对路径 `{filePath}` 或浏览器 `{artifactId}`,`filePaths` 仍指浏览器宿主路径。单文件最多 256 MiB;保存到调用方的结果独立于临时产物。会话释放清理临时产物,`keepArtifactIds` 可保留指定产物;无会话产物空闲一小时回收,宿主退出清理暂存。
|
package/dist/autoUpdate.js
CHANGED
|
@@ -4,6 +4,7 @@ import { closeSync, existsSync, mkdirSync, openSync, readFileSync, realpathSync,
|
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { delimiter, dirname, join, resolve, win32 } from 'node:path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
|
+
import { npmExecEnvironment } from '@mearl/daemon-core';
|
|
7
8
|
import { isNewerRelease, parseReleaseVersion } from './check.js';
|
|
8
9
|
import { loadCliAutoUpdateIntervalDays } from './unifiedConfig.js';
|
|
9
10
|
const CONFIG_DIR = join(homedir(), '.mearl');
|
|
@@ -207,7 +208,7 @@ export function setupUpdateCommand(version, packageRoot, profiles, updateClient)
|
|
|
207
208
|
if (!parseReleaseVersion(version))
|
|
208
209
|
throw new Error('A valid Mearl release is required');
|
|
209
210
|
const [major, minor] = version.split('.');
|
|
210
|
-
const env =
|
|
211
|
+
const env = npmExecEnvironment();
|
|
211
212
|
delete env.MEARL_AUTO_UPDATE_CLIENT_ROOT;
|
|
212
213
|
delete env.MEARL_AUTO_UPDATE_CLIENT_ONLY;
|
|
213
214
|
delete env.MEARL_AUTO_UPDATE_PROFILES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PLUGIN_HOST_BUILD_ID = "
|
|
1
|
+
export declare const PLUGIN_HOST_BUILD_ID = "025a1d4dd51ebda523c759b5e82c3de635a9016d5680ff189ffc27f60009c405";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by scripts/generate-plugin-host-build.mjs.
|
|
2
|
-
export const PLUGIN_HOST_BUILD_ID = '
|
|
2
|
+
export const PLUGIN_HOST_BUILD_ID = '025a1d4dd51ebda523c759b5e82c3de635a9016d5680ff189ffc27f60009c405';
|
|
@@ -2,6 +2,7 @@ import { closeSync, mkdirSync, openSync, rmSync, statSync, writeFileSync } from
|
|
|
2
2
|
import { CLIENT_VERSION } from '../runtimePaths.js';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { spawn } from 'node:child_process';
|
|
5
|
+
import { npmExecEnvironment } from '@mearl/daemon-core';
|
|
5
6
|
import { findOfficialPlugin } from './officialPluginCatalog.js';
|
|
6
7
|
import { findPluginRegistration, pluginDirectory } from './pluginRegistry.js';
|
|
7
8
|
const INSTALL_TIMEOUT_MS = 180_000;
|
|
@@ -60,7 +61,7 @@ function appendOutput(current, chunk) {
|
|
|
60
61
|
function installWithSetup(name) {
|
|
61
62
|
return new Promise((resolve, reject) => {
|
|
62
63
|
const command = process.platform === 'win32' ? 'npx.cmd' : 'npx';
|
|
63
|
-
const child = spawn(command, ['-y', `@mearl/setup@${CLIENT_VERSION}`, 'plugin', 'ensure', name], { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });
|
|
64
|
+
const child = spawn(command, ['-y', `@mearl/setup@${CLIENT_VERSION}`, 'plugin', 'ensure', name], { env: npmExecEnvironment(), stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });
|
|
64
65
|
let stdout = '';
|
|
65
66
|
let stderr = '';
|
|
66
67
|
let settled = false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mearl/client",
|
|
3
|
-
"version": "2.22.
|
|
3
|
+
"version": "2.22.5",
|
|
4
4
|
"description": "Unified Mearl SDK & CLI for local and remote browsers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -58,19 +58,19 @@
|
|
|
58
58
|
],
|
|
59
59
|
"license": "ISC",
|
|
60
60
|
"engines": {
|
|
61
|
-
"node": ">=
|
|
61
|
+
"node": ">=20.18.0"
|
|
62
62
|
},
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"registry": "https://registry.npmjs.org"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"commander": "^
|
|
67
|
+
"commander": "^14.0.3",
|
|
68
68
|
"fastest-levenshtein": "^1.0.16",
|
|
69
69
|
"ws": "^8.18.0",
|
|
70
|
-
"@mearl/cloud-types": "2.22.
|
|
71
|
-
"@mearl/
|
|
72
|
-
"@mearl/
|
|
73
|
-
"@mearl/
|
|
70
|
+
"@mearl/cloud-types": "2.22.5",
|
|
71
|
+
"@mearl/agent-runtime": "2.22.5",
|
|
72
|
+
"@mearl/provider": "2.22.5",
|
|
73
|
+
"@mearl/daemon-core": "2.22.5"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/node": "^24.9.1",
|