@damn-dev/cli 0.19.2 → 0.19.4

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
@@ -5,10 +5,13 @@ Self-hosted workspace OS for human + AI agent collaboration.
5
5
  ## Install
6
6
 
7
7
  ```sh
8
- npm install -g @damn-dev/cli
8
+ pnpm add -g @damn-dev/cli
9
9
  ```
10
10
 
11
- This installs the `damn-dev` command. Requires **Node.js 18+**.
11
+ This installs the `damn-dev` command. Requires **Node.js 22+**. Install with
12
+ **pnpm**, not npm — a native dependency (`impit`, pulled in by browser-builtin)
13
+ ships an `only-allow pnpm` guard that fails npm-based installs. If you don't have
14
+ pnpm, `corepack enable pnpm` (bundled with Node 22) provides it.
12
15
 
13
16
  You will also need **OpenClaw** (the agent runtime):
14
17
 
@@ -62,7 +65,7 @@ From the CLI:
62
65
 
63
66
  ```sh
64
67
  damn-dev stop
65
- npm install -g @damn-dev/cli@latest
68
+ pnpm add -g @damn-dev/cli@latest
66
69
  damn-dev start
67
70
  ```
68
71
 
@@ -53,7 +53,7 @@ function run(args) {
53
53
  if (!fs.existsSync(BACKEND_ENTRY)) {
54
54
  console.error(`[damn.dev] Bundled backend not found at ${BACKEND_ENTRY}.`)
55
55
  console.error('[damn.dev] This usually means the package was installed from a broken tarball.')
56
- console.error('[damn.dev] Try: npm install -g @damn-dev/cli@latest')
56
+ console.error('[damn.dev] Try: pnpm add -g @damn-dev/cli@latest')
57
57
  process.exit(1)
58
58
  }
59
59
  if (!fs.existsSync(PRISMA_SCHEMA)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@damn-dev/cli",
3
- "version": "0.19.2",
3
+ "version": "0.19.4",
4
4
  "description": "damn.dev — self-hosted workspace OS for human + AI agent collaboration.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://damn.dev",
@@ -275,6 +275,36 @@ When `Settings → Workspace → Test Mode` is ON:
275
275
  When the user turns Test Mode off, the `## Testing Mode` section is cleanly
276
276
  removed from every agent's `AGENTS.md`.
277
277
 
278
+ ## Oversight (Trace · Policy · Pending)
279
+
280
+ The operator/CISO governance surface, at the **Oversight** icon in the sidebar
281
+ (a speedometer/gauge). One page, three tabs:
282
+
283
+ - **Pending** — the live approval queue (what needs a human decision now). Filter
284
+ by agent. This replaces the old standalone "Approvals" panel.
285
+ - **Trace** — the immutable, tamper-evident **audit log**: every meaningful action
286
+ recorded with who/what/when. Captures agent work (shell commands), approval
287
+ decisions, and **configuration changes** (agent created/edited/deleted, abilities
288
+ enabled/disabled, policy changes) — config changes are flagged as the **drift
289
+ signal**. Filter by category or by agent; export as NDJSON for an auditor; an
290
+ integrity badge confirms the chain hasn't been tampered with. It is the system
291
+ of record — "what are the agents set up to do, what did they actually do, and
292
+ what changed."
293
+ - **Policy** — the CISO-configurable governance policy (what employees and their
294
+ agents may do): which actions employees can self-approve vs. escalate,
295
+ capabilities (shell/browsing/external messaging), keep-sensitive-data-on-local-
296
+ models, visibility, budgets, agent lifecycle. Pick a template (Regulated /
297
+ Standard / Open) and tune. Granular auto-approve rules live here too.
298
+
299
+ **Who sees what.** Oversight is visible to everyone but role-scoped: **operators**
300
+ (owner/admin) see the whole workspace, edit policy, export, and verify; **daily
301
+ users** (members) see *their own* activity in Trace and a *read-only* Policy. The
302
+ boundary is enforced server-side, not just hidden in the UI.
303
+
304
+ When the user asks "what did my agents do?", "did anything change/drift?", "who
305
+ approved X?", or "what are employees allowed to do?", point them to **Oversight**.
306
+ This is damn.dev's enterprise governance layer and a core differentiator.
307
+
278
308
  ## Skills
279
309
  Three sources:
280
310
  - **ClawHub** — community marketplace. Browse and install from the Skills page.
@@ -938,9 +968,11 @@ on another machine, point them at the right one:
938
968
  - **Docker** (recommended for most users) — `curl -fsSL install.damn.dev/docker | bash`.
939
969
  Native backend + Dockerized OpenClaw. Works on macOS, Linux. Auto-updates
940
970
  via in-app banner.
941
- - **npm** (devs who have Node 18+) — `curl -fsSL install.damn.dev/npm | bash` or
942
- `npm install -g @damn-dev/cli` then `damn-dev start`. `@damn-dev/cli` is the
943
- canonical npm package; the binary is `damn-dev`. Auto-updates via in-app banner.
971
+ - **npm** (devs who have Node 22+) — `curl -fsSL install.damn.dev/npm | bash` or,
972
+ manually, `pnpm add -g @damn-dev/cli` then `damn-dev start`. Install with **pnpm**,
973
+ not npm: a native dependency (`impit`, via browser-builtin) ships an `only-allow
974
+ pnpm` guard that fails npm-based installs. `@damn-dev/cli` is the canonical
975
+ package; the binary is `damn-dev`. Auto-updates via in-app banner.
944
976
  - **Tauri desktop app** — download the DMG (macOS) / deb / rpm from
945
977
  https://github.com/LethoDeter/damn-dev-install/releases/latest. Native app
946
978
  with system tray, in-app updater polls for new releases automatically.
@@ -977,8 +1009,9 @@ the rest is automatic.
977
1009
  as the network heals.
978
1010
  - **Per-step failure messages.** When an update fails, the banner shows WHICH
979
1011
  step failed (e.g. `Step 'compose-pull' failed: <stderr>`). Common diagnoses:
980
- - `npm-install-cli` failure → user's npm prefix likely needs sudo (Mac default
981
- `/usr/local`); they should `npm config set prefix ~/.npm-global` once.
1012
+ - `pnpm-install-cli` failure → pnpm/corepack couldn't install the CLI. Confirm
1013
+ `corepack` is available (it ships with Node 22; `corepack enable` if not) and
1014
+ that pnpm's global bin dir is on PATH.
982
1015
  - `compose-pull` failure → Docker daemon unreachable or network timeout. Have
983
1016
  them confirm `docker info` works.
984
1017
  - `compose-up` failure → port conflict or compose syntax issue. `docker