Commit 23d50fc
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
- .changeset
- apps
- pythinker-code
- dist-web
- assets
- src/tui
- commands
- components
- chrome
- messages
- constant
- controllers
- test/tui
- commands
- components
- chrome
- messages
- pythinker-web
- src
- api
- daemon
- components
- chat
- tool-calls
- ui
- composables
- i18n/locales/en
- lib
- test
- docs
- configuration
- reference
- packages
- agent-core-v2
- docs
- src
- app/sessionManager
- features/tower
- injection
- skill
- tools
- init
- teardown
- session
- agentLifecycle/profile
- test
- app
- sessionManager
- skillCatalog
- features/tower
- tools
- state
- agent-gateway
- src
- protocol
- routes
- services/transcript
- transport/ws/v1
- test/services
- node-sdk
- src
- test
- protocol/src
- __tests__
- rest
- transcript
- src
- contract
- history
- model
- ops
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments