@deepseek-harness-tui/dsh-tui 0.11.2 → 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 +60 -8
- 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 +38 -6
- package/cordis.patch.yml +31 -6
- package/guide/dsh-tui-guide/SKILL.md +37 -0
- package/guide/dsh-tui-guide/configuration.en.md +415 -0
- package/guide/dsh-tui-guide/configuration.md +354 -0
- package/guide/dsh-tui-guide/getting-started.en.md +401 -0
- package/guide/dsh-tui-guide/getting-started.md +399 -0
- package/guide/dsh-tui-guide/interaction.en.md +738 -0
- package/guide/dsh-tui-guide/interaction.md +793 -0
- package/guide/dsh-tui-guide/migrate.en.md +166 -0
- package/guide/dsh-tui-guide/migrate.md +132 -0
- package/guide/dsh-tui-guide/plugins.en.md +78 -0
- package/guide/dsh-tui-guide/plugins.md +64 -0
- package/guide/dsh-tui-guide/themes.en.md +197 -0
- package/guide/dsh-tui-guide/themes.md +188 -0
- package/guide/dsh-tui-guide/user-guide.en.md +711 -0
- package/guide/dsh-tui-guide/user-guide.md +666 -0
- package/guide/dsh-tui-guide/vscode.en.md +301 -0
- package/guide/dsh-tui-guide/vscode.md +272 -0
- package/lib/settings.json +219 -5
- package/lib/types/adapter/channel/ui-policy.d.ts +7 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +18 -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-settings.d.ts +2 -1
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +91 -4
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +137 -9
- 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 +27 -1
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +128 -33
- 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/Chat/SubagentMessage.js +6 -6
- 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 +220 -40
- 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 +215 -21
- 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/PresetPicker.d.ts +4 -0
- package/lib/types/components/PresetPicker.d.ts.map +1 -1
- package/lib/types/components/PresetPicker.js +5 -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 +425 -157
- 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/StarPrompt.d.ts +6 -0
- package/lib/types/components/StarPrompt.d.ts.map +1 -1
- package/lib/types/components/StarPrompt.js +45 -0
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +24 -9
- 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 +160 -13
- 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/WhaleGirl.d.ts +6 -0
- package/lib/types/components/WhaleGirl.d.ts.map +1 -1
- package/lib/types/components/WhaleGirl.js +18 -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/messages/AssistantThinkingMessage.js +4 -4
- 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/trajectory/MiniWake.d.ts +11 -1
- package/lib/types/components/trajectory/MiniWake.d.ts.map +1 -1
- package/lib/types/components/trajectory/MiniWake.js +9 -3
- 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/external-commands.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/external-commands.js +8 -2
- 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/job-projection.d.ts +1 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/job-projection.js +88 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts +13 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-actions.js +55 -9
- 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 +25 -10
- 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 +26 -8
- 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 +21 -3
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +3 -2
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +5 -0
- 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 +72 -4
- 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 +19 -4
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +33 -3
- 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/jobs.d.ts +82 -16
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +104 -9
- 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/oauth/bonus.d.ts +27 -0
- package/lib/types/dsh-adapter/oauth/bonus.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/bonus.js +69 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/command.d.ts +2 -1
- package/lib/types/dsh-adapter/oauth/command.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/command.js +7 -4
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/credentials.d.ts +13 -10
- package/lib/types/dsh-adapter/oauth/credentials.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/credentials.js +61 -23
- package/lib/types/dsh-adapter/oauth/deepseek.d.ts +39 -0
- package/lib/types/dsh-adapter/oauth/deepseek.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/deepseek.js +189 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/index.d.ts +24 -16
- package/lib/types/dsh-adapter/oauth/index.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/index.js +34 -20
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/interaction.d.ts +14 -12
- package/lib/types/dsh-adapter/oauth/interaction.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/interaction.js +283 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/opener.d.ts +2 -1
- package/lib/types/dsh-adapter/oauth/opener.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/opener.js +1 -1
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/pi-ai.d.ts +10 -3
- package/lib/types/dsh-adapter/oauth/pi-ai.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/pi-ai.js +8 -3
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/profiles.d.ts +6 -3
- package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/profiles.js +11 -3
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/service.d.ts +14 -7
- package/lib/types/dsh-adapter/oauth/service.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/service.js +82 -17
- 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 +25 -2
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +241 -44
- package/lib/types/dsh-adapter/presets.d.ts +26 -4
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +29 -5
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/providerWizard.js +6 -2
- 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/dsh-adapter/subagents.d.ts +1 -0
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +10 -1
- 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 +908 -33
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +355 -17
- 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 +71 -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 +71 -3
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +815 -133
- 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/ink/terminal-querier.d.ts +25 -0
- package/lib/types/ink/terminal-querier.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.js +42 -0
- package/lib/types/ink/update-overflow-guard.d.ts +24 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
- package/lib/types/ink/update-overflow-guard.js +25 -3
- 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/minimalUiMode.d.ts +19 -0
- package/lib/types/minimalUiMode.d.ts.map +1 -0
- package/lib/types/minimalUiMode.js +23 -0
- package/lib/types/oauth.d.ts +5 -10
- package/lib/types/oauth.d.ts.map +1 -1
- package/lib/types/oauth.js +5 -10
- 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 +25 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +1149 -302
- 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 +4 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +43 -25
- 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 +87 -4
- package/lib/types/tips.d.ts.map +1 -1
- package/lib/types/tips.js +13 -7
- 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 +103 -46
- 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/lib/types/utils/pastedImagePath.d.ts +8 -0
- package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
- package/lib/types/utils/pastedImagePath.js +29 -5
- package/package.json +128 -106
- package/presets/liangshen/agent.cordis.yml +4 -1
- package/presets/liangshen/preset.yml +1 -1
- 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/lib/types/minimalMode.d.ts +0 -13
- package/lib/types/minimalMode.d.ts.map +0 -1
- package/lib/types/minimalMode.js +0 -17
- package/node_modules/@deepseek-harness-tui/dsh-auth/LICENSE +0 -21
- package/node_modules/@deepseek-harness-tui/dsh-auth/README.md +0 -143
- package/node_modules/@deepseek-harness-tui/dsh-auth/cordis.patch.yml +0 -11
- package/node_modules/@deepseek-harness-tui/dsh-auth/dsh-plugin.json +0 -44
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/interaction.js +0 -193
- package/node_modules/@deepseek-harness-tui/dsh-auth/package.json +0 -69
- /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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal read-only Host Descriptor access Port.
|
|
3
3
|
*
|
|
4
4
|
* This is a narrow host-internal diagnostic capability. It deliberately does
|
|
5
|
-
* NOT expose the
|
|
5
|
+
* NOT expose the tui-profile Host Descriptor protocol object, does NOT
|
|
6
6
|
* carry apiVersion/kind/negotiation/permission semantics, and does NOT accept
|
|
7
7
|
* caller-supplied owner/principal/activation data. The protocol-shaped
|
|
8
8
|
* descriptor is built and owned by the Standard/Spec plane + Kernel lifecycle
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal read-only Host Descriptor access Port.
|
|
3
3
|
*
|
|
4
4
|
* This is a narrow host-internal diagnostic capability. It deliberately does
|
|
5
|
-
* NOT expose the
|
|
5
|
+
* NOT expose the tui-profile Host Descriptor protocol object, does NOT
|
|
6
6
|
* carry apiVersion/kind/negotiation/permission semantics, and does NOT accept
|
|
7
7
|
* caller-supplied owner/principal/activation data. The protocol-shaped
|
|
8
8
|
* descriptor is built and owned by the Standard/Spec plane + Kernel lifecycle
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Boundary rules for this directory:
|
|
5
5
|
* - No imports from `@deepseek-ai/*`.
|
|
6
|
-
* - No imports from `@dsh-std/*` or `
|
|
6
|
+
* - No imports from `@dsh-std/*` or `tui-profile` private protocol
|
|
7
7
|
* definitions.
|
|
8
8
|
* - No protocol version / negotiation / manifest / permission semantics.
|
|
9
9
|
* - No caller-supplied OwnerRef / activationId / principal on capability
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Boundary rules for this directory:
|
|
5
5
|
* - No imports from `@deepseek-ai/*`.
|
|
6
|
-
* - No imports from `@dsh-std/*` or `
|
|
6
|
+
* - No imports from `@dsh-std/*` or `tui-profile` private protocol
|
|
7
7
|
* definitions.
|
|
8
8
|
* - No protocol version / negotiation / manifest / permission semantics.
|
|
9
9
|
* - No caller-supplied OwnerRef / activationId / principal on capability
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal Host Port for the TUI side-panel registry (ctx.tuiPanels).
|
|
3
|
+
*
|
|
4
|
+
* Panels are host-internal sidebar contributions. This port expresses only
|
|
5
|
+
* the host's call intent; it does not carry protocol coordinates,
|
|
6
|
+
* negotiation, manifests, permissions, or caller-supplied owner values.
|
|
7
|
+
*/
|
|
8
|
+
import type { HostDisposer } from './owner.js';
|
|
9
|
+
export interface HostPanelSummary {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly title: string;
|
|
12
|
+
readonly source: 'plugin';
|
|
13
|
+
}
|
|
14
|
+
export interface HostPanelsPort {
|
|
15
|
+
register(descriptor: {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly title?: string;
|
|
18
|
+
}): HostDisposer;
|
|
19
|
+
list(): readonly HostPanelSummary[];
|
|
20
|
+
open(id: string): boolean;
|
|
21
|
+
close(id: string): boolean;
|
|
22
|
+
subscribe(listener: (event: {
|
|
23
|
+
readonly type: string;
|
|
24
|
+
readonly id: string;
|
|
25
|
+
}) => void): HostDisposer;
|
|
26
|
+
}
|
|
27
|
+
export type HostPanelsDisposer = HostDisposer;
|
|
28
|
+
//# sourceMappingURL=panels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ports/panels.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAA;IACpF,IAAI,IAAI,SAAS,gBAAgB,EAAE,CAAA;IACnC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,YAAY,CAAA;CACnG;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal Host Port for the TUI side-panel registry (ctx.tuiPanels).
|
|
3
|
+
*
|
|
4
|
+
* Panels are host-internal sidebar contributions. This port expresses only
|
|
5
|
+
* the host's call intent; it does not carry protocol coordinates,
|
|
6
|
+
* negotiation, manifests, permissions, or caller-supplied owner values.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal Host Port for workspace enumeration/resolution.
|
|
3
3
|
*
|
|
4
4
|
* This port is a TUI-internal capability interface. It does not define
|
|
5
|
-
* dsh-std/
|
|
5
|
+
* dsh-std/tui-profile protocol types, negotiation, permissions, or
|
|
6
6
|
* caller-supplied owner identities.
|
|
7
7
|
*/
|
|
8
8
|
import type { HostDisposer } from './owner.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal Host Port for workspace enumeration/resolution.
|
|
3
3
|
*
|
|
4
4
|
* This port is a TUI-internal capability interface. It does not define
|
|
5
|
-
* dsh-std/
|
|
5
|
+
* dsh-std/tui-profile protocol types, negotiation, permissions, or
|
|
6
6
|
* caller-supplied owner identities.
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* tui-profile / conformance thin layer.
|
|
3
3
|
*
|
|
4
4
|
* This directory is the intended single loading boundary for the vendored TUI
|
|
5
5
|
* private protocol definitions. It must remain thin: protocol definitions are
|
|
6
|
-
* authored in
|
|
6
|
+
* authored in tui-profile, not redefined here.
|
|
7
7
|
*/
|
|
8
8
|
export * from './profile.js';
|
|
9
9
|
export * from './tui-contributions.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* tui-profile / conformance thin layer.
|
|
3
3
|
*
|
|
4
4
|
* This directory is the intended single loading boundary for the vendored TUI
|
|
5
5
|
* private protocol definitions. It must remain thin: protocol definitions are
|
|
6
|
-
* authored in
|
|
6
|
+
* authored in tui-profile, not redefined here.
|
|
7
7
|
*/
|
|
8
8
|
export * from './profile.js';
|
|
9
9
|
export * from './tui-contributions.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Thin spec-plane loader for the
|
|
2
|
+
* Thin spec-plane loader for the in-tree TUI Profile.
|
|
3
3
|
*
|
|
4
|
-
* This module owns the boundary to
|
|
5
|
-
* actual registry/profile sha pins live in the
|
|
6
|
-
* long-term direction is to keep only
|
|
7
|
-
* and conformance here.
|
|
4
|
+
* This module owns the boundary to `tui-profile/`(本仓库自维护的准入与私有协议
|
|
5
|
+
* 定义,纯文件、随代码修订). The actual registry/profile sha pins live in the
|
|
6
|
+
* Standard plane for now; the long-term direction is to keep only tui-profile
|
|
7
|
+
* private definitions and conformance here.
|
|
8
8
|
*/
|
|
9
|
-
export { DSH_STD_REVISION,
|
|
9
|
+
export { DSH_STD_REVISION, TUI_PROFILE_DIR, locateSpecDir, loadSpecData, verifyRegistry, verifyContractProfiles, registryEntries, digestFile, type SpecData, } from '../standard/registry.js';
|
|
10
10
|
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/adapter/spec/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,UAAU,EACV,KAAK,QAAQ,GACd,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Thin spec-plane loader for the
|
|
2
|
+
* Thin spec-plane loader for the in-tree TUI Profile.
|
|
3
3
|
*
|
|
4
|
-
* This module owns the boundary to
|
|
5
|
-
* actual registry/profile sha pins live in the
|
|
6
|
-
* long-term direction is to keep only
|
|
7
|
-
* and conformance here.
|
|
4
|
+
* This module owns the boundary to `tui-profile/`(本仓库自维护的准入与私有协议
|
|
5
|
+
* 定义,纯文件、随代码修订). The actual registry/profile sha pins live in the
|
|
6
|
+
* Standard plane for now; the long-term direction is to keep only tui-profile
|
|
7
|
+
* private definitions and conformance here.
|
|
8
8
|
*/
|
|
9
|
-
export { DSH_STD_REVISION,
|
|
9
|
+
export { DSH_STD_REVISION, TUI_PROFILE_DIR, locateSpecDir, loadSpecData, verifyRegistry, verifyContractProfiles, registryEntries, digestFile, } from '../standard/registry.js';
|
|
@@ -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.
|
|
@@ -37,7 +37,7 @@ export declare const TUI_DECISION_EVENT_NAMES: readonly string[];
|
|
|
37
37
|
* registry rather than authored in product code.
|
|
38
38
|
*/
|
|
39
39
|
export declare const TUI_EXTENSION_PERMISSION_NAMES: readonly string[];
|
|
40
|
-
/** All intercept permissions exported by
|
|
40
|
+
/** All intercept permissions exported by tui-profile. */
|
|
41
41
|
export declare const INTERCEPT_PERMISSIONS: ReadonlySet<string>;
|
|
42
42
|
/** Decision event point names (subscribe/notification vocabulary). */
|
|
43
43
|
export declare const TUI_EVENT_SCOPE_NAMES: ReadonlySet<string>;
|
|
@@ -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';
|