dsh-click 0.1.0 → 0.1.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/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.1.1] - 2026-08-16
9
+
10
+ ### Fixed
11
+
12
+ - PowerShell helper rewritten as BOM-prefixed ASCII so Windows PowerShell 5.1 parses it on every system codepage (Windows CI matrix).
13
+ - `pnpm-workspace.yaml` now declares `allowBuilds` for esbuild, node-pty, and dsh-subprocess-local — clean installs no longer fail with `ERR_PNPM_IGNORED_BUILDS`.
14
+
15
+ ### Docs
16
+
17
+ - Install sections in all five READMEs document the `allowBuilds` snippet for `ERR_PNPM_IGNORED_BUILDS`.
18
+
8
19
  ## [0.1.0] - 2026-08-16
9
20
 
10
21
  ### Added
package/README.es.md CHANGED
@@ -80,6 +80,8 @@ Luego pídele al agente que mire una ventana y actúe — el aviso de aprobació
80
80
  - **Canal tarball**: `pnpm pack` en este repositorio y luego `dsh plugin --profile web add ./dsh-click-<version>.tgz`.
81
81
  - **Desinstalar**: `dsh plugin --profile web remove dsh-click` (o elimina la fila del parche del perfil).
82
82
 
83
+ > Si pnpm informa `ERR_PNPM_IGNORED_BUILDS` para este paquete (la validación inofensiva del binario de plataforma de esbuild), añade `allowBuilds: { esbuild: true }` a tu `pnpm-workspace.yaml` — el CLI `dsh` imprime el fragmento exacto.
84
+
83
85
  ## Configuración
84
86
 
85
87
  Todos los ajustes son campos `Config` de Schemastery (modificables desde cordis.yml). Una sobrescritura dirigida por id reemplaza toda la fila — vuelve a declarar cada clave que necesites. `cordis.patch.yml` documenta cada clave en línea.
package/README.hi.md CHANGED
@@ -80,6 +80,8 @@ dsh --profile web --dump-config | grep -A2 'id: dsh-click'
80
80
  - **tarball चैनल**: इस रेपो में `pnpm pack`, फिर `dsh plugin --profile web add ./dsh-click-<version>.tgz`।
81
81
  - **अनइंस्टॉल**: `dsh plugin --profile web remove dsh-click` (या प्रोफ़ाइल पैच से पंक्ति हटाएँ)।
82
82
 
83
+ > यदि pnpm इस पैकेज के लिए `ERR_PNPM_IGNORED_BUILDS` दिखाता है (esbuild का हानिरहित प्लेटफ़ॉर्म-बाइनरी सत्यापन), तो अपने `pnpm-workspace.yaml` में `allowBuilds: { esbuild: true }` जोड़ें — `dsh` CLI सटीक स्निपेट प्रिंट करता है।
84
+
83
85
  ## कॉन्फ़िगरेशन
84
86
 
85
87
  सभी समायोजन Schemastery `Config` फ़ील्ड हैं (cordis.yml से बदले जा सकते हैं)। id-लक्षित ओवरराइड पूरी पंक्ति बदल देता है — ज़रूरत की हर कुंजी फिर से लिखें। `cordis.patch.yml` हर कुंजी को इनलाइन समझाता है।
package/README.md CHANGED
@@ -80,6 +80,8 @@ Then ask the agent to look at a window and act — the approval prompt appears f
80
80
  - **tarball channel**: `pnpm pack` in this repo, then `dsh plugin --profile web add ./dsh-click-<version>.tgz`.
81
81
  - **uninstall**: `dsh plugin --profile web remove dsh-click` (or remove the row from the profile patch).
82
82
 
83
+ > If pnpm reports `ERR_PNPM_IGNORED_BUILDS` for this package (esbuild's harmless platform-binary validation), add `allowBuilds: { esbuild: true }` to your `pnpm-workspace.yaml` — the `dsh` CLI prints the exact snippet.
84
+
83
85
  ## Configuration
84
86
 
85
87
  All tunables are Schemastery `Config` fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. `cordis.patch.yml` documents each key inline.
package/README.pt.md CHANGED
@@ -80,6 +80,8 @@ Depois peça ao agente para olhar uma janela e agir — o aviso de aprovação a
80
80
  - **Canal tarball**: `pnpm pack` neste repositório e então `dsh plugin --profile web add ./dsh-click-<version>.tgz`.
81
81
  - **Desinstalar**: `dsh plugin --profile web remove dsh-click` (ou remova a linha do patch do perfil).
82
82
 
83
+ > Se o pnpm reportar `ERR_PNPM_IGNORED_BUILDS` para este pacote (a validação inofensiva do binário de plataforma do esbuild), adicione `allowBuilds: { esbuild: true }` ao seu `pnpm-workspace.yaml` — o CLI `dsh` imprime o trecho exato.
84
+
83
85
  ## Configuração
84
86
 
85
87
  Todos os ajustes são campos `Config` do Schemastery (alteráveis pelo cordis.yml). Uma sobrescrita direcionada por id substitui a linha inteira — redeclare cada chave que precisar. O `cordis.patch.yml` documenta cada chave em linha.
package/README.zh.md CHANGED
@@ -80,6 +80,8 @@ dsh --profile web --dump-config | grep -A2 'id: dsh-click'
80
80
  - **tarball 通道**:在本仓库执行 `pnpm pack`,然后 `dsh plugin --profile web add ./dsh-click-<version>.tgz`。
81
81
  - **卸载**:`dsh plugin --profile web remove dsh-click`(或从 profile patch 中删除该行)。
82
82
 
83
+ > 如果 pnpm 对本包报 `ERR_PNPM_IGNORED_BUILDS`(esbuild 的平台二进制无害校验),在你的 `pnpm-workspace.yaml` 中加入 `allowBuilds: { esbuild: true }` —— `dsh` CLI 会打印确切片段。
84
+
83
85
  ## 配置
84
86
 
85
87
  所有可调项都是 Schemastery `Config` 字段(可在 cordis.yml 中修改)。按 id 定向覆盖会替换整行 —— 需要重新声明每个键。`cordis.patch.yml` 内联说明了每个键。
package/lib/index.js CHANGED
@@ -533,7 +533,7 @@ var ObservationStore = class {
533
533
  * @module dsh-click/version
534
534
  */
535
535
  /** Plugin version advertised in the helper-protocol handshake. */
536
- const VERSION = "0.1.0";
536
+ const VERSION = "0.1.1";
537
537
  /** The helper protocol revision; bump only on incompatible wire changes. */
538
538
  const HELPER_PROTOCOL_VERSION = 1;
539
539
  //#endregion
@@ -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.1.0";
10
+ export declare const VERSION = "0.1.1";
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
@@ -1,4 +1,4 @@
1
- # dsh-click native helper (Windows PowerShell 5.1).
1
+ # dsh-click native helper (Windows PowerShell 5.1).
2
2
  #
3
3
  # One request = one process: JSON request on stdin, JSON response on stdout
4
4
  # (exit code 0 even for handled failures; the error envelope is the response).
@@ -7,7 +7,7 @@
7
7
  # `focusFallback` flag is explicitly true (config-gated, approval-gated).
8
8
  #
9
9
  # Operations: windows, apps, shot, tree, snapshot, click, type, scroll, key, launch.
10
- # The helper is NOT a security boundary by itself — the harness-side
10
+ # The helper is NOT a security boundary by itself - the harness-side
11
11
  # freshness check, approval gate, and process-identity check are. This file
12
12
  # only refuses to invent global input: actions address one window by handle.
13
13
 
@@ -111,7 +111,7 @@ function Write-DshError($code, $message) {
111
111
 
112
112
  function ConvertTo-DshJsonValue($value) {
113
113
  # PS 5.1 lacks -AsHashtable; round-trip through ConvertTo-Json/ConvertFrom-Json
114
- # is unnecessary here — property bags serialized directly.
114
+ # is unnecessary here - property bags serialized directly.
115
115
  return $value
116
116
  }
117
117
 
@@ -762,7 +762,7 @@ function Invoke-OpType($opArgs) {
762
762
  }
763
763
  return (Get-ActionOutcome $hwnd 'type' 'posted' $null 'typed via posted WM_CHAR (no value pattern on the element)')
764
764
  }
765
- throw "element '$($request.elementId)' exposes no value pattern and focusFallback is disabled — refusing to type into it"
765
+ throw "element '$($request.elementId)' exposes no value pattern and focusFallback is disabled - refusing to type into it"
766
766
  }
767
767
 
768
768
  function Invoke-OpScroll($opArgs) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-click",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Cross-platform native desktop control tools for DeepSeek Harness (Windows first): screen_shot, screen_read (accessibility tree + pixel description for text-only models), click/type/scroll/key, and app_list/app_launch — every mutating action gated by approval, never stealing foreground focus, with stale-observation rejection and process-identity checks",
5
5
  "repository": {
6
6
  "type": "git",