pi-link 0.1.15-beta.0 → 0.1.15
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 +32 -10
- package/README.md +32 -7
- package/index.ts +2 -2
- package/package.json +9 -6
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,25 @@ This changelog is based on the git history from `2026-03-21` (initial commit) th
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## 0.1.15
|
|
9
|
+
## 0.1.15 — 2026-05-18
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Stable release for the 0.1.15 cycle, promoted after beta soak.
|
|
12
|
+
|
|
13
|
+
### Install note for Pi 0.75+
|
|
14
|
+
|
|
15
|
+
Pi 0.75 installs Pi packages under `~/.pi/agent/npm/`, so `pi install npm:pi-link` still enables the in-Pi extension features (`/link*`, tools, `--link`) but no longer puts the `pi-link` shell launcher on PATH.
|
|
16
|
+
|
|
17
|
+
If you use `pi-link <name>` from your shell, also install the launcher globally:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm i -g pi-link
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Users who only use pi-link inside Pi do not need this extra step. Background: [pi-mono#4587](https://github.com/earendil-works/pi-mono/issues/4587).
|
|
24
|
+
|
|
25
|
+
### Breaking
|
|
26
|
+
|
|
27
|
+
- **Pi 0.74+ is now required.** pi-link now uses the `@earendil-works/*` Pi package namespace. Users on Pi ≤0.73 should pin `pi-link@0.1.14`.
|
|
12
28
|
|
|
13
29
|
### Added
|
|
14
30
|
|
|
@@ -22,21 +38,21 @@ Beta release for the 0.1.15 cycle. Install with `npm i -g pi-link@beta` for soak
|
|
|
22
38
|
|
|
23
39
|
### Changed
|
|
24
40
|
|
|
41
|
+
- **Removed Pi peer dependencies from `package.json`.** Pi provides its own extension APIs at load time; declaring them as npm peers caused unnecessary install warnings and duplicate package installs. `ws` remains the only runtime dependency.
|
|
25
42
|
- **`pi-link --resolve <missing-name>` now exits with code `2`** (was `0`). Single match still exits `0`; ambiguous still exits `1`; not found is now distinguishable from success in scripts. The legacy `pi-link resolve <missing-name>` form gets the same fix.
|
|
26
43
|
- **`pi-link <name> <extra-positional>` now errors** instead of silently passing the extra to Pi as a prompt. Catches typos like `pi-link resolv foo`. Tokens that follow a flag without `=` are still accepted as that flag's value (e.g. `pi-link worker --model opus` works). Use `--` to pass bare positionals through unchanged: `pi-link worker -- some-arg`.
|
|
27
44
|
- **`pi-link foo --help` now errors** with "cannot combine session name and --help" instead of silently passing `--help` to Pi. Run `pi --help` for Pi's own help.
|
|
45
|
+
- **Published tarball trimmed to 7 files.** Explicit `files` allowlist so internal planning artifacts and the test harness no longer ship to npm.
|
|
28
46
|
|
|
29
47
|
### Deprecated
|
|
30
48
|
|
|
31
|
-
- **`pi-link list` and `pi-link resolve` subcommands.** Use `--list` / `--resolve` instead. Subcommands still work for one release with a stderr deprecation warning, then will be removed.
|
|
49
|
+
- **`pi-link list` and `pi-link resolve` subcommands.** Use `--list` / `--resolve` instead. Subcommands still work for one release with a stderr deprecation warning, then will be removed.
|
|
32
50
|
|
|
33
|
-
###
|
|
34
|
-
|
|
35
|
-
- **Pi-bundled imports now declared as peer dependencies.** `package.json` adds `@mariozechner/pi-coding-agent`, `@mariozechner/pi-tui`, and `typebox` as `peerDependencies` with `"*"` ranges, matching Pi's `docs/packages.md` convention for packages that import Pi-bundled modules. Previously only `ws` was declared, so consumers whose toolchain didn't auto-resolve modules through Pi's loader (e.g. some Docker setups) hit `ERR_MODULE_NOT_FOUND` on `typebox`. With modern npm/pnpm, peer deps auto-install alongside the package; older toolchains may need explicit `npm install`.
|
|
51
|
+
### Migration from 0.1.14
|
|
36
52
|
|
|
37
|
-
|
|
53
|
+
Existing launcher aliases keep working for this release, but deprecated `list` / `resolve` subcommands now print a stderr warning.
|
|
38
54
|
|
|
39
|
-
|
|
55
|
+
One behavior change may affect scripts: `pi-link resolve <missing>` now exits `2` instead of `0`, so callers that trusted exit `0` to mean "found" should update their handling.
|
|
40
56
|
|
|
41
57
|
To silence the deprecation warning, switch to the flag form:
|
|
42
58
|
|
|
@@ -48,9 +64,15 @@ To silence the deprecation warning, switch to the flag form:
|
|
|
48
64
|
| `pi-link resolve foo -g` | `pi-link --resolve foo -g` |
|
|
49
65
|
| `pi-link resolve --global foo` | `pi-link --resolve foo --global` (order matters in canonical form) |
|
|
50
66
|
|
|
51
|
-
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 0.1.15-beta.0 — 2026-05-17 _(pulled — do not install)_
|
|
70
|
+
|
|
71
|
+
Initial 0.1.15 beta, superseded by `0.1.15`.
|
|
72
|
+
|
|
73
|
+
**Issue:** peer dependencies still pointed at the old `@mariozechner/*` namespace, causing npm to install deprecated Pi 0.73 packages on Pi 0.74+ systems.
|
|
52
74
|
|
|
53
|
-
|
|
75
|
+
**Resolution:** stable `0.1.15` uses the `@earendil-works/*` runtime imports and removes Pi npm peer dependencies.
|
|
54
76
|
|
|
55
77
|
---
|
|
56
78
|
|
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ A single Pi terminal is powerful. Multiple terminals working together unlock new
|
|
|
36
36
|
|
|
37
37
|
## Prerequisites
|
|
38
38
|
|
|
39
|
-
- [Pi coding agent](https://github.com/badlogic/pi-mono)
|
|
39
|
+
- [Pi coding agent](https://github.com/badlogic/pi-mono), version **0.74 or later** (for pi-link 0.1.15+). On Pi ≤0.73, pin `pi-link@0.1.14`.
|
|
40
40
|
- Node.js (LTS recommended)
|
|
41
41
|
|
|
42
42
|
---
|
|
@@ -45,14 +45,37 @@ A single Pi terminal is powerful. Multiple terminals working together unlock new
|
|
|
45
45
|
|
|
46
46
|
### Install
|
|
47
47
|
|
|
48
|
+
The minimum install — enables every in-Pi feature (`/link`, `link_send`, `link_prompt`, `/link-connect`, `--link` flag, auto-resume, all LLM tools):
|
|
49
|
+
|
|
48
50
|
```bash
|
|
49
51
|
pi install npm:pi-link
|
|
50
52
|
```
|
|
51
53
|
|
|
54
|
+
That's it. For most users this is all you need.
|
|
55
|
+
|
|
56
|
+
#### Optional: shell launcher
|
|
57
|
+
|
|
58
|
+
If you also want the `pi-link <name>` shell command to start named sessions from a terminal prompt (e.g. `pi-link builder` in one window, `pi-link reviewer` in another), install the CLI globally as well:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm i -g pi-link
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Or install both in one line:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pi install npm:pi-link && npm i -g pi-link
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The shell launcher is convenience-only — you can always reach the same functionality from inside Pi via `/link-connect <name>` and `/link-name <name>`.
|
|
71
|
+
|
|
72
|
+
> **Why two installs?** Pi 0.75 installs Pi packages into a private npm root (`~/.pi/agent/npm/`) for safer permission handling ([pi-mono#4587](https://github.com/earendil-works/pi-mono/issues/4587)). That's where the Pi extension lives, but it means the `pi-link` shell command is no longer on system PATH. `npm i -g pi-link` puts it on PATH separately. Both installs are safe to use together.
|
|
73
|
+
|
|
52
74
|
### Uninstall
|
|
53
75
|
|
|
54
76
|
```bash
|
|
55
|
-
pi uninstall npm:pi-link
|
|
77
|
+
pi uninstall npm:pi-link # Remove Pi extension
|
|
78
|
+
npm uninstall -g pi-link # Remove CLI launcher (if you installed it)
|
|
56
79
|
```
|
|
57
80
|
|
|
58
81
|
### Usage
|
|
@@ -431,11 +454,13 @@ When the hub goes down and a client promotes itself, terminal names and in-fligh
|
|
|
431
454
|
|
|
432
455
|
### Provided by Pi (no install needed)
|
|
433
456
|
|
|
434
|
-
| Package
|
|
435
|
-
|
|
|
436
|
-
| `@
|
|
437
|
-
| `@
|
|
438
|
-
| `typebox`
|
|
457
|
+
| Package | Purpose |
|
|
458
|
+
| --------------------------------- | ------------------------------------------------ |
|
|
459
|
+
| `@earendil-works/pi-coding-agent` | Pi SDK types (ExtensionAPI, ExtensionContext) |
|
|
460
|
+
| `@earendil-works/pi-tui` | TUI Text widget for custom message rendering |
|
|
461
|
+
| `typebox` | JSON Schema type definitions for tool parameters |
|
|
462
|
+
|
|
463
|
+
> **Pi version requirement:** pi-link 0.1.15+ requires Pi 0.74 or later (the `@earendil-works/*` namespace). Users on Pi 0.73 or earlier should pin `pi-link@0.1.14`.
|
|
439
464
|
|
|
440
465
|
### `package.json`
|
|
441
466
|
|
package/index.ts
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
import type {
|
|
14
14
|
ExtensionAPI,
|
|
15
15
|
ExtensionContext,
|
|
16
|
-
} from "@
|
|
17
|
-
import { Text } from "@
|
|
16
|
+
} from "@earendil-works/pi-coding-agent";
|
|
17
|
+
import { Text } from "@earendil-works/pi-tui";
|
|
18
18
|
import { Type } from "typebox";
|
|
19
19
|
import * as crypto from "node:crypto";
|
|
20
20
|
import * as os from "node:os";
|
package/package.json
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-link",
|
|
3
|
-
"version": "0.1.15
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "WebSocket-based inter-terminal communication for Pi. Connect multiple Pi terminals over a local link network.",
|
|
5
5
|
"author": "alvivar",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"bin": {
|
|
8
8
|
"pi-link": "bin/pi-link.mjs"
|
|
9
9
|
},
|
|
10
|
+
"files": [
|
|
11
|
+
"bin",
|
|
12
|
+
"skills",
|
|
13
|
+
"index.ts",
|
|
14
|
+
"README.md",
|
|
15
|
+
"CHANGELOG.md",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
10
18
|
"repository": {
|
|
11
19
|
"type": "git",
|
|
12
20
|
"url": "git+https://github.com/alvivar/pi-link.git"
|
|
@@ -22,11 +30,6 @@
|
|
|
22
30
|
"dependencies": {
|
|
23
31
|
"ws": "^8.20.0"
|
|
24
32
|
},
|
|
25
|
-
"peerDependencies": {
|
|
26
|
-
"@mariozechner/pi-coding-agent": "*",
|
|
27
|
-
"@mariozechner/pi-tui": "*",
|
|
28
|
-
"typebox": "*"
|
|
29
|
-
},
|
|
30
33
|
"devDependencies": {
|
|
31
34
|
"@types/ws": "^8.18.1"
|
|
32
35
|
},
|