@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
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// 量级常量(回归直接引用,勿在测试/组件里硬编码另一份)
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
/** 离开活跃族的防抖窗:目标稳定非工作这么久才切走(规则 3)。 */
|
|
5
|
+
export const LEAVE_WORKING_SETTLE_MS = 1500;
|
|
6
|
+
/** 任何非抢占切换后的最短停留(规则 4)。 */
|
|
7
|
+
export const MIN_MOOD_DWELL_MS = 1000;
|
|
8
|
+
/** 回合完成庆祝(happy)的停留窗;由 Panel 在 working→false 边沿armed。 */
|
|
9
|
+
export const CELEBRATE_DWELL_MS = 2500;
|
|
10
|
+
/** idle 族动画的轮换周期(规则 5)。 */
|
|
11
|
+
export const IDLE_ROTATE_MS = 8000;
|
|
12
|
+
/** 狂点判定窗口:窗口内 ≥TICKLE_MIN_CLICKS 次点击 → tickle。 */
|
|
13
|
+
export const TICKLE_WINDOW_MS = 900;
|
|
14
|
+
export const TICKLE_MIN_CLICKS = 3;
|
|
15
|
+
/** 通知气泡的展示时长(约数,按动画 tick 粒度收回)。 */
|
|
16
|
+
export const NOTIFICATION_BUBBLE_MS = 5000;
|
|
17
|
+
/** 醒来(waking)反应的闪现时长。 */
|
|
18
|
+
export const WAKING_FLASH_MS = 1800;
|
|
19
|
+
/** 顶箱子(carrying,gitBranch 变更闪现)时长。 */
|
|
20
|
+
export const CARRYING_FLASH_MS = 2500;
|
|
21
|
+
/** Enter 戳一戳时完整活动行气泡的时长。 */
|
|
22
|
+
export const POKE_MS = 3000;
|
|
23
|
+
/** 工作态细分:activity 投影优先,缺省时 spinnerMode 兜底。 */
|
|
24
|
+
function workingMood(inputs) {
|
|
25
|
+
const activity = inputs.activity;
|
|
26
|
+
if (activity !== undefined && activity.phase !== 'idle' && activity.phase !== 'done') {
|
|
27
|
+
if (activity.phase === 'waiting')
|
|
28
|
+
return 'waiting';
|
|
29
|
+
if (activity.phase === 'thinking')
|
|
30
|
+
return 'thinking';
|
|
31
|
+
return 'working';
|
|
32
|
+
}
|
|
33
|
+
switch (inputs.spinnerMode) {
|
|
34
|
+
case 'requesting':
|
|
35
|
+
return 'waiting';
|
|
36
|
+
case 'thinking':
|
|
37
|
+
return 'thinking';
|
|
38
|
+
case 'responding':
|
|
39
|
+
return 'responding';
|
|
40
|
+
case 'tool-use':
|
|
41
|
+
case 'tool-input':
|
|
42
|
+
return 'working';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** 纯派生(规则 1 的第一层):attention > error > working > celebrate >
|
|
46
|
+
* sleeping > idle。 */
|
|
47
|
+
export function deriveCompanionMood(inputs, now) {
|
|
48
|
+
let mood;
|
|
49
|
+
if (inputs.attention.approvalPending || inputs.attention.questionPending)
|
|
50
|
+
mood = 'attention';
|
|
51
|
+
else if (inputs.failures.failedJobsUnread > 0 || inputs.failures.failedSubagents > 0)
|
|
52
|
+
mood = 'error';
|
|
53
|
+
else if (inputs.working)
|
|
54
|
+
mood = workingMood(inputs);
|
|
55
|
+
else if (inputs.celebration !== undefined && now < inputs.celebration.until)
|
|
56
|
+
mood = 'celebrate';
|
|
57
|
+
else if (inputs.sleepAfterMs > 0 && now - inputs.lastInputAt >= inputs.sleepAfterMs)
|
|
58
|
+
mood = 'sleeping';
|
|
59
|
+
else
|
|
60
|
+
mood = 'idle';
|
|
61
|
+
const bubble = mood === 'sleeping' || mood === 'idle' ? undefined : bubbleOf(inputs);
|
|
62
|
+
return { mood, bubble };
|
|
63
|
+
}
|
|
64
|
+
function bubbleOf(inputs) {
|
|
65
|
+
const activity = inputs.activity;
|
|
66
|
+
if (activity === undefined)
|
|
67
|
+
return undefined;
|
|
68
|
+
if (activity.phrase !== undefined && activity.phrase !== '')
|
|
69
|
+
return activity.phrase;
|
|
70
|
+
const label = activity.label ?? '';
|
|
71
|
+
const detail = activity.detail ?? '';
|
|
72
|
+
const combined = (label + (label !== '' && detail !== '' ? ' ' : '') + detail).trim();
|
|
73
|
+
return combined === '' ? undefined : combined;
|
|
74
|
+
}
|
|
75
|
+
/** 子代理在跑数(starting/running)。 */
|
|
76
|
+
export function countRunningSubagents(subagents) {
|
|
77
|
+
return subagents.filter(s => s.status === 'starting' || s.status === 'running').length;
|
|
78
|
+
}
|
|
79
|
+
/** 后台任务在跑数(running/stopping 都算活着)。 */
|
|
80
|
+
export function countRunningJobs(jobs) {
|
|
81
|
+
return jobs.filter(j => j.status === 'running' || j.status === 'stopping').length;
|
|
82
|
+
}
|
|
83
|
+
/** 「会话」口径:主回合(working 计 1)+ 在跑子代理 + 在跑后台任务。 */
|
|
84
|
+
export function countSessionsRunning(working, runningSubagents, runningJobs) {
|
|
85
|
+
return (working ? 1 : 0) + runningSubagents + runningJobs;
|
|
86
|
+
}
|
|
87
|
+
/** 素材包官方表:conducting=2+ 子代理;building=3+ 会话;music=1 子代理或
|
|
88
|
+
* 2 会话;compacting=上下文压缩进行中(ChannelUi.compaction 是现成信号)。
|
|
89
|
+
* 优先级:compacting > conducting > building > music(子代理专属动画最具体)。
|
|
90
|
+
* carrying(新建工作树/分支)没有推送信号,走 gitBranch 变更闪现(Panel 接线)。 */
|
|
91
|
+
export function deriveCompanionContext(inputs) {
|
|
92
|
+
if (inputs.compaction !== undefined && inputs.compaction !== null)
|
|
93
|
+
return 'compacting';
|
|
94
|
+
const runningSubagents = countRunningSubagents(inputs.subagents);
|
|
95
|
+
const sessions = countSessionsRunning(inputs.working, runningSubagents, countRunningJobs(inputs.backgroundJobs));
|
|
96
|
+
if (runningSubagents >= 2)
|
|
97
|
+
return 'conducting';
|
|
98
|
+
if (sessions >= 3)
|
|
99
|
+
return 'building';
|
|
100
|
+
if (runningSubagents >= 1 || sessions >= 2)
|
|
101
|
+
return 'music';
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
export const initialCompanionDisplayState = {
|
|
105
|
+
semantic: 'idle',
|
|
106
|
+
since: 0,
|
|
107
|
+
activeLeftAt: 0,
|
|
108
|
+
};
|
|
109
|
+
/** 活跃族 = working 细分 + 并行上下文(离开它们进 idle 族要防抖)。 */
|
|
110
|
+
const ACTIVE_SEMANTICS = new Set([
|
|
111
|
+
'thinking', 'typing', 'music', 'conducting', 'building', 'compacting',
|
|
112
|
+
]);
|
|
113
|
+
/** working 细分(进入它不防抖——有信息量)。 */
|
|
114
|
+
const WORKING_SEMANTICS = new Set(['thinking', 'typing']);
|
|
115
|
+
/** idle 族(settle 闸只对它们生效)。 */
|
|
116
|
+
const IDLE_FAMILY = new Set(['idle', 'sleeping']);
|
|
117
|
+
/** 允许立刻打断的语义(规则 2)。 */
|
|
118
|
+
const IMMEDIATE_SEMANTICS = new Set(['notification', 'error', 'happy']);
|
|
119
|
+
/** 目标心情 + 上下文 → 目标显示语义(纯函数)。attention/error/happy 直通;
|
|
120
|
+
* working 细分与 idle/sleeping 在有并行上下文时让位(music=官方表的
|
|
121
|
+
* juggling:主回合 + 子代理同时在跑时宠物该演"分身"而不是敲代码)。 */
|
|
122
|
+
export function resolveTargetSemantic(mood, context) {
|
|
123
|
+
if (mood === 'attention')
|
|
124
|
+
return 'notification';
|
|
125
|
+
if (mood === 'error')
|
|
126
|
+
return 'error';
|
|
127
|
+
if (mood === 'celebrate')
|
|
128
|
+
return 'happy';
|
|
129
|
+
if (mood === 'waiting' || mood === 'thinking')
|
|
130
|
+
return context ?? 'thinking';
|
|
131
|
+
if (mood === 'working' || mood === 'responding')
|
|
132
|
+
return context ?? 'typing';
|
|
133
|
+
return context ?? (mood === 'sleeping' ? 'sleeping' : 'idle');
|
|
134
|
+
}
|
|
135
|
+
/** 平滑器(规则 2/3/4,近纯步进):输入目标语义流 + 时钟,输出显示语义流。
|
|
136
|
+
*
|
|
137
|
+
* - 目标 == 当前显示:什么都不动(since 保留 → 动画 elapsed 连续)。
|
|
138
|
+
* - 抢占(notification/error/happy)或进入 working 族:立刻切。
|
|
139
|
+
* - 其余切换:settle(离开活跃族进 idle 族需 LEAVE_WORKING_SETTLE_MS 稳定)
|
|
140
|
+
* 与 dwell(显示语义已停留 MIN_MOOD_DWELL_MS)双闸全开才切。
|
|
141
|
+
* - realign:visible=false→true 时跳过闸门对齐当前目标(隐藏期间没走 tick)。
|
|
142
|
+
*/
|
|
143
|
+
export function stepCompanionDisplay(prev, target, now, opts) {
|
|
144
|
+
const targetActive = ACTIVE_SEMANTICS.has(target);
|
|
145
|
+
const activeLeftAt = targetActive ? 0 : prev.activeLeftAt === 0 ? now : prev.activeLeftAt;
|
|
146
|
+
if (opts?.realign === true)
|
|
147
|
+
return { semantic: target, since: now, activeLeftAt };
|
|
148
|
+
if (target === prev.semantic) {
|
|
149
|
+
return { semantic: prev.semantic, since: prev.since, activeLeftAt };
|
|
150
|
+
}
|
|
151
|
+
const immediate = IMMEDIATE_SEMANTICS.has(target) ||
|
|
152
|
+
(WORKING_SEMANTICS.has(target) && !WORKING_SEMANTICS.has(prev.semantic));
|
|
153
|
+
if (immediate)
|
|
154
|
+
return { semantic: target, since: now, activeLeftAt };
|
|
155
|
+
const settleOk = !IDLE_FAMILY.has(target) || now - activeLeftAt >= LEAVE_WORKING_SETTLE_MS;
|
|
156
|
+
const dwellOk = now - prev.since >= MIN_MOOD_DWELL_MS;
|
|
157
|
+
if (settleOk && dwellOk)
|
|
158
|
+
return { semantic: target, since: now, activeLeftAt };
|
|
159
|
+
return { semantic: prev.semantic, since: prev.since, activeLeftAt };
|
|
160
|
+
}
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
// idle 族轮换(规则 5:按时间,不跟信号边沿)
|
|
163
|
+
// ---------------------------------------------------------------------------
|
|
164
|
+
/** idle 显示语义下的动画轮换槽序号:由进入 idle 的时刻与当前时钟决定,
|
|
165
|
+
* 与信号无关;同一 idle 期内确定,跨 idle 期自然错开。 */
|
|
166
|
+
export function idleRotationIndex(idleSince, now, length) {
|
|
167
|
+
if (length <= 1 || idleSince <= 0)
|
|
168
|
+
return 0;
|
|
169
|
+
const slot = Math.max(0, Math.floor((now - idleSince) / IDLE_ROTATE_MS));
|
|
170
|
+
const offset = Math.abs(Math.floor(idleSince / 997)) % length;
|
|
171
|
+
return (slot + offset) % length;
|
|
172
|
+
}
|
|
173
|
+
/** NotificationItem.color → 反应档(error/warning/success/default)。
|
|
174
|
+
* 没有更多语义字段可判(如"已打断"),default 档用 idle-look——见交付说明。 */
|
|
175
|
+
export function notificationReactionKind(color) {
|
|
176
|
+
if (color === 'error' || color === 'warning' || color === 'success')
|
|
177
|
+
return color;
|
|
178
|
+
return 'default';
|
|
179
|
+
}
|
|
180
|
+
export function createNotificationTracker() {
|
|
181
|
+
return { seen: new Set(), armed: false };
|
|
182
|
+
}
|
|
183
|
+
/** 渲染期步进:从尾部扫描未见过的条目(notify 追加在最后),返回最新一条
|
|
184
|
+
* (旧的让位——气泡同时只留最新);首次调用只记账不发射(不弹历史旧账)。
|
|
185
|
+
* 重建数组(slice/filter)但条目对象同引用时不会误报;条目被摘除时顺手
|
|
186
|
+
* 清理 seen,防泄漏。 */
|
|
187
|
+
export function stepNotificationTracker(tracker, notifications, opts) {
|
|
188
|
+
let newest;
|
|
189
|
+
let scanned = 0;
|
|
190
|
+
for (let index = notifications.length - 1; index >= 0 && scanned < 16; index -= 1) {
|
|
191
|
+
const item = notifications[index];
|
|
192
|
+
if (item === undefined)
|
|
193
|
+
break;
|
|
194
|
+
scanned += 1;
|
|
195
|
+
if (tracker.seen.has(item))
|
|
196
|
+
break;
|
|
197
|
+
tracker.seen.add(item);
|
|
198
|
+
newest = newest ?? item;
|
|
199
|
+
}
|
|
200
|
+
if (tracker.seen.size > notifications.length + 8) {
|
|
201
|
+
const live = new Set(notifications);
|
|
202
|
+
for (const item of tracker.seen) {
|
|
203
|
+
if (!live.has(item))
|
|
204
|
+
tracker.seen.delete(item);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (!tracker.armed || opts?.silent === true) {
|
|
208
|
+
tracker.armed = true;
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
return newest;
|
|
212
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* planPose(设计分文档 §2 + v2.1 修订):皮肤无关的动画词汇。
|
|
3
|
+
*
|
|
4
|
+
* v2.1 的关键修订(评审 §八):whaleIdle 是**多层同时发生**的规划器
|
|
5
|
+
* (tail + fin + blink + heart + sleep 各自独立),单一 gesture 字段会
|
|
6
|
+
* 丢信息、也无法做到帧级一致。因此:
|
|
7
|
+
* - gestures 是一个集合(wag + flutter 可以同时成立);
|
|
8
|
+
* - nativeWhalePose 原样携带 WhaleLayerPose——鲸鱼皮肤 100% 复用现有
|
|
9
|
+
* 分层渲染(与开屏 splash 同一规划器、同一帧表,帧级 parity 免费),
|
|
10
|
+
* 其他皮肤只消费自己能理解的通用语义子集。
|
|
11
|
+
*
|
|
12
|
+
* 实现上就是 nextWhaleIdleStep 的薄包装:mood 映射到它的 working 输入
|
|
13
|
+
* (waiting/thinking/working/responding → working=true,与分文档一致;
|
|
14
|
+
* attention 也算 working——有需要用户处理的事时宠物应该醒着且活跃),
|
|
15
|
+
* 规划器本身一行不动。
|
|
16
|
+
*/
|
|
17
|
+
import type { WhaleLayerPose } from '../../whaleLayers.js';
|
|
18
|
+
import { initialWhaleIdleState, type WhaleIdleState } from '../../whaleIdle.js';
|
|
19
|
+
import type { CompanionMood } from './mood.js';
|
|
20
|
+
export type CompanionGesture = 'wag' | 'flutter' | 'spout' | 'nod' | 'wave';
|
|
21
|
+
export interface CompanionPose {
|
|
22
|
+
readonly mood: CompanionMood;
|
|
23
|
+
/** 0.. 单调递增,皮肤按自己的帧率取模(由 now/120 派生)。 */
|
|
24
|
+
readonly tick: number;
|
|
25
|
+
readonly gestures: ReadonlySet<CompanionGesture>;
|
|
26
|
+
readonly blink: boolean;
|
|
27
|
+
readonly heart: 0 | 1 | 2 | 3;
|
|
28
|
+
readonly sleepZ: 0 | 1 | 2 | 3 | 4 | 5;
|
|
29
|
+
readonly facing: 'left' | 'right';
|
|
30
|
+
/** 鲸鱼皮肤专用:与开屏 splash 完全一致的原始分层姿态。 */
|
|
31
|
+
readonly nativeWhalePose: WhaleLayerPose;
|
|
32
|
+
}
|
|
33
|
+
export interface CompanionPoseStep {
|
|
34
|
+
readonly state: WhaleIdleState;
|
|
35
|
+
readonly pose: CompanionPose;
|
|
36
|
+
readonly delayMs: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const initialCompanionPoseState: typeof initialWhaleIdleState;
|
|
39
|
+
export declare function nextCompanionPoseStep(prev: WhaleIdleState, input: {
|
|
40
|
+
readonly mood: CompanionMood;
|
|
41
|
+
readonly heart: boolean;
|
|
42
|
+
}, now: number): CompanionPoseStep;
|
|
43
|
+
//# sourceMappingURL=pose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pose.d.ts","sourceRoot":"","sources":["../../../../../src/components/sidePanel/companion/pose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EACL,qBAAqB,EAErB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAA;AAE3E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACjC,qCAAqC;IACrC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,yBAAyB,8BAAwB,CAAA;AAU9D,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAChE,GAAG,EAAE,MAAM,GACV,iBAAiB,CAyBnB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { initialWhaleIdleState, nextWhaleIdleStep, } from '../../whaleIdle.js';
|
|
2
|
+
export const initialCompanionPoseState = initialWhaleIdleState;
|
|
3
|
+
const AWAKE_ACTIVE_MOODS = new Set([
|
|
4
|
+
'waiting',
|
|
5
|
+
'thinking',
|
|
6
|
+
'working',
|
|
7
|
+
'responding',
|
|
8
|
+
'attention',
|
|
9
|
+
]);
|
|
10
|
+
export function nextCompanionPoseStep(prev, input, now) {
|
|
11
|
+
const step = nextWhaleIdleStep(prev, { working: AWAKE_ACTIVE_MOODS.has(input.mood), heart: input.heart }, now);
|
|
12
|
+
const layers = step.pose;
|
|
13
|
+
const gestures = new Set();
|
|
14
|
+
if (layers.tail > 0)
|
|
15
|
+
gestures.add('wag');
|
|
16
|
+
if (layers.fin > 0)
|
|
17
|
+
gestures.add('flutter');
|
|
18
|
+
if (layers.spout > 0)
|
|
19
|
+
gestures.add('spout');
|
|
20
|
+
return {
|
|
21
|
+
state: step.state,
|
|
22
|
+
pose: {
|
|
23
|
+
mood: input.mood,
|
|
24
|
+
tick: Math.max(0, Math.floor(now / 120)),
|
|
25
|
+
gestures,
|
|
26
|
+
blink: layers.blink,
|
|
27
|
+
heart: Math.min(3, Math.max(0, layers.heart)),
|
|
28
|
+
sleepZ: Math.min(5, Math.max(0, layers.sleep)),
|
|
29
|
+
facing: 'left',
|
|
30
|
+
nativeWhalePose: layers,
|
|
31
|
+
},
|
|
32
|
+
delayMs: step.delayMs,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Companion 皮肤接口与注册表(设计分文档 §3 + v2.1):皮肤拿到的是
|
|
3
|
+
* CompanionPose(多层语义 + nativeWhalePose)与渲染上下文;皮肤只实现
|
|
4
|
+
* 自己理解的语义子集,未支持的姿态退化而不是报错。
|
|
5
|
+
*
|
|
6
|
+
* 用户的 deepy 是默认皮肤(DEEPY_MOOD_ANIMATION 逐心情整段动画);
|
|
7
|
+
* WhaleGirlSkin 用用户提供的鲸娘素材包(assets/whaleGirl,映射表与 deepy
|
|
8
|
+
* 同源,仅 smile-hearts / thumbs-up 两键独有);WhaleSkin 复用开屏分层
|
|
9
|
+
* 规划器的 nativeWhalePose(与 splash 帧级一致)。
|
|
10
|
+
* 插件皮肤(纯数据帧表,分文档 §6)留到 Phase 7,注册表先把接缝定好:
|
|
11
|
+
* 皮肤 = id + cells + render(pose, ctx),自定义皮肤走同一接口进入。
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import type { I18nKey } from '../../../i18n.js';
|
|
15
|
+
import type { CompanionMood } from './mood.js';
|
|
16
|
+
import type { CompanionPose } from './pose.js';
|
|
17
|
+
export interface CompanionSkinRenderInput {
|
|
18
|
+
readonly pose: CompanionPose;
|
|
19
|
+
/** 当前心情进入的时刻(动画从 0 计 elapsed 的起点)。 */
|
|
20
|
+
readonly moodSince: number;
|
|
21
|
+
readonly now: number;
|
|
22
|
+
/** 可用宽度(皮肤永不超宽:宽度不足由 Panel 决定用不用 small)。 */
|
|
23
|
+
readonly width: number;
|
|
24
|
+
/** 当前应播的动画键——CompanionPanel 的平滑层+互动层裁决结果,取
|
|
25
|
+
* deepy 规范键词汇表(即素材包 20 键:'typing' / 'poke-left' /
|
|
26
|
+
* 'tickle' / 'idle-look' / 'notification' …),任何皮肤都能对互动
|
|
27
|
+
* 做反应;互动覆盖期间 moodSince = 覆盖开始时刻(elapsed 从头播)。
|
|
28
|
+
* 旧调用方(缺省)皮肤退回 pose.mood 分层,属皮肤接口「未支持即
|
|
29
|
+
* 退化」契约。 */
|
|
30
|
+
readonly animationSemantic?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface CompanionSkin {
|
|
33
|
+
readonly id: string;
|
|
34
|
+
readonly titleKey?: I18nKey;
|
|
35
|
+
readonly title?: string;
|
|
36
|
+
/** 固定占位(列×行),永不随帧变化(§16.6 列宽不变硬约束)。 */
|
|
37
|
+
readonly cells: {
|
|
38
|
+
readonly columns: number;
|
|
39
|
+
readonly rows: number;
|
|
40
|
+
};
|
|
41
|
+
readonly graphics: 'none' | 'optional' | 'required';
|
|
42
|
+
/** 本皮肤对 animationSemantic(deepy 规范键)的声明式落点表:规范键
|
|
43
|
+
* → 自家动画键;未列出的键同名直通(自家 kit 键集相同即可)。皮肤
|
|
44
|
+
* 解析不出落点(semanticMap 缺 + 自家 kit 也没有同名键)→ 退回 mood
|
|
45
|
+
* 层(pose.mood/pose.heart),不报错。像素鲸这类无帧表皮肤不声明,
|
|
46
|
+
* 维持原样忽略。 */
|
|
47
|
+
readonly semanticMap?: Readonly<Record<string, string>>;
|
|
48
|
+
render(input: CompanionSkinRenderInput): React.ReactNode;
|
|
49
|
+
}
|
|
50
|
+
/** deepy 小鲸鱼(默认):语义/心情 → 动画,elapsed → frameAt 确定性选帧。 */
|
|
51
|
+
export declare const DeepySkin: CompanionSkin;
|
|
52
|
+
/** 图像轨单元格盒列数:15 行预算 × 像元比 × 帧宽高比,钳在 cells.columns
|
|
53
|
+
* (超出时调用方按 contain 收行)。导出供回归锁「cells 常量 == 常见像元比
|
|
54
|
+
* 下的实际图宽」(空气墙契约:盒宽=图宽)。 */
|
|
55
|
+
export declare function whaleGirlImageBoxColumns(cell: {
|
|
56
|
+
readonly width: number;
|
|
57
|
+
readonly height: number;
|
|
58
|
+
}, frameRatio: number): number;
|
|
59
|
+
/** 鲸娘语义表:deepy 的语义/上下文/互动/通知反应表 key 同名直通,仅
|
|
60
|
+
* notice(悬停本体)→ smile-hearts、happy(庆祝)→ thumbs-up 两处覆盖。
|
|
61
|
+
* 回归用它做全语义覆盖检查;运行时 CompanionPanel 把裁决出的
|
|
62
|
+
* animationSemantic 交给每个皮肤的 render(WhaleGirlSkin.semanticMap
|
|
63
|
+
* 即本表),互动/通知反应因此同样能到非 deepy 皮肤。 */
|
|
64
|
+
export declare const WHALE_GIRL_SEMANTIC_ANIMATION: Readonly<Record<string, string>>;
|
|
65
|
+
/** pose → 鲸娘动画键(纯函数,回归直接测):亲昵互动(爱心 pass,
|
|
66
|
+
* CompanionPanel 在点击宠物 / Enter 戳一戳时 arm)优先于心情。 */
|
|
67
|
+
export declare function whaleGirlAnimationKey(mood: CompanionMood, heart: number): string;
|
|
68
|
+
export declare const WhaleGirlSkin: CompanionSkin;
|
|
69
|
+
interface WhaleGirlImageTiming {
|
|
70
|
+
readonly dur: number;
|
|
71
|
+
readonly file: string;
|
|
72
|
+
}
|
|
73
|
+
interface WhaleGirlImageAnimation {
|
|
74
|
+
readonly key: string;
|
|
75
|
+
readonly frames: readonly WhaleGirlImageTiming[];
|
|
76
|
+
/** 全部帧 dur 总和(循环周期)。 */
|
|
77
|
+
readonly totalMs: number;
|
|
78
|
+
}
|
|
79
|
+
interface WhaleGirlImageKit {
|
|
80
|
+
/** img/ 目录的绝对路径(帧 PNG 解码用)。 */
|
|
81
|
+
readonly dir: string;
|
|
82
|
+
readonly byKey: Readonly<Record<string, WhaleGirlImageAnimation>>;
|
|
83
|
+
}
|
|
84
|
+
/** 惰性加载 + 缓存图像 timings;缺失/校验失败返回 undefined(退字母格)。 */
|
|
85
|
+
export declare function loadWhaleGirlImageKit(): WhaleGirlImageKit | undefined;
|
|
86
|
+
/** elapsed 时刻应显示第几帧:dur 累加取模,与 deepy.frameAt 同语义
|
|
87
|
+
* (确定性、可单测;回归里与 frameAt 逐 elapsed 比对)。 */
|
|
88
|
+
export declare function whaleGirlImageFrameIndexAt(animation: WhaleGirlImageAnimation, elapsedMs: number): number;
|
|
89
|
+
/** 测试观测点:当前进程已解码了哪些动画(惰性解码断言用)。 */
|
|
90
|
+
export declare function whaleGirlDecodedAnimationKeys(): readonly string[];
|
|
91
|
+
/** 测试接缝:清图像层缓存(timings kit + 已解码动画 + 失败集合 + 字母开窗渲染)。 */
|
|
92
|
+
export declare function resetWhaleGirlImageCacheForTests(): void;
|
|
93
|
+
/** 现有像素鲸鱼:直接消费 nativeWhalePose(与开屏 splash 同一规划器、
|
|
94
|
+
* 同一帧表、同一 LAYERED_CACHE)。 */
|
|
95
|
+
export declare const WhaleSkin: CompanionSkin;
|
|
96
|
+
/** 按 id 取皮肤;未知 id 回退默认(DeepySkin)。 */
|
|
97
|
+
export declare function resolveCompanionSkin(id: string | undefined): CompanionSkin;
|
|
98
|
+
/** 自定义皮肤注册接缝(用户自定义 / 插件皮肤的进入点;描述符校验
|
|
99
|
+
* 规则随 Phase 7 的插件皮肤一起落地)。 */
|
|
100
|
+
export declare function registerCompanionSkin(skin: CompanionSkin): void;
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=skins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skins.d.ts","sourceRoot":"","sources":["../../../../../src/components/sidePanel/companion/skins.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAa/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;iBAKa;IACb,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;IACnD;;;;kBAIc;IACd,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAA;CACzD;AAED,wDAAwD;AACxD,eAAO,MAAM,SAAS,EAAE,aA0BvB,CAAA;AAWD;;2BAE2B;AAC3B,wBAAgB,wBAAwB,CACtC,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzD,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AASD;;;;oCAIoC;AACpC,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI1E,CAAA;AAED;mDACmD;AACnD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhF;AAgFD,eAAO,MAAM,aAAa,EAAE,aAe3B,CAAA;AAwBD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;IAChD,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,iBAAiB;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAA;CAClE;AA4BD,qDAAqD;AACrD,wBAAgB,qBAAqB,IAAI,iBAAiB,GAAG,SAAS,CAiBrE;AAED;2CAC2C;AAC3C,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASxG;AAmDD,mCAAmC;AACnC,wBAAgB,6BAA6B,IAAI,SAAS,MAAM,EAAE,CAEjE;AAED,wDAAwD;AACxD,wBAAgB,gCAAgC,IAAI,IAAI,CAMvD;AA+GD;8BAC8B;AAC9B,eAAO,MAAM,SAAS,EAAE,aAQvB,CAAA;AAQD,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAM1E;AAED;8BAC8B;AAC9B,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAE/D"}
|