@openlatch/client 0.4.0 → 0.5.2

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 (2) hide show
  1. package/README.md +14 -4
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -37,7 +37,14 @@ codex # … and the other one, under the same policy on t
37
37
 
38
38
  `openlatch status` shows what is captured and enforced on this host. The [dashboard](https://app.openlatch.ai) shows the events and the verdicts. Full walkthrough: [Getting started](https://openlatch.ai/docs/getting-started/).
39
39
 
40
- The installer runs on Node.js. macOS, Windows and Linux are supported.
40
+ `npx` needs Node.js. On a machine without it, use the script for your platform — no runtime required. macOS, Windows and Linux are supported.
41
+
42
+ ```bash
43
+ # macOS, Linux
44
+ curl -LsSf https://openlatch.ai/install.sh | sh
45
+ # Windows
46
+ powershell -ExecutionPolicy Bypass -c "irm https://openlatch.ai/install.ps1 | iex"
47
+ ```
41
48
 
42
49
  ## How it works
43
50
 
@@ -80,7 +87,7 @@ Each rule runs in Monitor (record the match, allow the action) or Enforce (apply
80
87
 
81
88
  ## Supported agents
82
89
 
83
- **Two agents are wired end-to-end: [Claude Code](https://claude.ai/code) and [OpenAI Codex CLI](https://developers.openai.com/codex/cli).** `init` detects every agent on the host and wires **all** of them — coverage is the default, and `--agent <type>` is how you opt one out. `doctor`, `status` and `uninstall` each report and tear down every agent they find.
90
+ **Three agents are wired end-to-end: [Claude Code](https://claude.ai/code), [OpenAI Codex CLI](https://developers.openai.com/codex/cli) and [Cline](https://cline.bot).** `init` detects every agent on the host and wires **all** of them — coverage is the default, and `--agent <type>` is how you opt one out. `doctor`, `status` and `uninstall` each report and tear down every agent they find.
84
91
 
85
92
  Coverage is stated per agent **and per plane**. An unqualified "Enforced" would round an enforced command plane and an observe-only request plane back up to green, and that is the one arithmetic this table refuses.
86
93
 
@@ -89,12 +96,15 @@ Coverage is stated per agent **and per plane**. An unqualified "Enforced" would
89
96
  | **Claude Code** | any | **Enforced** | Observed *(runtime-checked)* | **Enforced** *(command plane)* |
90
97
  | **Codex CLI** | managed (MDM / system / cloud) | **Enforced**, and **not disableable by the developer** | Observed *(runtime-checked)* | **Enforced** *(command plane)* |
91
98
  | **Codex CLI** | self-serve (`npx init`) | **Monitored** until `/hooks` trust; **Enforced** after | Observed *(runtime-checked)* | Monitored → Enforced |
92
- | Cursor · Windsurf · GitHub Copilot · Gemini CLI · Cline · OpenClaw | — | Not wired | Not wired | Known |
99
+ | **Cline** | any | **Monitored**; **Enforced** where Cline loads the OpenLatch plugin | Observed per provider, from the editor's next start *(runtime-checked)* | Monitored → Enforced |
100
+ | Cursor · Windsurf · GitHub Copilot · Gemini CLI · OpenClaw | — | Not wired | Not wired | Known |
93
101
 
94
102
  **The vocabulary is closed.** *Enforced* — the verdict reaches the agent and is obeyed. *Monitored* — the integration is installed and events flow, but a verdict cannot yet be delivered, so nothing is prevented. *Observed* — capture and would-have measurement only, by design for this phase. *Known* — identified and classified, with the limits stated.
95
103
 
96
104
  **Why Codex has two rows.** A user-level Codex hook is *marked for review and skipped until trusted*, so a fresh self-serve install is Monitored — not Enforced — until you run `/hooks` in Codex and trust the OpenLatch hook. Any re-install that changes the hook command re-arms that review. On the managed path the hook is trusted by policy and cannot be switched off by the developer, which is a stronger claim than we can make on Claude Code. `openlatch doctor` proves the hook by **invoking** it rather than by observing that a file exists, and reports the trust state per agent — an untrusted hook is never spawned, and that is the one failure that looks identical to working from the outside.
97
105
 
106
+ **Why Cline's request plane starts later.** Cline keeps a base URL per provider and the running editor holds the one it read at start, so OpenLatch gives each configured provider its own loopback endpoint and VS Code uses it from its next start. Providers Cline reaches through no setting, and Amazon Bedrock, are reported as not covered — see [docs/configuration.md](docs/configuration.md#cline--one-relay-endpoint-per-provider).
107
+
98
108
  Making an agent **Enforced** is a hook binding plus a verdict translator. Both are contributions we welcome — see [Contributing](#contributing).
99
109
 
100
110
  ## Behind a corporate proxy
@@ -138,7 +148,7 @@ Pick a [good first issue](https://github.com/OpenLatch/openlatch-client/labels/g
138
148
  ## Security
139
149
 
140
150
  - Report vulnerabilities to **security@openlatch.ai**; private vulnerability reporting is enabled on this repository
141
- - Releases are built with SLSA provenance via GitHub Actions
151
+ - Every release binary carries a minisign signature, which the client verifies before it updates itself; macOS and Linux binaries also carry Sigstore signatures. What is and is not signed: [SECURITY.md](SECURITY.md)
142
152
  - Full policy: [SECURITY.md](SECURITY.md)
143
153
 
144
154
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openlatch/client",
3
- "version": "0.4.0",
3
+ "version": "0.5.2",
4
4
  "description": "OpenLatch runtime enforcement node — the capture-and-enforce adapter that evaluates every covered action against a coding agent's Autonomy Zone before it runs",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -20,10 +20,10 @@
20
20
  "postinstall": "node lib/postinstall.js"
21
21
  },
22
22
  "optionalDependencies": {
23
- "@openlatch/client-darwin-arm64": "0.4.0",
24
- "@openlatch/client-darwin-x64": "0.4.0",
25
- "@openlatch/client-linux-x64": "0.4.0",
26
- "@openlatch/client-linux-arm64": "0.4.0",
27
- "@openlatch/client-win32-x64": "0.4.0"
23
+ "@openlatch/client-darwin-arm64": "0.5.2",
24
+ "@openlatch/client-darwin-x64": "0.5.2",
25
+ "@openlatch/client-linux-x64": "0.5.2",
26
+ "@openlatch/client-linux-arm64": "0.5.2",
27
+ "@openlatch/client-win32-x64": "0.5.2"
28
28
  }
29
29
  }