@signalridge/pi-subagents 1.6.1 → 1.7.0
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 +10 -0
- package/package.json +2 -1
- package/src/index.ts +4 -3
- package/src/ui/conversation-viewer.ts +1 -1
- package/src/ui/fleet-list.ts +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.7.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
- 07350d4: Standardize extension-owned popup surfaces with an idempotent Pi-style border adapter. Native Pi dialogs retain their built-in framing and RPC behavior; custom menus and overlays gain consistent border rules.
|
|
7
|
+
|
|
8
|
+
### Patch Changes
|
|
9
|
+
|
|
10
|
+
- Updated dependencies [07350d4]
|
|
11
|
+
- @signalridge/pi-ui@1.3.0
|
|
12
|
+
|
|
3
13
|
## 1.6.1
|
|
4
14
|
### Patch Changes
|
|
5
15
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalridge/pi-subagents",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Signalridge's managed subagent runtime with workflow-owned orchestration RPC.",
|
|
5
5
|
"author": "tintinweb and signalridge contributors",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"@sinclair/typebox": "^0.34.50",
|
|
34
34
|
"croner": "^10.0.1",
|
|
35
35
|
"@signalridge/pi-subagents-protocol": "^1.3.1",
|
|
36
|
+
"@signalridge/pi-ui": "^1.3.0",
|
|
36
37
|
"nanoid": "^5.0.0"
|
|
37
38
|
},
|
|
38
39
|
"scripts": {
|
package/src/index.ts
CHANGED
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
Spacer,
|
|
38
38
|
Text,
|
|
39
39
|
} from "@earendil-works/pi-tui";
|
|
40
|
+
import { wrapCustomUi } from "@signalridge/pi-ui";
|
|
40
41
|
import { Type } from "@sinclair/typebox";
|
|
41
42
|
import { abortable } from "./abortable.js";
|
|
42
43
|
import {
|
|
@@ -3435,7 +3436,7 @@ Terse command-style prompts produce shallow, generic work.
|
|
|
3435
3436
|
if (hasCustom) legendParts.push("source labels: project and global");
|
|
3436
3437
|
if (hasDisabled) legendParts.push("disabled = unavailable");
|
|
3437
3438
|
|
|
3438
|
-
const selected = await ctx.ui.custom<string | undefined>(
|
|
3439
|
+
const selected = await wrapCustomUi(ctx.ui).custom<string | undefined>(
|
|
3439
3440
|
(_tui, _theme, _kb, done) => {
|
|
3440
3441
|
const slTheme = getSettingsListTheme();
|
|
3441
3442
|
const list = new SettingsList(
|
|
@@ -3501,7 +3502,7 @@ Terse command-style prompts produce shallow, generic work.
|
|
|
3501
3502
|
const session = record.session;
|
|
3502
3503
|
const activity = agentActivity.get(record.id);
|
|
3503
3504
|
|
|
3504
|
-
await ctx.ui.custom<undefined>(
|
|
3505
|
+
await wrapCustomUi(ctx.ui).custom<undefined>(
|
|
3505
3506
|
(tui, theme, keybindings, done) => {
|
|
3506
3507
|
return new ConversationViewer(
|
|
3507
3508
|
tui,
|
|
@@ -5038,7 +5039,7 @@ Do not wrap the response in a markdown code fence. Return only the file contents
|
|
|
5038
5039
|
// Updated on arrow keys so Enter knows which field is selected immediately.
|
|
5039
5040
|
let currentIndex = 0;
|
|
5040
5041
|
|
|
5041
|
-
const result = await ctx.ui.custom<string | undefined>(
|
|
5042
|
+
const result = await wrapCustomUi(ctx.ui).custom<string | undefined>(
|
|
5042
5043
|
(_tui, _theme, _kb, done) => {
|
|
5043
5044
|
const items = buildItems();
|
|
5044
5045
|
|
|
@@ -183,7 +183,7 @@ export class ConversationViewer implements Component {
|
|
|
183
183
|
// agent's conversation ends and the parent's resumes. An inner rule would be
|
|
184
184
|
// a third horizontal line competing with the two that mark the boundary, and
|
|
185
185
|
// a four-sided box would cost two columns on every row for the same job.
|
|
186
|
-
const rule = () => th.fg("
|
|
186
|
+
const rule = () => th.fg("borderAccent", "─".repeat(Math.max(0, width)));
|
|
187
187
|
const hrMid = row("");
|
|
188
188
|
|
|
189
189
|
lines.push(rule());
|
package/src/ui/fleet-list.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { Editor, isKeyRelease, Key, matchesKey, type TUI, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
15
|
+
import { borderedComponent } from "@signalridge/pi-ui";
|
|
15
16
|
import { renderAgentName } from "../agent-color.js";
|
|
16
17
|
import type { AgentManager } from "../agent-manager.js";
|
|
17
18
|
import type { AgentRecord } from "../types.js";
|
|
@@ -302,7 +303,7 @@ export class FleetList {
|
|
|
302
303
|
void this.ui.custom<undefined>(
|
|
303
304
|
(tui, theme, keybindings, done) => {
|
|
304
305
|
this.viewerClose = () => done(undefined);
|
|
305
|
-
return new ConversationViewer(
|
|
306
|
+
return borderedComponent(new ConversationViewer(
|
|
306
307
|
tui,
|
|
307
308
|
session,
|
|
308
309
|
record,
|
|
@@ -315,7 +316,7 @@ export class FleetList {
|
|
|
315
316
|
keybindings,
|
|
316
317
|
(message: string) => this.manager.steer(record.id, message),
|
|
317
318
|
() => this.manager.getRecord?.(record.id),
|
|
318
|
-
);
|
|
319
|
+
), (text) => theme.fg("borderAccent", text));
|
|
319
320
|
},
|
|
320
321
|
{
|
|
321
322
|
overlay: true,
|