@duheso/zerocli 1.1.8 → 1.1.10
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/cli.mjs +27 -35
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
|
@@ -119226,7 +119226,7 @@ function buildProviderInfoLines() {
|
|
|
119226
119226
|
const sLen = ` ● ${sL} ${sReady}`.length;
|
|
119227
119227
|
out.push(boxRow(sRow, W2, sLen));
|
|
119228
119228
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
119229
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"1.1.
|
|
119229
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"1.1.10"}${RESET}`);
|
|
119230
119230
|
return out;
|
|
119231
119231
|
}
|
|
119232
119232
|
function printStartupScreen() {}
|
|
@@ -365596,7 +365596,7 @@ __export(exports_VerifyPlanExecutionTool, {
|
|
|
365596
365596
|
var VerifyPlanExecutionTool_default = null, VerifyPlanExecutionTool = null;
|
|
365597
365597
|
|
|
365598
365598
|
// src/tools/WindowsControlTool/constants.ts
|
|
365599
|
-
var TOOL_NAME = "windows_control", DEFAULT_WS_PORT = 50052, DEFAULT_REST_PORT = 50051, DEFAULT_QUALITY = 75, DEFAULT_SCALE =
|
|
365599
|
+
var TOOL_NAME = "windows_control", DEFAULT_WS_PORT = 50052, DEFAULT_REST_PORT = 50051, DEFAULT_QUALITY = 75, DEFAULT_SCALE = 1, RECONNECT_INTERVAL_MS = 5000, PING_INTERVAL_MS = 1e4, ENV_WINDOWS_HOST = "WINDOWS_CONTROL_HOST", ENV_WINDOWS_PORT = "WINDOWS_CONTROL_PORT", ENV_WINDOWS_TOKEN = "WINDOWS_CONTROL_TOKEN";
|
|
365600
365600
|
|
|
365601
365601
|
// src/tools/WindowsControlTool/prompt.ts
|
|
365602
365602
|
var WINDOWS_CONTROL_PROMPT = `
|
|
@@ -365633,7 +365633,7 @@ in their .env file. That's it.
|
|
|
365633
365633
|
|
|
365634
365634
|
**Screen:**
|
|
365635
365635
|
- \`screenshot\` — See the screen (ALWAYS start with this). Returns the actual image.
|
|
365636
|
-
|
|
365636
|
+
**To read text on screen:** just take a screenshot — YOU (the LLM) can read it directly via vision. No OCR needed.
|
|
365637
365637
|
- \`list_monitors\` — Multi-monitor layout info
|
|
365638
365638
|
|
|
365639
365639
|
**Mouse:**
|
|
@@ -365673,7 +365673,13 @@ in their .env file. That's it.
|
|
|
365673
365673
|
|
|
365674
365674
|
### Coordinate System
|
|
365675
365675
|
- (0,0) = top-left corner of primary monitor
|
|
365676
|
-
-
|
|
365676
|
+
- **Screenshots are taken at scale=1.0 by default** (native resolution, 1:1 pixel mapping).
|
|
365677
|
+
Coordinates you read from the screenshot can be passed directly to mouse_click/mouse_move.
|
|
365678
|
+
- If you use \`scale: 0.5\` for smaller images, the screenshot will be half-size.
|
|
365679
|
+
In that case, **multiply all coordinates by 2** before passing to mouse actions.
|
|
365680
|
+
The response includes \`nativeWidth\`, \`nativeHeight\`, and \`scale\` to help you calculate.
|
|
365681
|
+
Formula: \`real_x = screenshot_x * (nativeWidth / width)\`
|
|
365682
|
+
- Cursor position in the response is always in **native screen coordinates**.
|
|
365677
365683
|
- Use \`list_monitors\` for multi-monitor setups
|
|
365678
365684
|
|
|
365679
365685
|
### Common Patterns
|
|
@@ -365691,7 +365697,7 @@ in their .env file. That's it.
|
|
|
365691
365697
|
key_combo(["ctrl","s"]) to save, key_combo(["alt","f4"]) to close, etc.
|
|
365692
365698
|
|
|
365693
365699
|
**Find and click by text (when you can't see coordinates):**
|
|
365694
|
-
|
|
365700
|
+
screenshot → read text from the image → identify position → mouse_click at that position
|
|
365695
365701
|
|
|
365696
365702
|
**Navigate menus:**
|
|
365697
365703
|
mouse_click on menu → screenshot → mouse_click on menu item
|
|
@@ -366174,13 +366180,17 @@ async function handleCaptureAction(input, connection) {
|
|
|
366174
366180
|
return { success: false, error: response.error || "Screenshot failed" };
|
|
366175
366181
|
}
|
|
366176
366182
|
const imageBase64 = response.imageData;
|
|
366183
|
+
const scale = input.scale || DEFAULT_SCALE;
|
|
366177
366184
|
return {
|
|
366178
366185
|
success: true,
|
|
366179
|
-
message: `Screenshot captured: ${response.width}x${response.height}
|
|
366186
|
+
message: `Screenshot captured: ${response.width}x${response.height}` + (scale < 1 ? ` (scaled ${Math.round(scale * 100)}% — multiply coordinates by ${Math.round(1 / scale)} for clicks)` : ""),
|
|
366180
366187
|
data: {
|
|
366181
366188
|
imageBase64,
|
|
366182
366189
|
width: response.width,
|
|
366183
366190
|
height: response.height,
|
|
366191
|
+
nativeWidth: Math.round(response.width / scale),
|
|
366192
|
+
nativeHeight: Math.round(response.height / scale),
|
|
366193
|
+
scale,
|
|
366184
366194
|
cursor: { x: response.cursorX, y: response.cursorY },
|
|
366185
366195
|
format: response.imageFormat || "jpeg"
|
|
366186
366196
|
}
|
|
@@ -366234,22 +366244,6 @@ async function handleAutomationAction(input, connection) {
|
|
|
366234
366244
|
value: input.value
|
|
366235
366245
|
});
|
|
366236
366246
|
return { success: true, message: `Set value on element ${input.runtime_id}` };
|
|
366237
|
-
case "extract_text": {
|
|
366238
|
-
const response = await connection.sendCommand("ExtractText", {
|
|
366239
|
-
region: input.region || null,
|
|
366240
|
-
monitorIndex: input.monitor_index ?? 0,
|
|
366241
|
-
language: input.language || "en-US"
|
|
366242
|
-
});
|
|
366243
|
-
return {
|
|
366244
|
-
success: true,
|
|
366245
|
-
message: `OCR extracted ${response.lines?.length || 0} lines`,
|
|
366246
|
-
data: {
|
|
366247
|
-
fullText: response.fullText,
|
|
366248
|
-
lines: response.lines,
|
|
366249
|
-
languageDetected: response.languageDetected
|
|
366250
|
-
}
|
|
366251
|
-
};
|
|
366252
|
-
}
|
|
366253
366247
|
default:
|
|
366254
366248
|
return { success: false, error: `Unknown automation action: ${input.action}` };
|
|
366255
366249
|
}
|
|
@@ -366500,7 +366494,6 @@ var init_WindowsControlTool = __esm(() => {
|
|
|
366500
366494
|
"get_ui_elements",
|
|
366501
366495
|
"click_element",
|
|
366502
366496
|
"set_element_value",
|
|
366503
|
-
"extract_text",
|
|
366504
366497
|
"get_clipboard",
|
|
366505
366498
|
"set_clipboard",
|
|
366506
366499
|
"upload_file",
|
|
@@ -366515,7 +366508,7 @@ var init_WindowsControlTool = __esm(() => {
|
|
|
366515
366508
|
KEYBOARD_ACTIONS = new Set(["key_press", "key_combo", "key_hold", "type_text"]);
|
|
366516
366509
|
WINDOW_ACTIONS = new Set(["list_windows", "focus_window", "move_window", "resize_window", "minimize", "maximize", "restore", "close_window", "snap_window"]);
|
|
366517
366510
|
CAPTURE_ACTIONS = new Set(["screenshot", "list_monitors"]);
|
|
366518
|
-
AUTOMATION_ACTIONS = new Set(["get_ui_elements", "click_element", "set_element_value"
|
|
366511
|
+
AUTOMATION_ACTIONS = new Set(["get_ui_elements", "click_element", "set_element_value"]);
|
|
366519
366512
|
CLIPBOARD_ACTIONS = new Set(["get_clipboard", "set_clipboard"]);
|
|
366520
366513
|
DESKTOP_ACTIONS = new Set(["list_desktops", "switch_desktop", "create_desktop", "delete_desktop"]);
|
|
366521
366514
|
FILE_PROCESS_ACTIONS = new Set(["upload_file", "download_file", "list_files", "list_processes", "kill_process", "launch_process"]);
|
|
@@ -366559,7 +366552,6 @@ var init_WindowsControlTool = __esm(() => {
|
|
|
366559
366552
|
value: exports_external.string().optional().describe("Value to set on UI element"),
|
|
366560
366553
|
max_depth: exports_external.number().optional().describe("UI tree traversal depth"),
|
|
366561
366554
|
control_type_filter: exports_external.string().optional().describe("Filter UI elements by type"),
|
|
366562
|
-
language: exports_external.string().optional().describe("OCR language (e.g. en-US, pt-BR)"),
|
|
366563
366555
|
clipboard_text: exports_external.string().optional().describe("Text to set in clipboard"),
|
|
366564
366556
|
include_image: exports_external.boolean().optional().describe("Include image from clipboard"),
|
|
366565
366557
|
file_path: exports_external.string().optional().describe("File path on Windows"),
|
|
@@ -379565,7 +379557,7 @@ function getAnthropicEnvMetadata() {
|
|
|
379565
379557
|
function getBuildAgeMinutes() {
|
|
379566
379558
|
if (false)
|
|
379567
379559
|
;
|
|
379568
|
-
const buildTime = new Date("2026-05-
|
|
379560
|
+
const buildTime = new Date("2026-05-23T22:30:05.775Z").getTime();
|
|
379569
379561
|
if (isNaN(buildTime))
|
|
379570
379562
|
return;
|
|
379571
379563
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -421589,7 +421581,7 @@ function buildPrimarySection() {
|
|
|
421589
421581
|
});
|
|
421590
421582
|
return [{
|
|
421591
421583
|
label: "Version",
|
|
421592
|
-
value: "1.1.
|
|
421584
|
+
value: "1.1.10"
|
|
421593
421585
|
}, {
|
|
421594
421586
|
label: "Session name",
|
|
421595
421587
|
value: nameValue
|
|
@@ -489935,7 +489927,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
489935
489927
|
var call60 = async () => {
|
|
489936
489928
|
return {
|
|
489937
489929
|
type: "text",
|
|
489938
|
-
value: `${"1.1.8"} (built ${"2026-05-
|
|
489930
|
+
value: `${"1.1.8"} (built ${"2026-05-23T22:30:05.775Z"})`
|
|
489939
489931
|
};
|
|
489940
489932
|
}, version2, version_default;
|
|
489941
489933
|
var init_version = __esm(() => {
|
|
@@ -565959,7 +565951,7 @@ function WelcomeV2() {
|
|
|
565959
565951
|
dimColor: true,
|
|
565960
565952
|
children: [
|
|
565961
565953
|
"v",
|
|
565962
|
-
"1.1.
|
|
565954
|
+
"1.1.10",
|
|
565963
565955
|
" "
|
|
565964
565956
|
]
|
|
565965
565957
|
})
|
|
@@ -566193,7 +566185,7 @@ function WelcomeV2() {
|
|
|
566193
566185
|
dimColor: true,
|
|
566194
566186
|
children: [
|
|
566195
566187
|
"v",
|
|
566196
|
-
"1.1.
|
|
566188
|
+
"1.1.10",
|
|
566197
566189
|
" "
|
|
566198
566190
|
]
|
|
566199
566191
|
})
|
|
@@ -566440,7 +566432,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
566440
566432
|
dimColor: true,
|
|
566441
566433
|
children: [
|
|
566442
566434
|
"v",
|
|
566443
|
-
"1.1.
|
|
566435
|
+
"1.1.10",
|
|
566444
566436
|
" "
|
|
566445
566437
|
]
|
|
566446
566438
|
});
|
|
@@ -566713,7 +566705,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
566713
566705
|
dimColor: true,
|
|
566714
566706
|
children: [
|
|
566715
566707
|
"v",
|
|
566716
|
-
"1.1.
|
|
566708
|
+
"1.1.10",
|
|
566717
566709
|
" "
|
|
566718
566710
|
]
|
|
566719
566711
|
});
|
|
@@ -586958,7 +586950,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
586958
586950
|
pendingHookMessages
|
|
586959
586951
|
}, renderAndRun);
|
|
586960
586952
|
}
|
|
586961
|
-
}).version("1.1.
|
|
586953
|
+
}).version("1.1.10", "-v, --version", "Output the version number");
|
|
586962
586954
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
586963
586955
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
586964
586956
|
if (canUserConfigureAdvisor()) {
|
|
@@ -587624,7 +587616,7 @@ if (false) {}
|
|
|
587624
587616
|
async function main2() {
|
|
587625
587617
|
const args = process.argv.slice(2);
|
|
587626
587618
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
587627
|
-
console.log(`${"1.1.
|
|
587619
|
+
console.log(`${"1.1.10"} (ZeroCLI)`);
|
|
587628
587620
|
return;
|
|
587629
587621
|
}
|
|
587630
587622
|
if (args.includes("--provider")) {
|
|
@@ -587766,4 +587758,4 @@ async function main2() {
|
|
|
587766
587758
|
}
|
|
587767
587759
|
main2();
|
|
587768
587760
|
|
|
587769
|
-
//# debugId=
|
|
587761
|
+
//# debugId=BCBBAE4846FEE42064756E2164756E21
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duheso/zerocli",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Zero CLI to any LLM
|
|
3
|
+
"version": "1.1.10",
|
|
4
|
+
"description": "Zero CLI to any LLM — OpenAI, Gemini, DeepSeek, Ollama, and 200+ models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"zero": "bin/zero"
|
|
@@ -171,4 +171,4 @@
|
|
|
171
171
|
"overrides": {
|
|
172
172
|
"lodash-es": "4.18.1"
|
|
173
173
|
}
|
|
174
|
-
}
|
|
174
|
+
}
|