Skip to content

Commit 23d50fc

Browse files
authored
feat: complete tower and subagent surfaces (#162)
## Related Issue N/A — maintainer-authored product work. ## Problem The desktop transcript can show duplicate live thinking activity, and narrow subagent panels can hide the Close action. Task and subagent outcomes also lack persisted transcript cards and model details. The existing tower engine feature has no complete experimental client and TUI control surface. ## What changed - Render live thinking once and keep subagent panel actions visible at narrow widths. - Add escaped, persisted task outcome cards with model and thinking-effort details. - Add default-off tower mode across the engine, gateway, protocol, SDK, transcript, and TUI. Enable it with `PYTHINKER_CODE_EXPERIMENTAL_TOWER=1`. - Add `/tower` status, teardown, toggle, and objective controls with documentation. - Preserve all existing Pythinker loaders; no moon-frame loader was added. ## Verification - `pnpm run build` and CLI bundle smoke - `pnpm run test`: 20,392 passed, 3 expected failures, 80 skipped, 2 todo - `pnpm run lint`, `pnpm run sherif`, root typecheck, and CI-equivalent `tsgo` - `pnpm --filter @pymodel/pi-tui test`: 975 passed; `pnpm -C docs run build` - Web asset fingerprint, flake workspace sync, and `nix build .#pythinker-code --print-build-logs` ## Checklist - [x] I have read the [CONTRIBUTING](https://github.com/PyModel/pythinker-code/blob/main/CONTRIBUTING.md) document. - [ ] I have linked a related issue (N/A — maintainer-authored product work). - [x] I have added tests that prove my feature works. - [x] Ran `gen-changesets` skill, or this PR needs no changeset. - [x] Ran `gen-docs` skill, or this PR needs no doc update. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added experimental `/tower` mode for workspace-wide subagent coordination, including status, enable/disable, objective, and teardown commands. - Added Tower mode indicators in status views and footers. - Added task and subagent notification cards with statuses, metadata, output files, previews, and copy actions. - Added model and thinking-effort details to subagent activity. - **Bug Fixes** - Removed duplicate live thinking activity. - Improved task completion tracking and notification handling. - **Documentation** - Documented Tower mode configuration and slash commands. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent cb7fa31 commit 23d50fc

203 files changed

Lines changed: 3655 additions & 1188 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": minor
3+
---
4+
5+
Add the experimental `/tower` command for workspace-wide subagent coordination, enabled with `PYTHINKER_CODE_EXPERIMENTAL_TOWER=1`.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Remove duplicate live activity and keep narrow subagent panel controls visible.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Show task outcome cards with subagent model and thinking-effort details in conversations.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"sourceHash": "18c3d29fcf292cd71282790f692624374551dbe7c2fbada53338814e12636327",
3-
"sourceFileCount": 388
2+
"sourceHash": "18d708358b92ec6e3ca36beb9975132d720096a6d1812ff94f0b3ec97ce45803",
3+
"sourceFileCount": 390
44
}

apps/pythinker-code/dist-web/assets/CodeBlockNode-DCqe7K1L.js renamed to apps/pythinker-code/dist-web/assets/CodeBlockNode-1o-AwgdN.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/pythinker-code/dist-web/assets/DesignSystemView-CvSZCR1-.js renamed to apps/pythinker-code/dist-web/assets/DesignSystemView-CUGKFjlX.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/pythinker-code/dist-web/assets/Tooltip-CZKw9see.js renamed to apps/pythinker-code/dist-web/assets/Tooltip-B22FCjKe.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/pythinker-code/dist-web/assets/abnfDiagram-VCTEODGH-D7IF4CAn.js renamed to apps/pythinker-code/dist-web/assets/abnfDiagram-VCTEODGH-CEgX_f4C.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/pythinker-code/dist-web/assets/arc-DhJJZUn7.js renamed to apps/pythinker-code/dist-web/assets/arc-B7XQtBHc.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/pythinker-code/dist-web/assets/architectureDiagram-5GKGNRK7-Duk6CRy1.js renamed to apps/pythinker-code/dist-web/assets/architectureDiagram-5GKGNRK7-DCZirulB.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)