@pi-unipi/unipi 3.0.0 → 3.0.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 +20 -1
- package/README.md +10 -134
- package/package.json +23 -23
- package/packages/app-bridge/package.json +2 -2
- package/packages/ask-user/package.json +2 -2
- package/packages/autocomplete/package.json +1 -1
- package/packages/background-tasks/package.json +2 -2
- package/packages/btw/package.json +2 -2
- package/packages/compactor/package.json +3 -3
- package/packages/core/README.md +4 -1
- package/packages/core/index.ts +1 -0
- package/packages/core/package.json +1 -1
- package/packages/core/src/settings/snapshot.ts +247 -0
- package/packages/dream/package.json +2 -2
- package/packages/footer/package.json +3 -3
- package/packages/fusion/package.json +4 -4
- package/packages/info-screen/package.json +2 -2
- package/packages/input-shortcuts/package.json +2 -2
- package/packages/kanboard/package.json +7 -7
- package/packages/long-horizon/README.md +1 -3
- package/packages/long-horizon/index.ts +131 -27
- package/packages/long-horizon/package.json +2 -2
- package/packages/long-horizon/src/owner.ts +33 -1
- package/packages/long-horizon/src/session-state.ts +366 -0
- package/packages/long-horizon/src/tools/graph.ts +10 -6
- package/packages/mcp/package.json +2 -2
- package/packages/memory/package.json +3 -3
- package/packages/notify/package.json +2 -2
- package/packages/skill-registry/package.json +2 -2
- package/packages/subagents/package.json +3 -3
- package/packages/subagents/src/index.ts +29 -5
- package/packages/unipi/bundled.js +950 -464
- package/packages/unipi/index.ts +18 -1
- package/packages/updater/package.json +2 -2
- package/packages/utility/package.json +2 -2
- package/packages/watchdog/package.json +3 -3
- package/packages/web-api/package.json +2 -2
- package/packages/workflow/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,28 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [3.0.1] — 2026-11-02
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **A subagent profile created mid-turn works immediately.** The profile list was a snapshot taken at the start of each prompt, so an agent file written during a turn stayed invisible: `run_subagent` answered "Unknown profile" and graph work items naming it were refused. The next prompt — or `/reload` — was the only way to make it appear. The agent files are now re-read when a subagent starts and when the graph asks for the available profiles.
|
|
14
|
+
Do this: nothing.
|
|
15
|
+
- **A new session no longer adopts another session's goal, ralph loop, swarm or agent graph.** Long-horizon state is session-scoped now: `/new`, `/resume` of a different session, a new chat from the app and cron runs start clean instead of "repairing" (and re-running) the other session's in-flight work, waking and replying immediately. One run belongs to the session that started it. Resuming the session that started the run picks it up as before, and the first resume of the owning session picks up pre-3.0.1 runs (the old workspace-level files are adopted once, only when the session's own transcript proves it owned them). A new session in the same project gets a one-line note when another session holds a live graph — `/resume` it to follow it.
|
|
16
|
+
Do this: nothing. Old runs keep their state; resume the session that started them.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **pi publishes the settings catalog for the app's Settings → UniPi screen.** Every module's settings (defaults, types, scopes, enum options) are written to `~/.unipi/config/settings-schema.json` on mount and on each session start; the UniPi host serves them with the current config layers so the app can read and change pi's settings with no pi running. Secret values never leave the PC — the host reports only which keys are set.
|
|
21
|
+
Do this: update the app to 1.0.1 and start pi once after updating — the catalog is written on mount.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- **Graph and swarm show the profiles the model can pick.** `view_agent_graph` now lists `available_profiles`, and the orchestration prompts say that each work item's profile is a per-item choice (a read-only investigation uses `subagent_explore`, write-capable work uses `subagent_general` or a custom profile).
|
|
26
|
+
Do this: nothing.
|
|
27
|
+
|
|
9
28
|
## [3.0.0] — 2026-10-25
|
|
10
29
|
|
|
11
|
-
UniPi 3.0 is the first stable release of the 3.x line. It replaces 2.20.5 as npm `latest`. Upgrade guide: [docs/guide/upgrade-3.0.md](docs/guide/upgrade-3.0.md).
|
|
30
|
+
UniPi 3.0 is the first stable release of the 3.x line. It replaces 2.20.5 as npm `latest`. Upgrade guide: [docs/guide/upgrade-3.0.md](https://github.com/Neuron-Mr-White/unipi/blob/main/docs/guide/upgrade-3.0.md).
|
|
12
31
|
|
|
13
32
|
### Highlights
|
|
14
33
|
|
package/README.md
CHANGED
|
@@ -30,43 +30,15 @@
|
|
|
30
30
|
pi install npm:@pi-unipi/unipi
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
> **Coming from 2.x?** Read the [3.0 upgrade guide](docs/guide/upgrade-3.0.md).
|
|
35
|
-
> On a 3.0 alpha? The updater offers 3.0.0 at session start, or run
|
|
36
|
-
> `pi install npm:@pi-unipi/unipi` once to move off the `alpha` tag.
|
|
37
|
-
> The 2.x line stays on the [`v2` branch](https://github.com/Neuron-Mr-White/unipi/tree/v2#readme).
|
|
38
|
-
|
|
39
|
-
UniPi needs [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent)
|
|
40
|
-
`0.87.1` or later. This command installs 21 extension packages. Each package
|
|
41
|
-
also works alone.
|
|
42
|
-
|
|
43
|
-
> [!TIP]
|
|
44
|
-
> **Windows:** web reads use a native module that needs the Microsoft Visual
|
|
45
|
-
> C++ 2015-2022 runtime. Most Windows installs have it; slimmed images such as
|
|
46
|
-
> tiny11 do not. Without it UniPi still loads and web reads fall back to plain
|
|
47
|
-
> fetch. To install it, run
|
|
48
|
-
> `winget install Microsoft.VCRedist.2015+.x64` or download
|
|
49
|
-
> [vc_redist.x64.exe](https://aka.ms/vs/17/release/vc_redist.x64.exe).
|
|
50
|
-
> `/unipi:doctor` reports whether it is missing.
|
|
33
|
+
Needs [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) `0.87.1`+. Installs 21 packages; each also works alone. Coming from 2.x: [upgrade guide](docs/guide/upgrade-3.0.md).
|
|
51
34
|
|
|
52
35
|
<p align="center">
|
|
53
36
|
<img src="docs/assets/screenshots/simple-memory-glance.png" alt="A UniPi session in simple mode with memory recall, memory save and the glance footer">
|
|
54
37
|
</p>
|
|
55
38
|
|
|
56
|
-
This screenshot shows one turn in a demo session:
|
|
57
|
-
|
|
58
|
-
- **Simple mode** (the default) shows each tool call as one line.
|
|
59
|
-
- **Memory** finds the test setup from an earlier session and saves a new fact
|
|
60
|
-
for later sessions.
|
|
61
|
-
- **The glance footer** frames the input box. It shows the git branch, the
|
|
62
|
-
mode, the context use and the model. The strip below it shows tokens in and
|
|
63
|
-
out, cost, speed, turns, time and cache hits. It fits itself to the window:
|
|
64
|
-
on a narrow screen the less important parts drop out first.
|
|
65
|
-
|
|
66
39
|
## Why UniPi
|
|
67
40
|
|
|
68
|
-
|
|
69
|
-
runs commands. UniPi adds the parts that a long session needs.
|
|
41
|
+
UniPi adds what long Pi sessions need.
|
|
70
42
|
|
|
71
43
|
| UniPi gives you | How |
|
|
72
44
|
|---|---|
|
|
@@ -85,8 +57,7 @@ runs commands. UniPi adds the parts that a long session needs.
|
|
|
85
57
|
|
|
86
58
|
## Proof
|
|
87
59
|
|
|
88
|
-
|
|
89
|
-
come from the linked sources. They are not UniPi benchmarks.
|
|
60
|
+
Published results behind each feature (not UniPi benchmarks).
|
|
90
61
|
|
|
91
62
|
| Feature | Benchmark | Source |
|
|
92
63
|
|---|---|---|
|
|
@@ -99,31 +70,14 @@ come from the linked sources. They are not UniPi benchmarks.
|
|
|
99
70
|
| **Graph** | Up to 3.7× lower latency, 6.7× lower cost and about 9% higher accuracy than ReAct. | [LLMCompiler (ICML 2024)](https://arxiv.org/abs/2312.04511) |
|
|
100
71
|
| **Prefix cache** | Up to 90% lower cost and 85% lower latency for long prompts. | [Anthropic prompt caching](https://claude.com/blog/prompt-caching) · [Modular handbook](https://handbook.modular.com/inference-optimization/prefix-caching/) · [our cache study](docs/deepseek-cache-rate-research.md) |
|
|
101
72
|
|
|
102
|
-
Long work matters more each year. METR measured that the length of software
|
|
103
|
-
tasks that agents can finish doubles about every 7 months
|
|
104
|
-
([METR](https://metr.org/blog/2025-03-19-measuring-ai-ability-to-complete-long-tasks/)).
|
|
105
|
-
UniPi gives these longer runs memory, budgets and a verifier.
|
|
106
|
-
|
|
107
|
-
Two notes on the sources. OpenRouter's Fusion uses a panel of models and a
|
|
108
|
-
judge. UniPi Fusion uses a lead and a sidekick. The Ralph numbers are a
|
|
109
|
-
reported result, not a controlled benchmark.
|
|
110
|
-
|
|
111
|
-
The [architecture pages](docs/architecture/README.md) show how each mechanism
|
|
112
|
-
works in UniPi, with the limits from the source.
|
|
113
|
-
|
|
114
73
|
## Kanboard
|
|
115
74
|
|
|
116
|
-
|
|
117
|
-
board. The agent claims a task, works it, and sends it to review with a
|
|
118
|
-
summary. You approve it or send it back with a note.
|
|
75
|
+
A task board per project, shared by you and the agent. The agent claims a task, works it and sends it to review.
|
|
119
76
|
|
|
120
77
|
<p align="center">
|
|
121
78
|
<img src="docs/assets/screenshots/kanboard-dashboard.png" alt="Kanboard dashboard: tasks waiting on you, running agents, ready tasks and a 14-day throughput chart">
|
|
122
79
|
</p>
|
|
123
80
|
|
|
124
|
-
The dashboard shows what needs you across all projects. You can approve a
|
|
125
|
-
review or answer a blocked question in one click.
|
|
126
|
-
|
|
127
81
|
<p align="center">
|
|
128
82
|
<img src="docs/assets/screenshots/kanboard-board.png" alt="Kanboard board view with Backlog, Todo, In Progress, Blocked, In Review and Done lanes">
|
|
129
83
|
</p>
|
|
@@ -134,68 +88,20 @@ review or answer a blocked question in one click.
|
|
|
134
88
|
board writes.
|
|
135
89
|
- Run `/unipi:kanboard-autowork start` to let the agent work every ready task.
|
|
136
90
|
|
|
137
|
-
|
|
91
|
+
More: [Kanboard README](packages/kanboard/README.md).
|
|
138
92
|
|
|
139
93
|
## See your session: `/unipi:info`
|
|
140
94
|
|
|
141
|
-
|
|
142
|
-
ready, the session you came back to, and what you spent today. Then it goes
|
|
143
|
-
away. It does not take your keys, so you can type your first prompt at once.
|
|
144
|
-
|
|
145
|
-
<p align="center">
|
|
146
|
-
<img src="docs/assets/screenshots/info-splash.png" width="760" alt="The Unicrab startup splash: mascot, UNIPI wordmark, version, ready time, resumed session and today's spend">
|
|
147
|
-
</p>
|
|
148
|
-
|
|
149
|
-
Run `/unipi:info` when you want the full picture. The first page is about
|
|
150
|
-
**this session**. It answers the questions you ask during long work:
|
|
151
|
-
|
|
152
|
-
- **What did this cost?** Cost, tokens, replies and time, in large digits.
|
|
153
|
-
- **What fills my context?** A bucket shows each part in its own colour:
|
|
154
|
-
system prompt, tool schemas, summaries, your prompts, replies and tool
|
|
155
|
-
results. The edge of the bucket shows how full the window is. It turns
|
|
156
|
-
amber at 70% and red at 90%.
|
|
157
|
-
- **Which tool output is the heaviest?** The page names the three largest.
|
|
158
|
-
- **Which tools failed?** Each tool gets a bar, and failures show in red.
|
|
95
|
+
Cost, context use, heaviest tool output, spend history and what compaction saved.
|
|
159
96
|
|
|
160
97
|
<p align="center">
|
|
161
98
|
<img src="docs/assets/screenshots/info-session.png" alt="The This session page: cost, tokens, replies, time, the context bucket, billed tokens and tools">
|
|
162
99
|
</p>
|
|
163
100
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
| Page | It shows |
|
|
167
|
-
|---|---|
|
|
168
|
-
| Usage | Spend today, this week and this month, a 30-day chart, and the share of each model. |
|
|
169
|
-
| Compactor | Tokens that compaction kept out of your requests, and the money that saved. |
|
|
170
|
-
| Tools · Skills · Modules | What Pi loaded, where it came from, and what each UniPi module adds. |
|
|
171
|
-
| MCP · Memory · Web · Updates · Keys | The state of each module. |
|
|
172
|
-
|
|
173
|
-
<table>
|
|
174
|
-
<tr>
|
|
175
|
-
<td><img src="docs/assets/screenshots/info-usage.png" alt="The Usage page: spend tiles, a 30-day chart with the peak labelled, and models this month"></td>
|
|
176
|
-
<td><img src="docs/assets/screenshots/info-compactor.png" alt="The Compactor page: money saved for this session, this project and all projects, and a without-versus-with bar"></td>
|
|
177
|
-
</tr>
|
|
178
|
-
</table>
|
|
179
|
-
|
|
180
|
-
A small letter before a number tells you its scope: **`s`** is this session,
|
|
181
|
-
**`p`** is this project and **`g`** is every project on this machine. Numbers
|
|
182
|
-
from one project never show in another.
|
|
183
|
-
|
|
184
|
-
How the Compactor page counts: each compaction makes the context smaller.
|
|
185
|
-
Every reply after it sends that smaller context. The page multiplies the
|
|
186
|
-
tokens removed by the number of replies that followed. Then it prices them at
|
|
187
|
-
the rate you paid for context. A free model saves tokens but no money.
|
|
188
|
-
|
|
189
|
-
Keys: `←`/`→` or `1`–`9` change the page, `r` refreshes it, `q` closes it.
|
|
190
|
-
`/unipi:info usage` opens one page. The dashboard opens at once on cached
|
|
191
|
-
numbers, then updates them in the background. The screenshots use demo data.
|
|
192
|
-
Read the [Info Screen README](packages/info-screen/README.md).
|
|
101
|
+
More: [Info Screen README](packages/info-screen/README.md).
|
|
193
102
|
|
|
194
103
|
## Harness architecture
|
|
195
104
|
|
|
196
|
-
UniPi adds these mechanisms to the Pi harness. Each page gives the problem, a
|
|
197
|
-
diagram, the limits from the source, and the files to read.
|
|
198
|
-
|
|
199
105
|
| Mechanism | Problem it solves |
|
|
200
106
|
|---|---|
|
|
201
107
|
| [Event bus](docs/architecture/event-bus.md) | 21 packages must work together without import-time coupling. |
|
|
@@ -231,33 +137,11 @@ flowchart LR
|
|
|
231
137
|
| See and control | [Footer](packages/footer/README.md) · [Info Screen](packages/info-screen/README.md) · [Input Shortcuts](packages/input-shortcuts/README.md) · [Command Enchantment](packages/autocomplete/README.md) |
|
|
232
138
|
| Maintain | [Utility](packages/utility/README.md) · [Updater](packages/updater/README.md) · [Core](packages/core/README.md) |
|
|
233
139
|
|
|
234
|
-
The [docs index](docs/README.md#packages) gives one line and the npm name for
|
|
235
|
-
each package.
|
|
236
|
-
|
|
237
140
|
## Meet Unicrab
|
|
238
141
|
|
|
239
142
|
<img align="right" src="docs/assets/unicrab-pixel.png" width="120" alt="Unicrab pixel art">
|
|
240
143
|
|
|
241
|
-
|
|
242
|
-
hello when Pi starts and leaves hints above the input box. Press `Alt+H` for the
|
|
243
|
-
next hint, or run `/unipi:hint` to read all 127 of them.
|
|
244
|
-
|
|
245
|
-
After an update, the first hint tells you what is new in that release.
|
|
246
|
-
|
|
247
|
-
Read [The making of Unicrab](docs/story/unicrab.md): from a real crab, to pixel
|
|
248
|
-
art, to a terminal character that is 7 columns wide.
|
|
249
|
-
|
|
250
|
-
<p align="center">
|
|
251
|
-
<img src="docs/assets/screenshots/unicrab-start.png" alt="The UniPi start screen with Unicrab in half-block pixel art">
|
|
252
|
-
</p>
|
|
253
|
-
|
|
254
|
-
## What's new
|
|
255
|
-
|
|
256
|
-
The recent releases, in short. The [changelog](CHANGELOG.md) has the details.
|
|
257
|
-
|
|
258
|
-
| Release | What changed for you |
|
|
259
|
-
|---|---|
|
|
260
|
-
| 3.0.0 | The first stable UniPi 3. Long work modes, MemPalace memory, the new Kanboard, plan and permission modes, rebuilt subagents and compactor, and the UniPi app bridge. See the [upgrade guide](docs/guide/upgrade-3.0.md). |
|
|
144
|
+
The UniPi mascot. It says hello when Pi starts and leaves hints above the input (`Alt+H`, `/unipi:hint`). [The making of Unicrab](docs/story/unicrab.md).
|
|
261
145
|
|
|
262
146
|
## Docs
|
|
263
147
|
|
|
@@ -266,11 +150,6 @@ The recent releases, in short. The [changelog](CHANGELOG.md) has the details.
|
|
|
266
150
|
- [Architecture](docs/architecture/README.md)
|
|
267
151
|
- [All docs](docs/README.md)
|
|
268
152
|
|
|
269
|
-
The docs use STE-flavored English
|
|
270
|
-
([ASD-STE100](https://www.asd-ste100.org/)): short sentences, active voice and
|
|
271
|
-
one meaning for each word. The [style guide](docs/contributing/docs-style.md)
|
|
272
|
-
gives the rules.
|
|
273
|
-
|
|
274
153
|
## Development
|
|
275
154
|
|
|
276
155
|
```bash
|
|
@@ -290,9 +169,7 @@ To add a package:
|
|
|
290
169
|
`package.json`.
|
|
291
170
|
5. Run `npm run typecheck` and `npm test`.
|
|
292
171
|
|
|
293
|
-
|
|
294
|
-
`@pi-unipi/core`, not from a peer package. The
|
|
295
|
-
[event bus page](docs/architecture/event-bus.md) explains the rules.
|
|
172
|
+
Import from `@pi-unipi/core`, never from a peer package ([event bus](docs/architecture/event-bus.md)).
|
|
296
173
|
|
|
297
174
|
## Contributing
|
|
298
175
|
|
|
@@ -302,8 +179,7 @@ Packages talk over events and shared state holders. Import from
|
|
|
302
179
|
4. Run `npm run typecheck` and `npm test`.
|
|
303
180
|
5. Open a pull request.
|
|
304
181
|
|
|
305
|
-
|
|
306
|
-
[style guide](docs/contributing/docs-style.md).
|
|
182
|
+
One job per package. Docs follow the [style guide](docs/contributing/docs-style.md).
|
|
307
183
|
|
|
308
184
|
## License
|
|
309
185
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/unipi",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "All-in-one extension suite for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -82,28 +82,28 @@
|
|
|
82
82
|
"typebox": "^1.1.38"
|
|
83
83
|
},
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@pi-unipi/app-bridge": "3.0.
|
|
86
|
-
"@pi-unipi/ask-user": "3.0.
|
|
87
|
-
"@pi-unipi/background-tasks": "3.0.
|
|
88
|
-
"@pi-unipi/btw": "3.0.
|
|
89
|
-
"@pi-unipi/command-enchantment": "3.0.
|
|
90
|
-
"@pi-unipi/compactor": "3.0.
|
|
91
|
-
"@pi-unipi/core": "3.0.
|
|
92
|
-
"@pi-unipi/dream": "3.0.
|
|
93
|
-
"@pi-unipi/footer": "3.0.
|
|
94
|
-
"@pi-unipi/fusion": "3.0.
|
|
95
|
-
"@pi-unipi/info-screen": "3.0.
|
|
96
|
-
"@pi-unipi/input-shortcuts": "3.0.
|
|
97
|
-
"@pi-unipi/kanboard": "3.0.
|
|
98
|
-
"@pi-unipi/mcp": "3.0.
|
|
99
|
-
"@pi-unipi/memory": "3.0.
|
|
100
|
-
"@pi-unipi/notify": "3.0.
|
|
101
|
-
"@pi-unipi/skill-registry": "3.0.
|
|
102
|
-
"@pi-unipi/subagents": "3.0.
|
|
103
|
-
"@pi-unipi/updater": "3.0.
|
|
104
|
-
"@pi-unipi/utility": "3.0.
|
|
105
|
-
"@pi-unipi/web-api": "3.0.
|
|
106
|
-
"@pi-unipi/workflow": "3.0.
|
|
85
|
+
"@pi-unipi/app-bridge": "3.0.1",
|
|
86
|
+
"@pi-unipi/ask-user": "3.0.1",
|
|
87
|
+
"@pi-unipi/background-tasks": "3.0.1",
|
|
88
|
+
"@pi-unipi/btw": "3.0.1",
|
|
89
|
+
"@pi-unipi/command-enchantment": "3.0.1",
|
|
90
|
+
"@pi-unipi/compactor": "3.0.1",
|
|
91
|
+
"@pi-unipi/core": "3.0.1",
|
|
92
|
+
"@pi-unipi/dream": "3.0.1",
|
|
93
|
+
"@pi-unipi/footer": "3.0.1",
|
|
94
|
+
"@pi-unipi/fusion": "3.0.1",
|
|
95
|
+
"@pi-unipi/info-screen": "3.0.1",
|
|
96
|
+
"@pi-unipi/input-shortcuts": "3.0.1",
|
|
97
|
+
"@pi-unipi/kanboard": "3.0.1",
|
|
98
|
+
"@pi-unipi/mcp": "3.0.1",
|
|
99
|
+
"@pi-unipi/memory": "3.0.1",
|
|
100
|
+
"@pi-unipi/notify": "3.0.1",
|
|
101
|
+
"@pi-unipi/skill-registry": "3.0.1",
|
|
102
|
+
"@pi-unipi/subagents": "3.0.1",
|
|
103
|
+
"@pi-unipi/updater": "3.0.1",
|
|
104
|
+
"@pi-unipi/utility": "3.0.1",
|
|
105
|
+
"@pi-unipi/web-api": "3.0.1",
|
|
106
|
+
"@pi-unipi/workflow": "3.0.1",
|
|
107
107
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
108
108
|
"beautiful-mermaid": "^1.1.3"
|
|
109
109
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/app-bridge",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Live bridge between a pi TUI session and the UniPi phone app — streaming chat, prompts, steering and dialogs from the phone",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@pi-unipi/core": "3.0.
|
|
34
|
+
"@pi-unipi/core": "3.0.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@earendil-works/pi-coding-agent": "^0.87.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/ask-user",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Structured user input tool for Pi coding agent — single-select, multi-select, freeform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@pi-unipi/core": "3.0.
|
|
45
|
+
"@pi-unipi/core": "3.0.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@earendil-works/pi-coding-agent": "^0.87.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/background-tasks",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Background tasks for UniPi — durable shell jobs and delegated background agents with a footer dock",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@earendil-works/pi-ai": "^0.87.1",
|
|
13
|
-
"@pi-unipi/core": "3.0.
|
|
13
|
+
"@pi-unipi/core": "3.0.1",
|
|
14
14
|
"turndown": "^7.2.4"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/btw",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "A pi extension for parallel side conversations with /unipi:btw — part of the Unipi suite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "extensions/btw.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@earendil-works/pi-tui": "^0.87.1"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@pi-unipi/core": "3.0.
|
|
40
|
+
"@pi-unipi/core": "3.0.1"
|
|
41
41
|
},
|
|
42
42
|
"pi": {
|
|
43
43
|
"extensions": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/compactor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Compaction for Pi — lossless zero-LLM or model summaries, rebuilt from full history, with session recall",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@pi-unipi/core": "3.0.
|
|
37
|
-
"@pi-unipi/info-screen": "3.0.
|
|
36
|
+
"@pi-unipi/core": "3.0.1",
|
|
37
|
+
"@pi-unipi/info-screen": "3.0.1",
|
|
38
38
|
"@earendil-works/pi-agent-core": "^0.87.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
package/packages/core/README.md
CHANGED
|
@@ -11,7 +11,10 @@ file helpers, so packages work together without direct imports.
|
|
|
11
11
|
|
|
12
12
|
- Defines the shared event names in `UNIPI_EVENTS` and module names in `MODULES`.
|
|
13
13
|
- Gives the settings engine. Each module registers a namespace. The
|
|
14
|
-
`/unipi:settings` hub shows all namespaces
|
|
14
|
+
`/unipi:settings` hub shows all namespaces, and pi publishes the whole
|
|
15
|
+
catalog to `~/.unipi/config/settings-schema.json` so the UniPi app's
|
|
16
|
+
Settings → UniPi screen can show and change pi's settings (served by the
|
|
17
|
+
unipi-host; secret values stay on the PC).
|
|
15
18
|
- Gives the state layout under `~/.unipi/`. Each module gets `global`, `config`,
|
|
16
19
|
`state` and `session` folders.
|
|
17
20
|
- Gives the turn arbiter, harness message metadata and the shared TUI kit.
|
package/packages/core/index.ts
CHANGED
|
@@ -41,6 +41,7 @@ export * from "./src/workspace/state-migration.js";
|
|
|
41
41
|
export * from "./src/settings/paths.js";
|
|
42
42
|
export * from "./src/settings/engine.js";
|
|
43
43
|
export * from "./src/settings/schema.js";
|
|
44
|
+
export * from "./src/settings/snapshot.js";
|
|
44
45
|
export { SettingsHub, type SettingsHubDeps } from "./src/settings/hub.js";
|
|
45
46
|
export { openSettingsHub } from "./src/settings/open.js";
|
|
46
47
|
export * from "./src/attach/detect.js";
|