@puddle-code/cli 0.0.13 → 0.0.14
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 +45 -6
- package/README.md +4 -4
- package/dist/index.js +446 -166
- package/dist/public/assets/{Dashboard-T4hbzT6P.js → Dashboard-Ct5exI8s.js} +1 -1
- package/dist/public/assets/{EditorTabClose-DxU5M-9J.js → EditorTabClose-BhFjRoCZ.js} +1 -1
- package/dist/public/assets/{LazyTerminal-Dpk5-lcY.js → LazyTerminal-B0xYs2ul.js} +2 -2
- package/dist/public/assets/{ModelRefcount-BGB1nvG5.js → ModelRefcount-BY5Ul0p3.js} +1 -1
- package/dist/public/assets/{PaneEditorBody-DX0u3ISF.js → PaneEditorBody-DLMtDiov.js} +1 -1
- package/dist/public/assets/{SettingsDialog-58D8eQOa.js → SettingsDialog-WhQXNCmS.js} +1 -1
- package/dist/public/assets/{Terminal-DlXSwAG0.js → Terminal-DA8zjtmU.js} +1 -1
- package/dist/public/assets/{Workspace-B_eXJKAN.js → Workspace-B0FDl771.js} +2 -2
- package/dist/public/assets/{buffer-store-zsL8CNKc.js → buffer-store-BHJ82Nh3.js} +2 -2
- package/dist/public/assets/{context-menu-C8MwVsBG.js → context-menu--H5GoapF.js} +1 -1
- package/dist/public/assets/{cssMode-Dzho6NMm.js → cssMode-Ctq00nXG.js} +1 -1
- package/dist/public/assets/{htmlMode-pj_l07tD.js → htmlMode-pYCLPiZ_.js} +1 -1
- package/dist/public/assets/index-CjgsCY-C.css +2 -0
- package/dist/public/assets/{index-oAv85qtL.js → index-RvCLpi9M.js} +4 -4
- package/dist/public/assets/{jsonMode-Dx2T0LuI.js → jsonMode-Ch5UticT.js} +1 -1
- package/dist/public/assets/{session-seed-C8M00YNU.js → session-seed-DBxHPYBK.js} +1 -1
- package/dist/public/assets/ssh-mode-eNTVum_C.js +1 -0
- package/dist/public/assets/{tsMode-DXWeq4NK.js → tsMode-CeXrzlPn.js} +1 -1
- package/dist/public/index.html +3 -3
- package/package.json +1 -1
- package/dist/public/assets/index-DK5CyY2G.css +0 -2
- package/dist/public/assets/ssh-mode-BdHO6hP9.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,14 +7,53 @@ Past releases: see docs/changelogs/.
|
|
|
7
7
|
|
|
8
8
|
# Changelog
|
|
9
9
|
|
|
10
|
-
## [0.0.
|
|
10
|
+
## [0.0.14] — 2026-07-28
|
|
11
11
|
|
|
12
|
-
###
|
|
12
|
+
### Added
|
|
13
13
|
|
|
14
|
-
- Desktop
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
- Desktop self-update, no code signing required: the app polls GitHub
|
|
15
|
+
releases, downloads and SHA256SUMS-verifies the new build into
|
|
16
|
+
`~/.puddle/cache/desktop/`, and offers a "Restart to update" banner; a
|
|
17
|
+
detached helper swaps the install after quit and relaunches (SPEC §10 —
|
|
18
|
+
the CLI-style alternative to Squirrel, which refuses unsigned bundles).
|
|
19
|
+
The helper strips `com.apple.quarantine` from the swapped bundle as
|
|
20
|
+
defence in depth, and a Linux AppImage updates in place at `$APPIMAGE`,
|
|
21
|
+
wherever the user keeps it.
|
|
22
|
+
- `puddle upgrade` now names its subject: `puddle upgrade daemon [user@host]`
|
|
23
|
+
(the previous behaviour), `puddle upgrade cli` (npm under the hood), and
|
|
24
|
+
`puddle upgrade desktop` (the app's update pipeline, run while the app is
|
|
25
|
+
closed). `cli`/`desktop` refuse remote targets — only the daemon lives on
|
|
26
|
+
remote hosts.
|
|
17
27
|
|
|
18
28
|
### Fixed
|
|
19
29
|
|
|
20
|
-
-
|
|
30
|
+
- Battery: the file explorer no longer pins a CPU core for as long as it is
|
|
31
|
+
mounted. Its query-cache subscription reacted to *observer* events — which
|
|
32
|
+
fire during React renders themselves — so every workspace window sat in a
|
|
33
|
+
permanent render → cache-event → re-render loop (the "Puddle is using
|
|
34
|
+
significant energy" report). The subscription now only reacts to query-state
|
|
35
|
+
events (data landing, cache add/remove). Measured on an idle workspace
|
|
36
|
+
(file tree + attached terminal): 83–112% CPU per window before, 0–1.2%
|
|
37
|
+
after; whole app now idles at ~1–2% of one core total, below macOS's
|
|
38
|
+
significant-energy threshold. Full write-up with methodology in
|
|
39
|
+
`docs/reports/2026-07-28-explorer-render-loop.md`.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- `puddle start` and `puddle connect` are unified into
|
|
44
|
+
`puddle launch [local | user@host]` — no target means local, and every flag
|
|
45
|
+
from both verbs (`--port`, `--prefer-port`, `--remote-port`, `--no-browser`,
|
|
46
|
+
`--no-upgrade`, `--tarball`, `--foreground`) rides along. The old verbs
|
|
47
|
+
error with the exact replacement.
|
|
48
|
+
- Desktop: new windows no longer default to local. Launching the app, ⌘N,
|
|
49
|
+
Window → New Window, and the macOS dock icon's right-click New Window all
|
|
50
|
+
open a host picker — "This machine" on top, then recent hosts, then
|
|
51
|
+
"Other SSH host…" — and nothing connects until you pick.
|
|
52
|
+
- Desktop: recent hosts moved from the app's userData dir to
|
|
53
|
+
`~/.puddle/recent-hosts.json` (migrated automatically), so they survive
|
|
54
|
+
app updates and reinstalls.
|
|
55
|
+
- Desktop (macOS): the merged title bar is a little slimmer (44 → 40px, traffic
|
|
56
|
+
lights re-centred), so the workspace chrome sits closer to the lights.
|
|
57
|
+
|
|
58
|
+
- Light theme: exited/idle status dots are neutral grey instead of warm bark brown (matching the 2026-07-16 muted-text re-grey; dark theme was already grey).
|
|
59
|
+
- Desktop (macOS): more breathing room between the traffic lights and the host name in the merged title bar.
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Puddle is an open-source, multi-account coding agent orchestrator with first-class SSH support and a lightweight GUI. With a single command,
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
puddle
|
|
9
|
+
puddle launch <user>@<host>
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Puddle manages parallel agents anywhere you SSH into, insulates agents in dedicated worktrees, and keeps your agents alive across disconnects and restarts.
|
|
@@ -22,7 +22,7 @@ npm install -g @puddle-code/cli
|
|
|
22
22
|
**To launch agents on a remote host:**
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
|
-
puddle
|
|
25
|
+
puddle launch <user>@<host>
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
This connects Puddle to the remote host over SSH, bootstrapping the Puddle daemon on first contact and enabling you to begin development.
|
|
@@ -32,7 +32,7 @@ Puddle works using your system `ssh`, so `~/.ssh/config`, agents, and jump hosts
|
|
|
32
32
|
**For development on your own machine:**
|
|
33
33
|
|
|
34
34
|
```sh
|
|
35
|
-
puddle
|
|
35
|
+
puddle launch
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
This installs the Puddle daemon under `~/.puddle` and serves the GUI at `http://localhost:7433`.
|
|
@@ -106,7 +106,7 @@ systemctl --user disable --now puddled # Linux (systemd user unit)
|
|
|
106
106
|
kill "$(cat ~/.puddle/puddled.pid)" # nohup fallback (no supervisor)
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
**Restore the production daemon.** When you're done testing, put the release build back over your dev one: stop the daemon (above), clear the installed binaries with `rm -rf ~/.puddle/bin` (your `~/.puddle` state — profiles, sessions, worktrees — is untouched), then run the production `puddle
|
|
109
|
+
**Restore the production daemon.** When you're done testing, put the release build back over your dev one: stop the daemon (above), clear the installed binaries with `rm -rf ~/.puddle/bin` (your `~/.puddle` state — profiles, sessions, worktrees — is untouched), then run the production `puddle launch`, which refetches the daemon from GitHub Releases. (Clearing `bin` is what forces the refetch: the installer skips a version whose files are already present, so a dev build sharing the release's version number would otherwise stay put.)
|
|
110
110
|
|
|
111
111
|
**Uninstall.** Removing the CLI alone leaves the daemon installed and running — a full teardown stops the daemon, then removes its state, its service file, and the production CLI:
|
|
112
112
|
|