spi-agent-gui 0.1.3 → 0.1.5

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
@@ -4,6 +4,22 @@
4
4
 
5
5
  - macOS Apple Silicon/Intel candidates remain separate from public Linux releases. Developer ID signing and notarization are not configured.
6
6
 
7
+ ## 0.1.5
8
+
9
+ - Passive RPC diagnostics only on send failure, blocked busy submissions or manual checks; no periodic/focus/network-restoration polling. Retain exited tabs and recover saved history/drafts/outboxes without replaying unconfirmed work.
10
+ - Toggle terminal visibility without restarting the PTY; add Copy/Paste/Select all/Clear/Hide/Close context menus while keeping OSC 52 clipboard writes blocked.
11
+ - Manual and current-model AI session naming, preview before Save, synchronized directory/recent/tab labels and latest native metadata scanning. AI requests are bounded, use no tools and do not add chat entries.
12
+ - Confirmed history deletion through the system trash, with project-file/path/header safeguards and no permanent-delete fallback. Failed trash retains the exited tab and its pending input for recovery.
13
+ - Persist normal window position/size and maximized state; recover visible bounds after display changes. Add native installed-runtime and clean public-install coverage for the new controls.
14
+ - Linux x64/arm64 only. Save important drafts and fully quit the previous window before reopening; installed binaries do not hot-update an already-running GUI.
15
+
16
+ ## 0.1.4
17
+
18
+ - Fix new/history session startup when a desktop or already-running GUI has no usable Node on PATH (including stale nvm paths). Resolve compatible Node from PATH, adjacent/Pi-managed runtime locations or a bounded login-shell lookup, and prepend it only to the RPC child's environment without bypassing custom Pi launchers.
19
+ - Add Settings → Node.js path: browse/type, validate version/executable, save privately, clear to automatic. Changes apply to subsequently opened sessions without restarting existing sessions. Invalid/removed configured paths fail explicitly rather than silently falling back.
20
+ - Include exit code/signal and safe missing-Node/dependency classifications in startup errors; reject commands to already-exited children immediately. Do not put arbitrary extension stderr/credentials into IPC errors or pass RPC tokens to login/version probes.
21
+ - Reproduce the old 0.1.3 generic failure in an actual packaged GUI with no desktop Node, then test new sessions, private loopback replies, saved history reopening, manual fallback, persistence/restart, stale-path rejection and clearing to automatic. Run this new regression on both native Linux targets and clean public install tests.
22
+
7
23
  ## 0.1.3
8
24
 
9
25
  - Show live runtime download percentage, transferred/total MiB and average speed every 10 seconds, followed by checksum/extraction/completion phases. Interactive npm lifecycle progress uses only its own controlling terminal when npm buffers script output; headless callers use stderr.
package/README.md CHANGED
@@ -6,6 +6,10 @@ The npm package name is `spi-agent-gui`. Install with `pi install npm:spi-agent-
6
6
 
7
7
  Runtime downloads show percentage, received/total MiB and average speed every 10 seconds, including when interactive npm buffers its postinstall output. A healthy slow transfer has a one-hour overall budget, with a separate 60-second inactivity limit and up to three validated Range/If-Range attempts. The complete archive size/SHA-256 is always verified; prior runtime selection is preserved on failure. `SPI_DOWNLOAD_TIMEOUT_SECONDS` accepts 60–21600 seconds. Resume applies within one install, not across processes; no permanent cache is implied. Headless log capture can use `npm_config_foreground_scripts=true` for that command.
8
8
 
9
+ If sessions cannot start because desktop PATH differs from your terminal, sPi detects compatible Node from PATH, Pi-managed runtime or login shell. Settings → Node.js runtime also accepts an optional absolute Node executable path, checked before private saving; clear it for automatic lookup. It applies to new/reopened sessions without restarting existing ones or changing Pi/shell configuration.
10
+
11
+ Desktop 0.1.5 adds passive send-triggered RPC checks and explicit recovery, terminal visibility and clipboard context menus, manual/current-model AI session names, confirmed history trash and restored window placement/maximization. AI names are suggestions to review before saving; they incur a normal model request but run no tools and do not add chat entries. Recovery keeps the outbox paused and never blindly replays work. Save important drafts and fully quit the old GUI before reopening; installation does not hot-update a running window. [Feature details](https://github.com/DiamondGo/spi/blob/main/docs/desktop-interactions.md).
12
+
9
13
  `spi --help`, `spi doctor`, `spi update`, `spi rollback`, `spi uninstall`. Use `--bin-dir` if Pi's PATH directory is not writable or another spi command exists. No shell profile is edited. User preferences and Pi sessions survive uninstall. `pi remove` removes this package, not the independently installed desktop runtime.
10
14
 
11
15
  The installer requires Node.js 22.19+; the installed command can use its private Electron runtime's Node mode. Supported platforms are only those present in the verified Release manifest. Unsigned Windows/macOS binaries may trigger OS warnings; do not disable OS protections. Linux needs a glibc desktop environment.
package/dist/spi.cjs CHANGED
@@ -11,7 +11,7 @@ var __commonJS = (cb, mod) => function __require() {
11
11
  var define_SPI_RELEASE_default;
12
12
  var init_define_SPI_RELEASE = __esm({
13
13
  "<define:__SPI_RELEASE__>"() {
14
- define_SPI_RELEASE_default = { version: "0.1.3", repository: "DiamondGo/spi", packageName: "spi-agent-gui" };
14
+ define_SPI_RELEASE_default = { version: "0.1.5", repository: "DiamondGo/spi", packageName: "spi-agent-gui" };
15
15
  }
16
16
  });
17
17
 
@@ -4871,7 +4871,7 @@ var require_package = __commonJS({
4871
4871
  "package.json"(exports2, module2) {
4872
4872
  module2.exports = {
4873
4873
  name: "spi",
4874
- version: "0.1.3",
4874
+ version: "0.1.5",
4875
4875
  description: "sPi - Simple Pi Agent GUI",
4876
4876
  private: true,
4877
4877
  license: "UNLICENSED",
@@ -4898,8 +4898,12 @@ var require_package = __commonJS({
4898
4898
  "test:installer": "node scripts/download.test.cjs && node scripts/installer.test.cjs",
4899
4899
  "test:distribution": "node scripts/with-display.cjs scripts/distribution.test.cjs",
4900
4900
  typecheck: "tsc --noEmit -p tsconfig.node.json && tsc --noEmit -p tsconfig.web.json",
4901
- "test:launch": "node scripts/launch.test.cjs",
4901
+ "test:launch": "node scripts/launch.test.cjs && node scripts/pi-session.test.cjs",
4902
4902
  "test:sessions": "node scripts/sessions.test.cjs",
4903
+ "test:session-health": "node scripts/session-health.test.cjs",
4904
+ "test:workspace-actions": "node scripts/workspace-actions.test.cjs",
4905
+ "test:session-actions-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --session-actions",
4906
+ "test:session-health-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --session-health",
4903
4907
  "test:terminal": "node scripts/terminal.test.cjs",
4904
4908
  "test:terminal-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --terminal",
4905
4909
  "test:settings": "node scripts/settings.test.cjs",
@@ -4907,6 +4911,7 @@ var require_package = __commonJS({
4907
4911
  "test:yolo": "node scripts/yolo.test.cjs && node scripts/session-bridge.test.cjs",
4908
4912
  "test:extension-ui": "node scripts/extension-ui.test.cjs",
4909
4913
  "test:workspace-ui": "node scripts/workspace-ui.test.cjs",
4914
+ "test:runtime-env-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --runtime-env",
4910
4915
  "test:workspace-ui-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --workspace-ui",
4911
4916
  "test:extension-ui-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --extension-ui",
4912
4917
  "test:yolo-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --yolo",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spi-agent-gui",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "sPi - Simple Pi Agent GUI installer and Pi launcher",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",