dsh-click 0.3.27 → 0.3.29
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/CHANGELOG.md +21 -2
- package/README.en.md +450 -0
- package/README.es.md +450 -0
- package/README.hi.md +450 -0
- package/README.md +268 -191
- package/README.pt.md +450 -0
- package/lib/index.js +68 -20
- package/lib/types/platform/runner.d.ts +2 -2
- package/lib/types/platform/runner.d.ts.map +1 -1
- package/lib/types/platform/types.d.ts +38 -3
- package/lib/types/platform/types.d.ts.map +1 -1
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/version.d.ts +1 -1
- package/native/win32/dsh-click-helper.ps1 +420 -79
- package/package.json +1 -1
- package/README-es.md +0 -377
- package/README-hi.md +0 -377
- package/README-pt.md +0 -377
- package/README-zh.md +0 -377
package/lib/index.js
CHANGED
|
@@ -623,7 +623,7 @@ var ObservationStore = class {
|
|
|
623
623
|
* @module dsh-click/version
|
|
624
624
|
*/
|
|
625
625
|
/** Plugin version advertised in the helper-protocol handshake. */
|
|
626
|
-
const VERSION = "0.3.
|
|
626
|
+
const VERSION = "0.3.29";
|
|
627
627
|
/** The helper protocol revision; bump only on incompatible wire changes. */
|
|
628
628
|
const HELPER_PROTOCOL_VERSION = 1;
|
|
629
629
|
//#endregion
|
|
@@ -668,12 +668,16 @@ function expectWindow(value, op) {
|
|
|
668
668
|
const processId = typeof processIdRaw === "number" ? processIdRaw : null;
|
|
669
669
|
const executablePath = record["executablePath"];
|
|
670
670
|
if (executablePath !== null && typeof executablePath !== "string") throw new DshClickError(`helper "${op}" returned malformed executablePath`, "BAD_HELPER_RESPONSE");
|
|
671
|
+
const minimized = record["minimized"] === true;
|
|
672
|
+
const rectValue = record["rect"];
|
|
673
|
+
if (rectValue !== null && minimized) throw new DshClickError(`helper "${op}" returned a rect for a minimized window`, "BAD_HELPER_RESPONSE");
|
|
671
674
|
return {
|
|
672
675
|
windowId: expectNumber(record, "windowId", op),
|
|
673
676
|
processId,
|
|
674
677
|
title: expectString(record, "title", op),
|
|
675
678
|
className: expectString(record, "className", op),
|
|
676
|
-
rect: expectRect(
|
|
679
|
+
rect: rectValue === null ? null : expectRect(rectValue, op),
|
|
680
|
+
minimized,
|
|
677
681
|
executablePath,
|
|
678
682
|
visible: record["visible"] !== false
|
|
679
683
|
};
|
|
@@ -696,6 +700,18 @@ function expectSnapshot(value, op) {
|
|
|
696
700
|
elementCount: expectNumber(record, "elementCount", op)
|
|
697
701
|
};
|
|
698
702
|
}
|
|
703
|
+
/** Validate the helper's capture-path report. */
|
|
704
|
+
function expectCaptureMethod(record, op) {
|
|
705
|
+
const value = expectString(record, "captureMethod", op);
|
|
706
|
+
if (value !== "printwindow-fullcontent" && value !== "printwindow" && value !== "copyfromscreen") throw new DshClickError(`helper "${op}" returned an unknown captureMethod`, "BAD_HELPER_RESPONSE");
|
|
707
|
+
return value;
|
|
708
|
+
}
|
|
709
|
+
/** Validate the helper's capture-scope report. */
|
|
710
|
+
function expectCaptureScope(record, op) {
|
|
711
|
+
const value = expectString(record, "scope", op);
|
|
712
|
+
if (value !== "window" && value !== "primary" && value !== "virtual") throw new DshClickError(`helper "${op}" returned an unknown scope`, "BAD_HELPER_RESPONSE");
|
|
713
|
+
return value;
|
|
714
|
+
}
|
|
699
715
|
/** Validate one helper element record. */
|
|
700
716
|
function expectElement(value, op) {
|
|
701
717
|
const record = expectRecordValue(value, op);
|
|
@@ -820,10 +836,11 @@ var HelperBackend = class {
|
|
|
820
836
|
if (!Array.isArray(result)) throw new DshClickError("helper \"windows\" returned a non-array result", "BAD_HELPER_RESPONSE");
|
|
821
837
|
return result.map((item) => expectWindow(item, "windows"));
|
|
822
838
|
}
|
|
823
|
-
async shot(ref, maxSide, signal) {
|
|
839
|
+
async shot(ref, maxSide, scope, signal) {
|
|
824
840
|
const record = expectRecordValue(await this.invoke("shot", {
|
|
825
841
|
target: ref,
|
|
826
842
|
maxSide,
|
|
843
|
+
scope,
|
|
827
844
|
maxElements: this.config.maxElements,
|
|
828
845
|
maxDepth: this.config.maxTreeDepth
|
|
829
846
|
}, signal), "shot");
|
|
@@ -831,6 +848,8 @@ var HelperBackend = class {
|
|
|
831
848
|
pngBase64: expectString(record, "pngBase64", "shot"),
|
|
832
849
|
width: expectNumber(record, "width", "shot"),
|
|
833
850
|
height: expectNumber(record, "height", "shot"),
|
|
851
|
+
captureMethod: expectCaptureMethod(record, "shot"),
|
|
852
|
+
scope: expectCaptureScope(record, "shot"),
|
|
834
853
|
snapshot: expectSnapshot(record["snapshot"], "shot")
|
|
835
854
|
};
|
|
836
855
|
}
|
|
@@ -1251,7 +1270,8 @@ function observedWindowInfo(info, maxTextLength) {
|
|
|
1251
1270
|
processId: info.processId,
|
|
1252
1271
|
title: sanitizeVisible(info.title, maxTextLength),
|
|
1253
1272
|
className: sanitizeVisible(info.className, maxTextLength),
|
|
1254
|
-
rect: info.rect,
|
|
1273
|
+
rect: info.rect === null ? null : { ...info.rect },
|
|
1274
|
+
minimized: info.minimized,
|
|
1255
1275
|
executablePath: info.executablePath === null ? null : sanitizePath(info.executablePath, maxTextLength),
|
|
1256
1276
|
visible: info.visible
|
|
1257
1277
|
};
|
|
@@ -1279,8 +1299,8 @@ function backendGuard(services) {
|
|
|
1279
1299
|
if (!services.backend.available) throw new Error(`dsh-click backend unavailable on ${services.backend.platform}: ${services.backend.unavailableReason ?? "unknown reason"}`);
|
|
1280
1300
|
}
|
|
1281
1301
|
/** Plain-text fallback description for a captured screenshot. */
|
|
1282
|
-
function shotDescription(window, width, height) {
|
|
1283
|
-
return `${width}x${height}
|
|
1302
|
+
function shotDescription(window, width, height, captureMethod) {
|
|
1303
|
+
return `${width}x${height} bitmap via ${captureMethod} of ${windowLine(window)}; the bitmap is downscaled to the requested longest side, while the window rectangle is ${window.rect.width}x${window.rect.height} physical pixels (snapshot.rect) - map screen coordinates with rect.width/width. Run screen_read on the same window for the structured element list and pixel positions.`;
|
|
1284
1304
|
}
|
|
1285
1305
|
/**
|
|
1286
1306
|
* `screen_shot` — capture the addressed window (or the primary screen).
|
|
@@ -1295,11 +1315,11 @@ function screenShotTool(services) {
|
|
|
1295
1315
|
const { ctx, config, backend, observations } = services;
|
|
1296
1316
|
return defineTool({
|
|
1297
1317
|
name: "screen_shot",
|
|
1298
|
-
description: "Capture a screenshot of a desktop window
|
|
1318
|
+
description: "Capture a screenshot of a desktop window, or of the primary screen when no target is given (a target-less shot never captures the foreground window). Window captures ask the window to paint itself with PrintWindow(PW_RENDERFULLCONTENT) first, so they are independent of other windows stacked on top; captureMethod reports which path produced the pixels. Returns an observationId that later actions cite in `basedOn`. When the current model accepts images the result includes the image; otherwise it includes a text description. Read-only: never needs approval.",
|
|
1299
1319
|
parameters: {
|
|
1300
1320
|
target: {
|
|
1301
1321
|
type: "object",
|
|
1302
|
-
description: "Which window to capture (windowId, windowTitle, or processId); omitted = the
|
|
1322
|
+
description: "Which window to capture (windowId, windowTitle, or processId); omitted = the primary screen.",
|
|
1303
1323
|
properties: {
|
|
1304
1324
|
windowId: {
|
|
1305
1325
|
type: "integer",
|
|
@@ -1316,9 +1336,14 @@ function screenShotTool(services) {
|
|
|
1316
1336
|
},
|
|
1317
1337
|
additionalProperties: false
|
|
1318
1338
|
},
|
|
1339
|
+
scope: {
|
|
1340
|
+
type: "string",
|
|
1341
|
+
enum: ["primary", "virtual"],
|
|
1342
|
+
description: "Only used without a target: capture the primary screen (default) or the whole virtual desktop (experimental - multi-monitor and negative-origin geometry are not fully verified)."
|
|
1343
|
+
},
|
|
1319
1344
|
maxSide: {
|
|
1320
1345
|
type: "integer",
|
|
1321
|
-
description: "Longest side
|
|
1346
|
+
description: "Longest side of the bitmap; larger captures are downscaled (the window rectangle in snapshot.rect stays in physical pixels)."
|
|
1322
1347
|
}
|
|
1323
1348
|
},
|
|
1324
1349
|
output: {
|
|
@@ -1364,6 +1389,22 @@ function screenShotTool(services) {
|
|
|
1364
1389
|
},
|
|
1365
1390
|
additionalProperties: false
|
|
1366
1391
|
},
|
|
1392
|
+
captureMethod: {
|
|
1393
|
+
type: "string",
|
|
1394
|
+
enum: [
|
|
1395
|
+
"printwindow-fullcontent",
|
|
1396
|
+
"printwindow",
|
|
1397
|
+
"copyfromscreen"
|
|
1398
|
+
]
|
|
1399
|
+
},
|
|
1400
|
+
scope: {
|
|
1401
|
+
type: "string",
|
|
1402
|
+
enum: [
|
|
1403
|
+
"window",
|
|
1404
|
+
"primary",
|
|
1405
|
+
"virtual"
|
|
1406
|
+
]
|
|
1407
|
+
},
|
|
1367
1408
|
description: { type: "string" }
|
|
1368
1409
|
},
|
|
1369
1410
|
additionalProperties: false
|
|
@@ -1384,13 +1425,14 @@ function screenShotTool(services) {
|
|
|
1384
1425
|
timeoutMs: config.helperTimeoutMs + 15e3,
|
|
1385
1426
|
async execute(args, exec) {
|
|
1386
1427
|
backendGuard(services);
|
|
1387
|
-
const
|
|
1388
|
-
const
|
|
1428
|
+
const parsed = args;
|
|
1429
|
+
const target = parsed.target ?? {};
|
|
1430
|
+
const requestedSide = parsed.maxSide;
|
|
1389
1431
|
const maxSide = requestedSide === void 0 ? config.maxScreenshotSide : Math.min(requestedSide, config.maxScreenshotSide);
|
|
1390
|
-
const shot = await backend.shot(target, maxSide, exec.signal);
|
|
1432
|
+
const shot = await backend.shot(target, maxSide, parsed.scope ?? "primary", exec.signal);
|
|
1391
1433
|
const sanitized = observedWindow(shot.snapshot, config.maxTextLength);
|
|
1392
1434
|
const record = observations.record(shot.snapshot);
|
|
1393
|
-
const description = shotDescription(sanitized, shot.width, shot.height);
|
|
1435
|
+
const description = shotDescription(sanitized, shot.width, shot.height, shot.captureMethod);
|
|
1394
1436
|
let image;
|
|
1395
1437
|
const attachments = ctx.get("attachments");
|
|
1396
1438
|
if (config.imageMode !== "text" && attachments !== void 0 && await sessionAcceptsImages(exec.agent, ctx, exec.signal)) try {
|
|
@@ -1422,6 +1464,8 @@ function screenShotTool(services) {
|
|
|
1422
1464
|
observationId: record.id,
|
|
1423
1465
|
window: sanitized,
|
|
1424
1466
|
...image !== void 0 ? { image } : {},
|
|
1467
|
+
captureMethod: shot.captureMethod,
|
|
1468
|
+
scope: shot.scope,
|
|
1425
1469
|
description
|
|
1426
1470
|
};
|
|
1427
1471
|
}
|
|
@@ -1603,7 +1647,7 @@ function screenFindTool(services) {
|
|
|
1603
1647
|
parameters: {
|
|
1604
1648
|
target: {
|
|
1605
1649
|
type: "object",
|
|
1606
|
-
description: "Which window to search (windowId, windowTitle, or processId); omitted = the foreground window.",
|
|
1650
|
+
description: "Which window to search (windowId, windowTitle, or processId); omitted = the primary screen (a target-less capture never uses the foreground window).",
|
|
1607
1651
|
properties: {
|
|
1608
1652
|
windowId: {
|
|
1609
1653
|
type: "integer",
|
|
@@ -1626,7 +1670,7 @@ function screenFindTool(services) {
|
|
|
1626
1670
|
},
|
|
1627
1671
|
maxSide: {
|
|
1628
1672
|
type: "integer",
|
|
1629
|
-
description: "Longest side
|
|
1673
|
+
description: "Longest side of the bitmap; larger captures are downscaled (coordinates returned are still screen pixels)."
|
|
1630
1674
|
}
|
|
1631
1675
|
},
|
|
1632
1676
|
output: {
|
|
@@ -1705,7 +1749,7 @@ function screenFindTool(services) {
|
|
|
1705
1749
|
const parsed = args;
|
|
1706
1750
|
const requestedSide = parsed.maxSide;
|
|
1707
1751
|
const maxSide = requestedSide === void 0 ? config.maxScreenshotSide : Math.min(requestedSide, config.maxScreenshotSide);
|
|
1708
|
-
const shot = await backend.shot(parsed.target ?? {}, maxSide, exec.signal);
|
|
1752
|
+
const shot = await backend.shot(parsed.target ?? {}, maxSide, "primary", exec.signal);
|
|
1709
1753
|
const sanitized = observedWindow(shot.snapshot, config.maxTextLength);
|
|
1710
1754
|
const record = observations.record(shot.snapshot);
|
|
1711
1755
|
const targets = [];
|
|
@@ -2095,7 +2139,7 @@ function appListTool(services) {
|
|
|
2095
2139
|
const { config, backend } = services;
|
|
2096
2140
|
return defineTool({
|
|
2097
2141
|
name: "app_list",
|
|
2098
|
-
description: "List running desktop applications and their visible windows (windowId, title, process id, executable path). Read-only: never needs approval. Use the returned windowIds as screen_shot/screen_read targets.",
|
|
2142
|
+
description: "List running desktop applications and their visible windows (windowId, title, process id, executable path). Read-only: never needs approval. Use the returned windowIds as screen_shot/screen_read targets. Minimized windows are listed with minimized: true and no rect (Windows reports a -32000 placeholder while iconified); restore them before capturing.",
|
|
2099
2143
|
parameters: {},
|
|
2100
2144
|
output: {
|
|
2101
2145
|
schema: {
|
|
@@ -2122,7 +2166,7 @@ function appListTool(services) {
|
|
|
2122
2166
|
processId: { oneOf: [{ type: "integer" }, { type: "null" }] },
|
|
2123
2167
|
title: { type: "string" },
|
|
2124
2168
|
className: { type: "string" },
|
|
2125
|
-
rect: {
|
|
2169
|
+
rect: { oneOf: [{
|
|
2126
2170
|
type: "object",
|
|
2127
2171
|
properties: {
|
|
2128
2172
|
x: { type: "integer" },
|
|
@@ -2131,7 +2175,8 @@ function appListTool(services) {
|
|
|
2131
2175
|
height: { type: "integer" }
|
|
2132
2176
|
},
|
|
2133
2177
|
additionalProperties: false
|
|
2134
|
-
},
|
|
2178
|
+
}, { type: "null" }] },
|
|
2179
|
+
minimized: { type: "boolean" },
|
|
2135
2180
|
executablePath: { oneOf: [{ type: "string" }, { type: "null" }] },
|
|
2136
2181
|
visible: { type: "boolean" }
|
|
2137
2182
|
},
|
|
@@ -2150,7 +2195,10 @@ function appListTool(services) {
|
|
|
2150
2195
|
const lines = [`${result.apps.length} running application(s) with windows:`];
|
|
2151
2196
|
for (const app of result.apps) {
|
|
2152
2197
|
lines.push(`- ${app.name} (pid ${app.processId}, ${app.executablePath ?? "unknown executable"})`);
|
|
2153
|
-
for (const window of app.windows)
|
|
2198
|
+
for (const window of app.windows) {
|
|
2199
|
+
const where = window.minimized ? "minimized (no rect; screen_shot refuses it until restored)" : window.rect === null ? "no rect reported" : `at (${window.rect.x}, ${window.rect.y}) ${window.rect.width}x${window.rect.height}`;
|
|
2200
|
+
lines.push(` - [windowId ${window.windowId}] ${JSON.stringify(window.title)} ${where}`);
|
|
2201
|
+
}
|
|
2154
2202
|
}
|
|
2155
2203
|
return [{
|
|
2156
2204
|
type: "text",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { SubprocessRuntime } from '@deepseek-ai/dsh-subprocess';
|
|
12
12
|
import type { ResolvedConfig } from '../config.js';
|
|
13
|
-
import { type ActionOutcome, type AppInfo, type ClickRequest, type DesktopBackend, type KeyRequest, type LaunchOutcome, type Screenshot, type ScrollRequest, type Tree, type WindowInfo, type WindowRef, type WindowSnapshot, type TypeRequest } from './types.js';
|
|
13
|
+
import { type ActionOutcome, type AppInfo, type ClickRequest, type DesktopBackend, type KeyRequest, type LaunchOutcome, type Screenshot, type ScreenScope, type ScrollRequest, type Tree, type WindowInfo, type WindowRef, type WindowSnapshot, type TypeRequest } from './types.js';
|
|
14
14
|
/** The Windows helper backend over `ctx.subprocess`. */
|
|
15
15
|
export declare class HelperBackend implements DesktopBackend {
|
|
16
16
|
private readonly config;
|
|
@@ -27,7 +27,7 @@ export declare class HelperBackend implements DesktopBackend {
|
|
|
27
27
|
/** Resolve (and cache) the powershell executable through the subprocess seam. */
|
|
28
28
|
private resolvePowershell;
|
|
29
29
|
listWindows(signal?: AbortSignal): Promise<WindowInfo[]>;
|
|
30
|
-
shot(ref: WindowRef, maxSide: number, signal?: AbortSignal): Promise<Screenshot>;
|
|
30
|
+
shot(ref: WindowRef, maxSide: number, scope: ScreenScope, signal?: AbortSignal): Promise<Screenshot>;
|
|
31
31
|
tree(ref: WindowRef, maxElements: number, maxDepth: number, includePixels: boolean, signal?: AbortSignal): Promise<Tree>;
|
|
32
32
|
snapshot(windowId: number, signal?: AbortSignal): Promise<WindowSnapshot>;
|
|
33
33
|
click(request: ClickRequest, focusFallback: boolean, signal?: AbortSignal): Promise<ActionOutcome>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/platform/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/platform/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,OAAO,EAGZ,KAAK,YAAY,EACjB,KAAK,cAAc,EAInB,KAAK,UAAU,EACf,KAAK,aAAa,EAGlB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAuJnB,wDAAwD;AACxD,qBAAa,aAAc,YAAW,cAAc;IAShD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT7B,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAA6B;IAE/C,QAAQ,CAAC,SAAS,QAAO;IAEzB,mEAAmE;IACnE,uEAAuE;gBAEpD,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,iBAAiB;IAGhD,QAAQ,CAAC,QAAQ,WAAU;IAE3B,wEAAwE;YAC1D,MAAM;IAsDpB,iFAAiF;IACjF,OAAO,CAAC,iBAAiB;IAanB,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAMxD,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAmBpG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAexH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IASzE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAKlG,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAKhG,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAKpG,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9F,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoB9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAYlG"}
|
|
@@ -24,6 +24,20 @@ export interface WindowRef {
|
|
|
24
24
|
/** Owning process id. */
|
|
25
25
|
processId?: number;
|
|
26
26
|
}
|
|
27
|
+
/** Which screen region a target-less capture covers. */
|
|
28
|
+
export type ScreenScope = 'primary' | 'virtual';
|
|
29
|
+
/** What a capture actually covered: one window, the primary screen, or the virtual desktop. */
|
|
30
|
+
export type CaptureScope = 'window' | ScreenScope;
|
|
31
|
+
/**
|
|
32
|
+
* Which helper path produced the pixels.
|
|
33
|
+
*
|
|
34
|
+
* `printwindow-fullcontent` is `PrintWindow(hwnd, hdc, PW_RENDERFULLCONTENT)`:
|
|
35
|
+
* the window paints itself, so the image does not depend on what is stacked on
|
|
36
|
+
* top of it. `printwindow` is the legacy flag-0 call (some old windows only
|
|
37
|
+
* paint through it). `copyfromscreen` is the last-resort screen-region copy and
|
|
38
|
+
* is only correct while the window is unobscured.
|
|
39
|
+
*/
|
|
40
|
+
export type CaptureMethod = 'printwindow-fullcontent' | 'printwindow' | 'copyfromscreen';
|
|
27
41
|
/** Screen-space rectangle, integer pixel coordinates. */
|
|
28
42
|
export interface Rect {
|
|
29
43
|
x: number;
|
|
@@ -37,7 +51,14 @@ export interface WindowInfo {
|
|
|
37
51
|
processId: number | null;
|
|
38
52
|
title: string;
|
|
39
53
|
className: string;
|
|
40
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Physical screen rectangle, or `null` for a minimized window: Windows reports
|
|
56
|
+
* the `CW_USEDEFAULT` placeholder (`-32000,-32000 314x50`) while iconified,
|
|
57
|
+
* which must never reach coordinate math.
|
|
58
|
+
*/
|
|
59
|
+
rect: Rect | null;
|
|
60
|
+
/** True while the window is iconified (`IsIconic`); such a window cannot be captured. */
|
|
61
|
+
minimized: boolean;
|
|
41
62
|
executablePath: string | null;
|
|
42
63
|
visible: boolean;
|
|
43
64
|
}
|
|
@@ -90,8 +111,18 @@ export interface WindowSnapshot {
|
|
|
90
111
|
export interface Screenshot {
|
|
91
112
|
/** PNG bytes, base64-encoded. */
|
|
92
113
|
pngBase64: string;
|
|
114
|
+
/**
|
|
115
|
+
* Bitmap width after the `maxSide` downscale. This is NOT the window width:
|
|
116
|
+
* `snapshot.rect` always carries the physical window/screen rectangle, so a
|
|
117
|
+
* screen-to-bitmap mapping is `bitmapX = (screenX - rect.x) * width / rect.width`.
|
|
118
|
+
*/
|
|
93
119
|
width: number;
|
|
120
|
+
/** Bitmap height after the `maxSide` downscale (see {@link width}). */
|
|
94
121
|
height: number;
|
|
122
|
+
/** Which capture path produced the pixels. */
|
|
123
|
+
captureMethod: CaptureMethod;
|
|
124
|
+
/** What was captured. `virtual` is experimental (multi-monitor geometry untested). */
|
|
125
|
+
scope: CaptureScope;
|
|
95
126
|
snapshot: WindowSnapshot;
|
|
96
127
|
}
|
|
97
128
|
/** An accessibility tree read plus pixel hints. */
|
|
@@ -169,8 +200,12 @@ export interface DesktopBackend {
|
|
|
169
200
|
readonly unavailableReason?: string;
|
|
170
201
|
/** List every visible top-level window across running applications. */
|
|
171
202
|
listWindows(signal?: AbortSignal): Promise<WindowInfo[]>;
|
|
172
|
-
/**
|
|
173
|
-
|
|
203
|
+
/**
|
|
204
|
+
* Capture a screenshot of the addressed window, or of a screen region when
|
|
205
|
+
* the ref names no window (the helper never substitutes the foreground
|
|
206
|
+
* window here; the primary screen is the target-less default).
|
|
207
|
+
*/
|
|
208
|
+
shot(ref: WindowRef, maxSide: number, scope: ScreenScope, signal?: AbortSignal): Promise<Screenshot>;
|
|
174
209
|
/** Read the accessibility tree plus pixel hints of the addressed window. */
|
|
175
210
|
tree(ref: WindowRef, maxElements: number, maxDepth: number, includePixels: boolean, signal?: AbortSignal): Promise<Tree>;
|
|
176
211
|
/** Re-capture fresh identity + hashes for one window (the stale check). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,iFAAiF;AACjF,qBAAa,aAAc,SAAQ,KAAK;IAGT,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFlD,+DAA+D;IAC/D,4DAA4D;gBAChD,OAAO,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM;CAInD;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yDAAyD;AACzD,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,KAAK,EAAE,cAAc,EAA0B,IAAI,EAAyC,MAAM,qBAAqB,CAAA;AAE9H,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAA;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;CAC5C;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;CACpB;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,KAAK,EAAE,cAAc,EAA0B,IAAI,EAAyC,MAAM,qBAAqB,CAAA;AAE9H,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAA;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;CAC5C;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;CACpB;AA0FD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,mDAiJpD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,mDA+IpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,mDAsJpD;AAiED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,mDAoD/C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,mDAyC9C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,YAAY,mDA0ChD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,YAAY,mDAkC7C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,mDAuFjD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,mDAwCnD;AAED,oDAAoD;AACpD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,qDAY9C"}
|
package/lib/types/version.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module dsh-click/version
|
|
8
8
|
*/
|
|
9
9
|
/** Plugin version advertised in the helper-protocol handshake. */
|
|
10
|
-
export declare const VERSION = "0.3.
|
|
10
|
+
export declare const VERSION = "0.3.29";
|
|
11
11
|
/** The helper protocol revision; bump only on incompatible wire changes. */
|
|
12
12
|
export declare const HELPER_PROTOCOL_VERSION = 1;
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|