pi-crew 0.9.37 → 0.9.38
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 +22 -0
- package/dist/build-meta.json +28 -56
- package/dist/index.mjs +58 -291
- package/dist/index.mjs.map +4 -4
- package/package.json +1 -1
- package/src/config/config.ts +2 -2
- package/src/extension/crew-vibes/figures.ts +13 -6
- package/src/extension/crew-vibes/index.ts +36 -13
- package/src/extension/register.ts +0 -6
- package/src/extension/registration/subagent-tools.ts +1 -18
- package/src/extension/team-tool/context.ts +1 -0
- package/src/extension/team-tool/run.ts +1 -0
- package/src/runtime/progress-tracker.ts +0 -140
- package/src/ui/tool-renderers/index.ts +20 -3
- package/src/ui/widget/widget-formatters.ts +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.38] — cold context activation + UI polish (2026-07-15)
|
|
4
|
+
|
|
5
|
+
Fixes and UX polish following v0.9.37's cold-context groundwork:
|
|
6
|
+
|
|
7
|
+
### Fixes
|
|
8
|
+
|
|
9
|
+
- **`parseRuntimeConfig()` default activation** — `src/config/config.ts`. The v0.9.37 cold-context feature shipped with `inheritContext: true` as default in `settings-overlay.ts` and `handle-settings.ts`, but `parseRuntimeConfig(undefined)` was returning `undefined` (not the default config), so the default never reached `buildParentContext()`. Now returns `{ inheritContext: true }` for missing/invalid input. Cold context inheritance now actually works on first subagent spawn.
|
|
10
|
+
- **Crew-vibes animation resilience** — `src/extension/crew-vibes/`. Three layered fixes:
|
|
11
|
+
- `figures.ts`: `crewFrames()` default flipped `"pua"` → `"braille"` (Windows Terminal can't reliably do PUA font fallback).
|
|
12
|
+
- `figures.ts`: added `hasCrewFontFile()` runtime check — falls back to braille when `assets/crew-vibes.ttf` is missing.
|
|
13
|
+
- `index.ts`: `safeUiCall()` wrapper around all pi UI calls (`setWorkingIndicator`, `setWorkingMessage`, `setFooter`, `requestRender`, `setSpeedStatus`). Any throw is logged + falls back to pi default. "A broken spinner is not worth a crashed pi."
|
|
14
|
+
- **Test fix**: `test/unit/resilient-config-parser.test.ts` updated to match the new `parseConfig({})` output (now includes the `runtime.inheritContext=true` default).
|
|
15
|
+
|
|
16
|
+
### UX Polish
|
|
17
|
+
|
|
18
|
+
- **Animated spinner in agent loading display** — `src/ui/tool-renderers/index.ts`. The static `"◉ agent working..."` line is now replaced with an animated `spinnerFrame(agentId)` + parsed elapsed/tokens/tool from `formatCompactToolProgress`. Live feedback while subagents run.
|
|
19
|
+
- **Widget tok/s metric** — `src/ui/widget/widget-formatters.ts`. Agent stats line now shows throughput (`tok/s = tokens / elapsed_sec`) for both live-session and child-process paths. `TPS_METRIC_WIDTH=9` reserved for layout stability.
|
|
20
|
+
|
|
21
|
+
### Cleanup
|
|
22
|
+
|
|
23
|
+
- **Dead streaming code removed** — `-643 lines net`. The v0.9.37 Phase 2 (subagent streaming via `crewEventBus`) added `ProgressTracker.handleWorkerEvent()`, `register.ts` onJsonEvent bridge, and inline progress enrichment. Audit confirmed `crewEventBus` had ZERO subscribers and `getWorkerProgress` polling never rendered in pi TUI. Removed all related code + `test/unit/progress-tracker-worker.test.ts`. Cold context (Phase 1) kept and verified working.
|
|
24
|
+
|
|
3
25
|
## [0.9.37] — cold context + subagent streaming (2026-07-14)
|
|
4
26
|
|
|
5
27
|
Two performance improvements targeting perceived subagent slowness:
|
package/dist/build-meta.json
CHANGED
|
@@ -6242,7 +6242,7 @@
|
|
|
6242
6242
|
"format": "esm"
|
|
6243
6243
|
},
|
|
6244
6244
|
"src/config/config.ts": {
|
|
6245
|
-
"bytes":
|
|
6245
|
+
"bytes": 49536,
|
|
6246
6246
|
"imports": [
|
|
6247
6247
|
{
|
|
6248
6248
|
"path": "node:fs",
|
|
@@ -7659,7 +7659,7 @@
|
|
|
7659
7659
|
"format": "esm"
|
|
7660
7660
|
},
|
|
7661
7661
|
"src/ui/widget/widget-formatters.ts": {
|
|
7662
|
-
"bytes":
|
|
7662
|
+
"bytes": 7962,
|
|
7663
7663
|
"imports": [
|
|
7664
7664
|
{
|
|
7665
7665
|
"path": "src/runtime/usage-tracker.ts",
|
|
@@ -8410,7 +8410,7 @@
|
|
|
8410
8410
|
"format": "esm"
|
|
8411
8411
|
},
|
|
8412
8412
|
"src/extension/team-tool/context.ts": {
|
|
8413
|
-
"bytes":
|
|
8413
|
+
"bytes": 5582,
|
|
8414
8414
|
"imports": [
|
|
8415
8415
|
{
|
|
8416
8416
|
"path": "src/extension/tool-result.ts",
|
|
@@ -13586,7 +13586,7 @@
|
|
|
13586
13586
|
"format": "esm"
|
|
13587
13587
|
},
|
|
13588
13588
|
"src/ui/tool-renderers/index.ts": {
|
|
13589
|
-
"bytes":
|
|
13589
|
+
"bytes": 29280,
|
|
13590
13590
|
"imports": [
|
|
13591
13591
|
{
|
|
13592
13592
|
"path": "@earendil-works/pi-tui",
|
|
@@ -13598,6 +13598,11 @@
|
|
|
13598
13598
|
"kind": "import-statement",
|
|
13599
13599
|
"original": "../../utils/visual.ts"
|
|
13600
13600
|
},
|
|
13601
|
+
{
|
|
13602
|
+
"path": "src/ui/spinner.ts",
|
|
13603
|
+
"kind": "import-statement",
|
|
13604
|
+
"original": "../spinner.ts"
|
|
13605
|
+
},
|
|
13601
13606
|
{
|
|
13602
13607
|
"path": "src/ui/tool-render.ts",
|
|
13603
13608
|
"kind": "import-statement",
|
|
@@ -15834,7 +15839,7 @@
|
|
|
15834
15839
|
"format": "esm"
|
|
15835
15840
|
},
|
|
15836
15841
|
"src/extension/team-tool/run.ts": {
|
|
15837
|
-
"bytes":
|
|
15842
|
+
"bytes": 42553,
|
|
15838
15843
|
"imports": [
|
|
15839
15844
|
{
|
|
15840
15845
|
"path": "src/agents/discover-agents.ts",
|
|
@@ -17200,7 +17205,7 @@
|
|
|
17200
17205
|
"format": "esm"
|
|
17201
17206
|
},
|
|
17202
17207
|
"src/extension/crew-vibes/figures.ts": {
|
|
17203
|
-
"bytes":
|
|
17208
|
+
"bytes": 4043,
|
|
17204
17209
|
"imports": [
|
|
17205
17210
|
{
|
|
17206
17211
|
"path": "src/extension/crew-vibes/font-detect.ts",
|
|
@@ -17284,13 +17289,18 @@
|
|
|
17284
17289
|
"format": "esm"
|
|
17285
17290
|
},
|
|
17286
17291
|
"src/extension/crew-vibes/index.ts": {
|
|
17287
|
-
"bytes":
|
|
17292
|
+
"bytes": 14595,
|
|
17288
17293
|
"imports": [
|
|
17289
17294
|
{
|
|
17290
17295
|
"path": "src/ui/pi-ui-compat.ts",
|
|
17291
17296
|
"kind": "import-statement",
|
|
17292
17297
|
"original": "../../ui/pi-ui-compat.ts"
|
|
17293
17298
|
},
|
|
17299
|
+
{
|
|
17300
|
+
"path": "src/utils/internal-error.ts",
|
|
17301
|
+
"kind": "import-statement",
|
|
17302
|
+
"original": "../../utils/internal-error.ts"
|
|
17303
|
+
},
|
|
17294
17304
|
{
|
|
17295
17305
|
"path": "src/extension/crew-vibes/config.ts",
|
|
17296
17306
|
"kind": "import-statement",
|
|
@@ -17720,30 +17730,8 @@
|
|
|
17720
17730
|
],
|
|
17721
17731
|
"format": "esm"
|
|
17722
17732
|
},
|
|
17723
|
-
"src/observability/event-bus.ts": {
|
|
17724
|
-
"bytes": 2219,
|
|
17725
|
-
"imports": [
|
|
17726
|
-
{
|
|
17727
|
-
"path": "src/utils/internal-error.ts",
|
|
17728
|
-
"kind": "import-statement",
|
|
17729
|
-
"original": "../utils/internal-error.ts"
|
|
17730
|
-
}
|
|
17731
|
-
],
|
|
17732
|
-
"format": "esm"
|
|
17733
|
-
},
|
|
17734
|
-
"src/runtime/progress-tracker.ts": {
|
|
17735
|
-
"bytes": 7543,
|
|
17736
|
-
"imports": [
|
|
17737
|
-
{
|
|
17738
|
-
"path": "src/observability/event-bus.ts",
|
|
17739
|
-
"kind": "import-statement",
|
|
17740
|
-
"original": "../observability/event-bus.ts"
|
|
17741
|
-
}
|
|
17742
|
-
],
|
|
17743
|
-
"format": "esm"
|
|
17744
|
-
},
|
|
17745
17733
|
"src/extension/registration/subagent-tools.ts": {
|
|
17746
|
-
"bytes":
|
|
17734
|
+
"bytes": 17386,
|
|
17747
17735
|
"imports": [
|
|
17748
17736
|
{
|
|
17749
17737
|
"path": "node_modules/@sinclair/typebox/build/esm/index.mjs",
|
|
@@ -17775,11 +17763,6 @@
|
|
|
17775
17763
|
"kind": "import-statement",
|
|
17776
17764
|
"original": "../../runtime/crew-agent-records.ts"
|
|
17777
17765
|
},
|
|
17778
|
-
{
|
|
17779
|
-
"path": "src/runtime/progress-tracker.ts",
|
|
17780
|
-
"kind": "import-statement",
|
|
17781
|
-
"original": "../../runtime/progress-tracker.ts"
|
|
17782
|
-
},
|
|
17783
17766
|
{
|
|
17784
17767
|
"path": "src/runtime/role-permission.ts",
|
|
17785
17768
|
"kind": "import-statement",
|
|
@@ -18020,7 +18003,7 @@
|
|
|
18020
18003
|
"format": "esm"
|
|
18021
18004
|
},
|
|
18022
18005
|
"src/extension/register.ts": {
|
|
18023
|
-
"bytes":
|
|
18006
|
+
"bytes": 68063,
|
|
18024
18007
|
"imports": [
|
|
18025
18008
|
{
|
|
18026
18009
|
"path": "node:fs",
|
|
@@ -18342,11 +18325,6 @@
|
|
|
18342
18325
|
"kind": "import-statement",
|
|
18343
18326
|
"original": "../i18n.ts"
|
|
18344
18327
|
},
|
|
18345
|
-
{
|
|
18346
|
-
"path": "src/runtime/progress-tracker.ts",
|
|
18347
|
-
"kind": "import-statement",
|
|
18348
|
-
"original": "../runtime/progress-tracker.ts"
|
|
18349
|
-
},
|
|
18350
18328
|
{
|
|
18351
18329
|
"path": "src/runtime/session-resources.ts",
|
|
18352
18330
|
"kind": "import-statement",
|
|
@@ -18447,7 +18425,7 @@
|
|
|
18447
18425
|
"imports": [],
|
|
18448
18426
|
"exports": [],
|
|
18449
18427
|
"inputs": {},
|
|
18450
|
-
"bytes":
|
|
18428
|
+
"bytes": 6704580
|
|
18451
18429
|
},
|
|
18452
18430
|
"dist/index.mjs": {
|
|
18453
18431
|
"imports": [
|
|
@@ -20675,7 +20653,7 @@
|
|
|
20675
20653
|
"bytesInOutput": 1330
|
|
20676
20654
|
},
|
|
20677
20655
|
"src/config/config.ts": {
|
|
20678
|
-
"bytesInOutput":
|
|
20656
|
+
"bytesInOutput": 39115
|
|
20679
20657
|
},
|
|
20680
20658
|
"src/errors.ts": {
|
|
20681
20659
|
"bytesInOutput": 8094
|
|
@@ -20879,7 +20857,7 @@
|
|
|
20879
20857
|
"bytesInOutput": 793
|
|
20880
20858
|
},
|
|
20881
20859
|
"src/ui/widget/widget-formatters.ts": {
|
|
20882
|
-
"bytesInOutput":
|
|
20860
|
+
"bytesInOutput": 5712
|
|
20883
20861
|
},
|
|
20884
20862
|
"src/ui/powerbar-publisher.ts": {
|
|
20885
20863
|
"bytesInOutput": 9964
|
|
@@ -21644,7 +21622,7 @@
|
|
|
21644
21622
|
"bytesInOutput": 1873
|
|
21645
21623
|
},
|
|
21646
21624
|
"src/ui/tool-renderers/index.ts": {
|
|
21647
|
-
"bytesInOutput":
|
|
21625
|
+
"bytesInOutput": 21497
|
|
21648
21626
|
},
|
|
21649
21627
|
"src/ui/tool-progress-formatter.ts": {
|
|
21650
21628
|
"bytesInOutput": 2691
|
|
@@ -22052,7 +22030,7 @@
|
|
|
22052
22030
|
"bytesInOutput": 3150
|
|
22053
22031
|
},
|
|
22054
22032
|
"src/extension/register.ts": {
|
|
22055
|
-
"bytesInOutput":
|
|
22033
|
+
"bytesInOutput": 45555
|
|
22056
22034
|
},
|
|
22057
22035
|
"src/runtime/batch-barrier.ts": {
|
|
22058
22036
|
"bytesInOutput": 3060
|
|
@@ -22100,7 +22078,7 @@
|
|
|
22100
22078
|
"bytesInOutput": 1204
|
|
22101
22079
|
},
|
|
22102
22080
|
"src/extension/crew-vibes/index.ts": {
|
|
22103
|
-
"bytesInOutput":
|
|
22081
|
+
"bytesInOutput": 11458
|
|
22104
22082
|
},
|
|
22105
22083
|
"src/extension/crew-vibes/config.ts": {
|
|
22106
22084
|
"bytesInOutput": 5221
|
|
@@ -22109,7 +22087,7 @@
|
|
|
22109
22087
|
"bytesInOutput": 1467
|
|
22110
22088
|
},
|
|
22111
22089
|
"src/extension/crew-vibes/figures.ts": {
|
|
22112
|
-
"bytesInOutput":
|
|
22090
|
+
"bytesInOutput": 1246
|
|
22113
22091
|
},
|
|
22114
22092
|
"src/extension/crew-vibes/footer.ts": {
|
|
22115
22093
|
"bytesInOutput": 8220
|
|
@@ -22136,17 +22114,11 @@
|
|
|
22136
22114
|
"bytesInOutput": 647
|
|
22137
22115
|
},
|
|
22138
22116
|
"src/extension/registration/subagent-tools.ts": {
|
|
22139
|
-
"bytesInOutput":
|
|
22117
|
+
"bytesInOutput": 15548
|
|
22140
22118
|
},
|
|
22141
22119
|
"src/i18n.ts": {
|
|
22142
22120
|
"bytesInOutput": 6837
|
|
22143
22121
|
},
|
|
22144
|
-
"src/observability/event-bus.ts": {
|
|
22145
|
-
"bytesInOutput": 1170
|
|
22146
|
-
},
|
|
22147
|
-
"src/runtime/progress-tracker.ts": {
|
|
22148
|
-
"bytesInOutput": 6660
|
|
22149
|
-
},
|
|
22150
22122
|
"src/extension/session-summary.ts": {
|
|
22151
22123
|
"bytesInOutput": 512
|
|
22152
22124
|
},
|
|
@@ -22163,7 +22135,7 @@
|
|
|
22163
22135
|
"bytesInOutput": 81
|
|
22164
22136
|
}
|
|
22165
22137
|
},
|
|
22166
|
-
"bytes":
|
|
22138
|
+
"bytes": 3175900
|
|
22167
22139
|
}
|
|
22168
22140
|
}
|
|
22169
22141
|
}
|