@esso0428/pi-subagents 0.17.12 → 0.17.14
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 +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -42
- package/dist/index.js.map +1 -1
- package/dist/ui/agent-widget.d.ts +96 -96
- package/dist/ui/agent-widget.d.ts.map +1 -1
- package/dist/ui/agent-widget.js +561 -371
- package/dist/ui/agent-widget.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +24 -38
- package/src/ui/agent-widget.ts +590 -364
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.17.14] - 2026-10-01
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **Restored focus-gated selector routing** so agent history selectors receive navigation input without suspending the background Agents widget.
|
|
14
|
+
- **Moved `@sinclair/typebox` to peerDependencies** to prevent duplicate-package metadata warnings while retaining it for development and testing.
|
|
15
|
+
|
|
16
|
+
## [0.17.13] - 2026-09-30
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- **Repaired the Agents widget lifecycle and interaction model**: runtime agent updates are cached and rendered without stale rows, modal history selectors suspend background widget input, and nested agents remain visible under their owning parent.
|
|
20
|
+
- **Preserved durable transcript-backed agents after runtime cleanup**, including model and accumulated-cost details for completed and historical rows.
|
|
21
|
+
- **Improved widget layout resilience** with correct scrollbar bounds and restoration of the v0.17.6 selector foundation across short and long terminal layouts.
|
|
22
|
+
|
|
10
23
|
## [0.17.12] - 2026-09-30
|
|
11
24
|
|
|
12
25
|
### Fixed
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAc,KAAK,YAAY,EAA8G,MAAM,iCAAiC,CAAC;AAC5L,OAAO,EAAE,SAAS,EAA2F,MAAM,wBAAwB,CAAC;AAyB5I,OAAO,EAAE,KAAK,WAAW,EAAuK,MAAM,YAAY,CAAC;AAEnN,OAAO,EAeL,KAAK,KAAK,EAEX,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAA2B,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAmBrG,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GACvB,SAAS,CAKX;AAgKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAatE;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEvG,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAc,KAAK,YAAY,EAA8G,MAAM,iCAAiC,CAAC;AAC5L,OAAO,EAAE,SAAS,EAA2F,MAAM,wBAAwB,CAAC;AAyB5I,OAAO,EAAE,KAAK,WAAW,EAAuK,MAAM,YAAY,CAAC;AAEnN,OAAO,EAeL,KAAK,KAAK,EAEX,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAA2B,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAmBrG,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GACvB,SAAS,CAKX;AAgKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAatE;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEvG,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,QAiuHxC"}
|
package/dist/index.js
CHANGED
|
@@ -2730,16 +2730,7 @@ Terse command-style prompts produce shallow, generic work.
|
|
|
2730
2730
|
if (noAgentsMsg) {
|
|
2731
2731
|
ctx.ui.notify(noAgentsMsg, "info");
|
|
2732
2732
|
}
|
|
2733
|
-
|
|
2734
|
-
// while the top-level menu owns the same arrow/Enter keys.
|
|
2735
|
-
widget.suspendNavigation();
|
|
2736
|
-
let choice;
|
|
2737
|
-
try {
|
|
2738
|
-
choice = await ctx.ui.select("Agents", options);
|
|
2739
|
-
}
|
|
2740
|
-
finally {
|
|
2741
|
-
widget.resumeNavigation();
|
|
2742
|
-
}
|
|
2733
|
+
const choice = await ctx.ui.select("Agents", options);
|
|
2743
2734
|
if (!choice)
|
|
2744
2735
|
return;
|
|
2745
2736
|
if (choice.startsWith("Running agents (")) {
|
|
@@ -2865,38 +2856,31 @@ Terse command-style prompts produce shallow, generic work.
|
|
|
2865
2856
|
selection.index = index;
|
|
2866
2857
|
}
|
|
2867
2858
|
};
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
container.
|
|
2886
|
-
container.
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
},
|
|
2894
|
-
};
|
|
2895
|
-
});
|
|
2896
|
-
}
|
|
2897
|
-
finally {
|
|
2898
|
-
widget.resumeNavigation();
|
|
2899
|
-
}
|
|
2859
|
+
const choice = await ctx.ui.custom((_tui, _theme, _kb, done) => {
|
|
2860
|
+
const list = new SelectList(options, Math.min(options.length, 10), getSelectListTheme());
|
|
2861
|
+
list.setSelectedIndex(initialIndex);
|
|
2862
|
+
const initialItem = options[initialIndex];
|
|
2863
|
+
if (initialItem)
|
|
2864
|
+
remember(initialItem.value);
|
|
2865
|
+
list.onSelectionChange = item => remember(item.value);
|
|
2866
|
+
list.onSelect = item => {
|
|
2867
|
+
remember(item.value);
|
|
2868
|
+
done(item.value);
|
|
2869
|
+
};
|
|
2870
|
+
list.onCancel = () => done(undefined);
|
|
2871
|
+
const container = new Container();
|
|
2872
|
+
container.addChild(new Text(title, 0, 0));
|
|
2873
|
+
container.addChild(new Spacer(1));
|
|
2874
|
+
container.addChild(list);
|
|
2875
|
+
return {
|
|
2876
|
+
render: (width) => container.render(width),
|
|
2877
|
+
invalidate: () => container.invalidate(),
|
|
2878
|
+
handleInput: (data) => {
|
|
2879
|
+
if (!isKeyRelease(data))
|
|
2880
|
+
list.handleInput(data);
|
|
2881
|
+
},
|
|
2882
|
+
};
|
|
2883
|
+
});
|
|
2900
2884
|
if (!choice)
|
|
2901
2885
|
return undefined;
|
|
2902
2886
|
return pairs.find(({ record }) => record.id === choice)?.record;
|