@pi-unipi/unipi 2.19.1 → 2.19.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 +6 -0
- package/package.json +24 -24
- 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 +3 -3
- package/packages/footer/src/index.ts +22 -0
- package/packages/fusion/package.json +3 -3
- 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/package.json +1 -1
- package/packages/unipi/bundled.js +12 -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,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.19.2] — 2026-09-16
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- `footer`: **the update overlay no longer leaves the TUI dead after pressing `y`.** The Glance editor install (`installGlanceEditor`) detaches the default editor, but any overlay opened before the swap — the updater prompt opens at `session_start`, the swap lands ~3.5s later — keeps that component as its `preFocus` restore target. On `hideOverlay()` the TUI refocused the detached editor, so every keystroke (including Ctrl+C) was routed to an unmounted component and the session had to be killed. After the swap we now walk `overlayStack` and retarget any `preFocus` pointing at an unmounted non-overlay component to the newly installed editor; `preFocus` entries referencing a live overlay or a still-mounted component are left alone. Regression covered in `glance-focus.test.ts`.
|
|
14
|
+
|
|
9
15
|
## [2.19.1] — 2026-09-16
|
|
10
16
|
|
|
11
17
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/unipi",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.2",
|
|
4
4
|
"description": "All-in-one extension suite for Pi coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -84,29 +84,29 @@
|
|
|
84
84
|
"typebox": "^1.1.38"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@pi-unipi/ask-user": "2.19.
|
|
88
|
-
"@pi-unipi/background-tasks": "2.19.
|
|
89
|
-
"@pi-unipi/btw": "2.19.
|
|
90
|
-
"@pi-unipi/command-enchantment": "2.19.
|
|
91
|
-
"@pi-unipi/compactor": "2.19.
|
|
92
|
-
"@pi-unipi/core": "2.19.
|
|
93
|
-
"@pi-unipi/footer": "2.19.
|
|
94
|
-
"@pi-unipi/image": "2.19.
|
|
95
|
-
"@pi-unipi/fusion": "2.19.
|
|
96
|
-
"@pi-unipi/info-screen": "2.19.
|
|
97
|
-
"@pi-unipi/input-shortcuts": "2.19.
|
|
98
|
-
"@pi-unipi/kanboard": "2.19.
|
|
99
|
-
"@pi-unipi/mcp": "2.19.
|
|
100
|
-
"@pi-unipi/memory": "2.19.
|
|
101
|
-
"@pi-unipi/milestone": "2.19.
|
|
102
|
-
"@pi-unipi/notify": "2.19.
|
|
103
|
-
"@pi-unipi/ralph": "2.19.
|
|
104
|
-
"@pi-unipi/subagents": "2.19.
|
|
105
|
-
"@pi-unipi/trajectory": "2.19.
|
|
106
|
-
"@pi-unipi/updater": "2.19.
|
|
107
|
-
"@pi-unipi/utility": "2.19.
|
|
108
|
-
"@pi-unipi/web-api": "2.19.
|
|
109
|
-
"@pi-unipi/workflow": "2.19.
|
|
87
|
+
"@pi-unipi/ask-user": "2.19.2",
|
|
88
|
+
"@pi-unipi/background-tasks": "2.19.2",
|
|
89
|
+
"@pi-unipi/btw": "2.19.2",
|
|
90
|
+
"@pi-unipi/command-enchantment": "2.19.2",
|
|
91
|
+
"@pi-unipi/compactor": "2.19.2",
|
|
92
|
+
"@pi-unipi/core": "2.19.2",
|
|
93
|
+
"@pi-unipi/footer": "2.19.2",
|
|
94
|
+
"@pi-unipi/image": "2.19.2",
|
|
95
|
+
"@pi-unipi/fusion": "2.19.2",
|
|
96
|
+
"@pi-unipi/info-screen": "2.19.2",
|
|
97
|
+
"@pi-unipi/input-shortcuts": "2.19.2",
|
|
98
|
+
"@pi-unipi/kanboard": "2.19.2",
|
|
99
|
+
"@pi-unipi/mcp": "2.19.2",
|
|
100
|
+
"@pi-unipi/memory": "2.19.2",
|
|
101
|
+
"@pi-unipi/milestone": "2.19.2",
|
|
102
|
+
"@pi-unipi/notify": "2.19.2",
|
|
103
|
+
"@pi-unipi/ralph": "2.19.2",
|
|
104
|
+
"@pi-unipi/subagents": "2.19.2",
|
|
105
|
+
"@pi-unipi/trajectory": "2.19.2",
|
|
106
|
+
"@pi-unipi/updater": "2.19.2",
|
|
107
|
+
"@pi-unipi/utility": "2.19.2",
|
|
108
|
+
"@pi-unipi/web-api": "2.19.2",
|
|
109
|
+
"@pi-unipi/workflow": "2.19.2"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@earendil-works/pi-agent-core": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/ask-user",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
43
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.2",
|
|
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.84.0",
|
|
13
|
-
"@pi-unipi/core": "2.19.
|
|
13
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
40
|
+
"@pi-unipi/core": "2.19.2"
|
|
41
41
|
},
|
|
42
42
|
"pi": {
|
|
43
43
|
"extensions": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/compactor",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
38
|
-
"@pi-unipi/info-screen": "2.19.
|
|
37
|
+
"@pi-unipi/core": "2.19.2",
|
|
38
|
+
"@pi-unipi/info-screen": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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,8 +32,8 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pi-unipi/core": "2.19.
|
|
36
|
-
"@pi-unipi/background-tasks": "2.19.
|
|
35
|
+
"@pi-unipi/core": "2.19.2",
|
|
36
|
+
"@pi-unipi/background-tasks": "2.19.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@earendil-works/pi-coding-agent": "^0.84.0",
|
|
@@ -451,6 +451,28 @@ function installGlanceEditor(
|
|
|
451
451
|
};
|
|
452
452
|
}),
|
|
453
453
|
);
|
|
454
|
+
// setCustomEditorComponent detaches the previous editor, but any open
|
|
455
|
+
// overlay captured it as its preFocus restore target — closing the overlay
|
|
456
|
+
// would refocus a dead component and swallow all input. Right after the
|
|
457
|
+
// swap, getFocusedComponent() is the new editor; retarget stale preFocus
|
|
458
|
+
// entries to it (skip preFocus that points at a live overlay).
|
|
459
|
+
const newEditor = typeof tui?.getFocusedComponent === "function" ? tui.getFocusedComponent() : null;
|
|
460
|
+
const internals = tui as ({
|
|
461
|
+
overlayStack?: Array<{ component?: unknown; preFocus?: unknown }>;
|
|
462
|
+
isComponentMounted?: (c: unknown) => boolean;
|
|
463
|
+
}) | null | undefined;
|
|
464
|
+
const overlayStack = internals?.overlayStack;
|
|
465
|
+
const isMounted = typeof internals?.isComponentMounted === "function"
|
|
466
|
+
? internals.isComponentMounted.bind(tui)
|
|
467
|
+
: undefined;
|
|
468
|
+
if (newEditor && overlayStack && isMounted) {
|
|
469
|
+
const overlayComponents = new Set(overlayStack.map((entry) => entry.component));
|
|
470
|
+
for (const entry of overlayStack) {
|
|
471
|
+
if (entry.preFocus && entry.preFocus !== newEditor && !overlayComponents.has(entry.preFocus) && !isMounted(entry.preFocus)) {
|
|
472
|
+
entry.preFocus = newEditor;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
454
476
|
if (overlayOwner && tui) tui.setFocus(overlayOwner);
|
|
455
477
|
st.glanceInstalled = true;
|
|
456
478
|
} catch {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/fusion",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.2",
|
|
4
4
|
"description": "Devin-style model picker, fusion presets (lead + sidekick), and Local Fusion runtime for UniPi",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pi-unipi/core": "2.19.
|
|
36
|
-
"@pi-unipi/subagents": "2.19.
|
|
35
|
+
"@pi-unipi/core": "2.19.2",
|
|
36
|
+
"@pi-unipi/subagents": "2.19.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@earendil-works/pi-ai": "^0.84.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/image",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
37
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
36
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
36
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
42
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
33
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
43
|
-
"@pi-unipi/info-screen": "2.19.
|
|
42
|
+
"@pi-unipi/core": "2.19.2",
|
|
43
|
+
"@pi-unipi/info-screen": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
35
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
37
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
35
|
-
"@pi-unipi/info-screen": "2.19.
|
|
34
|
+
"@pi-unipi/core": "2.19.2",
|
|
35
|
+
"@pi-unipi/info-screen": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
12
|
+
"@pi-unipi/core": "2.19.2",
|
|
13
13
|
"@earendil-works/pi-agent-core": "^0.84.0",
|
|
14
14
|
"acorn": "8.18.0"
|
|
15
15
|
},
|
|
@@ -48424,6 +48424,18 @@ function installGlanceEditor(st, uiHost) {
|
|
|
48424
48424
|
};
|
|
48425
48425
|
})
|
|
48426
48426
|
);
|
|
48427
|
+
const newEditor = typeof tui?.getFocusedComponent === "function" ? tui.getFocusedComponent() : null;
|
|
48428
|
+
const internals = tui;
|
|
48429
|
+
const overlayStack = internals?.overlayStack;
|
|
48430
|
+
const isMounted = typeof internals?.isComponentMounted === "function" ? internals.isComponentMounted.bind(tui) : void 0;
|
|
48431
|
+
if (newEditor && overlayStack && isMounted) {
|
|
48432
|
+
const overlayComponents = new Set(overlayStack.map((entry) => entry.component));
|
|
48433
|
+
for (const entry of overlayStack) {
|
|
48434
|
+
if (entry.preFocus && entry.preFocus !== newEditor && !overlayComponents.has(entry.preFocus) && !isMounted(entry.preFocus)) {
|
|
48435
|
+
entry.preFocus = newEditor;
|
|
48436
|
+
}
|
|
48437
|
+
}
|
|
48438
|
+
}
|
|
48427
48439
|
if (overlayOwner && tui) tui.setFocus(overlayOwner);
|
|
48428
48440
|
st.glanceInstalled = true;
|
|
48429
48441
|
} catch {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/updater",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
37
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
39
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
34
|
+
"@pi-unipi/core": "2.19.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.19.
|
|
3
|
+
"version": "2.19.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.19.
|
|
33
|
+
"@pi-unipi/core": "2.19.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@earendil-works/pi-ai": "^0.84.0",
|