@linxiraos/pi-tui 1.1.24 → 1.1.25
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
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
## [1.1.
|
|
5
|
+
## [1.1.25] - 2026-10-03
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Hyperlinks (OSC 8) are now emitted when running inside Zetawork workbench panes: the `ZETA_WORKBENCH=1` probe unlocks `fileHyperlink` output, so file links stay clickable and titles update live in the workbench's embedded terminals.
|
|
8
8
|
|
|
9
9
|
## [14.9.8] - 2026-05-12
|
|
10
10
|
|
|
@@ -775,6 +775,10 @@ Initial release under @oh-my-pi scope. See previous releases at [badlogic/pi-mon
|
|
|
775
775
|
|
|
776
776
|
- Added `getText()` method to Text component for retrieving current text content
|
|
777
777
|
|
|
778
|
+
## [1.1.24] - 2026-10-03
|
|
779
|
+
|
|
780
|
+
- 语义角色清扫补全(omp.*→zeta.*,106 文件);agent-hub 空态提示还原 `omp-dev`;notifications OSC 99 对齐 zeta app id。
|
|
781
|
+
|
|
778
782
|
## [1.1.19] - 2026-09-22
|
|
779
783
|
|
|
780
784
|
- 版本线推进;本版无独立用户可见变化。
|
|
@@ -146,6 +146,14 @@ export declare function detectRectangularSgrSupport(terminalId: TerminalId, env?
|
|
|
146
146
|
* bytes survive — the same reason DECCARA and synchronized output gate on it.
|
|
147
147
|
*/
|
|
148
148
|
export declare function detectStyledUnderlineSupport(terminalId: TerminalId, env?: NodeJS.ProcessEnv): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* True when this process runs inside a Zeta workbench pane. The workbench
|
|
151
|
+
* injects `ZETA_WORKBENCH=1` into every pane PTY (`termide` set_env); its
|
|
152
|
+
* terminal simulator renders OSC 8 in its own grid and opens links itself on
|
|
153
|
+
* Ctrl+click, so — like Herdr — the outer terminal's advertised support does
|
|
154
|
+
* not matter. Pane-only detection, mirroring `isInsideHerdr`.
|
|
155
|
+
*/
|
|
156
|
+
export declare function isInsideZetaWorkbench(env?: NodeJS.ProcessEnv): boolean;
|
|
149
157
|
/**
|
|
150
158
|
* Resolve an explicit user override for OSC 8 hyperlinks. Returns `false` for
|
|
151
159
|
* an opt-out, `true` for a force-on, or `null` when the user has expressed no
|
|
@@ -163,6 +171,10 @@ export declare function hyperlinksUserOverride(env?: NodeJS.ProcessEnv): boolean
|
|
|
163
171
|
* terminal (`TERM=xterm-256color`, no `TERM_PROGRAM`), but it renders
|
|
164
172
|
* OSC 8 in its own grid and opens links itself on Ctrl+click, so the
|
|
165
173
|
* outer terminal's support does not matter.
|
|
174
|
+
* 2b. Zeta workbench pane with no nested screen/tmux: on, for the same
|
|
175
|
+
* reason — the workbench's terminal simulator renders OSC 8 itself and
|
|
176
|
+
* opens links on Ctrl+click (`ZETA_WORKBENCH=1` is injected into every
|
|
177
|
+
* pane PTY; the outer terminal is invisible from inside).
|
|
166
178
|
* 3. Static terminal capability — terminals whose {@link TerminalInfo} marks
|
|
167
179
|
* `hyperlinks: false` (e.g. `base`) stay off unless the user forced on.
|
|
168
180
|
* 4. GNU screen's explicit session marker (`STY`) always off, even if tmux is
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@linxiraos/pi-tui",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.25",
|
|
5
5
|
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
|
6
6
|
"homepage": "https://linxira-os.github.io/zeta/",
|
|
7
7
|
"author": "Linxira-OS",
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"gen:glyphs": "bun scripts/gen-glyphs.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@linxiraos/pi-omptype": "1.1.
|
|
42
|
-
"@linxiraos/pi-agent-core": "1.1.
|
|
43
|
-
"@linxiraos/pi-ai": "1.1.
|
|
44
|
-
"@linxiraos/pi-catalog": "1.1.
|
|
45
|
-
"@linxiraos/pi-natives": "1.1.
|
|
46
|
-
"@linxiraos/pi-utils": "1.1.
|
|
47
|
-
"@linxiraos/pi-wire": "1.1.
|
|
48
|
-
"@linxiraos/pi-snapcompact": "1.1.
|
|
41
|
+
"@linxiraos/pi-omptype": "1.1.25",
|
|
42
|
+
"@linxiraos/pi-agent-core": "1.1.25",
|
|
43
|
+
"@linxiraos/pi-ai": "1.1.25",
|
|
44
|
+
"@linxiraos/pi-catalog": "1.1.25",
|
|
45
|
+
"@linxiraos/pi-natives": "1.1.25",
|
|
46
|
+
"@linxiraos/pi-utils": "1.1.25",
|
|
47
|
+
"@linxiraos/pi-wire": "1.1.25",
|
|
48
|
+
"@linxiraos/pi-snapcompact": "1.1.25"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"kitty-vt-wasm": "^0.2.0"
|
|
@@ -146,6 +146,14 @@ export declare function detectRectangularSgrSupport(terminalId: TerminalId, env?
|
|
|
146
146
|
* bytes survive — the same reason DECCARA and synchronized output gate on it.
|
|
147
147
|
*/
|
|
148
148
|
export declare function detectStyledUnderlineSupport(terminalId: TerminalId, env?: NodeJS.ProcessEnv): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* True when this process runs inside a Zeta workbench pane. The workbench
|
|
151
|
+
* injects `ZETA_WORKBENCH=1` into every pane PTY (`termide` set_env); its
|
|
152
|
+
* terminal simulator renders OSC 8 in its own grid and opens links itself on
|
|
153
|
+
* Ctrl+click, so — like Herdr — the outer terminal's advertised support does
|
|
154
|
+
* not matter. Pane-only detection, mirroring `isInsideHerdr`.
|
|
155
|
+
*/
|
|
156
|
+
export declare function isInsideZetaWorkbench(env?: NodeJS.ProcessEnv): boolean;
|
|
149
157
|
/**
|
|
150
158
|
* Resolve an explicit user override for OSC 8 hyperlinks. Returns `false` for
|
|
151
159
|
* an opt-out, `true` for a force-on, or `null` when the user has expressed no
|
|
@@ -163,6 +171,10 @@ export declare function hyperlinksUserOverride(env?: NodeJS.ProcessEnv): boolean
|
|
|
163
171
|
* terminal (`TERM=xterm-256color`, no `TERM_PROGRAM`), but it renders
|
|
164
172
|
* OSC 8 in its own grid and opens links itself on Ctrl+click, so the
|
|
165
173
|
* outer terminal's support does not matter.
|
|
174
|
+
* 2b. Zeta workbench pane with no nested screen/tmux: on, for the same
|
|
175
|
+
* reason — the workbench's terminal simulator renders OSC 8 itself and
|
|
176
|
+
* opens links on Ctrl+click (`ZETA_WORKBENCH=1` is injected into every
|
|
177
|
+
* pane PTY; the outer terminal is invisible from inside).
|
|
166
178
|
* 3. Static terminal capability — terminals whose {@link TerminalInfo} marks
|
|
167
179
|
* `hyperlinks: false` (e.g. `base`) stay off unless the user forced on.
|
|
168
180
|
* 4. GNU screen's explicit session marker (`STY`) always off, even if tmux is
|
|
@@ -494,6 +494,17 @@ export function detectStyledUnderlineSupport(terminalId: TerminalId, env: NodeJS
|
|
|
494
494
|
return false;
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* True when this process runs inside a Zeta workbench pane. The workbench
|
|
499
|
+
* injects `ZETA_WORKBENCH=1` into every pane PTY (`termide` set_env); its
|
|
500
|
+
* terminal simulator renders OSC 8 in its own grid and opens links itself on
|
|
501
|
+
* Ctrl+click, so — like Herdr — the outer terminal's advertised support does
|
|
502
|
+
* not matter. Pane-only detection, mirroring `isInsideHerdr`.
|
|
503
|
+
*/
|
|
504
|
+
export function isInsideZetaWorkbench(env: NodeJS.ProcessEnv = Bun.env): boolean {
|
|
505
|
+
return env.ZETA_WORKBENCH === "1";
|
|
506
|
+
}
|
|
507
|
+
|
|
497
508
|
/**
|
|
498
509
|
* Resolve an explicit user override for OSC 8 hyperlinks. Returns `false` for
|
|
499
510
|
* an opt-out, `true` for a force-on, or `null` when the user has expressed no
|
|
@@ -527,6 +538,10 @@ function parseTmuxVersionFromEnv(env: NodeJS.ProcessEnv): { major: number; minor
|
|
|
527
538
|
* terminal (`TERM=xterm-256color`, no `TERM_PROGRAM`), but it renders
|
|
528
539
|
* OSC 8 in its own grid and opens links itself on Ctrl+click, so the
|
|
529
540
|
* outer terminal's support does not matter.
|
|
541
|
+
* 2b. Zeta workbench pane with no nested screen/tmux: on, for the same
|
|
542
|
+
* reason — the workbench's terminal simulator renders OSC 8 itself and
|
|
543
|
+
* opens links on Ctrl+click (`ZETA_WORKBENCH=1` is injected into every
|
|
544
|
+
* pane PTY; the outer terminal is invisible from inside).
|
|
530
545
|
* 3. Static terminal capability — terminals whose {@link TerminalInfo} marks
|
|
531
546
|
* `hyperlinks: false` (e.g. `base`) stay off unless the user forced on.
|
|
532
547
|
* 4. GNU screen's explicit session marker (`STY`) always off, even if tmux is
|
|
@@ -554,6 +569,8 @@ export function shouldEnableHyperlinksByDefault(
|
|
|
554
569
|
|
|
555
570
|
if (isInsideHerdr(env) && !env.STY && !env.TMUX) return true;
|
|
556
571
|
|
|
572
|
+
if (isInsideZetaWorkbench(env) && !env.STY && !env.TMUX) return true;
|
|
573
|
+
|
|
557
574
|
if (!getTerminalInfo(terminalId).hyperlinks) return false;
|
|
558
575
|
|
|
559
576
|
// STY is GNU screen's explicit session marker. It vetoes tmux enabling when
|