@pi-unipi/unipi 2.10.0 → 2.10.2
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 -0
- package/package.json +23 -23
- 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/package.json +1 -1
- package/packages/footer/package.json +2 -2
- package/packages/image/package.json +2 -2
- package/packages/info-screen/package.json +2 -2
- package/packages/input-shortcuts/package.json +2 -2
- package/packages/kanboard/package.json +2 -2
- package/packages/mcp/package.json +2 -2
- package/packages/memory/package.json +3 -3
- package/packages/milestone/package.json +2 -2
- package/packages/notify/package.json +2 -2
- package/packages/ralph/package.json +3 -3
- package/packages/subagents/package.json +2 -2
- package/packages/trajectory/README.md +4 -0
- package/packages/trajectory/index.ts +22 -0
- package/packages/trajectory/package.json +1 -1
- package/packages/unipi/bundled.js +18 -0
- package/packages/updater/package.json +2 -2
- package/packages/utility/package.json +2 -2
- package/packages/web-api/package.json +2 -2
- package/packages/workflow/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.10.2] — 2026-08-25
|
|
10
|
+
|
|
11
|
+
Follow-up to 2.10.1: the 2.10.1 tarballs shipped with `@pi-unipi/*` cross-dependency pins still pointing at `2.10.0`, so installing `@pi-unipi/unipi@2.10.1` resolved the old `@pi-unipi/trajectory@2.10.0` (without the auto-completion fix) instead of `2.10.1`. This release re-synchronizes every cross-pin to `2.10.2` and republishes the full synchronized set.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Resynced every `@pi-unipi/*` dependency pin (root umbrella + all workspace cross-deps) to the matching published version so npm links the workspace set instead of pulling nested stale registry copies. Without this, `@pi-unipi/unipi@2.10.1` pulled `@pi-unipi/trajectory@2.10.0` and the argument auto-completion fix never reached umbrella installers.
|
|
16
|
+
|
|
17
|
+
## [2.10.1] — 2026-08-25
|
|
18
|
+
|
|
19
|
+
Patch release: `/unipi:trajectory` now registers argument auto-completion so users discover its `stop`, `off`, and `toggle` options inline instead of having to read the docs.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- `trajectory`: `/unipi:trajectory` registered its command with only a `description` and `handler`, so the TUI never offered argument completions and users had no way to learn that `stop`/`off`/`toggle` (or running it bare to open the server) existed. Added `getArgumentCompletions` to the registered command, returning `stop`, `off`, `toggle`, and a `(no argument)` hint that opens/reuses the server — matching the action set the handler already accepts.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- All `@pi-unipi/*` packages and the umbrella re-versioned to `2.10.1` so npm installs keep a single synchronized workspace set and avoid nested stale package copies.
|
|
28
|
+
|
|
9
29
|
## [2.10.0] — 2026-08-25
|
|
10
30
|
|
|
11
31
|
This release adds UniPi Trajectory, a localhost-only live inspector for the current Pi session, with durable redacted sidecar telemetry for exact request/tool timings and provider metadata.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/unipi",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
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/ask-user": "2.10.
|
|
86
|
-
"@pi-unipi/background-tasks": "2.10.
|
|
87
|
-
"@pi-unipi/btw": "2.10.
|
|
88
|
-
"@pi-unipi/command-enchantment": "2.10.
|
|
89
|
-
"@pi-unipi/compactor": "2.10.
|
|
90
|
-
"@pi-unipi/core": "2.10.
|
|
91
|
-
"@pi-unipi/footer": "2.10.
|
|
92
|
-
"@pi-unipi/image": "2.10.
|
|
93
|
-
"@pi-unipi/info-screen": "2.10.
|
|
94
|
-
"@pi-unipi/input-shortcuts": "2.10.
|
|
95
|
-
"@pi-unipi/kanboard": "2.10.
|
|
96
|
-
"@pi-unipi/mcp": "2.10.
|
|
97
|
-
"@pi-unipi/memory": "2.10.
|
|
98
|
-
"@pi-unipi/milestone": "2.10.
|
|
99
|
-
"@pi-unipi/notify": "2.10.
|
|
100
|
-
"@pi-unipi/ralph": "2.10.
|
|
101
|
-
"@pi-unipi/subagents": "2.10.
|
|
102
|
-
"@pi-unipi/trajectory": "2.10.
|
|
103
|
-
"@pi-unipi/updater": "2.10.
|
|
104
|
-
"@pi-unipi/utility": "2.10.
|
|
105
|
-
"@pi-unipi/web-api": "2.10.
|
|
106
|
-
"@pi-unipi/workflow": "2.10.
|
|
85
|
+
"@pi-unipi/ask-user": "2.10.2",
|
|
86
|
+
"@pi-unipi/background-tasks": "2.10.2",
|
|
87
|
+
"@pi-unipi/btw": "2.10.2",
|
|
88
|
+
"@pi-unipi/command-enchantment": "2.10.2",
|
|
89
|
+
"@pi-unipi/compactor": "2.10.2",
|
|
90
|
+
"@pi-unipi/core": "2.10.2",
|
|
91
|
+
"@pi-unipi/footer": "2.10.2",
|
|
92
|
+
"@pi-unipi/image": "2.10.2",
|
|
93
|
+
"@pi-unipi/info-screen": "2.10.2",
|
|
94
|
+
"@pi-unipi/input-shortcuts": "2.10.2",
|
|
95
|
+
"@pi-unipi/kanboard": "2.10.2",
|
|
96
|
+
"@pi-unipi/mcp": "2.10.2",
|
|
97
|
+
"@pi-unipi/memory": "2.10.2",
|
|
98
|
+
"@pi-unipi/milestone": "2.10.2",
|
|
99
|
+
"@pi-unipi/notify": "2.10.2",
|
|
100
|
+
"@pi-unipi/ralph": "2.10.2",
|
|
101
|
+
"@pi-unipi/subagents": "2.10.2",
|
|
102
|
+
"@pi-unipi/trajectory": "2.10.2",
|
|
103
|
+
"@pi-unipi/updater": "2.10.2",
|
|
104
|
+
"@pi-unipi/utility": "2.10.2",
|
|
105
|
+
"@pi-unipi/web-api": "2.10.2",
|
|
106
|
+
"@pi-unipi/workflow": "2.10.2"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@earendil-works/pi-agent-core": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/ask-user",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
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",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@pi-unipi/core": "2.10.
|
|
43
|
+
"@pi-unipi/core": "2.10.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/background-tasks",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Background tasks for UniPi — durable shell jobs, delegated agents, attested Pi runs, and fixed-purpose Fusion workflows",
|
|
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.84.0",
|
|
13
|
-
"@pi-unipi/core": "2.10.
|
|
13
|
+
"@pi-unipi/core": "2.10.2",
|
|
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": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
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.84.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@pi-unipi/core": "2.10.
|
|
40
|
+
"@pi-unipi/core": "2.10.2"
|
|
41
41
|
},
|
|
42
42
|
"pi": {
|
|
43
43
|
"extensions": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/compactor",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Context engine for Pi — zero-LLM compaction, session continuity, sandbox execution, and tool display optimization",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@pi-unipi/core": "2.10.
|
|
38
|
-
"@pi-unipi/info-screen": "2.10.
|
|
37
|
+
"@pi-unipi/core": "2.10.2",
|
|
38
|
+
"@pi-unipi/info-screen": "2.10.2",
|
|
39
39
|
"@earendil-works/pi-agent-core": "^0.84.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/footer",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Persistent status bar for Unipi — subscribes to UNIPI_EVENTS and renders key stats from all unipi packages",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pi-unipi/core": "2.10.
|
|
35
|
+
"@pi-unipi/core": "2.10.2"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/image",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Image generation and image recognition tools for the Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@pi-unipi/core": "2.10.
|
|
37
|
+
"@pi-unipi/core": "2.10.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"@earendil-works/pi-ai": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/info-screen",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Dashboard and module registry for Unipi — configurable info overlay with tabbed groups",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@pi-unipi/core": "2.10.
|
|
36
|
+
"@pi-unipi/core": "2.10.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/input-shortcuts",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Keyboard shortcuts for stash/restore, undo/redo, clipboard, and thinking toggle — chord-based overlay system",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@pi-unipi/core": "2.10.
|
|
36
|
+
"@pi-unipi/core": "2.10.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/kanboard",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Visualization layer for unipi workflow — HTTP server with htmx/Alpine.js UI, modular parsers, TUI overlay, and kanban board",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@pi-unipi/core": "2.10.
|
|
42
|
+
"@pi-unipi/core": "2.10.2"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/mcp",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "MCP server management extension for Pi coding agent — browse, add, configure, and use MCP servers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"test": "npx tsx --test tests/**/*.test.ts"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@pi-unipi/core": "2.10.
|
|
33
|
+
"@pi-unipi/core": "2.10.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/memory",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Persistent cross-session memory with MemPalace backend (auto-installed) and SQLite fallback for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"README.md"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@pi-unipi/core": "2.10.
|
|
43
|
-
"@pi-unipi/info-screen": "2.10.
|
|
42
|
+
"@pi-unipi/core": "2.10.2",
|
|
43
|
+
"@pi-unipi/info-screen": "2.10.2",
|
|
44
44
|
"js-yaml": "^4.1.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/milestone",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Lifecycle layer for project-level goals — MILESTONES.md tracking, session hooks, auto-sync",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pi-unipi/core": "2.10.
|
|
35
|
+
"@pi-unipi/core": "2.10.2"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/notify",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Cross-platform notification extension for Pi — native OS, Gotify, and Telegram notifications for agent lifecycle events",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@pi-unipi/core": "2.10.
|
|
37
|
+
"@pi-unipi/core": "2.10.2",
|
|
38
38
|
"node-notifier": "^10.0.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/ralph",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Long-running iterative development loops for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"test": "npx tsx --test reminder.test.ts"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@pi-unipi/core": "2.10.
|
|
35
|
-
"@pi-unipi/info-screen": "2.10.
|
|
34
|
+
"@pi-unipi/core": "2.10.2",
|
|
35
|
+
"@pi-unipi/info-screen": "2.10.2"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@earendil-works/pi-ai": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/subagents",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Subagents for UniPi — parallel execution, file locking, workflow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"test": "npx tsx --test src/__tests__/*.test.ts"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@pi-unipi/core": "2.10.
|
|
12
|
+
"@pi-unipi/core": "2.10.2",
|
|
13
13
|
"@earendil-works/pi-agent-core": "^0.84.0",
|
|
14
14
|
"acorn": "8.18.0"
|
|
15
15
|
},
|
|
@@ -11,6 +11,10 @@ Live, localhost-only UniPi trajectory inspector for the current Pi session.
|
|
|
11
11
|
/unipi:trajectory toggle # open when stopped, stop when running
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
+
Typing `/unipi:trajectory` followed by a space auto-completes the available
|
|
15
|
+
actions (`stop`, `off`, `toggle`), so the options are discoverable without
|
|
16
|
+
reading the docs. Running it with no argument opens or reuses the server.
|
|
17
|
+
|
|
14
18
|
The command starts or reuses an in-process server on `127.0.0.1:8176-8186` and opens it in the default browser. The page follows the active session every 500 ms. The server is owned by the current Pi process and is stopped on any Pi session shutdown/reload/resume/new/fork event.
|
|
15
19
|
|
|
16
20
|
## What it shows
|
|
@@ -18,6 +18,28 @@ export default function trajectory(pi: ExtensionAPI): void {
|
|
|
18
18
|
|
|
19
19
|
pi.registerCommand("unipi:trajectory", {
|
|
20
20
|
description: "Open or manage UniPi's live trajectory for the current session",
|
|
21
|
+
getArgumentCompletions: (argumentPrefix: string) => {
|
|
22
|
+
const prefix = argumentPrefix.trim().toLowerCase();
|
|
23
|
+
const actions = [
|
|
24
|
+
{ value: "stop", label: "stop", description: "Stop this session's trajectory server" },
|
|
25
|
+
{ value: "off", label: "off", description: "Alias of stop" },
|
|
26
|
+
{ value: "toggle", label: "toggle", description: "Open when stopped, stop when running" },
|
|
27
|
+
];
|
|
28
|
+
const matches = prefix
|
|
29
|
+
? actions.filter((a) => a.value.startsWith(prefix) || a.label.startsWith(prefix))
|
|
30
|
+
: actions;
|
|
31
|
+
// With no prefix (or a matching one) also surface a hint that running bare
|
|
32
|
+
// opens/reuses the server, so users learn the default behavior exists.
|
|
33
|
+
const items = matches.map((a) => ({ value: a.value, label: a.label, description: a.description }));
|
|
34
|
+
if (!prefix) {
|
|
35
|
+
items.unshift({
|
|
36
|
+
value: "",
|
|
37
|
+
label: "(no argument)",
|
|
38
|
+
description: "Open or reuse the trajectory server in the browser",
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return items;
|
|
42
|
+
},
|
|
21
43
|
handler: async (args, ctx) => {
|
|
22
44
|
const action = String(args ?? "").trim().toLowerCase();
|
|
23
45
|
const wantsStop = ["stop", "off", "--stop", "--off"].includes(action);
|
|
@@ -58672,6 +58672,24 @@ function trajectory(pi) {
|
|
|
58672
58672
|
const readTelemetry = registerTelemetryCapture(pi);
|
|
58673
58673
|
pi.registerCommand("unipi:trajectory", {
|
|
58674
58674
|
description: "Open or manage UniPi's live trajectory for the current session",
|
|
58675
|
+
getArgumentCompletions: (argumentPrefix) => {
|
|
58676
|
+
const prefix = argumentPrefix.trim().toLowerCase();
|
|
58677
|
+
const actions = [
|
|
58678
|
+
{ value: "stop", label: "stop", description: "Stop this session's trajectory server" },
|
|
58679
|
+
{ value: "off", label: "off", description: "Alias of stop" },
|
|
58680
|
+
{ value: "toggle", label: "toggle", description: "Open when stopped, stop when running" }
|
|
58681
|
+
];
|
|
58682
|
+
const matches = prefix ? actions.filter((a) => a.value.startsWith(prefix) || a.label.startsWith(prefix)) : actions;
|
|
58683
|
+
const items = matches.map((a) => ({ value: a.value, label: a.label, description: a.description }));
|
|
58684
|
+
if (!prefix) {
|
|
58685
|
+
items.unshift({
|
|
58686
|
+
value: "",
|
|
58687
|
+
label: "(no argument)",
|
|
58688
|
+
description: "Open or reuse the trajectory server in the browser"
|
|
58689
|
+
});
|
|
58690
|
+
}
|
|
58691
|
+
return items;
|
|
58692
|
+
},
|
|
58675
58693
|
handler: async (args, ctx) => {
|
|
58676
58694
|
const action = String(args ?? "").trim().toLowerCase();
|
|
58677
58695
|
const wantsStop = ["stop", "off", "--stop", "--off"].includes(action);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/updater",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Auto-updater, changelog browser, and readme browser for Unipi — checks npm registry, renders CHANGELOG.md and README.md files in TUI overlays",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@pi-unipi/core": "2.10.
|
|
37
|
+
"@pi-unipi/core": "2.10.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/utility",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Utility commands and tools for Pi coding agent — lifecycle, diagnostics, cache, analytics, display, batch execution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@pi-unipi/core": "2.10.
|
|
39
|
+
"@pi-unipi/core": "2.10.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {},
|
|
42
42
|
"peerDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/web-api",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Web search, read, and summarize tools with provider-based backend selection for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@pi-unipi/core": "2.10.
|
|
34
|
+
"@pi-unipi/core": "2.10.2",
|
|
35
35
|
"defuddle": "^0.18.1",
|
|
36
36
|
"linkedom": "^0.18.12",
|
|
37
37
|
"wreq-js": "^2.3.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/workflow",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.2",
|
|
4
4
|
"description": "Structured development workflow commands for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@pi-unipi/core": "2.10.
|
|
33
|
+
"@pi-unipi/core": "2.10.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@earendil-works/pi-ai": "^0.84.0",
|