@deepseek-harness-tui/dsh-tui 0.12.0 → 0.13.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/README.md +41 -5
- package/assets/deepy/README.md +60 -0
- package/assets/deepy/frames.json +1 -0
- package/assets/whale-girl/whale-girl-happy.png +0 -0
- package/assets/whaleGirl/README.md +7 -0
- package/assets/whaleGirl/frames.json +1 -0
- package/assets/whaleGirl/img/building/00.png +0 -0
- package/assets/whaleGirl/img/building/01.png +0 -0
- package/assets/whaleGirl/img/building/02.png +0 -0
- package/assets/whaleGirl/img/building/03.png +0 -0
- package/assets/whaleGirl/img/building/04.png +0 -0
- package/assets/whaleGirl/img/building/05.png +0 -0
- package/assets/whaleGirl/img/building/06.png +0 -0
- package/assets/whaleGirl/img/building/07.png +0 -0
- package/assets/whaleGirl/img/building/08.png +0 -0
- package/assets/whaleGirl/img/building/09.png +0 -0
- package/assets/whaleGirl/img/building/10.png +0 -0
- package/assets/whaleGirl/img/building/11.png +0 -0
- package/assets/whaleGirl/img/building/12.png +0 -0
- package/assets/whaleGirl/img/building/13.png +0 -0
- package/assets/whaleGirl/img/building/14.png +0 -0
- package/assets/whaleGirl/img/building/15.png +0 -0
- package/assets/whaleGirl/img/building/16.png +0 -0
- package/assets/whaleGirl/img/building/17.png +0 -0
- package/assets/whaleGirl/img/building/18.png +0 -0
- package/assets/whaleGirl/img/building/19.png +0 -0
- package/assets/whaleGirl/img/building/20.png +0 -0
- package/assets/whaleGirl/img/building/21.png +0 -0
- package/assets/whaleGirl/img/building/22.png +0 -0
- package/assets/whaleGirl/img/building/23.png +0 -0
- package/assets/whaleGirl/img/carrying/00.png +0 -0
- package/assets/whaleGirl/img/carrying/01.png +0 -0
- package/assets/whaleGirl/img/carrying/02.png +0 -0
- package/assets/whaleGirl/img/carrying/03.png +0 -0
- package/assets/whaleGirl/img/carrying/04.png +0 -0
- package/assets/whaleGirl/img/carrying/05.png +0 -0
- package/assets/whaleGirl/img/carrying/06.png +0 -0
- package/assets/whaleGirl/img/carrying/07.png +0 -0
- package/assets/whaleGirl/img/compacting/00.png +0 -0
- package/assets/whaleGirl/img/compacting/01.png +0 -0
- package/assets/whaleGirl/img/compacting/02.png +0 -0
- package/assets/whaleGirl/img/compacting/03.png +0 -0
- package/assets/whaleGirl/img/compacting/04.png +0 -0
- package/assets/whaleGirl/img/compacting/05.png +0 -0
- package/assets/whaleGirl/img/compacting/06.png +0 -0
- package/assets/whaleGirl/img/compacting/07.png +0 -0
- package/assets/whaleGirl/img/compacting/08.png +0 -0
- package/assets/whaleGirl/img/compacting/09.png +0 -0
- package/assets/whaleGirl/img/conducting/00.png +0 -0
- package/assets/whaleGirl/img/conducting/01.png +0 -0
- package/assets/whaleGirl/img/conducting/02.png +0 -0
- package/assets/whaleGirl/img/conducting/03.png +0 -0
- package/assets/whaleGirl/img/conducting/04.png +0 -0
- package/assets/whaleGirl/img/conducting/05.png +0 -0
- package/assets/whaleGirl/img/conducting/06.png +0 -0
- package/assets/whaleGirl/img/conducting/07.png +0 -0
- package/assets/whaleGirl/img/conducting/08.png +0 -0
- package/assets/whaleGirl/img/conducting/09.png +0 -0
- package/assets/whaleGirl/img/conducting/10.png +0 -0
- package/assets/whaleGirl/img/conducting/11.png +0 -0
- package/assets/whaleGirl/img/drag/00.png +0 -0
- package/assets/whaleGirl/img/drag/01.png +0 -0
- package/assets/whaleGirl/img/drag/02.png +0 -0
- package/assets/whaleGirl/img/drag/03.png +0 -0
- package/assets/whaleGirl/img/drag/04.png +0 -0
- package/assets/whaleGirl/img/drag/05.png +0 -0
- package/assets/whaleGirl/img/drag/06.png +0 -0
- package/assets/whaleGirl/img/drag/07.png +0 -0
- package/assets/whaleGirl/img/drag/08.png +0 -0
- package/assets/whaleGirl/img/drag/09.png +0 -0
- package/assets/whaleGirl/img/error/00.png +0 -0
- package/assets/whaleGirl/img/error/01.png +0 -0
- package/assets/whaleGirl/img/error/02.png +0 -0
- package/assets/whaleGirl/img/error/03.png +0 -0
- package/assets/whaleGirl/img/error/04.png +0 -0
- package/assets/whaleGirl/img/error/05.png +0 -0
- package/assets/whaleGirl/img/error/06.png +0 -0
- package/assets/whaleGirl/img/error/07.png +0 -0
- package/assets/whaleGirl/img/error/08.png +0 -0
- package/assets/whaleGirl/img/error/09.png +0 -0
- package/assets/whaleGirl/img/happy/00.png +0 -0
- package/assets/whaleGirl/img/happy/01.png +0 -0
- package/assets/whaleGirl/img/happy/02.png +0 -0
- package/assets/whaleGirl/img/happy/03.png +0 -0
- package/assets/whaleGirl/img/happy/04.png +0 -0
- package/assets/whaleGirl/img/happy/05.png +0 -0
- package/assets/whaleGirl/img/happy/06.png +0 -0
- package/assets/whaleGirl/img/happy/07.png +0 -0
- package/assets/whaleGirl/img/happy/08.png +0 -0
- package/assets/whaleGirl/img/happy/09.png +0 -0
- package/assets/whaleGirl/img/happy/10.png +0 -0
- package/assets/whaleGirl/img/idle/00.png +0 -0
- package/assets/whaleGirl/img/idle/01.png +0 -0
- package/assets/whaleGirl/img/idle/02.png +0 -0
- package/assets/whaleGirl/img/idle/03.png +0 -0
- package/assets/whaleGirl/img/idle/04.png +0 -0
- package/assets/whaleGirl/img/idle/05.png +0 -0
- package/assets/whaleGirl/img/idle/06.png +0 -0
- package/assets/whaleGirl/img/idle/07.png +0 -0
- package/assets/whaleGirl/img/idle/08.png +0 -0
- package/assets/whaleGirl/img/idle/09.png +0 -0
- package/assets/whaleGirl/img/idle/10.png +0 -0
- package/assets/whaleGirl/img/idle/11.png +0 -0
- package/assets/whaleGirl/img/idle/12.png +0 -0
- package/assets/whaleGirl/img/idle/13.png +0 -0
- package/assets/whaleGirl/img/idle/14.png +0 -0
- package/assets/whaleGirl/img/idle/15.png +0 -0
- package/assets/whaleGirl/img/idle/16.png +0 -0
- package/assets/whaleGirl/img/idle/17.png +0 -0
- package/assets/whaleGirl/img/idle/18.png +0 -0
- package/assets/whaleGirl/img/idle/19.png +0 -0
- package/assets/whaleGirl/img/idle/20.png +0 -0
- package/assets/whaleGirl/img/idle-look/00.png +0 -0
- package/assets/whaleGirl/img/idle-look/01.png +0 -0
- package/assets/whaleGirl/img/idle-look/02.png +0 -0
- package/assets/whaleGirl/img/idle-look/03.png +0 -0
- package/assets/whaleGirl/img/idle-look/04.png +0 -0
- package/assets/whaleGirl/img/idle-look/05.png +0 -0
- package/assets/whaleGirl/img/idle-look/06.png +0 -0
- package/assets/whaleGirl/img/idle-look/07.png +0 -0
- package/assets/whaleGirl/img/idle-look/08.png +0 -0
- package/assets/whaleGirl/img/idle-look/09.png +0 -0
- package/assets/whaleGirl/img/idle-look/10.png +0 -0
- package/assets/whaleGirl/img/idle-look/11.png +0 -0
- package/assets/whaleGirl/img/idle-look/12.png +0 -0
- package/assets/whaleGirl/img/idle-spout/00.png +0 -0
- package/assets/whaleGirl/img/idle-spout/01.png +0 -0
- package/assets/whaleGirl/img/idle-spout/02.png +0 -0
- package/assets/whaleGirl/img/idle-spout/03.png +0 -0
- package/assets/whaleGirl/img/idle-spout/04.png +0 -0
- package/assets/whaleGirl/img/idle-spout/05.png +0 -0
- package/assets/whaleGirl/img/idle-spout/06.png +0 -0
- package/assets/whaleGirl/img/idle-spout/07.png +0 -0
- package/assets/whaleGirl/img/idle-spout/08.png +0 -0
- package/assets/whaleGirl/img/idle-spout/09.png +0 -0
- package/assets/whaleGirl/img/idle-spout/10.png +0 -0
- package/assets/whaleGirl/img/music/00.png +0 -0
- package/assets/whaleGirl/img/music/01.png +0 -0
- package/assets/whaleGirl/img/music/02.png +0 -0
- package/assets/whaleGirl/img/music/03.png +0 -0
- package/assets/whaleGirl/img/music/04.png +0 -0
- package/assets/whaleGirl/img/music/05.png +0 -0
- package/assets/whaleGirl/img/music/06.png +0 -0
- package/assets/whaleGirl/img/music/07.png +0 -0
- package/assets/whaleGirl/img/notification/00.png +0 -0
- package/assets/whaleGirl/img/notification/01.png +0 -0
- package/assets/whaleGirl/img/notification/02.png +0 -0
- package/assets/whaleGirl/img/notification/03.png +0 -0
- package/assets/whaleGirl/img/notification/04.png +0 -0
- package/assets/whaleGirl/img/notification/05.png +0 -0
- package/assets/whaleGirl/img/notification/06.png +0 -0
- package/assets/whaleGirl/img/notification/07.png +0 -0
- package/assets/whaleGirl/img/poke-left/00.png +0 -0
- package/assets/whaleGirl/img/poke-left/01.png +0 -0
- package/assets/whaleGirl/img/poke-left/02.png +0 -0
- package/assets/whaleGirl/img/poke-left/03.png +0 -0
- package/assets/whaleGirl/img/poke-left/04.png +0 -0
- package/assets/whaleGirl/img/poke-left/05.png +0 -0
- package/assets/whaleGirl/img/poke-left/06.png +0 -0
- package/assets/whaleGirl/img/poke-left/07.png +0 -0
- package/assets/whaleGirl/img/poke-left/08.png +0 -0
- package/assets/whaleGirl/img/poke-left/09.png +0 -0
- package/assets/whaleGirl/img/poke-left/10.png +0 -0
- package/assets/whaleGirl/img/poke-right/00.png +0 -0
- package/assets/whaleGirl/img/poke-right/01.png +0 -0
- package/assets/whaleGirl/img/poke-right/02.png +0 -0
- package/assets/whaleGirl/img/poke-right/03.png +0 -0
- package/assets/whaleGirl/img/poke-right/04.png +0 -0
- package/assets/whaleGirl/img/poke-right/05.png +0 -0
- package/assets/whaleGirl/img/poke-right/06.png +0 -0
- package/assets/whaleGirl/img/poke-right/07.png +0 -0
- package/assets/whaleGirl/img/poke-right/08.png +0 -0
- package/assets/whaleGirl/img/poke-right/09.png +0 -0
- package/assets/whaleGirl/img/poke-right/10.png +0 -0
- package/assets/whaleGirl/img/sleeping/00.png +0 -0
- package/assets/whaleGirl/img/sleeping/01.png +0 -0
- package/assets/whaleGirl/img/sleeping/02.png +0 -0
- package/assets/whaleGirl/img/sleeping/03.png +0 -0
- package/assets/whaleGirl/img/sleeping/04.png +0 -0
- package/assets/whaleGirl/img/sleeping/05.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/00.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/01.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/02.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/03.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/04.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/05.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/06.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/07.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/08.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/09.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/10.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/11.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/12.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/13.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/14.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/15.png +0 -0
- package/assets/whaleGirl/img/swim/00.png +0 -0
- package/assets/whaleGirl/img/swim/01.png +0 -0
- package/assets/whaleGirl/img/swim/02.png +0 -0
- package/assets/whaleGirl/img/swim/03.png +0 -0
- package/assets/whaleGirl/img/swim/04.png +0 -0
- package/assets/whaleGirl/img/swim/05.png +0 -0
- package/assets/whaleGirl/img/swim/06.png +0 -0
- package/assets/whaleGirl/img/swim/07.png +0 -0
- package/assets/whaleGirl/img/thinking/00.png +0 -0
- package/assets/whaleGirl/img/thinking/01.png +0 -0
- package/assets/whaleGirl/img/thinking/02.png +0 -0
- package/assets/whaleGirl/img/thinking/03.png +0 -0
- package/assets/whaleGirl/img/thinking/04.png +0 -0
- package/assets/whaleGirl/img/thinking/05.png +0 -0
- package/assets/whaleGirl/img/thinking/06.png +0 -0
- package/assets/whaleGirl/img/thinking/07.png +0 -0
- package/assets/whaleGirl/img/thinking/08.png +0 -0
- package/assets/whaleGirl/img/thinking/09.png +0 -0
- package/assets/whaleGirl/img/thinking/10.png +0 -0
- package/assets/whaleGirl/img/thinking/11.png +0 -0
- package/assets/whaleGirl/img/thinking/12.png +0 -0
- package/assets/whaleGirl/img/thinking/13.png +0 -0
- package/assets/whaleGirl/img/thinking/14.png +0 -0
- package/assets/whaleGirl/img/thinking/15.png +0 -0
- package/assets/whaleGirl/img/thinking/16.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/00.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/01.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/02.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/03.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/04.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/05.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/06.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/07.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/08.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/09.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/10.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/11.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/12.png +0 -0
- package/assets/whaleGirl/img/tickle/00.png +0 -0
- package/assets/whaleGirl/img/tickle/01.png +0 -0
- package/assets/whaleGirl/img/tickle/02.png +0 -0
- package/assets/whaleGirl/img/tickle/03.png +0 -0
- package/assets/whaleGirl/img/tickle/04.png +0 -0
- package/assets/whaleGirl/img/tickle/05.png +0 -0
- package/assets/whaleGirl/img/tickle/06.png +0 -0
- package/assets/whaleGirl/img/tickle/07.png +0 -0
- package/assets/whaleGirl/img/tickle/08.png +0 -0
- package/assets/whaleGirl/img/tickle/09.png +0 -0
- package/assets/whaleGirl/img/tickle/10.png +0 -0
- package/assets/whaleGirl/img/tickle/11.png +0 -0
- package/assets/whaleGirl/img/tickle/12.png +0 -0
- package/assets/whaleGirl/img/tickle/13.png +0 -0
- package/assets/whaleGirl/img/timings.json +1 -0
- package/assets/whaleGirl/img/typing/00.png +0 -0
- package/assets/whaleGirl/img/typing/01.png +0 -0
- package/assets/whaleGirl/img/typing/02.png +0 -0
- package/assets/whaleGirl/img/typing/03.png +0 -0
- package/assets/whaleGirl/img/typing/04.png +0 -0
- package/assets/whaleGirl/img/typing/05.png +0 -0
- package/assets/whaleGirl/img/typing/06.png +0 -0
- package/assets/whaleGirl/img/typing/07.png +0 -0
- package/assets/whaleGirl/img/typing/08.png +0 -0
- package/assets/whaleGirl/img/typing/09.png +0 -0
- package/assets/whaleGirl/img/typing/10.png +0 -0
- package/assets/whaleGirl/img/typing/11.png +0 -0
- package/assets/whaleGirl/img/typing/12.png +0 -0
- package/assets/whaleGirl/img/typing/13.png +0 -0
- package/assets/whaleGirl/img/waking/00.png +0 -0
- package/assets/whaleGirl/img/waking/01.png +0 -0
- package/assets/whaleGirl/img/waking/02.png +0 -0
- package/assets/whaleGirl/img/waking/03.png +0 -0
- package/assets/whaleGirl/img/waking/04.png +0 -0
- package/assets/whaleGirl/img/waking/05.png +0 -0
- package/assets/whaleGirl/img/waking/06.png +0 -0
- package/assets/whaleGirl/img/waking/07.png +0 -0
- package/assets/whaleGirl/img/waking/08.png +0 -0
- package/assets/whaleGirl/img/waking/09.png +0 -0
- package/assets/whaleGirl/img/waking/10.png +0 -0
- package/bin/dsh-tui.js +8 -3
- package/cordis.patch.yml +7 -1
- package/guide/dsh-tui-guide/configuration.en.md +6 -1
- package/guide/dsh-tui-guide/configuration.md +6 -1
- package/guide/dsh-tui-guide/getting-started.en.md +6 -3
- package/guide/dsh-tui-guide/getting-started.md +4 -2
- package/guide/dsh-tui-guide/interaction.en.md +68 -4
- package/guide/dsh-tui-guide/interaction.md +49 -3
- package/guide/dsh-tui-guide/plugins.en.md +16 -6
- package/guide/dsh-tui-guide/plugins.md +14 -6
- package/guide/dsh-tui-guide/themes.en.md +7 -2
- package/guide/dsh-tui-guide/themes.md +5 -2
- package/guide/dsh-tui-guide/user-guide.en.md +124 -21
- package/guide/dsh-tui-guide/user-guide.md +96 -16
- package/lib/settings.json +215 -1
- package/lib/types/adapter/channel/ui-policy.d.ts +6 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +14 -1
- package/lib/types/adapter/index.d.ts +1 -1
- package/lib/types/adapter/index.js +1 -1
- package/lib/types/adapter/kernel/host-facade.d.ts +4 -1
- package/lib/types/adapter/kernel/host-facade.d.ts.map +1 -1
- package/lib/types/adapter/kernel/host-facade.js +8 -1
- package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
- package/lib/types/adapter/kernel/runtime.js +13 -0
- package/lib/types/adapter/kernel/slices/index.d.ts +1 -0
- package/lib/types/adapter/kernel/slices/index.d.ts.map +1 -1
- package/lib/types/adapter/kernel/slices/index.js +3 -0
- package/lib/types/adapter/kernel/slices/panels.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/panels.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/panels.js +14 -0
- package/lib/types/adapter/ports/channel-capabilities.d.ts +48 -0
- package/lib/types/adapter/ports/channel-capabilities.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-capabilities.js +2 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts +7 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-display.d.ts +10 -0
- package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +62 -2
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +94 -0
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel.d.ts +1 -1
- package/lib/types/adapter/ports/channel.js +1 -1
- package/lib/types/adapter/ports/descriptor.d.ts +1 -1
- package/lib/types/adapter/ports/descriptor.js +1 -1
- package/lib/types/adapter/ports/index.d.ts +1 -1
- package/lib/types/adapter/ports/index.js +1 -1
- package/lib/types/adapter/ports/panels.d.ts +28 -0
- package/lib/types/adapter/ports/panels.d.ts.map +1 -0
- package/lib/types/adapter/ports/panels.js +8 -0
- package/lib/types/adapter/ports/workspace.d.ts +1 -1
- package/lib/types/adapter/ports/workspace.js +1 -1
- package/lib/types/adapter/spec/index.d.ts +2 -2
- package/lib/types/adapter/spec/index.js +2 -2
- package/lib/types/adapter/spec/profile.d.ts +6 -6
- package/lib/types/adapter/spec/profile.d.ts.map +1 -1
- package/lib/types/adapter/spec/profile.js +6 -6
- package/lib/types/adapter/spec/protocol-constants.d.ts +3 -3
- package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
- package/lib/types/adapter/spec/protocol-constants.js +5 -5
- package/lib/types/adapter/spec/tui-contributions.d.ts +4 -4
- package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
- package/lib/types/adapter/spec/tui-contributions.js +5 -5
- package/lib/types/adapter/standard/descriptor.js +1 -1
- package/lib/types/adapter/standard/index.d.ts +3 -3
- package/lib/types/adapter/standard/index.js +3 -3
- package/lib/types/adapter/standard/registry.d.ts +3 -2
- package/lib/types/adapter/standard/registry.d.ts.map +1 -1
- package/lib/types/adapter/standard/registry.js +6 -5
- package/lib/types/adapter/standard/tui-extension.d.ts +1 -1
- package/lib/types/adapter/standard/tui-extension.js +1 -1
- package/lib/types/adapter/upstream/index.d.ts +1 -0
- package/lib/types/adapter/upstream/index.d.ts.map +1 -1
- package/lib/types/adapter/upstream/index.js +1 -0
- package/lib/types/adapter/upstream/panels-driver.d.ts +18 -0
- package/lib/types/adapter/upstream/panels-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/panels-driver.js +159 -0
- package/lib/types/api.d.ts +2 -0
- package/lib/types/api.d.ts.map +1 -1
- package/lib/types/api.js +3 -1
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +12 -4
- package/lib/types/components/ActivityLine.d.ts +6 -9
- package/lib/types/components/ActivityLine.d.ts.map +1 -1
- package/lib/types/components/ActivityLine.js +7 -8
- package/lib/types/components/Chat/JobCard.d.ts +18 -1
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +90 -22
- package/lib/types/components/Chat/JobGroupHeader.d.ts +27 -0
- package/lib/types/components/Chat/JobGroupHeader.d.ts.map +1 -0
- package/lib/types/components/Chat/JobGroupHeader.js +62 -0
- package/lib/types/components/GoalTodoPanel.d.ts +13 -1
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +55 -14
- package/lib/types/components/JobsPanel.d.ts +42 -2
- package/lib/types/components/JobsPanel.d.ts.map +1 -1
- package/lib/types/components/JobsPanel.js +147 -14
- package/lib/types/components/LogoV2.d.ts +43 -3
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +42 -15
- package/lib/types/components/MessageList.d.ts +8 -2
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +212 -18
- package/lib/types/components/OverlayAbove.d.ts +11 -1
- package/lib/types/components/OverlayAbove.d.ts.map +1 -1
- package/lib/types/components/OverlayAbove.js +2 -12
- package/lib/types/components/PageMargin.d.ts.map +1 -1
- package/lib/types/components/PageMargin.js +3 -1
- package/lib/types/components/PluginSceneBoundary.d.ts +1 -1
- package/lib/types/components/PluginSceneBoundary.js +1 -1
- package/lib/types/components/PromptInput.d.ts +20 -22
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +413 -156
- package/lib/types/components/SearchBox.d.ts +22 -5
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +17 -13
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +17 -2
- package/lib/types/components/SubagentDashboard.d.ts +18 -3
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +53 -5
- package/lib/types/components/SubagentDetailScene.d.ts +7 -1
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
- package/lib/types/components/SubagentDetailScene.js +54 -5
- package/lib/types/components/SurfaceEdges.d.ts +21 -0
- package/lib/types/components/SurfaceEdges.d.ts.map +1 -0
- package/lib/types/components/SurfaceEdges.js +7 -0
- package/lib/types/components/ThemePicker.d.ts +9 -0
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +74 -10
- package/lib/types/components/ThemePreviewPane.d.ts +26 -0
- package/lib/types/components/ThemePreviewPane.d.ts.map +1 -0
- package/lib/types/components/ThemePreviewPane.js +99 -0
- package/lib/types/components/design-system/Divider.d.ts.map +1 -1
- package/lib/types/components/design-system/Divider.js +14 -9
- package/lib/types/components/launchpadActions.d.ts +73 -0
- package/lib/types/components/launchpadActions.d.ts.map +1 -0
- package/lib/types/components/launchpadActions.js +111 -0
- package/lib/types/components/launchpadLayout.d.ts +62 -0
- package/lib/types/components/launchpadLayout.d.ts.map +1 -0
- package/lib/types/components/launchpadLayout.js +176 -0
- package/lib/types/components/onboardingModel.d.ts +83 -0
- package/lib/types/components/onboardingModel.d.ts.map +1 -0
- package/lib/types/components/onboardingModel.js +128 -0
- package/lib/types/components/sidePanel/InfoPanel.d.ts +17 -0
- package/lib/types/components/sidePanel/InfoPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/InfoPanel.js +124 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts +45 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelBar.js +104 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts +21 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.js +30 -0
- package/lib/types/components/sidePanel/PanelHost.d.ts +36 -0
- package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelHost.js +81 -0
- package/lib/types/components/sidePanel/PanelPicker.d.ts +24 -0
- package/lib/types/components/sidePanel/PanelPicker.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelPicker.js +45 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts +55 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelStore.js +109 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +31 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelColumn.js +70 -0
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts +54 -0
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelLayout.js +81 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +43 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +26 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.d.ts +7 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.js +263 -0
- package/lib/types/components/sidePanel/WorkspacePanel.d.ts +4 -0
- package/lib/types/components/sidePanel/WorkspacePanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/WorkspacePanel.js +171 -0
- package/lib/types/components/sidePanel/builtinPanels.d.ts +3 -0
- package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -0
- package/lib/types/components/sidePanel/builtinPanels.js +229 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +53 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +528 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +32 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.js +103 -0
- package/lib/types/components/sidePanel/companion/deepy.d.ts +75 -0
- package/lib/types/components/sidePanel/companion/deepy.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/deepy.js +222 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts +176 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/mood.js +212 -0
- package/lib/types/components/sidePanel/companion/pose.d.ts +43 -0
- package/lib/types/components/sidePanel/companion/pose.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/pose.js +34 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts +102 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/skins.js +408 -0
- package/lib/types/components/sidePanel/dimensions.d.ts +60 -0
- package/lib/types/components/sidePanel/dimensions.d.ts.map +1 -0
- package/lib/types/components/sidePanel/dimensions.js +75 -0
- package/lib/types/components/sidePanel/jobsFocusStore.d.ts +21 -0
- package/lib/types/components/sidePanel/jobsFocusStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/jobsFocusStore.js +30 -0
- package/lib/types/components/sidePanel/panelBridge.d.ts +44 -0
- package/lib/types/components/sidePanel/panelBridge.d.ts.map +1 -0
- package/lib/types/components/sidePanel/panelBridge.js +55 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts +22 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts.map +1 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.js +148 -0
- package/lib/types/components/sidePanel/types.d.ts +110 -0
- package/lib/types/components/sidePanel/types.d.ts.map +1 -0
- package/lib/types/components/sidePanel/types.js +1 -0
- package/lib/types/components/sidePanel/usePanelInput.d.ts +5 -0
- package/lib/types/components/sidePanel/usePanelInput.d.ts.map +1 -0
- package/lib/types/components/sidePanel/usePanelInput.js +44 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts +47 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/useSidePanel.js +284 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +3 -2
- package/lib/types/deepseekPricing.d.ts +10 -9
- package/lib/types/deepseekPricing.d.ts.map +1 -1
- package/lib/types/deepseekPricing.js +18 -11
- package/lib/types/dsh-adapter/channel/attached-context.d.ts +58 -0
- package/lib/types/dsh-adapter/channel/attached-context.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/attached-context.js +109 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +6 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +43 -0
- package/lib/types/dsh-adapter/channel/capabilities.d.ts +82 -0
- package/lib/types/dsh-adapter/channel/capabilities.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/capabilities.js +165 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/command-completions.js +8 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts +4 -12
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/context-bookkeeping.js +9 -4
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +13 -2
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +18 -1
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts +0 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-actions.js +7 -2
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +8 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +0 -1
- package/lib/types/dsh-adapter/channel/preferences.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/preferences.js +9 -1
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/projection.js +42 -37
- package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/reports.js +13 -4
- package/lib/types/dsh-adapter/channel/session-reset.d.ts +5 -1
- package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.js +1 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +18 -2
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +2 -1
- package/lib/types/dsh-adapter/channel/types.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.d.ts +18 -1
- package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.js +97 -2
- package/lib/types/dsh-adapter/channel.d.ts +1 -1
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +56 -3
- package/lib/types/dsh-adapter/context-occupancy.d.ts +204 -0
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -0
- package/lib/types/dsh-adapter/context-occupancy.js +299 -0
- package/lib/types/dsh-adapter/contract.d.ts +14 -0
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +24 -0
- package/lib/types/dsh-adapter/index.d.ts +32 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +20 -1
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/sessionize.js +11 -12
- package/lib/types/dsh-adapter/panel-runtime-registry.d.ts +39 -0
- package/lib/types/dsh-adapter/panel-runtime-registry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/panel-runtime-registry.js +84 -0
- package/lib/types/dsh-adapter/panels.d.ts +251 -0
- package/lib/types/dsh-adapter/panels.d.ts.map +1 -0
- package/lib/types/dsh-adapter/panels.js +407 -0
- package/lib/types/dsh-adapter/plugin-host.js +1 -1
- package/lib/types/dsh-adapter/plugin.d.ts +17 -1
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +169 -32
- package/lib/types/dsh-adapter/presets.d.ts +26 -6
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +29 -7
- package/lib/types/dsh-adapter/startup-args.d.ts +8 -0
- package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -0
- package/lib/types/dsh-adapter/startup-args.js +34 -0
- package/lib/types/history.d.ts +24 -7
- package/lib/types/history.d.ts.map +1 -1
- package/lib/types/history.js +77 -18
- package/lib/types/i18n.d.ts +734 -15
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +302 -6
- package/lib/types/ink/components/App.d.ts +14 -1
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +62 -61
- package/lib/types/ink/components/TerminalSizeContext.d.ts +7 -0
- package/lib/types/ink/components/TerminalSizeContext.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-input.d.ts +11 -0
- package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-input.js +8 -2
- package/lib/types/ink/hooks/use-terminal-viewport.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-terminal-viewport.js +3 -1
- package/lib/types/ink/ink.d.ts +18 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +51 -8
- package/lib/types/ink/output.d.ts +10 -1
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +3 -3
- package/lib/types/ink/parse-keypress.d.ts +36 -3
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +262 -108
- package/lib/types/ink/render-node-to-output.d.ts +1 -1
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +37 -5
- package/lib/types/ink/screen.d.ts +26 -1
- package/lib/types/ink/screen.d.ts.map +1 -1
- package/lib/types/ink/screen.js +96 -1
- package/lib/types/ink/selection.d.ts +23 -1
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +102 -26
- package/lib/types/ink/sixel-codec.d.ts +11 -0
- package/lib/types/ink/sixel-codec.d.ts.map +1 -1
- package/lib/types/ink/sixel-codec.js +42 -8
- package/lib/types/math/renderer.d.ts +2 -0
- package/lib/types/math/renderer.d.ts.map +1 -1
- package/lib/types/math/renderer.js +4 -0
- package/lib/types/onboardingPrefs.d.ts +52 -0
- package/lib/types/onboardingPrefs.d.ts.map +1 -0
- package/lib/types/onboardingPrefs.js +107 -0
- package/lib/types/panels.d.ts +4 -0
- package/lib/types/panels.d.ts.map +1 -0
- package/lib/types/panels.js +4 -0
- package/lib/types/screens/Chat.d.ts +22 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +1126 -299
- package/lib/types/screens/Launchpad.d.ts +194 -0
- package/lib/types/screens/Launchpad.d.ts.map +1 -0
- package/lib/types/screens/Launchpad.js +607 -0
- package/lib/types/screens/Onboarding.d.ts +37 -0
- package/lib/types/screens/Onboarding.d.ts.map +1 -0
- package/lib/types/screens/Onboarding.js +492 -0
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +18 -12
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +32 -14
- package/lib/types/screens/StatusMetrics.d.ts +22 -0
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +20 -0
- package/lib/types/screens/chatOverlay.d.ts +18 -1
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +3 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts +1 -2
- package/lib/types/screens/sessionSupervisor/model.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/model.js +4 -2
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +7 -3
- package/lib/types/settings/definitions.d.ts +93 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +83 -0
- package/lib/types/tips.js +5 -5
- package/lib/types/tuiDisplayPrefs.d.ts +42 -2
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +74 -0
- package/lib/types/update.d.ts +53 -9
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +101 -44
- package/lib/types/utils/bmp.d.ts.map +1 -1
- package/lib/types/utils/bmp.js +8 -1
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +25 -6
- package/lib/types/utils/credentials.d.ts.map +1 -1
- package/lib/types/utils/credentials.js +5 -1
- package/lib/types/utils/draftWordBoundary.d.ts +23 -0
- package/lib/types/utils/draftWordBoundary.d.ts.map +1 -0
- package/lib/types/utils/draftWordBoundary.js +161 -0
- package/lib/types/utils/fileTarget.d.ts.map +1 -1
- package/lib/types/utils/fileTarget.js +7 -9
- package/lib/types/utils/inputPaste.d.ts +62 -0
- package/lib/types/utils/inputPaste.d.ts.map +1 -0
- package/lib/types/utils/inputPaste.js +111 -0
- package/lib/types/utils/intl.d.ts +8 -0
- package/lib/types/utils/intl.d.ts.map +1 -1
- package/lib/types/utils/intl.js +11 -0
- package/lib/types/utils/keymap.d.ts +13 -3
- package/lib/types/utils/keymap.d.ts.map +1 -1
- package/lib/types/utils/keymap.js +27 -5
- package/package.json +19 -8
- package/{dsh-ecosystem-spec → tui-profile}/registry/README.md +1 -1
- package/{dsh-ecosystem-spec → tui-profile}/registry/registry-0.15.json +1 -1
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/decision-events-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/scene-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/settings-section-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/tui-channel-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/workspace-provider-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/host-descriptor.tui.example.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/permissions-0.1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/conformance-claim.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/effect-ledger-record.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/host-descriptor.schema.json +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-constants.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/protocol-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EA6BrD,CAAA;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAOpD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAI3D,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"protocol-constants.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/protocol-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EA6BrD,CAAA;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAOpD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAI3D,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAA2C,CAAA;AAEjG,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAqC,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKtE,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhF,CAAA;AAED;;;8BAG8B;AAC9B,eAAO,MAAM,wBAAwB,EAAE,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EA4BhF,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* tui-profile derived protocol constants.
|
|
3
3
|
*
|
|
4
4
|
* This is the explicit derivation layer required by the adapter boundary.
|
|
5
5
|
*
|
|
6
|
-
* Sources (all are committed
|
|
6
|
+
* Sources (all are committed tui-profile assets, not local patches):
|
|
7
7
|
* - `registry/permissions-0.1.json` is the machine-readable permission policy
|
|
8
8
|
* table; `EXPECTED_PERMISSIONS` and the intercept permission names are
|
|
9
9
|
* derived directly from it.
|
|
@@ -70,7 +70,7 @@ export const TUI_DECISION_EVENT_NAMES = Object.freeze([
|
|
|
70
70
|
export const TUI_EXTENSION_PERMISSION_NAMES = Object.freeze(EXPECTED_PERMISSIONS
|
|
71
71
|
.filter(permission => /^session\..+\.intercept$/u.test(permission.name))
|
|
72
72
|
.map(permission => permission.name));
|
|
73
|
-
/** All intercept permissions exported by
|
|
73
|
+
/** All intercept permissions exported by tui-profile. */
|
|
74
74
|
export const INTERCEPT_PERMISSIONS = new Set(TUI_EXTENSION_PERMISSION_NAMES);
|
|
75
75
|
/** Decision event point names (subscribe/notification vocabulary). */
|
|
76
76
|
export const TUI_EVENT_SCOPE_NAMES = new Set(TUI_DECISION_EVENT_NAMES);
|
|
@@ -117,8 +117,8 @@ export const HOST_SUPPORTED_CONTRACTS = (() => {
|
|
|
117
117
|
function locateSpecRoot(start = dirname(fileURLToPath(import.meta.url))) {
|
|
118
118
|
let dir = start;
|
|
119
119
|
for (let index = 0; index < 8; index++) {
|
|
120
|
-
if (existsSync(join(dir, '
|
|
121
|
-
return join(dir, '
|
|
120
|
+
if (existsSync(join(dir, 'tui-profile', 'registry', 'permissions-0.1.json'))) {
|
|
121
|
+
return join(dir, 'tui-profile');
|
|
122
122
|
}
|
|
123
123
|
const parent = dirname(dir);
|
|
124
124
|
if (parent === dir)
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Thin spec-plane surface for TUI-private protocol contributions.
|
|
3
3
|
*
|
|
4
4
|
* The private protocol definitions themselves are authored and owned by
|
|
5
|
-
*
|
|
5
|
+
* tui-profile (`protocols/profile-definitions.js`). This module is the
|
|
6
6
|
* single loading boundary: TUI source must import private protocol definitions
|
|
7
|
-
* through this file, never directly through `#
|
|
7
|
+
* through this file, never directly through `#tui-profile/*` from
|
|
8
8
|
* `adapter/standard` or UI code.
|
|
9
9
|
*/
|
|
10
|
-
export * from '#
|
|
10
|
+
export * from '#tui-profile/profile-definitions';
|
|
11
11
|
export { TUI_DECISION_EVENT_NAMES, TUI_EXTENSION_PERMISSION_NAMES, } from './protocol-constants.js';
|
|
12
12
|
export declare const TUI_EXTENSION_API_VERSION = "tui.dsh/v1alpha1";
|
|
13
|
-
/** Re-exported from
|
|
13
|
+
/** Re-exported from tui-profile; kept as a named friendly alias. */
|
|
14
14
|
export declare const DECISION_EVENTS_COORDINATE: Readonly<import("@dsh-std/core").ApiReference & {
|
|
15
15
|
apiVersion: "tui.dsh/v1alpha1";
|
|
16
16
|
kind: "DecisionEvents";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-contributions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/tui-contributions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,
|
|
1
|
+
{"version":3,"file":"tui-contributions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/tui-contributions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,kCAAkC,CAAA;AAChD,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAA;AAEhC,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAE3D,oEAAoE;AACpE,eAAO,MAAM,0BAA0B;;;EAAkB,CAAA"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
* Thin spec-plane surface for TUI-private protocol contributions.
|
|
3
3
|
*
|
|
4
4
|
* The private protocol definitions themselves are authored and owned by
|
|
5
|
-
*
|
|
5
|
+
* tui-profile (`protocols/profile-definitions.js`). This module is the
|
|
6
6
|
* single loading boundary: TUI source must import private protocol definitions
|
|
7
|
-
* through this file, never directly through `#
|
|
7
|
+
* through this file, never directly through `#tui-profile/*` from
|
|
8
8
|
* `adapter/standard` or UI code.
|
|
9
9
|
*/
|
|
10
|
-
import { DECISION_EVENTS } from '#
|
|
11
|
-
export * from '#
|
|
10
|
+
import { DECISION_EVENTS } from '#tui-profile/profile-definitions';
|
|
11
|
+
export * from '#tui-profile/profile-definitions';
|
|
12
12
|
export { TUI_DECISION_EVENT_NAMES, TUI_EXTENSION_PERMISSION_NAMES, } from './protocol-constants.js';
|
|
13
13
|
export const TUI_EXTENSION_API_VERSION = 'tui.dsh/v1alpha1';
|
|
14
|
-
/** Re-exported from
|
|
14
|
+
/** Re-exported from tui-profile; kept as a named friendly alias. */
|
|
15
15
|
export const DECISION_EVENTS_COORDINATE = DECISION_EVENTS;
|
|
16
16
|
// TUI_DECISION_EVENT_NAMES and TUI_EXTENSION_PERMISSION_NAMES are derived in
|
|
17
17
|
// `./protocol-constants.ts` (the only TUI-side authoring point) and re-exported
|
|
@@ -255,7 +255,7 @@ export function buildHostDescriptor(options) {
|
|
|
255
255
|
? []
|
|
256
256
|
: publishableLifecycles(options.lifecycles, warnings, dropped);
|
|
257
257
|
if (data === undefined) {
|
|
258
|
-
warnings.push('admission profile unavailable (
|
|
258
|
+
warnings.push('admission profile unavailable (tui-profile/); advertising an empty protocol surface');
|
|
259
259
|
}
|
|
260
260
|
else {
|
|
261
261
|
const index = createContractIndex(data.registry, data.permissions);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Canonical dsh-std /
|
|
2
|
+
* Canonical dsh-std / tui-profile plane for the TUI adapter.
|
|
3
3
|
*
|
|
4
4
|
* This is the single import point for protocol catalogs, Host Descriptor
|
|
5
5
|
* construction, admission/negotiation, permission scopes, grant evaluation
|
|
6
|
-
* and the pinned
|
|
6
|
+
* and the pinned tui-profile profile loader.
|
|
7
7
|
*
|
|
8
8
|
* Invariants:
|
|
9
9
|
* - No `@deepseek-ai/*` imports are allowed in this directory.
|
|
10
|
-
* - Protocol semantics stay owned by dsh-std /
|
|
10
|
+
* - Protocol semantics stay owned by dsh-std / tui-profile; Host Ports
|
|
11
11
|
* must not invent a second protocol language.
|
|
12
12
|
* - P6 removed the legacy `src/plugin-spec/*` and
|
|
13
13
|
* `src/dsh-adapter/{grants,host-descriptor}.ts` shims; production code
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Canonical dsh-std /
|
|
2
|
+
* Canonical dsh-std / tui-profile plane for the TUI adapter.
|
|
3
3
|
*
|
|
4
4
|
* This is the single import point for protocol catalogs, Host Descriptor
|
|
5
5
|
* construction, admission/negotiation, permission scopes, grant evaluation
|
|
6
|
-
* and the pinned
|
|
6
|
+
* and the pinned tui-profile profile loader.
|
|
7
7
|
*
|
|
8
8
|
* Invariants:
|
|
9
9
|
* - No `@deepseek-ai/*` imports are allowed in this directory.
|
|
10
|
-
* - Protocol semantics stay owned by dsh-std /
|
|
10
|
+
* - Protocol semantics stay owned by dsh-std / tui-profile; Host Ports
|
|
11
11
|
* must not invent a second protocol language.
|
|
12
12
|
* - P6 removed the legacy `src/plugin-spec/*` and
|
|
13
13
|
* `src/dsh-adapter/{grants,host-descriptor}.ts` shims; production code
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/** Load and verify the
|
|
1
|
+
/** Load and verify the in-tree TUI Profile (dsh-TUI 自维护的准入与私有协议定义). */
|
|
2
2
|
import type { ContractRegistry, PermissionRegistry, RegistryEntry } from './types.js';
|
|
3
3
|
export declare const DSH_STD_REVISION = "614dfa1ac168db79fcf4577cf0ebb34e2e3b944b";
|
|
4
|
-
|
|
4
|
+
/** 仓内 TUI Profile 目录(纯文件,无 submodule 挂载,随本仓库代码一起修订)。 */
|
|
5
|
+
export declare const TUI_PROFILE_DIR = "tui-profile";
|
|
5
6
|
export interface SpecData {
|
|
6
7
|
dir: string;
|
|
7
8
|
registry: ContractRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/adapter/standard/registry.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/adapter/standard/registry.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAQvE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEtG,eAAO,MAAM,gBAAgB,6CAA6C,CAAA;AAC1E,wDAAwD;AACxD,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAE5C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC/B,CAAA;CACF;AASD,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAgD,GAAG,MAAM,GAAG,SAAS,CASzG;AAiFD,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,GAAG,SAA2B,GAAG,QAAQ,GAAG,SAAS,CAiB5F;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,aAAa,EAAE,CAI3E;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,MAAM,EAAE,CAE5E;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAuCvD;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CA2C/D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Load and verify the
|
|
1
|
+
/** Load and verify the in-tree TUI Profile (dsh-TUI 自维护的准入与私有协议定义). */
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
3
|
import { existsSync, readFileSync } from 'node:fs';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
@@ -6,18 +6,19 @@ import { fileURLToPath } from 'node:url';
|
|
|
6
6
|
import { getAdmissionCatalog } from './tui-extension.js';
|
|
7
7
|
import { EXPECTED_PERMISSIONS } from '../spec/protocol-constants.js';
|
|
8
8
|
export const DSH_STD_REVISION = '614dfa1ac168db79fcf4577cf0ebb34e2e3b944b';
|
|
9
|
-
|
|
9
|
+
/** 仓内 TUI Profile 目录(纯文件,无 submodule 挂载,随本仓库代码一起修订)。 */
|
|
10
|
+
export const TUI_PROFILE_DIR = 'tui-profile';
|
|
10
11
|
const REGISTRY_FILE = join('registry', 'registry-0.15.json');
|
|
11
12
|
const EXPECTED_PROFILE_VERSION = 'tui-admission/0.15';
|
|
12
|
-
const EXPECTED_STD_REPOSITORY = 'https://github.com/
|
|
13
|
+
const EXPECTED_STD_REPOSITORY = 'https://github.com/T-Auto/dsh-std';
|
|
13
14
|
const EXPECTED_STD_SUBMODULE = 'vendor/dsh-std';
|
|
14
15
|
const EXPECTED_STD_MANIFEST_VERSION = '0.15';
|
|
15
16
|
const EXPECTED_PERMISSION_REGISTRY_VERSION = '0.1';
|
|
16
17
|
export function locateSpecDir(start = dirname(fileURLToPath(import.meta.url))) {
|
|
17
18
|
let dir = start;
|
|
18
19
|
for (let index = 0; index < 8; index++) {
|
|
19
|
-
if (existsSync(join(dir,
|
|
20
|
-
return join(dir,
|
|
20
|
+
if (existsSync(join(dir, TUI_PROFILE_DIR, REGISTRY_FILE)))
|
|
21
|
+
return join(dir, TUI_PROFILE_DIR);
|
|
21
22
|
const parent = dirname(dir);
|
|
22
23
|
if (parent === dir)
|
|
23
24
|
return undefined;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* dsh-TUI private protocol registration on the shared dsh-std catalog.
|
|
3
3
|
*
|
|
4
4
|
* Private protocol definitions are NOT authored here. The canonical
|
|
5
|
-
*
|
|
5
|
+
* tui-profile definitions are loaded through `src/adapter/spec/`; this
|
|
6
6
|
* module only registers public dsh-std protocols and delegates the private
|
|
7
7
|
* TUI profile definitions to the spec boundary.
|
|
8
8
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* dsh-TUI private protocol registration on the shared dsh-std catalog.
|
|
3
3
|
*
|
|
4
4
|
* Private protocol definitions are NOT authored here. The canonical
|
|
5
|
-
*
|
|
5
|
+
* tui-profile definitions are loaded through `src/adapter/spec/`; this
|
|
6
6
|
* module only registers public dsh-std protocols and delegates the private
|
|
7
7
|
* TUI profile definitions to the spec boundary.
|
|
8
8
|
*/
|
|
@@ -10,6 +10,7 @@ export type { UpstreamDriver, UpstreamDriverMount } from './driver.js';
|
|
|
10
10
|
export { buildHostCapabilityLifecycles, refreshHostCapabilityLifecycles, detectHostDescriptorCapability, hostDescriptorDriver, } from './host-descriptor-driver.js';
|
|
11
11
|
export { detectWorkspaceCapability, workspaceDriver, } from './workspace-driver.js';
|
|
12
12
|
export { detectScenesCapability, scenesDriver, } from './scenes-driver.js';
|
|
13
|
+
export { detectPanelsCapability, panelsDriver, } from './panels-driver.js';
|
|
13
14
|
export { detectSettingsCapability, settingsDriver, } from './settings-driver.js';
|
|
14
15
|
export { detectPresentationCapability, presentationDriver, } from './presentation-driver.js';
|
|
15
16
|
export { detectDecisionsCapability, decisionsDriver, } from './decisions-driver.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,wBAAwB,EACxB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,wBAAwB,EACxB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export { buildHostCapabilityLifecycles, refreshHostCapabilityLifecycles, detectHostDescriptorCapability, hostDescriptorDriver, } from './host-descriptor-driver.js';
|
|
9
9
|
export { detectWorkspaceCapability, workspaceDriver, } from './workspace-driver.js';
|
|
10
10
|
export { detectScenesCapability, scenesDriver, } from './scenes-driver.js';
|
|
11
|
+
export { detectPanelsCapability, panelsDriver, } from './panels-driver.js';
|
|
11
12
|
export { detectSettingsCapability, settingsDriver, } from './settings-driver.js';
|
|
12
13
|
export { detectPresentationCapability, presentationDriver, } from './presentation-driver.js';
|
|
13
14
|
export { detectDecisionsCapability, decisionsDriver, } from './decisions-driver.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI side-panel capability (ctx.tuiPanels).
|
|
3
|
+
*
|
|
4
|
+
* Panels are a register-class capability. The driver performs a real
|
|
5
|
+
* reversible probe through the host-only panels facade: register a uniquely
|
|
6
|
+
* named temporary panel, list it, dispose it, then prove the same id can be
|
|
7
|
+
* registered again (no residue). It never opens the panel during the probe,
|
|
8
|
+
* so no visible UI mutation is caused.
|
|
9
|
+
*
|
|
10
|
+
* Publication is feature-level: register/list are live only after the
|
|
11
|
+
* reversible no-residue probe; open/close/badge/subscribe are not safely
|
|
12
|
+
* auto-verifiable and stay degraded.
|
|
13
|
+
*/
|
|
14
|
+
import type { Detection } from './detection.js';
|
|
15
|
+
import type { UpstreamDriver } from './driver.js';
|
|
16
|
+
export declare function detectPanelsCapability(ctx: unknown): Detection;
|
|
17
|
+
export declare const panelsDriver: UpstreamDriver;
|
|
18
|
+
//# sourceMappingURL=panels-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panels-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/panels-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AAwDtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAmB9D;AAiED,eAAO,MAAM,YAAY,EAAE,cAY1B,CAAA"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI side-panel capability (ctx.tuiPanels).
|
|
3
|
+
*
|
|
4
|
+
* Panels are a register-class capability. The driver performs a real
|
|
5
|
+
* reversible probe through the host-only panels facade: register a uniquely
|
|
6
|
+
* named temporary panel, list it, dispose it, then prove the same id can be
|
|
7
|
+
* registered again (no residue). It never opens the panel during the probe,
|
|
8
|
+
* so no visible UI mutation is caused.
|
|
9
|
+
*
|
|
10
|
+
* Publication is feature-level: register/list are live only after the
|
|
11
|
+
* reversible no-residue probe; open/close/badge/subscribe are not safely
|
|
12
|
+
* auto-verifiable and stay degraded.
|
|
13
|
+
*/
|
|
14
|
+
import { randomUUID } from 'node:crypto';
|
|
15
|
+
import { lifecycleFromDetection } from '../kernel/lifecycle.js';
|
|
16
|
+
import { getHostPanelRuntime } from '../../dsh-adapter/panels.js';
|
|
17
|
+
const CAPABILITY = 'host.panels';
|
|
18
|
+
const PANEL_FEATURES = Object.freeze([
|
|
19
|
+
'host.panels.register',
|
|
20
|
+
'host.panels.list',
|
|
21
|
+
'host.panels.open',
|
|
22
|
+
'host.panels.close',
|
|
23
|
+
'host.panels.badge',
|
|
24
|
+
'host.panels.subscribe',
|
|
25
|
+
]);
|
|
26
|
+
function serviceEvidence(id) {
|
|
27
|
+
return { kind: 'service', id };
|
|
28
|
+
}
|
|
29
|
+
function methodEvidence(service, method) {
|
|
30
|
+
return { kind: 'method', id: service + ':' + method };
|
|
31
|
+
}
|
|
32
|
+
function probeEvidence(id, detail) {
|
|
33
|
+
return { kind: 'probe', id, detail };
|
|
34
|
+
}
|
|
35
|
+
function errorText(error) {
|
|
36
|
+
return error instanceof Error ? error.message : String(error);
|
|
37
|
+
}
|
|
38
|
+
function panelHost(ctx) {
|
|
39
|
+
const service = ctx?.get?.('tuiPanels');
|
|
40
|
+
if (service === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
try {
|
|
43
|
+
return getHostPanelRuntime(service);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function degradedFeature(capability, evidence, missing) {
|
|
50
|
+
return lifecycleFromDetection(capability, {
|
|
51
|
+
state: 'degraded',
|
|
52
|
+
missing: [missing],
|
|
53
|
+
evidence,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function liveFeature(capability, evidence) {
|
|
57
|
+
return lifecycleFromDetection(capability, {
|
|
58
|
+
state: 'supported',
|
|
59
|
+
evidence,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export function detectPanelsCapability(ctx) {
|
|
63
|
+
const service = ctx?.get?.('tuiPanels');
|
|
64
|
+
if (service === undefined) {
|
|
65
|
+
return { state: 'unsupported', reason: 'tuiPanels service is not mounted' };
|
|
66
|
+
}
|
|
67
|
+
const evidence = [serviceEvidence('tuiPanels')];
|
|
68
|
+
const host = panelHost(ctx);
|
|
69
|
+
if (host === undefined) {
|
|
70
|
+
return { state: 'degraded', missing: ['tuiPanels host facade'], evidence };
|
|
71
|
+
}
|
|
72
|
+
const methods = ['register', 'list', 'open', 'close', 'subscribe'];
|
|
73
|
+
for (const method of methods) {
|
|
74
|
+
if (typeof host[method] === 'function') {
|
|
75
|
+
evidence.push(methodEvidence('tuiPanels', method));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return { state: 'degraded', missing: ['tuiPanels.' + method + '()'], evidence };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { state: 'supported', evidence };
|
|
82
|
+
}
|
|
83
|
+
async function verifyPanelsLive(ctx) {
|
|
84
|
+
const host = panelHost(ctx);
|
|
85
|
+
const baseEvidence = [serviceEvidence('tuiPanels')];
|
|
86
|
+
if (host === undefined) {
|
|
87
|
+
return PANEL_FEATURES.map(feature => degradedFeature(feature, baseEvidence, feature + '.live-probe'));
|
|
88
|
+
}
|
|
89
|
+
const evidence = [serviceEvidence('tuiPanels')];
|
|
90
|
+
const id = 'dsh_tui_probe:' + randomUUID().replace(/-/g, '').slice(0, 12);
|
|
91
|
+
let dispose;
|
|
92
|
+
let registerLive = false;
|
|
93
|
+
try {
|
|
94
|
+
dispose = host.register({ id, title: 'dsh-tui reversible panel probe' });
|
|
95
|
+
const listed = host.list();
|
|
96
|
+
if (!Array.isArray(listed) || !listed.some(panel => panel.id === id)) {
|
|
97
|
+
throw new Error('temporary panel was not visible through list()');
|
|
98
|
+
}
|
|
99
|
+
evidence.push(probeEvidence('tuiPanels.register+dispose(' + id + ')', 'temporary panel registered and listed'));
|
|
100
|
+
dispose();
|
|
101
|
+
dispose = undefined;
|
|
102
|
+
// No-residue proof: the same id must be registrable again.
|
|
103
|
+
const second = host.register({ id, title: 'dsh-tui reversible panel probe' });
|
|
104
|
+
second();
|
|
105
|
+
evidence.push(probeEvidence('tuiPanels.dispose(' + id + ')', 'temporary panel removed; same id re-register succeeded'));
|
|
106
|
+
registerLive = true;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
evidence.push(probeEvidence('tuiPanels.reversible-live-probe', errorText(error)));
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
try {
|
|
113
|
+
dispose?.();
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Best-effort cleanup.
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const out = [];
|
|
120
|
+
out.push(registerLive
|
|
121
|
+
? liveFeature('host.panels.register', evidence)
|
|
122
|
+
: degradedFeature('host.panels.register', evidence, 'tuiPanels.reversible-live-probe'));
|
|
123
|
+
if (registerLive) {
|
|
124
|
+
out.push(liveFeature('host.panels.list', [
|
|
125
|
+
serviceEvidence('tuiPanels'),
|
|
126
|
+
methodEvidence('tuiPanels', 'list'),
|
|
127
|
+
probeEvidence('tuiPanels.list()', 'temporary panel visible through list()'),
|
|
128
|
+
]));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
out.push(degradedFeature('host.panels.list', [serviceEvidence('tuiPanels'), methodEvidence('tuiPanels', 'list')], 'tuiPanels.list() live-probe'));
|
|
132
|
+
}
|
|
133
|
+
for (const feature of ['host.panels.open', 'host.panels.close', 'host.panels.badge', 'host.panels.subscribe']) {
|
|
134
|
+
out.push(degradedFeature(feature, [serviceEvidence('tuiPanels')], feature + '.live-probe'));
|
|
135
|
+
}
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
138
|
+
function createPanelsPort(host) {
|
|
139
|
+
return Object.freeze({
|
|
140
|
+
register: descriptor => host.register(descriptor),
|
|
141
|
+
list: () => host.list(),
|
|
142
|
+
open: id => host.open(id),
|
|
143
|
+
close: id => host.close(id),
|
|
144
|
+
subscribe: listener => host.subscribe(listener),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
export const panelsDriver = {
|
|
148
|
+
id: 'dsh-tui-panels',
|
|
149
|
+
upstreamFamily: 'dsh-tui',
|
|
150
|
+
capability: 'host.panels',
|
|
151
|
+
mountEffectClass: 'register',
|
|
152
|
+
detect: detectPanelsCapability,
|
|
153
|
+
verifyLive: verifyPanelsLive,
|
|
154
|
+
async mount(context) {
|
|
155
|
+
const host = panelHost(context);
|
|
156
|
+
const ports = host === undefined ? undefined : { panels: createPanelsPort(host) };
|
|
157
|
+
return { disposer: () => undefined, ...(ports === undefined ? {} : { ports }) };
|
|
158
|
+
},
|
|
159
|
+
};
|
package/lib/types/api.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type { TuiDecisionContext, TuiInputEvent, TuiInputDecision, TuiRewindPromptEvent, TuiRewindMode, TuiRewindPromptDecision, TuiRewindDoneEvent, TuiSessionSwitchEvent, TuiSessionSwitchDecision, TuiSessionSwitchedEvent, TuiCompactEvent, TuiCompactDecision, TuiDialogAnswer, TuiDialogBase, TuiDialogConfirmRequest, TuiDialogInputRequest, TuiDialogSelectOption, TuiDialogSelectRequest, TuiDialogSnapshot, TuiStatusEntry, TuiShortcutKey, TuiShortcutOptions, TuiEntryRenderer, TuiEntryRenderResult, TuiToastDelivery, TuiToastOptions, TuiToastSink, } from './extensions.js';
|
|
2
2
|
export type { HostContract, HostDescriptor, ContractCoordinate, ContractRef, NegotiationDecision, PermissionEntry, PermissionRegistry, TuiPluginStorage, PluginStorageErrorCode, TuiPluginStorageRuntime, MessagesObserveContentBlock, MessagesObserveEnvelope, MessagesObserveListener, MessagesObservePayload, TuiMessageObserverRuntime, LedgerEntry, LedgerOperation, LedgerResult, TuiEffectLedgerRuntime, CommandErrorCode, CodedCommandError, } from './plugin-host.js';
|
|
3
3
|
export type { TuiSceneProps, TuiSceneDescriptor } from './scenes.js';
|
|
4
|
+
export type { TuiPanelDescriptor, TuiPanelProps, TuiPanelCompactProps, TuiPanelHostApi, TuiPanelSnapshot, TuiPanelKeyEvent, } from './panels.js';
|
|
5
|
+
export { TUI_PANEL_API_VERSION } from './panels.js';
|
|
4
6
|
export type { TuiSettingsFieldKind, TuiSettingsFieldOption, TuiSettingsGroup, TuiSettingsFieldWrite, TuiSettingsField, TuiSettingsSection, } from './settings-sections.js';
|
|
5
7
|
export type { TuiCommandTreeProvider } from './command-trees.js';
|
|
6
8
|
export type { TuiWorkspaceKind, TuiWorkspaceTarget, TuiWorkspaceChoice, TuiWorkspaceCommandResult, TuiWorkspaceCommand, TuiCommandShell, TuiWorkspaceProvider, } from './workspaces.js';
|
package/lib/types/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAsCA,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACpE,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAsCA,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACpE,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAA"}
|
package/lib/types/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAChH,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAChH,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAiBhH,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,qBAAqB,EAAE,CAAA;AAEpG;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAoExC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAElD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAEpD,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,SAAS,YAAY,EAAmB,GAC7C,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,SAAS,YAAY,EAAmB,GAC7C,YAAY,EAAE,CAKhB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,SAAS,YAAY,EAAmB,EAC/C,QAAQ,GAAE,eAA0B,GACnC,iBAAiB,EAAE,CAuCrB"}
|
package/lib/types/commands.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Local slash commands for dsh-tui, presented as `/name — description`.
|
|
3
|
-
* The built-in set is merged with plugin-registered
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* The built-in set is merged with plugin-registered commands (plan/goal/…)
|
|
4
|
+
* from the DSH command registry (`dsh-commands`); `runCommand` in the Chat
|
|
5
|
+
* screen dispatches either kind.
|
|
6
|
+
*
|
|
7
|
+
* Locals win on name collisions: the merge skips a registry descriptor whose
|
|
8
|
+
* name a local command already declares (`channel/skill-catalog.ts`), and the
|
|
9
|
+
* Chat switch answers the local name before the registry path. `/compact` is
|
|
10
|
+
* the live case — the TUI's own transaction is the primary route and the
|
|
11
|
+
* official `dsh-command-compact` handler is only the fallback when the local
|
|
12
|
+
* path cannot run (see `dsh-adapter/channel/capabilities.ts`).
|
|
7
13
|
*/
|
|
8
14
|
import { getLang, tOr } from './i18n.js';
|
|
9
15
|
/**
|
|
@@ -42,12 +48,14 @@ export const LOCAL_COMMANDS = [
|
|
|
42
48
|
{ name: 'config', description: 'Show the dsh-tui configuration source' },
|
|
43
49
|
{ name: 'reload', description: 'Reload preference files from disk and apply live' },
|
|
44
50
|
{ name: 'settings', description: 'View and edit plugin settings' },
|
|
51
|
+
{ name: 'setup', description: 'Re-run the first-run guide (API key / language + theme / model + workspace / shortcuts)' },
|
|
45
52
|
{ name: 'star', description: 'Star this project on GitHub (one-key via the gh CLI)' },
|
|
46
53
|
{ name: 'doctor', description: 'Run environment checks' },
|
|
47
54
|
{ name: 'migrate', description: 'Import conversations from other coding agents (claude-code / codex / omp / zcode / grok-build)' },
|
|
48
55
|
{ name: 'init', description: 'Create AGENTS.md in the working directory' },
|
|
49
56
|
{ name: 'agents', description: 'Show subagents of this session' },
|
|
50
57
|
{ name: 'jobs', description: 'Show background jobs of this session' },
|
|
58
|
+
{ name: 'panel', description: 'Side panel: toggle / focus / zoom / switch panels' },
|
|
51
59
|
// Model / display
|
|
52
60
|
{ name: 'activity', description: 'Switch the working-activity indicator preset' },
|
|
53
61
|
{ name: 'preset', description: 'Switch the agent preset (including Liangshen mode)' },
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ActivityView } from '../dsh-adapter/activity-store.js';
|
|
3
|
+
import type { ContextOccupancy } from '../adapter/ports/channel-view.js';
|
|
3
4
|
/**
|
|
4
|
-
* Context-pressure percentage (0–100) from the
|
|
5
|
-
* undefined when unknown —
|
|
6
|
-
*
|
|
7
|
-
* amber ≥ 80%, red ≥ 95%).
|
|
5
|
+
* Context-pressure percentage (0–100) from the channel's SINGLE occupancy
|
|
6
|
+
* reading (see `dsh-adapter/context-occupancy.ts`), or undefined when unknown —
|
|
7
|
+
* shared by the spinner-line and status-line placements of the
|
|
8
|
+
* working-activity line (pi working-activity style: amber ≥ 80%, red ≥ 95%).
|
|
8
9
|
*/
|
|
9
|
-
export declare function contextPressurePct(
|
|
10
|
-
input: number;
|
|
11
|
-
cacheRead: number;
|
|
12
|
-
cacheWrite: number;
|
|
13
|
-
} | undefined, contextWindow: number | undefined): number | undefined;
|
|
10
|
+
export declare function contextPressurePct(occupancy: ContextOccupancy | undefined): number | undefined;
|
|
14
11
|
/**
|
|
15
12
|
* The working-activity line, rendered either in the spinner slot (while a
|
|
16
13
|
* turn runs — alongside the random-verb spinner) or on the status bar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityLine.d.ts","sourceRoot":"","sources":["../../../src/components/ActivityLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"ActivityLine.d.ts","sourceRoot":"","sources":["../../../src/components/ActivityLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAExE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,gBAAgB,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;;GAOG;AACH,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAC,SAAS,CAuClB"}
|
|
@@ -8,17 +8,16 @@ import { getTheme } from '../theme.js';
|
|
|
8
8
|
import { useTheme } from './design-system/ThemeProvider.js';
|
|
9
9
|
import { parseRGB } from './Spinner/spinnerUtils.js';
|
|
10
10
|
/**
|
|
11
|
-
* Context-pressure percentage (0–100) from the
|
|
12
|
-
* undefined when unknown —
|
|
13
|
-
*
|
|
14
|
-
* amber ≥ 80%, red ≥ 95%).
|
|
11
|
+
* Context-pressure percentage (0–100) from the channel's SINGLE occupancy
|
|
12
|
+
* reading (see `dsh-adapter/context-occupancy.ts`), or undefined when unknown —
|
|
13
|
+
* shared by the spinner-line and status-line placements of the
|
|
14
|
+
* working-activity line (pi working-activity style: amber ≥ 80%, red ≥ 95%).
|
|
15
15
|
*/
|
|
16
|
-
export function contextPressurePct(
|
|
17
|
-
if (
|
|
16
|
+
export function contextPressurePct(occupancy) {
|
|
17
|
+
if (occupancy === undefined || occupancy.contextWindow === undefined || occupancy.contextWindow <= 0) {
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
return Math.round((occupied / contextWindow) * 100);
|
|
20
|
+
return Math.round((occupancy.usedTokens / occupancy.contextWindow) * 100);
|
|
22
21
|
}
|
|
23
22
|
export function ActivityLine({ activity, activityFrames, warnPct, warnDanger, suffix, }) {
|
|
24
23
|
// 60ms frames: the shimmer sweep advances one column per frame (3.3× the
|
|
@@ -23,10 +23,27 @@ export declare function JobProgress({ progress }: {
|
|
|
23
23
|
* is consuming and reserved for the owning agent, so the card shows the
|
|
24
24
|
* tail of the agent's own job_output results as they stream through the
|
|
25
25
|
* transcript.
|
|
26
|
+
*
|
|
27
|
+
* `rail` marks the card as a member of a job GROUP (see JobGroupRow): the
|
|
28
|
+
* card gets a 2-cell chain column on its left, and `rail.open` / `rail.close`
|
|
29
|
+
* round its ends (`╭` on the first line, `╰` on the last) so the run reads as
|
|
30
|
+
* one bracket from the first card to the last — the group's summary line stays
|
|
31
|
+
* OUTSIDE it. A lone card renders as before.
|
|
32
|
+
*
|
|
33
|
+
* The rail is drawn per line, which means this component owns the card's
|
|
34
|
+
* HEIGHT: the label is pre-wrapped against an explicit column width (so the
|
|
35
|
+
* wrap count is known, not guessed from the flex result), and the rail column
|
|
36
|
+
* paints exactly that many glyphs. Both use ink's own `wrapText`/`stringWidth`,
|
|
37
|
+
* so the pre-wrap breaks where the renderer would have broken.
|
|
26
38
|
*/
|
|
27
|
-
export declare function JobCard({ job, marginTopOnTurn, onClick }: {
|
|
39
|
+
export declare function JobCard({ job, marginTopOnTurn, onClick, rail }: {
|
|
28
40
|
job: JobRow;
|
|
29
41
|
marginTopOnTurn: boolean;
|
|
30
42
|
onClick?(): void;
|
|
43
|
+
/** Job GROUP member: shared chain rail, optionally rounded at either end. */
|
|
44
|
+
rail?: {
|
|
45
|
+
open?: boolean;
|
|
46
|
+
close?: boolean;
|
|
47
|
+
} | undefined;
|
|
31
48
|
}): React.ReactNode;
|
|
32
49
|
//# sourceMappingURL=JobCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobCard.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/JobCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"JobCard.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/JobCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAoC1D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAa/E;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC/D,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;CACvD,GAAG,KAAK,CAAC,SAAS,CAwKlB"}
|