spi-agent-gui 0.1.5 → 0.2.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 +12 -0
- package/README.md +3 -1
- package/dist/spi.cjs +15 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@
|
|
|
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.2.1
|
|
8
|
+
|
|
9
|
+
- Configurable single-use pairing code lifetime: default 1 hour, up to 60 days (1440 hours), with host-side validation and an explicit expiry display. Codes remain in-memory and are invalidated on quit, remote-access disable, cancellation or replacement; paired devices are unaffected.
|
|
10
|
+
- Fix macOS packaging of rebuilt websocket native addons before signing. Apple Silicon and Intel manual downloads require native build and installed-ZIP verification; ad-hoc signed, not Developer ID signed or notarized. Existing public assets remain unchanged.
|
|
11
|
+
|
|
12
|
+
## 0.2.0
|
|
13
|
+
|
|
14
|
+
- Remote access: open a window on one sPi desktop that drives another sPi host behind NAT/firewalls, relayed through Microsoft Dev Tunnels and end-to-end encrypted by sPi with Noise. One-time pairing codes, pinned keys, device revocation, reconnect with resync and automatic tunnel recreation. Requires the GitHub CLI signed in to the same account on both computers; local use never needs it. A paired device has full control of the host's sPi. Linux keyring required; macOS/Windows unverified.
|
|
15
|
+
- AI naming works on reasoning models that reject `reasoning: none`; failures show allowlisted categories only.
|
|
16
|
+
- Healthy sessions no longer show the connection banner; stale unresponsive state clears on real Pi progress; model and connection errors are shown once and separately.
|
|
17
|
+
- Linux x64/arm64 only. Save important drafts and fully quit the previous window before reopening.
|
|
18
|
+
|
|
7
19
|
## 0.1.5
|
|
8
20
|
|
|
9
21
|
- 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.
|
package/README.md
CHANGED
|
@@ -8,7 +8,9 @@ Runtime downloads show percentage, received/total MiB and average speed every 10
|
|
|
8
8
|
|
|
9
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
10
|
|
|
11
|
-
Desktop 0.
|
|
11
|
+
Desktop 0.2.0 adds optional end-to-end encrypted remote access: a window on one computer can drive sPi on another, relayed through Microsoft Dev Tunnels. It requires the GitHub CLI (`gh`) signed in to the same GitHub account on both computers; local use never needs `gh`. A paired device has full control of the host's sPi, including terminals. [Remote access](https://github.com/DiamondGo/spi/blob/main/docs/remote-access.md).
|
|
12
|
+
|
|
13
|
+
Desktop 0.1.5 added 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
14
|
|
|
13
15
|
`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.
|
|
14
16
|
|
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
|
|
14
|
+
define_SPI_RELEASE_default = { version: "0.2.1", 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
|
|
4874
|
+
version: "0.2.1",
|
|
4875
4875
|
description: "sPi - Simple Pi Agent GUI",
|
|
4876
4876
|
private: true,
|
|
4877
4877
|
license: "UNLICENSED",
|
|
@@ -4902,13 +4902,17 @@ var require_package = __commonJS({
|
|
|
4902
4902
|
"test:sessions": "node scripts/sessions.test.cjs",
|
|
4903
4903
|
"test:session-health": "node scripts/session-health.test.cjs",
|
|
4904
4904
|
"test:workspace-actions": "node scripts/workspace-actions.test.cjs",
|
|
4905
|
+
"test:ai-naming": "node scripts/ai-naming.test.cjs",
|
|
4905
4906
|
"test:session-actions-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --session-actions",
|
|
4906
4907
|
"test:session-health-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --session-health",
|
|
4907
4908
|
"test:terminal": "node scripts/terminal.test.cjs",
|
|
4909
|
+
"test:remote": "node scripts/remote.test.cjs",
|
|
4910
|
+
"test:remote-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --remote",
|
|
4911
|
+
"test:remote-live": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --remote --live",
|
|
4908
4912
|
"test:terminal-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --terminal",
|
|
4909
4913
|
"test:settings": "node scripts/settings.test.cjs",
|
|
4910
4914
|
"test:settings-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --settings",
|
|
4911
|
-
"test:yolo": "node scripts/yolo.test.cjs && node scripts/session-bridge.test.cjs",
|
|
4915
|
+
"test:yolo": "node scripts/yolo.test.cjs && node scripts/session-bridge.test.cjs && node scripts/ai-naming.test.cjs",
|
|
4912
4916
|
"test:extension-ui": "node scripts/extension-ui.test.cjs",
|
|
4913
4917
|
"test:workspace-ui": "node scripts/workspace-ui.test.cjs",
|
|
4914
4918
|
"test:runtime-env-smoke": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --runtime-env",
|
|
@@ -4919,6 +4923,14 @@ var require_package = __commonJS({
|
|
|
4919
4923
|
"test:advanced": "electron-vite build && node scripts/with-display.cjs scripts/smoke.cjs --advanced"
|
|
4920
4924
|
},
|
|
4921
4925
|
dependencies: {
|
|
4926
|
+
"@microsoft/dev-tunnels-connections": "1.3.62",
|
|
4927
|
+
"@microsoft/dev-tunnels-contracts": "1.3.62",
|
|
4928
|
+
"@microsoft/dev-tunnels-management": "1.3.62",
|
|
4929
|
+
"@microsoft/dev-tunnels-ssh": "3.12.42",
|
|
4930
|
+
"@microsoft/dev-tunnels-ssh-tcp": "3.12.42",
|
|
4931
|
+
"@noble/ciphers": "2.4.0",
|
|
4932
|
+
"@noble/curves": "2.4.0",
|
|
4933
|
+
"@noble/hashes": "2.4.0",
|
|
4922
4934
|
"@xterm/addon-fit": "^0.11.0",
|
|
4923
4935
|
"@xterm/xterm": "^6.0.0",
|
|
4924
4936
|
"node-pty": "^1.1.0",
|