@deepseek-harness-tui/dsh-tui 0.12.0 → 0.14.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 +124 -8
- package/assets/claude-girl/claude-girl-happy.png +0 -0
- package/assets/claude-girl/claude-girl.png +0 -0
- package/assets/codex-girl/codex-girl-happy.png +0 -0
- package/assets/codex-girl/codex-girl.png +0 -0
- 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 +112 -21
- package/cordis.patch.yml +9 -1
- package/cordis.yml +2 -0
- package/guide/dsh-tui-guide/SKILL.md +4 -2
- package/guide/dsh-tui-guide/claude-backend.en.md +203 -0
- package/guide/dsh-tui-guide/claude-backend.md +161 -0
- package/guide/dsh-tui-guide/codex-backend.en.md +297 -0
- package/guide/dsh-tui-guide/codex-backend.md +257 -0
- package/guide/dsh-tui-guide/configuration.en.md +13 -1
- package/guide/dsh-tui-guide/configuration.md +13 -1
- package/guide/dsh-tui-guide/getting-started.en.md +6 -3
- package/guide/dsh-tui-guide/getting-started.md +4 -2
- package/guide/dsh-tui-guide/interaction.en.md +221 -15
- package/guide/dsh-tui-guide/interaction.md +153 -9
- package/guide/dsh-tui-guide/plugins.en.md +16 -6
- package/guide/dsh-tui-guide/plugins.md +14 -6
- package/guide/dsh-tui-guide/themes.en.md +31 -4
- package/guide/dsh-tui-guide/themes.md +26 -4
- package/guide/dsh-tui-guide/user-guide.en.md +145 -27
- package/guide/dsh-tui-guide/user-guide.md +113 -22
- package/guide/dsh-tui-guide/vscode.en.md +1 -0
- package/guide/dsh-tui-guide/vscode.md +1 -0
- package/lib/settings.json +348 -1
- package/lib/types/adapter/channel/state.d.ts.map +1 -1
- package/lib/types/adapter/channel/state.js +1 -0
- package/lib/types/adapter/channel/ui-policy.d.ts +21 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +43 -1
- package/lib/types/adapter/channel/ui.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui.js +45 -5
- 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 +14 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-display.d.ts +17 -1
- package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-session.d.ts +5 -0
- package/lib/types/adapter/ports/channel-session.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-settings.d.ts +20 -0
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +243 -6
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +566 -8
- 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/agent/backend.d.ts +168 -0
- package/lib/types/agent/backend.d.ts.map +1 -0
- package/lib/types/agent/backend.js +1 -0
- package/lib/types/agent/capabilities.d.ts +461 -0
- package/lib/types/agent/capabilities.d.ts.map +1 -0
- package/lib/types/agent/capabilities.js +1 -0
- package/lib/types/agent/events.d.ts +733 -0
- package/lib/types/agent/events.d.ts.map +1 -0
- package/lib/types/agent/events.js +2 -0
- package/lib/types/agent/index.d.ts +8 -0
- package/lib/types/agent/index.d.ts.map +1 -0
- package/lib/types/agent/index.js +7 -0
- package/lib/types/agent/messages.d.ts +52 -0
- package/lib/types/agent/messages.d.ts.map +1 -0
- package/lib/types/agent/messages.js +91 -0
- package/lib/types/agent/presentation.d.ts +29 -0
- package/lib/types/agent/presentation.d.ts.map +1 -0
- package/lib/types/agent/presentation.js +4 -0
- package/lib/types/agent/refs.d.ts +30 -0
- package/lib/types/agent/refs.d.ts.map +1 -0
- package/lib/types/agent/refs.js +39 -0
- package/lib/types/agent/session.d.ts +78 -0
- package/lib/types/agent/session.d.ts.map +1 -0
- package/lib/types/agent/session.js +1 -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/backends/claude/activity.d.ts +53 -0
- package/lib/types/backends/claude/activity.d.ts.map +1 -0
- package/lib/types/backends/claude/activity.js +103 -0
- package/lib/types/backends/claude/auth.d.ts +245 -0
- package/lib/types/backends/claude/auth.d.ts.map +1 -0
- package/lib/types/backends/claude/auth.js +503 -0
- package/lib/types/backends/claude/backend.d.ts +32 -0
- package/lib/types/backends/claude/backend.d.ts.map +1 -0
- package/lib/types/backends/claude/backend.js +296 -0
- package/lib/types/backends/claude/catalog.d.ts +17 -0
- package/lib/types/backends/claude/catalog.d.ts.map +1 -0
- package/lib/types/backends/claude/catalog.js +94 -0
- package/lib/types/backends/claude/channels.d.ts +63 -0
- package/lib/types/backends/claude/channels.d.ts.map +1 -0
- package/lib/types/backends/claude/channels.js +275 -0
- package/lib/types/backends/claude/contract.d.ts +37 -0
- package/lib/types/backends/claude/contract.d.ts.map +1 -0
- package/lib/types/backends/claude/contract.js +46 -0
- package/lib/types/backends/claude/controls.d.ts +134 -0
- package/lib/types/backends/claude/controls.d.ts.map +1 -0
- package/lib/types/backends/claude/controls.js +425 -0
- package/lib/types/backends/claude/dialogs.d.ts +62 -0
- package/lib/types/backends/claude/dialogs.d.ts.map +1 -0
- package/lib/types/backends/claude/dialogs.js +253 -0
- package/lib/types/backends/claude/flag-settings.d.ts +12 -0
- package/lib/types/backends/claude/flag-settings.d.ts.map +1 -0
- package/lib/types/backends/claude/flag-settings.js +49 -0
- package/lib/types/backends/claude/images.d.ts +49 -0
- package/lib/types/backends/claude/images.d.ts.map +1 -0
- package/lib/types/backends/claude/images.js +94 -0
- package/lib/types/backends/claude/index.d.ts +5 -0
- package/lib/types/backends/claude/index.d.ts.map +1 -0
- package/lib/types/backends/claude/index.js +4 -0
- package/lib/types/backends/claude/install.d.ts +15 -0
- package/lib/types/backends/claude/install.d.ts.map +1 -0
- package/lib/types/backends/claude/install.js +91 -0
- package/lib/types/backends/claude/modelEnv.d.ts +64 -0
- package/lib/types/backends/claude/modelEnv.d.ts.map +1 -0
- package/lib/types/backends/claude/modelEnv.js +199 -0
- package/lib/types/backends/claude/narrow.d.ts +10 -0
- package/lib/types/backends/claude/narrow.d.ts.map +1 -0
- package/lib/types/backends/claude/narrow.js +8 -0
- package/lib/types/backends/claude/older-history.d.ts +16 -0
- package/lib/types/backends/claude/older-history.d.ts.map +1 -0
- package/lib/types/backends/claude/older-history.js +101 -0
- package/lib/types/backends/claude/options.d.ts +181 -0
- package/lib/types/backends/claude/options.d.ts.map +1 -0
- package/lib/types/backends/claude/options.js +208 -0
- package/lib/types/backends/claude/permissions.d.ts +83 -0
- package/lib/types/backends/claude/permissions.d.ts.map +1 -0
- package/lib/types/backends/claude/permissions.js +331 -0
- package/lib/types/backends/claude/prefs.d.ts +55 -0
- package/lib/types/backends/claude/prefs.d.ts.map +1 -0
- package/lib/types/backends/claude/prefs.js +150 -0
- package/lib/types/backends/claude/process.d.ts +19 -0
- package/lib/types/backends/claude/process.d.ts.map +1 -0
- package/lib/types/backends/claude/process.js +156 -0
- package/lib/types/backends/claude/replay.d.ts +129 -0
- package/lib/types/backends/claude/replay.d.ts.map +1 -0
- package/lib/types/backends/claude/replay.js +505 -0
- package/lib/types/backends/claude/sdk-warnings.d.ts +23 -0
- package/lib/types/backends/claude/sdk-warnings.d.ts.map +1 -0
- package/lib/types/backends/claude/sdk-warnings.js +55 -0
- package/lib/types/backends/claude/sdk.d.ts +12 -0
- package/lib/types/backends/claude/sdk.d.ts.map +1 -0
- package/lib/types/backends/claude/sdk.js +34 -0
- package/lib/types/backends/claude/send-message.d.ts +54 -0
- package/lib/types/backends/claude/send-message.d.ts.map +1 -0
- package/lib/types/backends/claude/send-message.js +65 -0
- package/lib/types/backends/claude/session/auth.d.ts +47 -0
- package/lib/types/backends/claude/session/auth.d.ts.map +1 -0
- package/lib/types/backends/claude/session/auth.js +226 -0
- package/lib/types/backends/claude/session/channels.d.ts +82 -0
- package/lib/types/backends/claude/session/channels.d.ts.map +1 -0
- package/lib/types/backends/claude/session/channels.js +45 -0
- package/lib/types/backends/claude/session/input.d.ts +16 -0
- package/lib/types/backends/claude/session/input.d.ts.map +1 -0
- package/lib/types/backends/claude/session/input.js +64 -0
- package/lib/types/backends/claude/session/lifecycle.d.ts +6 -0
- package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -0
- package/lib/types/backends/claude/session/lifecycle.js +852 -0
- package/lib/types/backends/claude/session/store.d.ts +17 -0
- package/lib/types/backends/claude/session/store.d.ts.map +1 -0
- package/lib/types/backends/claude/session/store.js +122 -0
- package/lib/types/backends/claude/session/subagents.d.ts +13 -0
- package/lib/types/backends/claude/session/subagents.d.ts.map +1 -0
- package/lib/types/backends/claude/session/subagents.js +77 -0
- package/lib/types/backends/claude/session/types.d.ts +89 -0
- package/lib/types/backends/claude/session/types.d.ts.map +1 -0
- package/lib/types/backends/claude/session/types.js +1 -0
- package/lib/types/backends/claude/session.d.ts +4 -0
- package/lib/types/backends/claude/session.d.ts.map +1 -0
- package/lib/types/backends/claude/session.js +2 -0
- package/lib/types/backends/claude/side-query.d.ts +34 -0
- package/lib/types/backends/claude/side-query.d.ts.map +1 -0
- package/lib/types/backends/claude/side-query.js +116 -0
- package/lib/types/backends/claude/task-output.d.ts +13 -0
- package/lib/types/backends/claude/task-output.d.ts.map +1 -0
- package/lib/types/backends/claude/task-output.js +101 -0
- package/lib/types/backends/claude/tools.d.ts +45 -0
- package/lib/types/backends/claude/tools.d.ts.map +1 -0
- package/lib/types/backends/claude/tools.js +231 -0
- package/lib/types/backends/claude/transcript-file.d.ts +41 -0
- package/lib/types/backends/claude/transcript-file.d.ts.map +1 -0
- package/lib/types/backends/claude/transcript-file.js +195 -0
- package/lib/types/backends/claude/translate/attempts.d.ts +33 -0
- package/lib/types/backends/claude/translate/attempts.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/attempts.js +243 -0
- package/lib/types/backends/claude/translate/content.d.ts +33 -0
- package/lib/types/backends/claude/translate/content.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/content.js +91 -0
- package/lib/types/backends/claude/translate/core.d.ts +76 -0
- package/lib/types/backends/claude/translate/core.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/core.js +447 -0
- package/lib/types/backends/claude/translate/events.d.ts +9 -0
- package/lib/types/backends/claude/translate/events.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/events.js +77 -0
- package/lib/types/backends/claude/translate/lanes.d.ts +31 -0
- package/lib/types/backends/claude/translate/lanes.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/lanes.js +177 -0
- package/lib/types/backends/claude/translate/messages.d.ts +36 -0
- package/lib/types/backends/claude/translate/messages.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/messages.js +202 -0
- package/lib/types/backends/claude/translate/system.d.ts +40 -0
- package/lib/types/backends/claude/translate/system.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/system.js +399 -0
- package/lib/types/backends/claude/translate/tasks.d.ts +19 -0
- package/lib/types/backends/claude/translate/tasks.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/tasks.js +159 -0
- package/lib/types/backends/claude/translate/types.d.ts +114 -0
- package/lib/types/backends/claude/translate/types.d.ts.map +1 -0
- package/lib/types/backends/claude/translate/types.js +1 -0
- package/lib/types/backends/claude/translate.d.ts +9 -0
- package/lib/types/backends/claude/translate.d.ts.map +1 -0
- package/lib/types/backends/claude/translate.js +6 -0
- package/lib/types/backends/codex/auth/external-tokens.d.ts +66 -0
- package/lib/types/backends/codex/auth/external-tokens.d.ts.map +1 -0
- package/lib/types/backends/codex/auth/external-tokens.js +325 -0
- package/lib/types/backends/codex/auth/route.d.ts +14 -0
- package/lib/types/backends/codex/auth/route.d.ts.map +1 -0
- package/lib/types/backends/codex/auth/route.js +52 -0
- package/lib/types/backends/codex/auth/status.d.ts +16 -0
- package/lib/types/backends/codex/auth/status.d.ts.map +1 -0
- package/lib/types/backends/codex/auth/status.js +115 -0
- package/lib/types/backends/codex/backend.d.ts +58 -0
- package/lib/types/backends/codex/backend.d.ts.map +1 -0
- package/lib/types/backends/codex/backend.js +201 -0
- package/lib/types/backends/codex/catalog.d.ts +17 -0
- package/lib/types/backends/codex/catalog.d.ts.map +1 -0
- package/lib/types/backends/codex/catalog.js +128 -0
- package/lib/types/backends/codex/channels.d.ts +59 -0
- package/lib/types/backends/codex/channels.d.ts.map +1 -0
- package/lib/types/backends/codex/channels.js +274 -0
- package/lib/types/backends/codex/contract.d.ts +46 -0
- package/lib/types/backends/codex/contract.d.ts.map +1 -0
- package/lib/types/backends/codex/contract.js +80 -0
- package/lib/types/backends/codex/detect.d.ts +14 -0
- package/lib/types/backends/codex/detect.d.ts.map +1 -0
- package/lib/types/backends/codex/detect.js +90 -0
- package/lib/types/backends/codex/index.d.ts +6 -0
- package/lib/types/backends/codex/index.d.ts.map +1 -0
- package/lib/types/backends/codex/index.js +5 -0
- package/lib/types/backends/codex/modes.d.ts +16 -0
- package/lib/types/backends/codex/modes.d.ts.map +1 -0
- package/lib/types/backends/codex/modes.js +49 -0
- package/lib/types/backends/codex/narrow.d.ts +20 -0
- package/lib/types/backends/codex/narrow.d.ts.map +1 -0
- package/lib/types/backends/codex/narrow.js +18 -0
- package/lib/types/backends/codex/prefs.d.ts +42 -0
- package/lib/types/backends/codex/prefs.d.ts.map +1 -0
- package/lib/types/backends/codex/prefs.js +124 -0
- package/lib/types/backends/codex/protocol/index.d.ts +149 -0
- package/lib/types/backends/codex/protocol/index.d.ts.map +1 -0
- package/lib/types/backends/codex/protocol/index.js +130 -0
- package/lib/types/backends/codex/rpc/binary.d.ts +35 -0
- package/lib/types/backends/codex/rpc/binary.d.ts.map +1 -0
- package/lib/types/backends/codex/rpc/binary.js +174 -0
- package/lib/types/backends/codex/rpc/client.d.ts +72 -0
- package/lib/types/backends/codex/rpc/client.d.ts.map +1 -0
- package/lib/types/backends/codex/rpc/client.js +214 -0
- package/lib/types/backends/codex/rpc/hub.d.ts +105 -0
- package/lib/types/backends/codex/rpc/hub.d.ts.map +1 -0
- package/lib/types/backends/codex/rpc/hub.js +532 -0
- package/lib/types/backends/codex/rpc/transport.d.ts +39 -0
- package/lib/types/backends/codex/rpc/transport.d.ts.map +1 -0
- package/lib/types/backends/codex/rpc/transport.js +212 -0
- package/lib/types/backends/codex/session/activity.d.ts +18 -0
- package/lib/types/backends/codex/session/activity.d.ts.map +1 -0
- package/lib/types/backends/codex/session/activity.js +108 -0
- package/lib/types/backends/codex/session/approvals.d.ts +39 -0
- package/lib/types/backends/codex/session/approvals.d.ts.map +1 -0
- package/lib/types/backends/codex/session/approvals.js +477 -0
- package/lib/types/backends/codex/session/commands.d.ts +37 -0
- package/lib/types/backends/codex/session/commands.d.ts.map +1 -0
- package/lib/types/backends/codex/session/commands.js +141 -0
- package/lib/types/backends/codex/session/controls.d.ts +37 -0
- package/lib/types/backends/codex/session/controls.d.ts.map +1 -0
- package/lib/types/backends/codex/session/controls.js +303 -0
- package/lib/types/backends/codex/session/goals.d.ts +25 -0
- package/lib/types/backends/codex/session/goals.d.ts.map +1 -0
- package/lib/types/backends/codex/session/goals.js +97 -0
- package/lib/types/backends/codex/session/history.d.ts +52 -0
- package/lib/types/backends/codex/session/history.d.ts.map +1 -0
- package/lib/types/backends/codex/session/history.js +196 -0
- package/lib/types/backends/codex/session/images.d.ts +17 -0
- package/lib/types/backends/codex/session/images.d.ts.map +1 -0
- package/lib/types/backends/codex/session/images.js +138 -0
- package/lib/types/backends/codex/session/input.d.ts +75 -0
- package/lib/types/backends/codex/session/input.d.ts.map +1 -0
- package/lib/types/backends/codex/session/input.js +294 -0
- package/lib/types/backends/codex/session/plan-review.d.ts +19 -0
- package/lib/types/backends/codex/session/plan-review.d.ts.map +1 -0
- package/lib/types/backends/codex/session/plan-review.js +48 -0
- package/lib/types/backends/codex/session/prompts.d.ts +7 -0
- package/lib/types/backends/codex/session/prompts.d.ts.map +1 -0
- package/lib/types/backends/codex/session/prompts.js +47 -0
- package/lib/types/backends/codex/session/session.d.ts +12 -0
- package/lib/types/backends/codex/session/session.d.ts.map +1 -0
- package/lib/types/backends/codex/session/session.js +871 -0
- package/lib/types/backends/codex/session/side-query.d.ts +25 -0
- package/lib/types/backends/codex/session/side-query.d.ts.map +1 -0
- package/lib/types/backends/codex/session/side-query.js +121 -0
- package/lib/types/backends/codex/session/state.d.ts +57 -0
- package/lib/types/backends/codex/session/state.d.ts.map +1 -0
- package/lib/types/backends/codex/session/state.js +1 -0
- package/lib/types/backends/codex/session/subagents.d.ts +28 -0
- package/lib/types/backends/codex/session/subagents.d.ts.map +1 -0
- package/lib/types/backends/codex/session/subagents.js +286 -0
- package/lib/types/backends/codex/session/tasks.d.ts +25 -0
- package/lib/types/backends/codex/session/tasks.d.ts.map +1 -0
- package/lib/types/backends/codex/session/tasks.js +207 -0
- package/lib/types/backends/codex/session/tool-output.d.ts +9 -0
- package/lib/types/backends/codex/session/tool-output.d.ts.map +1 -0
- package/lib/types/backends/codex/session/tool-output.js +29 -0
- package/lib/types/backends/codex/translate/commands.d.ts +30 -0
- package/lib/types/backends/codex/translate/commands.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/commands.js +103 -0
- package/lib/types/backends/codex/translate/events.d.ts +9 -0
- package/lib/types/backends/codex/translate/events.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/events.js +71 -0
- package/lib/types/backends/codex/translate/items.d.ts +112 -0
- package/lib/types/backends/codex/translate/items.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/items.js +375 -0
- package/lib/types/backends/codex/translate/live.d.ts +39 -0
- package/lib/types/backends/codex/translate/live.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/live.js +315 -0
- package/lib/types/backends/codex/translate/notices.d.ts +27 -0
- package/lib/types/backends/codex/translate/notices.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/notices.js +99 -0
- package/lib/types/backends/codex/translate/presentation.d.ts +49 -0
- package/lib/types/backends/codex/translate/presentation.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/presentation.js +237 -0
- package/lib/types/backends/codex/translate/replay.d.ts +18 -0
- package/lib/types/backends/codex/translate/replay.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/replay.js +33 -0
- package/lib/types/backends/codex/translate/usage.d.ts +29 -0
- package/lib/types/backends/codex/translate/usage.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/usage.js +65 -0
- package/lib/types/backends/shared/atomic-file.d.ts +4 -0
- package/lib/types/backends/shared/atomic-file.d.ts.map +1 -0
- package/lib/types/backends/shared/atomic-file.js +52 -0
- package/lib/types/backends/shared/channel-tokens.d.ts +29 -0
- package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -0
- package/lib/types/backends/shared/channel-tokens.js +161 -0
- package/lib/types/backends/shared/display-path.d.ts +3 -0
- package/lib/types/backends/shared/display-path.d.ts.map +1 -0
- package/lib/types/backends/shared/display-path.js +12 -0
- package/lib/types/branding.d.ts +92 -0
- package/lib/types/branding.d.ts.map +1 -0
- package/lib/types/branding.js +117 -0
- package/lib/types/channel/activity.d.ts +53 -0
- package/lib/types/channel/activity.d.ts.map +1 -0
- package/lib/types/channel/activity.js +955 -0
- package/lib/types/channel/capabilities.d.ts +24 -0
- package/lib/types/channel/capabilities.d.ts.map +1 -0
- package/lib/types/channel/capabilities.js +57 -0
- package/lib/types/channel/channel-slug.d.ts +9 -0
- package/lib/types/channel/channel-slug.d.ts.map +1 -0
- package/lib/types/channel/channel-slug.js +15 -0
- package/lib/types/channel/channel-wizard.d.ts +30 -0
- package/lib/types/channel/channel-wizard.d.ts.map +1 -0
- package/lib/types/channel/channel-wizard.js +226 -0
- package/lib/types/channel/elicitation.d.ts +135 -0
- package/lib/types/channel/elicitation.d.ts.map +1 -0
- package/lib/types/channel/elicitation.js +360 -0
- package/lib/types/channel/goal-command.d.ts +49 -0
- package/lib/types/channel/goal-command.d.ts.map +1 -0
- package/lib/types/channel/goal-command.js +72 -0
- package/lib/types/channel/history-restore.d.ts +16 -0
- package/lib/types/channel/history-restore.d.ts.map +1 -0
- package/lib/types/channel/history-restore.js +214 -0
- package/lib/types/channel/interaction.d.ts +38 -0
- package/lib/types/channel/interaction.d.ts.map +1 -0
- package/lib/types/channel/interaction.js +110 -0
- package/lib/types/channel/job-format.d.ts +6 -0
- package/lib/types/channel/job-format.d.ts.map +1 -0
- package/lib/types/channel/job-format.js +12 -0
- package/lib/types/channel/live-output.d.ts +35 -0
- package/lib/types/channel/live-output.d.ts.map +1 -0
- package/lib/types/channel/live-output.js +74 -0
- package/lib/types/channel/model-capabilities.d.ts +10 -0
- package/lib/types/channel/model-capabilities.d.ts.map +1 -0
- package/lib/types/channel/model-capabilities.js +51 -0
- package/lib/types/channel/permissions.d.ts +155 -0
- package/lib/types/channel/permissions.d.ts.map +1 -0
- package/lib/types/channel/permissions.js +188 -0
- package/lib/types/channel/projection.d.ts +110 -0
- package/lib/types/channel/projection.d.ts.map +1 -0
- package/lib/types/channel/projection.js +1521 -0
- package/lib/types/channel/question-record.d.ts +76 -0
- package/lib/types/channel/question-record.d.ts.map +1 -0
- package/lib/types/channel/question-record.js +109 -0
- package/lib/types/channel/questions.d.ts +204 -0
- package/lib/types/channel/questions.d.ts.map +1 -0
- package/lib/types/channel/questions.js +286 -0
- package/lib/types/channel/sanitize.d.ts +49 -0
- package/lib/types/channel/sanitize.d.ts.map +1 -0
- package/lib/types/channel/sanitize.js +88 -0
- package/lib/types/channel/selection-record.d.ts +18 -0
- package/lib/types/channel/selection-record.d.ts.map +1 -0
- package/lib/types/channel/selection-record.js +45 -0
- package/lib/types/channel/side-prompts.d.ts +59 -0
- package/lib/types/channel/side-prompts.d.ts.map +1 -0
- package/lib/types/channel/side-prompts.js +127 -0
- package/lib/types/channel/transcript.d.ts +17 -0
- package/lib/types/channel/transcript.d.ts.map +1 -0
- package/lib/types/channel/transcript.js +19 -0
- package/lib/types/channel/usage.d.ts +48 -0
- package/lib/types/channel/usage.d.ts.map +1 -0
- package/lib/types/channel/usage.js +143 -0
- package/lib/types/commands.d.ts +147 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +208 -6
- 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/AgentMessageComposer.d.ts +50 -0
- package/lib/types/components/AgentMessageComposer.d.ts.map +1 -0
- package/lib/types/components/AgentMessageComposer.js +159 -0
- package/lib/types/components/BtwPanel.d.ts +13 -12
- package/lib/types/components/BtwPanel.d.ts.map +1 -1
- package/lib/types/components/BtwPanel.js +35 -24
- package/lib/types/components/ChannelPicker.d.ts +40 -0
- package/lib/types/components/ChannelPicker.d.ts.map +1 -0
- package/lib/types/components/ChannelPicker.js +26 -0
- package/lib/types/components/Chat/JobCard.d.ts +29 -14
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +51 -64
- 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.d.ts +4 -1
- package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -1
- package/lib/types/components/Chat/SubagentMessage.js +10 -3
- package/lib/types/components/ClaudeGirl.d.ts +27 -0
- package/lib/types/components/ClaudeGirl.d.ts.map +1 -0
- package/lib/types/components/ClaudeGirl.js +30 -0
- package/lib/types/components/CodeBlockFrame.d.ts +19 -0
- package/lib/types/components/CodeBlockFrame.d.ts.map +1 -0
- package/lib/types/components/CodeBlockFrame.js +138 -0
- package/lib/types/components/CommandSuggestions.d.ts +10 -1
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/CommandSuggestions.js +20 -3
- package/lib/types/components/ContextBarView.d.ts +2 -2
- package/lib/types/components/ContextBarView.d.ts.map +1 -1
- package/lib/types/components/ContextBarView.js +18 -8
- package/lib/types/components/EffortChargeGlyph.d.ts +1 -1
- package/lib/types/components/EffortChargeGlyph.d.ts.map +1 -1
- package/lib/types/components/EffortChargeGlyph.js +3 -4
- package/lib/types/components/EffortInputBorder.d.ts +1 -2
- package/lib/types/components/EffortInputBorder.d.ts.map +1 -1
- package/lib/types/components/EffortInputBorder.js +7 -4
- package/lib/types/components/EffortSlider.d.ts +5 -1
- package/lib/types/components/EffortSlider.d.ts.map +1 -1
- package/lib/types/components/EffortSlider.js +2 -2
- package/lib/types/components/EffortTierBadge.d.ts +1 -2
- package/lib/types/components/EffortTierBadge.d.ts.map +1 -1
- package/lib/types/components/EffortTierBadge.js +8 -5
- package/lib/types/components/GoalTodoPanel.d.ts +15 -2
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +65 -18
- package/lib/types/components/InlineMathParagraph.js +1 -1
- package/lib/types/components/JobsPanel.d.ts +41 -2
- package/lib/types/components/JobsPanel.d.ts.map +1 -1
- package/lib/types/components/JobsPanel.js +208 -16
- package/lib/types/components/KernelPicker.d.ts +28 -0
- package/lib/types/components/KernelPicker.d.ts.map +1 -0
- package/lib/types/components/KernelPicker.js +37 -0
- package/lib/types/components/LogoV2.d.ts +49 -3
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +157 -34
- package/lib/types/components/Markdown.d.ts +2 -1
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Markdown.js +37 -8
- package/lib/types/components/MathBlock.d.ts.map +1 -1
- package/lib/types/components/MathBlock.js +3 -1
- package/lib/types/components/MermaidDiagram.d.ts.map +1 -1
- package/lib/types/components/MermaidDiagram.js +7 -5
- package/lib/types/components/MessageList.d.ts +28 -4
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +247 -33
- package/lib/types/components/ModePicker.d.ts +20 -0
- package/lib/types/components/ModePicker.d.ts.map +1 -0
- package/lib/types/components/ModePicker.js +17 -0
- package/lib/types/components/OverlayAbove.d.ts +11 -1
- package/lib/types/components/OverlayAbove.d.ts.map +1 -1
- package/lib/types/components/OverlayAbove.js +2 -12
- package/lib/types/components/PageMargin.d.ts.map +1 -1
- package/lib/types/components/PageMargin.js +3 -1
- package/lib/types/components/PluginSceneBoundary.d.ts +1 -1
- package/lib/types/components/PluginSceneBoundary.js +1 -1
- package/lib/types/components/PromptInput.d.ts +22 -24
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +720 -210
- package/lib/types/components/SdkInstallWizard.d.ts +44 -0
- package/lib/types/components/SdkInstallWizard.d.ts.map +1 -0
- package/lib/types/components/SdkInstallWizard.js +18 -0
- package/lib/types/components/SearchBox.d.ts +22 -6
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +27 -14
- package/lib/types/components/SplitDiffView.d.ts.map +1 -1
- package/lib/types/components/SplitDiffView.js +113 -6
- package/lib/types/components/StarPrompt.d.ts.map +1 -1
- package/lib/types/components/StarPrompt.js +5 -3
- package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
- package/lib/types/components/StreamingMarkdown.js +6 -4
- package/lib/types/components/SubagentCard.d.ts +2 -1
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +32 -10
- package/lib/types/components/SubagentDashboard.d.ts +22 -3
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +69 -10
- package/lib/types/components/SubagentDetailScene.d.ts +22 -1
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
- package/lib/types/components/SubagentDetailScene.js +245 -45
- 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/SyntaxText.d.ts.map +1 -1
- package/lib/types/components/SyntaxText.js +4 -1
- 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/TurnInterruptedRow.d.ts +3 -1
- package/lib/types/components/TurnInterruptedRow.d.ts.map +1 -1
- package/lib/types/components/TurnInterruptedRow.js +6 -3
- package/lib/types/components/TurnUsageRow.d.ts +24 -0
- package/lib/types/components/TurnUsageRow.d.ts.map +1 -0
- package/lib/types/components/TurnUsageRow.js +46 -0
- package/lib/types/components/WorkingSpinner.d.ts +2 -1
- package/lib/types/components/WorkingSpinner.d.ts.map +1 -1
- package/lib/types/components/WorkingSpinner.js +21 -4
- package/lib/types/components/approvals/ApprovalPanel.d.ts +36 -13
- package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
- package/lib/types/components/approvals/ApprovalPanel.js +173 -25
- package/lib/types/components/claudeGirlSprite.d.ts +18 -0
- package/lib/types/components/claudeGirlSprite.d.ts.map +1 -0
- package/lib/types/components/claudeGirlSprite.js +48 -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/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +46 -13
- package/lib/types/components/design-system/ThemedText.d.ts +3 -1
- package/lib/types/components/design-system/ThemedText.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemedText.js +2 -2
- package/lib/types/components/diffPatch.d.ts +55 -0
- package/lib/types/components/diffPatch.d.ts.map +1 -0
- package/lib/types/components/diffPatch.js +142 -0
- package/lib/types/components/kernelCatalog.d.ts +48 -0
- package/lib/types/components/kernelCatalog.d.ts.map +1 -0
- package/lib/types/components/kernelCatalog.js +53 -0
- package/lib/types/components/launchpadActions.d.ts +80 -0
- package/lib/types/components/launchpadActions.d.ts.map +1 -0
- package/lib/types/components/launchpadActions.js +133 -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/launchpadParams.d.ts +101 -0
- package/lib/types/components/launchpadParams.d.ts.map +1 -0
- package/lib/types/components/launchpadParams.js +171 -0
- package/lib/types/components/maidPortrait.d.ts +37 -5
- package/lib/types/components/maidPortrait.d.ts.map +1 -1
- package/lib/types/components/maidPortrait.js +73 -54
- package/lib/types/components/messages/AgentMessageFlow.d.ts +20 -0
- package/lib/types/components/messages/AgentMessageFlow.d.ts.map +1 -0
- package/lib/types/components/messages/AgentMessageFlow.js +37 -0
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts +6 -1
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +29 -5
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +11 -2
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +289 -36
- package/lib/types/components/messages/TranscriptLeaves.d.ts +85 -0
- package/lib/types/components/messages/TranscriptLeaves.d.ts.map +1 -0
- package/lib/types/components/messages/TranscriptLeaves.js +74 -0
- package/lib/types/components/messages/agentTeam.d.ts +69 -0
- package/lib/types/components/messages/agentTeam.d.ts.map +1 -0
- package/lib/types/components/messages/agentTeam.js +53 -0
- package/lib/types/components/messages/liveOutputLines.d.ts +33 -0
- package/lib/types/components/messages/liveOutputLines.d.ts.map +1 -0
- package/lib/types/components/messages/liveOutputLines.js +100 -0
- package/lib/types/components/messages/subagentTranscript.d.ts +146 -0
- package/lib/types/components/messages/subagentTranscript.d.ts.map +1 -0
- package/lib/types/components/messages/subagentTranscript.js +304 -0
- package/lib/types/components/onboardingModel.d.ts +83 -0
- package/lib/types/components/onboardingModel.d.ts.map +1 -0
- package/lib/types/components/onboardingModel.js +128 -0
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts +16 -1
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +76 -6
- package/lib/types/components/questions/PlanReviewPanel.d.ts +8 -3
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +11 -6
- package/lib/types/components/questions/ProviderModelEditor.d.ts +12 -0
- package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -0
- package/lib/types/components/questions/ProviderModelEditor.js +266 -0
- package/lib/types/components/shimmer.d.ts +26 -0
- package/lib/types/components/shimmer.d.ts.map +1 -1
- package/lib/types/components/shimmer.js +26 -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 +129 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts +21 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelBar.js +82 -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 +57 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelStore.js +113 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +24 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelColumn.js +67 -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 +327 -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/agentViewStore.d.ts +20 -0
- package/lib/types/components/sidePanel/agentViewStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/agentViewStore.js +26 -0
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +50 -0
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -0
- package/lib/types/components/sidePanel/btw/BtwComposer.js +45 -0
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +13 -0
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -0
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +147 -0
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +14 -0
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -0
- package/lib/types/components/sidePanel/btw/BtwThreadScene.js +131 -0
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +30 -0
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -0
- package/lib/types/components/sidePanel/btw/BtwThreadView.js +87 -0
- package/lib/types/components/sidePanel/btw/threads.d.ts +111 -0
- package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -0
- package/lib/types/components/sidePanel/btw/threads.js +302 -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 +269 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +11 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +492 -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 +208 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/mood.js +256 -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 +136 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/skins.js +582 -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/splashFonts.d.ts +17 -9
- package/lib/types/components/splashFonts.d.ts.map +1 -1
- package/lib/types/components/splashFonts.js +119 -15
- package/lib/types/components/splashLayout.d.ts.map +1 -1
- package/lib/types/components/splashLayout.js +3 -1
- package/lib/types/components/subagentDetailMemory.d.ts +17 -0
- package/lib/types/components/subagentDetailMemory.d.ts.map +1 -0
- package/lib/types/components/subagentDetailMemory.js +28 -0
- package/lib/types/components/trajectory/Inspector.d.ts.map +1 -1
- package/lib/types/components/trajectory/Inspector.js +9 -0
- package/lib/types/components/trajectory/Ledger.d.ts.map +1 -1
- package/lib/types/components/trajectory/Ledger.js +7 -1
- package/lib/types/components/trajectory/scope.d.ts +64 -0
- package/lib/types/components/trajectory/scope.d.ts.map +1 -0
- package/lib/types/components/trajectory/scope.js +88 -0
- package/lib/types/components/trajectory/useTrajectoryScope.d.ts +42 -0
- package/lib/types/components/trajectory/useTrajectoryScope.d.ts.map +1 -0
- package/lib/types/components/trajectory/useTrajectoryScope.js +86 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +3 -2
- package/lib/types/customTheme.d.ts +4 -6
- package/lib/types/customTheme.d.ts.map +1 -1
- package/lib/types/customTheme.js +6 -8
- 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/approvals.d.ts +18 -5
- package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
- package/lib/types/dsh-adapter/approvals.js +17 -4
- package/lib/types/dsh-adapter/backend/session.d.ts +64 -0
- package/lib/types/dsh-adapter/backend/session.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend/session.js +291 -0
- package/lib/types/dsh-adapter/backend/translate.d.ts +58 -0
- package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend/translate.js +467 -0
- package/lib/types/dsh-adapter/backends.d.ts +49 -0
- package/lib/types/dsh-adapter/backends.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backends.js +124 -0
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts +16 -0
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/action-readiness.js +109 -0
- package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts.map +1 -1
- 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/background-action.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/background-action.js +7 -5
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +25 -9
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +101 -135
- package/lib/types/dsh-adapter/channel/binding.d.ts +61 -14
- package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding.js +102 -35
- 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 +3 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/command-completions.js +41 -4
- package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/compaction.js +3 -2
- package/lib/types/dsh-adapter/channel/composer-images.d.ts +5 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/composer-images.js +4 -3
- 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/core/actions.d.ts +39 -0
- package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/actions.js +152 -0
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +145 -0
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/binding-feed.js +289 -0
- package/lib/types/dsh-adapter/channel/core/compose.d.ts +217 -0
- package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/compose.js +938 -0
- package/lib/types/dsh-adapter/channel/core/files.d.ts +57 -0
- package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/files.js +45 -0
- package/lib/types/dsh-adapter/channel/core/host.d.ts +55 -0
- package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/host.js +116 -0
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +46 -0
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/local-actions.js +117 -0
- package/lib/types/dsh-adapter/channel/core/local-images.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/core/local-images.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/local-images.js +147 -0
- package/lib/types/dsh-adapter/channel/core/reports.d.ts +12 -0
- package/lib/types/dsh-adapter/channel/core/reports.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/reports.js +77 -0
- package/lib/types/dsh-adapter/channel/core/session-controls.d.ts +39 -0
- package/lib/types/dsh-adapter/channel/core/session-controls.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/session-controls.js +219 -0
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +174 -0
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/session-switch.js +390 -0
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts +40 -0
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/core/sessions.js +268 -0
- package/lib/types/dsh-adapter/channel/decisions.d.ts +4 -3
- package/lib/types/dsh-adapter/channel/decisions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/decisions.js +4 -4
- package/lib/types/dsh-adapter/channel/emitter.d.ts +15 -2
- package/lib/types/dsh-adapter/channel/emitter.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/emitter.js +5 -3
- package/lib/types/dsh-adapter/channel/extensions.d.ts +36 -0
- package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/extensions.js +714 -0
- package/lib/types/dsh-adapter/channel/ide-selection.d.ts +1 -10
- package/lib/types/dsh-adapter/channel/ide-selection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/ide-selection.js +4 -46
- package/lib/types/dsh-adapter/channel/input-actions.d.ts +27 -4
- package/lib/types/dsh-adapter/channel/input-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-actions.js +240 -21
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +34 -7
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +79 -24
- package/lib/types/dsh-adapter/channel/local-actions.d.ts +10 -32
- package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/local-actions.js +10 -78
- package/lib/types/dsh-adapter/channel/local-fs.d.ts +3 -0
- package/lib/types/dsh-adapter/channel/local-fs.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/local-fs.js +46 -0
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts +3 -6
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-actions.js +7 -2
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +10 -3
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +0 -1
- package/lib/types/dsh-adapter/channel/model-actions.d.ts +3 -3
- package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-actions.js +38 -5
- package/lib/types/dsh-adapter/channel/model-switch.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-switch.js +9 -6
- 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 +25 -1
- package/lib/types/dsh-adapter/channel/projection.d.ts +16 -13
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/projection.js +38 -1138
- package/lib/types/dsh-adapter/channel/question-record.d.ts +3 -75
- package/lib/types/dsh-adapter/channel/question-record.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/question-record.js +3 -107
- 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-activity.d.ts +9 -0
- package/lib/types/dsh-adapter/channel/session-activity.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-activity.js +42 -0
- package/lib/types/dsh-adapter/channel/session-adoption.d.ts +4 -4
- package/lib/types/dsh-adapter/channel/session-adoption.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-adoption.js +3 -1
- package/lib/types/dsh-adapter/channel/session-fork.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-fork.js +2 -1
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +7 -3
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-live-adoption.js +1 -1
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +2 -9
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
- 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 +5 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts +5 -10
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-resume.js +74 -113
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts +4 -4
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-rewind.js +7 -6
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts +4 -4
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-tree-actions.js +8 -7
- package/lib/types/dsh-adapter/channel/settings-host.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.js +8 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.d.ts +5 -1
- package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/skill-catalog.js +2 -2
- package/lib/types/dsh-adapter/channel/state.d.ts +89 -2
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +9 -4
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +58 -3
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +153 -9
- package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts +114 -0
- package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/subagent-transcript.js +279 -0
- package/lib/types/dsh-adapter/channel/transcript.d.ts +7 -15
- package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/transcript.js +17 -21
- package/lib/types/dsh-adapter/channel/types.d.ts +16 -7
- package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.d.ts +3 -6
- package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.js +5 -16
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/workspace-actions.js +2 -1
- package/lib/types/dsh-adapter/channel.d.ts +17 -8
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +24 -1006
- package/lib/types/dsh-adapter/context-occupancy.d.ts +209 -0
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -0
- package/lib/types/dsh-adapter/context-occupancy.js +304 -0
- package/lib/types/dsh-adapter/contract.d.ts +14 -0
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +24 -0
- package/lib/types/dsh-adapter/decision-guard.d.ts +24 -0
- package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/decision-guard.js +44 -0
- package/lib/types/dsh-adapter/extension-events.d.ts +4 -1
- package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/extension-events.js +22 -10
- package/lib/types/dsh-adapter/index.d.ts +71 -1
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +47 -1
- package/lib/types/dsh-adapter/jobs.d.ts +5 -3
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +53 -14
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -16
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/parse/jsonl.js +3 -29
- 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-credential-source.d.ts +34 -0
- package/lib/types/dsh-adapter/oauth-credential-source.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth-credential-source.js +66 -0
- 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 +55 -3
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +708 -135
- package/lib/types/dsh-adapter/presets.d.ts +26 -6
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +29 -7
- package/lib/types/dsh-adapter/provider-model-capabilities.d.ts +10 -0
- package/lib/types/dsh-adapter/provider-model-capabilities.d.ts.map +1 -0
- package/lib/types/dsh-adapter/provider-model-capabilities.js +80 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts +8 -2
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/providerWizard.js +118 -52
- package/lib/types/dsh-adapter/questions.d.ts +29 -124
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/questions.js +33 -267
- package/lib/types/dsh-adapter/recap.d.ts +3 -15
- package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
- package/lib/types/dsh-adapter/recap.js +3 -46
- package/lib/types/dsh-adapter/sanitize.d.ts +4 -44
- package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sanitize.js +4 -84
- package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts +3 -1
- package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts.map +1 -1
- package/lib/types/dsh-adapter/session-mount-heartbeat.js +4 -2
- package/lib/types/dsh-adapter/sessions/digest.d.ts +18 -3
- package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/digest.js +60 -27
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/list.js +6 -4
- package/lib/types/dsh-adapter/sessions/recovery.d.ts +2 -2
- package/lib/types/dsh-adapter/sessions/recovery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/recovery.js +23 -14
- package/lib/types/dsh-adapter/sessions/store.d.ts +2 -0
- package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/store.js +1 -0
- package/lib/types/dsh-adapter/sessions/types.d.ts +2 -0
- package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sideQuestion.js +3 -13
- 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.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +7 -0
- package/lib/types/dsh-adapter/themes.d.ts +1 -1
- package/lib/types/dsh-adapter/themes.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/agent-source.d.ts +84 -0
- package/lib/types/dsh-adapter/trajectory/agent-source.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/agent-source.js +601 -0
- package/lib/types/dsh-adapter/trajectory/guards.d.ts +31 -1
- package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/guards.js +28 -0
- package/lib/types/dsh-adapter/trajectory/index.d.ts +3 -1
- package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/index.js +1 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts +7 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/inspect.js +70 -2
- package/lib/types/dsh-adapter/trajectory/projection.d.ts +4 -0
- package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/projection.js +36 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts +13 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -1
- package/lib/types/effortPrefs.d.ts +7 -0
- package/lib/types/effortPrefs.d.ts.map +1 -1
- package/lib/types/effortPrefs.js +11 -2
- package/lib/types/handoffAck.d.ts +57 -0
- package/lib/types/handoffAck.d.ts.map +1 -0
- package/lib/types/handoffAck.js +154 -0
- package/lib/types/handoffEvents.d.ts +52 -0
- package/lib/types/handoffEvents.d.ts.map +1 -0
- package/lib/types/handoffEvents.js +128 -0
- package/lib/types/history.d.ts +24 -7
- package/lib/types/history.d.ts.map +1 -1
- package/lib/types/history.js +77 -18
- package/lib/types/i18n.d.ts +3937 -97
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +1154 -12
- package/lib/types/ink/colorize.d.ts.map +1 -1
- package/lib/types/ink/colorize.js +8 -2
- package/lib/types/ink/components/AlternateScreen.d.ts +12 -1
- package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -1
- package/lib/types/ink/components/AlternateScreen.js +25 -4
- package/lib/types/ink/components/App.d.ts +19 -2
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +114 -66
- package/lib/types/ink/components/Image.d.ts +8 -1
- package/lib/types/ink/components/Image.d.ts.map +1 -1
- package/lib/types/ink/components/Image.js +2 -2
- 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/components/Text.d.ts +8 -1
- package/lib/types/ink/components/Text.d.ts.map +1 -1
- package/lib/types/ink/components/Text.js +11 -1
- package/lib/types/ink/dom.d.ts.map +1 -1
- package/lib/types/ink/dom.js +75 -3
- 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 +17 -6
- 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 +59 -10
- package/lib/types/ink/kitty-graphics.d.ts +7 -2
- package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
- package/lib/types/ink/kitty-graphics.js +15 -7
- package/lib/types/ink/node-cache.d.ts +15 -1
- package/lib/types/ink/node-cache.d.ts.map +1 -1
- package/lib/types/ink/node-cache.js +4 -1
- 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 +5 -3
- package/lib/types/ink/parse-keypress.d.ts +49 -3
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +700 -127
- package/lib/types/ink/reconciler.d.ts.map +1 -1
- package/lib/types/ink/reconciler.js +9 -0
- 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 +237 -9
- package/lib/types/ink/render-stats.d.ts +35 -0
- package/lib/types/ink/render-stats.d.ts.map +1 -0
- package/lib/types/ink/render-stats.js +53 -0
- 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 +21 -0
- package/lib/types/ink/sixel-codec.d.ts.map +1 -1
- package/lib/types/ink/sixel-codec.js +49 -8
- package/lib/types/ink/sixel-graphics.js +2 -2
- package/lib/types/ink/styles.d.ts +46 -0
- package/lib/types/ink/styles.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.d.ts +7 -0
- package/lib/types/ink/terminal-image.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.d.ts +1 -1
- package/lib/types/ink/terminal-querier.js +4 -4
- package/lib/types/ink/text-decoration.d.ts +49 -0
- package/lib/types/ink/text-decoration.d.ts.map +1 -0
- package/lib/types/ink/text-decoration.js +235 -0
- package/lib/types/ink/update-overflow-guard.d.ts +9 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
- package/lib/types/ink/update-overflow-guard.js +41 -0
- package/lib/types/ink/wrap-text.d.ts.map +1 -1
- package/lib/types/ink/wrap-text.js +5 -1
- package/lib/types/kernelPrefs.d.ts +51 -0
- package/lib/types/kernelPrefs.d.ts.map +1 -0
- package/lib/types/kernelPrefs.js +126 -0
- 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/modelRecents.d.ts +10 -2
- package/lib/types/modelRecents.d.ts.map +1 -1
- package/lib/types/modelRecents.js +20 -7
- 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/AgentTranscriptScene.d.ts +42 -0
- package/lib/types/screens/AgentTranscriptScene.d.ts.map +1 -0
- package/lib/types/screens/AgentTranscriptScene.js +269 -0
- package/lib/types/screens/Chat.d.ts +66 -7
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +1720 -381
- package/lib/types/screens/Launchpad.d.ts +211 -0
- package/lib/types/screens/Launchpad.d.ts.map +1 -0
- package/lib/types/screens/Launchpad.js +726 -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 +3 -3
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +87 -17
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +211 -7
- package/lib/types/screens/StatusLine.d.ts +40 -1
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +160 -30
- package/lib/types/screens/StatusMetrics.d.ts +75 -17
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +161 -30
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
- package/lib/types/screens/TrajectoryScene.js +74 -12
- package/lib/types/screens/chat/backendCommands.d.ts +37 -0
- package/lib/types/screens/chat/backendCommands.d.ts.map +1 -0
- package/lib/types/screens/chat/backendCommands.js +51 -0
- package/lib/types/screens/chat/useBackendChannels.d.ts +20 -0
- package/lib/types/screens/chat/useBackendChannels.d.ts.map +1 -0
- package/lib/types/screens/chat/useBackendChannels.js +117 -0
- package/lib/types/screens/chat/useKernelPicker.d.ts +23 -0
- package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -0
- package/lib/types/screens/chat/useKernelPicker.js +72 -0
- package/lib/types/screens/chatOverlay.d.ts +49 -2
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +12 -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/useForeignSessions.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useForeignSessions.js +5 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +14 -0
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +104 -25
- package/lib/types/sessionHistory.d.ts +18 -1
- package/lib/types/sessionHistory.d.ts.map +1 -1
- package/lib/types/sessionHistory.js +46 -4
- package/lib/types/sessionPins.d.ts +7 -0
- package/lib/types/sessionPins.d.ts.map +1 -1
- package/lib/types/sessionPins.js +9 -0
- package/lib/types/sessions/resumeFailure.d.ts.map +1 -1
- package/lib/types/sessions/resumeFailure.js +2 -1
- package/lib/types/settings/definitions.d.ts +167 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +129 -0
- package/lib/types/terminal-utils/hyperlink.d.ts +2 -2
- package/lib/types/terminal-utils/hyperlink.d.ts.map +1 -1
- package/lib/types/terminal-utils/hyperlink.js +21 -4
- package/lib/types/terminal-utils/markdown.d.ts +34 -6
- package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
- package/lib/types/terminal-utils/markdown.js +257 -66
- package/lib/types/theme.d.ts +49 -8
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +514 -18
- package/lib/types/tips.js +7 -7
- package/lib/types/trajectory/effortIgnition.d.ts +25 -7
- package/lib/types/trajectory/effortIgnition.d.ts.map +1 -1
- package/lib/types/trajectory/effortIgnition.js +106 -34
- package/lib/types/trajectory/window.d.ts +26 -0
- package/lib/types/trajectory/window.d.ts.map +1 -0
- package/lib/types/trajectory/window.js +27 -0
- package/lib/types/tuiDisplayPrefs.d.ts +79 -2
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +118 -0
- package/lib/types/update.d.ts +141 -12
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +386 -62
- 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/crashDetail.d.ts +56 -0
- package/lib/types/utils/crashDetail.d.ts.map +1 -0
- package/lib/types/utils/crashDetail.js +175 -0
- 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/imageResize.d.ts +9 -23
- package/lib/types/utils/imageResize.d.ts.map +1 -1
- package/lib/types/utils/imageResize.js +24 -20
- package/lib/types/utils/inputPaste.d.ts +63 -0
- package/lib/types/utils/inputPaste.d.ts.map +1 -0
- package/lib/types/utils/inputPaste.js +148 -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/jsonl.d.ts +24 -0
- package/lib/types/utils/jsonl.d.ts.map +1 -0
- package/lib/types/utils/jsonl.js +36 -0
- package/lib/types/utils/keymap.d.ts +13 -3
- package/lib/types/utils/keymap.d.ts.map +1 -1
- package/lib/types/utils/keymap.js +27 -5
- package/package.json +36 -9
- package/{dsh-ecosystem-spec → tui-profile}/registry/README.md +1 -1
- package/{dsh-ecosystem-spec → tui-profile}/registry/registry-0.15.json +1 -1
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/decision-events-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/scene-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/settings-section-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/tui-channel-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/workspace-provider-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/host-descriptor.tui.example.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/permissions-0.1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/conformance-claim.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/effect-ledger-record.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/host-descriptor.schema.json +0 -0
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* CompanionPanel derives mood, interaction animations and bubbles from the
|
|
4
|
+
* channel state. The companion stays at the bottom while status and activity
|
|
5
|
+
* occupy the space above it. A local visible-only tick advances frames and
|
|
6
|
+
* expires temporary reactions; dragging keeps the skin in normal document flow.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { Box, Text, useAnimationFrame } from '../../../ui.js';
|
|
10
|
+
import instances from '../../../ink/instances.js';
|
|
11
|
+
import { t } from '../../../i18n.js';
|
|
12
|
+
import wrapText from '../../../ink/wrap-text.js';
|
|
13
|
+
import { truncateWidth } from '../../../trajectory/format.js';
|
|
14
|
+
import { panelStore } from '../PanelStore.js';
|
|
15
|
+
import { PANEL_MIN_COLUMNS } from '../dimensions.js';
|
|
16
|
+
import { getCompanionSkin, subscribeCompanionSkin } from '../../../tuiDisplayPrefs.js';
|
|
17
|
+
import { useSidePanelChannel, SidePanelRuntimeContext } from '../SidePanelRuntimeContext.js';
|
|
18
|
+
import { usePanelInput } from '../usePanelInput.js';
|
|
19
|
+
import { CARRYING_FLASH_MS, CELEBRATE_DWELL_MS, IDLE_ROTATE_MS, NOTIFICATION_BUBBLE_MS, POKE_MS, TICKLE_MIN_CLICKS, TICKLE_WINDOW_MS, WAKING_FLASH_MS, countRunningJobs, countRunningSubagents, countSessionsRunning, createNotificationTracker, deriveCompanionContext, deriveCompanionMood, idleRotationIndex, initialCompanionHoverState, initialCompanionDisplayState, notificationReactionKind, resolveTargetSemantic, stepCompanionDisplay, stepCompanionHover, stepNotificationTracker, } from './mood.js';
|
|
20
|
+
import { initialCompanionPoseState, nextCompanionPoseStep } from './pose.js';
|
|
21
|
+
import { DeepySkin, resolveCompanionSkin } from './skins.js';
|
|
22
|
+
import { DEEPY_IDLE_ROTATION, DEEPY_NOTIFICATION_REACTION, deepyAnimationFor, frameAt, loadDeepyKit, renderedDeepyAnimation, } from './deepy.js';
|
|
23
|
+
/** 入睡延迟:Panel 常驻,沿用分文档的 60s(开屏 splash 保持 10s)。 */
|
|
24
|
+
const SLEEP_AFTER_MS = 60_000;
|
|
25
|
+
/** 单次 poke 反应的展示时长(poke-left/poke-right 帧表一轮 2100ms,取一轮多的头段)。 */
|
|
26
|
+
const POKE_REACTION_MS = 1400;
|
|
27
|
+
/** Enter 键戳一戳用的反应档。 */
|
|
28
|
+
const ENTER_POKE_SIDE = 'poke-right';
|
|
29
|
+
/** 气泡最多展示的文本行数(超出按 truncateWidth 截断)。 */
|
|
30
|
+
const BUBBLE_MAX_LINES = 3;
|
|
31
|
+
/** 松手弹回的插值时长(约两个动画 tick;无弹簧物理,克制优先)。 */
|
|
32
|
+
const PET_REBOUND_MS = 360;
|
|
33
|
+
/** Local animation tick for the visible companion. */
|
|
34
|
+
const TICK_MS = 160;
|
|
35
|
+
const TICK_MS_SLEEPING = 1000;
|
|
36
|
+
const MOOD_LABEL_KEY = {
|
|
37
|
+
sleeping: 'companion-mood-sleeping',
|
|
38
|
+
idle: 'companion-mood-idle',
|
|
39
|
+
waiting: 'companion-mood-waiting',
|
|
40
|
+
thinking: 'companion-mood-thinking',
|
|
41
|
+
working: 'companion-mood-working',
|
|
42
|
+
responding: 'companion-mood-responding',
|
|
43
|
+
attention: 'companion-mood-attention',
|
|
44
|
+
celebrate: 'companion-mood-celebrate',
|
|
45
|
+
error: 'companion-mood-error',
|
|
46
|
+
};
|
|
47
|
+
/** 显示语义 → 心情(pose/标签用;whale 皮肤的分层姿态与心情标签同源)。 */
|
|
48
|
+
const SEMANTIC_MOOD = {
|
|
49
|
+
thinking: 'thinking',
|
|
50
|
+
typing: 'working',
|
|
51
|
+
notification: 'attention',
|
|
52
|
+
error: 'error',
|
|
53
|
+
happy: 'celebrate',
|
|
54
|
+
sleeping: 'sleeping',
|
|
55
|
+
idle: 'idle',
|
|
56
|
+
music: 'working',
|
|
57
|
+
conducting: 'working',
|
|
58
|
+
building: 'working',
|
|
59
|
+
compacting: 'working',
|
|
60
|
+
};
|
|
61
|
+
const MOOD_COLOR = {
|
|
62
|
+
sleeping: 'inactive',
|
|
63
|
+
idle: 'accent',
|
|
64
|
+
waiting: 'accent',
|
|
65
|
+
thinking: 'accent',
|
|
66
|
+
working: 'accent',
|
|
67
|
+
responding: 'accent',
|
|
68
|
+
attention: 'warning',
|
|
69
|
+
celebrate: 'success',
|
|
70
|
+
error: 'error',
|
|
71
|
+
};
|
|
72
|
+
const BUBBLE_COLOR = {
|
|
73
|
+
error: 'error',
|
|
74
|
+
warning: 'warning',
|
|
75
|
+
success: 'success',
|
|
76
|
+
};
|
|
77
|
+
function formatElapsed(ms) {
|
|
78
|
+
const seconds = Math.max(0, Math.floor(ms / 1000));
|
|
79
|
+
if (seconds < 60)
|
|
80
|
+
return seconds + 's';
|
|
81
|
+
return Math.floor(seconds / 60) + 'm' + (seconds % 60) + 's';
|
|
82
|
+
}
|
|
83
|
+
function hoverSemantic(zone) {
|
|
84
|
+
if (zone === 'pet')
|
|
85
|
+
return 'notice';
|
|
86
|
+
if (zone === 'near' || zone === 'left' || zone === 'right')
|
|
87
|
+
return 'look';
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
export function CompanionPanel({ width, height, focused, visible }) {
|
|
91
|
+
const channel = useSidePanelChannel();
|
|
92
|
+
const runtimeCtx = React.useContext(SidePanelRuntimeContext);
|
|
93
|
+
const activity = runtimeCtx?.activity;
|
|
94
|
+
const attentionCtx = runtimeCtx?.attention;
|
|
95
|
+
const jobsBadge = React.useSyncExternalStore(panelStore.subscribe, () => panelStore.get('jobs')?.badge ?? null);
|
|
96
|
+
const jobsFailedUnread = jobsBadge !== null && jobsBadge.level === 'error' ? jobsBadge.unread : 0;
|
|
97
|
+
const subagents = channel.subagents ?? [];
|
|
98
|
+
const backgroundJobs = channel.backgroundJobs ?? [];
|
|
99
|
+
const failedSubagents = subagents.filter(s => s.status === 'failed').length;
|
|
100
|
+
// 本地重渲染驱动(互动/气泡/动画帧都要在事件之外推进)。
|
|
101
|
+
const [, setBump] = React.useState(0);
|
|
102
|
+
const bump = React.useCallback(() => { setBump(n => n + 1); }, []);
|
|
103
|
+
// 活动 = 任何会话动静 + 面板交互;睡眠由这个时钟驱动(60s 无活动)。
|
|
104
|
+
const lastInputAtRef = React.useRef(Date.now());
|
|
105
|
+
React.useEffect(() => {
|
|
106
|
+
lastInputAtRef.current = Date.now();
|
|
107
|
+
}, [channel.version]);
|
|
108
|
+
// 回合完成(working true→false)触发一次庆祝(happy 只在边沿 armed)。
|
|
109
|
+
const [celebrateUntil, setCelebrateUntil] = React.useState(0);
|
|
110
|
+
const prevWorkingRef = React.useRef(channel.working);
|
|
111
|
+
React.useEffect(() => {
|
|
112
|
+
const was = prevWorkingRef.current;
|
|
113
|
+
prevWorkingRef.current = channel.working;
|
|
114
|
+
if (was && !channel.working)
|
|
115
|
+
setCelebrateUntil(Date.now() + CELEBRATE_DWELL_MS);
|
|
116
|
+
}, [channel.working]);
|
|
117
|
+
// --- 覆盖层(互动/反应)与气泡:渲染期 ref 步进,过期由本地 tick 收 ----
|
|
118
|
+
const overrideRef = React.useRef(undefined);
|
|
119
|
+
const bubbleRef = React.useRef(undefined);
|
|
120
|
+
const notifyTrackerRef = React.useRef(null);
|
|
121
|
+
if (notifyTrackerRef.current === null)
|
|
122
|
+
notifyTrackerRef.current = createNotificationTracker();
|
|
123
|
+
const clicksRef = React.useRef([]);
|
|
124
|
+
const carryRef = React.useRef({ branch: undefined, until: 0 });
|
|
125
|
+
const heartPendingRef = React.useRef(false);
|
|
126
|
+
// 真拖动位移(面板层状态,两套皮肤共用):session 锚住拖起点的屏幕坐标
|
|
127
|
+
// 与宠物当时的面板内位置;dragPos 是当前跟手位置;flyback 是松手后的
|
|
128
|
+
// 时间插值弹回(渲染期按 now 推进,本地 tick 驱动重渲染)。
|
|
129
|
+
const dragSessionRef = React.useRef(undefined);
|
|
130
|
+
const dragPosRef = React.useRef(undefined);
|
|
131
|
+
const flybackRef = React.useRef(undefined);
|
|
132
|
+
const [hoverState, setHoverState] = React.useState(undefined);
|
|
133
|
+
// 悬停展示语义,提交后按驻留时长推进。
|
|
134
|
+
const hoverDisplayRef = React.useRef(initialCompanionHoverState);
|
|
135
|
+
const now = Date.now();
|
|
136
|
+
// 恢复可见的第一帧:语义跳闸对齐 + 通知积压静默吞掉。
|
|
137
|
+
const prevVisibleRef = React.useRef(visible);
|
|
138
|
+
const realignPending = visible && !prevVisibleRef.current;
|
|
139
|
+
prevVisibleRef.current = visible;
|
|
140
|
+
// 通知观察:新条目(比已见的更新)→ 气泡 + 反应动画;不可见或刚恢复
|
|
141
|
+
// 可见(realign)的那一帧只记账不弹——切回来不弹旧账。
|
|
142
|
+
const newestNotify = stepNotificationTracker(notifyTrackerRef.current, channel.notifications ?? [], { silent: !visible || realignPending });
|
|
143
|
+
if (newestNotify !== undefined && visible) {
|
|
144
|
+
const reaction = notificationReactionKind(newestNotify.color);
|
|
145
|
+
overrideRef.current = {
|
|
146
|
+
semantic: DEEPY_NOTIFICATION_REACTION[reaction] ?? 'idle-look',
|
|
147
|
+
since: now,
|
|
148
|
+
until: now + NOTIFICATION_BUBBLE_MS,
|
|
149
|
+
};
|
|
150
|
+
bubbleRef.current = { text: newestNotify.text, color: newestNotify.color, kind: 'notify', until: now + NOTIFICATION_BUBBLE_MS };
|
|
151
|
+
}
|
|
152
|
+
if (!visible) {
|
|
153
|
+
// 面板非 active:清空覆盖层与气泡(切回来不弹旧账);语义在 realign 对齐。
|
|
154
|
+
overrideRef.current = undefined;
|
|
155
|
+
bubbleRef.current = undefined;
|
|
156
|
+
clicksRef.current = [];
|
|
157
|
+
dragSessionRef.current = undefined;
|
|
158
|
+
dragPosRef.current = undefined;
|
|
159
|
+
flybackRef.current = undefined;
|
|
160
|
+
}
|
|
161
|
+
// --- 派生(纯)→ 目标语义 → 平滑层 --------------------------------------
|
|
162
|
+
const derived = deriveCompanionMood({
|
|
163
|
+
working: channel.working,
|
|
164
|
+
spinnerMode: channel.spinnerMode,
|
|
165
|
+
activity,
|
|
166
|
+
attention: {
|
|
167
|
+
approvalPending: (attentionCtx?.approvals ?? 0) > 0,
|
|
168
|
+
questionPending: (attentionCtx?.questions ?? 0) > 0,
|
|
169
|
+
},
|
|
170
|
+
failures: { failedJobsUnread: jobsFailedUnread, failedSubagents },
|
|
171
|
+
lastInputAt: lastInputAtRef.current,
|
|
172
|
+
celebration: celebrateUntil > now ? { kind: 'turn-done', until: celebrateUntil } : undefined,
|
|
173
|
+
sleepAfterMs: SLEEP_AFTER_MS,
|
|
174
|
+
}, now);
|
|
175
|
+
const context = deriveCompanionContext({
|
|
176
|
+
working: channel.working,
|
|
177
|
+
subagents,
|
|
178
|
+
backgroundJobs,
|
|
179
|
+
compaction: channel.compaction,
|
|
180
|
+
});
|
|
181
|
+
const targetSemantic = resolveTargetSemantic(derived.mood, context);
|
|
182
|
+
// carrying(顶箱子):gitBranch 变更是「新建/切换分支-工作树」在 channel
|
|
183
|
+
// 上唯一的可见信号,变更时闪现一次。
|
|
184
|
+
const gitBranch = channel.gitBranch;
|
|
185
|
+
if (gitBranch !== undefined) {
|
|
186
|
+
if (carryRef.current.branch === undefined || carryRef.current.branch !== gitBranch) {
|
|
187
|
+
const changed = carryRef.current.branch !== undefined && carryRef.current.until <= now;
|
|
188
|
+
carryRef.current = { branch: gitBranch, until: changed ? now + CARRYING_FLASH_MS : carryRef.current.until };
|
|
189
|
+
if (changed && visible) {
|
|
190
|
+
overrideRef.current = { semantic: 'carrying', since: now, until: now + CARRYING_FLASH_MS };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const displayRef = React.useRef(initialCompanionDisplayState);
|
|
195
|
+
displayRef.current = stepCompanionDisplay(displayRef.current, targetSemantic, now, { realign: realignPending });
|
|
196
|
+
const display = displayRef.current;
|
|
197
|
+
// 醒来闪现:显示语义刚离开 sleeping → waking(官方 trigger:睡眠中被扰)。
|
|
198
|
+
const prevSemanticRef = React.useRef(initialCompanionDisplayState.semantic);
|
|
199
|
+
if (prevSemanticRef.current === 'sleeping' && display.semantic !== 'sleeping'
|
|
200
|
+
&& (overrideRef.current === undefined || overrideRef.current.until <= now)) {
|
|
201
|
+
overrideRef.current = { semantic: 'waking', since: now, until: now + WAKING_FLASH_MS };
|
|
202
|
+
}
|
|
203
|
+
prevSemanticRef.current = display.semantic;
|
|
204
|
+
const activeOverride = overrideRef.current !== undefined && overrideRef.current.until > now ? overrideRef.current : undefined;
|
|
205
|
+
// --- 最终动画键(互动覆盖 > 悬停 > idle 轮换 > 平滑语义)-----------------
|
|
206
|
+
const hover = hoverState !== undefined && visible ? hoverState : undefined;
|
|
207
|
+
// 悬停驻留平滑(mood.stepCompanionHover):zone 直读是期望值,指针驻留
|
|
208
|
+
// 满窗才真正换脸(快速划过不触发);tick 档位判定仍用原始 zone。
|
|
209
|
+
const hoverDisplay = hoverDisplayRef.current;
|
|
210
|
+
React.useEffect(() => {
|
|
211
|
+
hoverDisplayRef.current = stepCompanionHover(hoverDisplayRef.current, hoverSemantic(hover?.zone), now);
|
|
212
|
+
}, [hover?.zone, now]);
|
|
213
|
+
let animationSemantic;
|
|
214
|
+
let animSince;
|
|
215
|
+
if (activeOverride !== undefined) {
|
|
216
|
+
animationSemantic = activeOverride.semantic;
|
|
217
|
+
animSince = activeOverride.since;
|
|
218
|
+
}
|
|
219
|
+
else if (display.semantic === 'idle') {
|
|
220
|
+
const hoverSem = hoverDisplay.semantic;
|
|
221
|
+
if (hoverSem !== undefined) {
|
|
222
|
+
animationSemantic = hoverSem;
|
|
223
|
+
animSince = hoverDisplay.since;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const index = idleRotationIndex(display.since, now, DEEPY_IDLE_ROTATION.length);
|
|
227
|
+
animationSemantic = DEEPY_IDLE_ROTATION[index] ?? 'idle';
|
|
228
|
+
animSince = display.since + Math.max(0, Math.floor((now - display.since) / IDLE_ROTATE_MS)) * IDLE_ROTATE_MS;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
animationSemantic = display.semantic;
|
|
233
|
+
animSince = display.since;
|
|
234
|
+
}
|
|
235
|
+
const animationKey = deepyAnimationFor(animationSemantic);
|
|
236
|
+
// Pause the shared clock while this panel is hidden; the local tick drives visible frames.
|
|
237
|
+
const [clockRef] = useAnimationFrame(!visible ? null : display.semantic === 'sleeping' ? 1000 : 120);
|
|
238
|
+
const tickMs = !visible
|
|
239
|
+
? 0
|
|
240
|
+
: display.semantic === 'sleeping' && activeOverride === undefined && hover === undefined
|
|
241
|
+
? TICK_MS_SLEEPING
|
|
242
|
+
: TICK_MS;
|
|
243
|
+
React.useEffect(() => {
|
|
244
|
+
if (tickMs <= 0)
|
|
245
|
+
return undefined;
|
|
246
|
+
const id = setInterval(() => setBump(n => n + 1), tickMs);
|
|
247
|
+
return () => { clearInterval(id); };
|
|
248
|
+
}, [tickMs]);
|
|
249
|
+
// --- 皮肤与帧 -------------------------------------------------------------
|
|
250
|
+
const skinId = React.useSyncExternalStore(subscribeCompanionSkin, getCompanionSkin);
|
|
251
|
+
const skin = resolveCompanionSkin(skinId);
|
|
252
|
+
const useDeepy = skinId === DeepySkin.id;
|
|
253
|
+
const kit = useDeepy ? loadDeepyKit() : undefined;
|
|
254
|
+
const rendered = kit !== undefined ? renderedDeepyAnimation(kit, animationKey) : undefined;
|
|
255
|
+
const animation = kit?.byKey[animationKey];
|
|
256
|
+
const petColumns = skin.cells.columns;
|
|
257
|
+
const compact = width < petColumns + 2;
|
|
258
|
+
const deepyRows = useDeepy && rendered !== undefined && animation !== undefined
|
|
259
|
+
? (rendered[frameAt(animation, Math.max(0, now - animSince))] ?? [])
|
|
260
|
+
: undefined;
|
|
261
|
+
// --- 宠物位移(面板层):home 几何 + 拖动/弹回放置 ------------------------
|
|
262
|
+
// home = 面板内容盒的底部居中(与原沉底布局同一几何:居中列 + 底行)。
|
|
263
|
+
const petRows = skin.cells.rows;
|
|
264
|
+
const homeLeft = Math.max(0, Math.floor((width - petColumns) / 2));
|
|
265
|
+
const homeTop = Math.max(0, height - petRows);
|
|
266
|
+
const maxLeft = Math.max(0, width - petColumns);
|
|
267
|
+
const maxTop = Math.max(0, height - petRows);
|
|
268
|
+
const clampPet = (left, top) => ({
|
|
269
|
+
left: Math.min(Math.max(0, left), maxLeft),
|
|
270
|
+
top: Math.min(Math.max(0, top), maxTop),
|
|
271
|
+
});
|
|
272
|
+
// 放置优先级:拖动跟手 > 弹回插值 > home。弹回按墙钟确定性推进(渲染
|
|
273
|
+
// 期读 now,本地 tick 驱动重渲染;p>=1 即归位并清档)。petTop 以「距
|
|
274
|
+
// 面板顶的行数」表达,渲染时换算成 home 槽行内的负 marginTop(升起行数)。
|
|
275
|
+
let petLeft = homeLeft;
|
|
276
|
+
let petTop = homeTop;
|
|
277
|
+
if (flybackRef.current !== undefined) {
|
|
278
|
+
const progress = Math.min(1, (now - flybackRef.current.since) / PET_REBOUND_MS);
|
|
279
|
+
const ease = (1 - progress) * (1 - progress);
|
|
280
|
+
petLeft = Math.round(homeLeft + (flybackRef.current.fromLeft - homeLeft) * ease);
|
|
281
|
+
petTop = Math.round(homeTop + (flybackRef.current.fromTop - homeTop) * ease);
|
|
282
|
+
if (progress >= 1)
|
|
283
|
+
flybackRef.current = undefined;
|
|
284
|
+
}
|
|
285
|
+
if (dragPosRef.current !== undefined) {
|
|
286
|
+
petLeft = dragPosRef.current.left;
|
|
287
|
+
petTop = dragPosRef.current.top;
|
|
288
|
+
}
|
|
289
|
+
const petRise = maxTop - petTop;
|
|
290
|
+
// --- 残影防线:位移改位时作废上一帧的 blit 基线 --------------------------
|
|
291
|
+
// 宠物溢出行画压到流内兄弟(状态区/空隙/气泡)上时,差分渲染的两个前
|
|
292
|
+
// 提被打破:clean 节点的 blit 快路径会把 prevScreen 里宠物更早位置的像
|
|
293
|
+
// 素抄回模型(自污染),而移走方的 clear 只记 damage 不写内容——差分看
|
|
294
|
+
// 到 prev==next 就永不发修复,终端留下残影(用户实测:拖到面板中上部
|
|
295
|
+
// 留残影)。renderer 为这类「高覆盖物移动」提供的官方逃生口是
|
|
296
|
+
// App.invalidatePrevFrame():标记上一帧不可信,下一帧做全损伤差分、
|
|
297
|
+
// 逐格对照真实树重导出——被让出的格子作为变化正常发空格擦除。宠物在
|
|
298
|
+
// 悬空状态下每改一次位(拖动/回弹的一帧)就作废一次;归位的那一帧
|
|
299
|
+
//(rise>0→0 的最后让出)也作废。静止时零开销。
|
|
300
|
+
const ink = instances.get(process.stdout) ?? instances.values().next().value;
|
|
301
|
+
const petDisplaced = petRise > 0;
|
|
302
|
+
const petWasDisplacedRef = React.useRef(false);
|
|
303
|
+
React.useEffect(() => {
|
|
304
|
+
// effect 落在 commit 之后、下一帧之前——正好是两帧之间的窗口(渲染期
|
|
305
|
+
// 调用会被当帧 onRender 复位,等于没调)。悬空期间每次改位、以及归位
|
|
306
|
+
// 的那一次,都作废上一帧的 blit 基线。
|
|
307
|
+
if (petDisplaced || petWasDisplacedRef.current)
|
|
308
|
+
ink?.invalidatePrevFrame();
|
|
309
|
+
petWasDisplacedRef.current = petDisplaced;
|
|
310
|
+
}, [petLeft, petRise, petDisplaced, ink]);
|
|
311
|
+
const poseRef = React.useRef(initialCompanionPoseState(now));
|
|
312
|
+
const poseStep = nextCompanionPoseStep(poseRef.current, { mood: SEMANTIC_MOOD[display.semantic], heart: heartPendingRef.current }, now);
|
|
313
|
+
poseRef.current = poseStep.state;
|
|
314
|
+
heartPendingRef.current = false;
|
|
315
|
+
// --- 键盘:Enter 戳一戳(保留);'s' → Send to Chat(保留)---------------
|
|
316
|
+
const moodLabel = t(MOOD_LABEL_KEY[SEMANTIC_MOOD[display.semantic]]);
|
|
317
|
+
const runningSubagents = countRunningSubagents(subagents);
|
|
318
|
+
const runningJobs = countRunningJobs(backgroundJobs);
|
|
319
|
+
const sessionsRunning = countSessionsRunning(channel.working, runningSubagents, runningJobs);
|
|
320
|
+
const statsText = (() => {
|
|
321
|
+
if (runningSubagents > 0 || runningJobs > 0) {
|
|
322
|
+
const parts = [];
|
|
323
|
+
if (runningSubagents > 0)
|
|
324
|
+
parts.push(t('companion-stat-subagents', { n: runningSubagents }));
|
|
325
|
+
if (sessionsRunning > 1)
|
|
326
|
+
parts.push(t('companion-stat-sessions', { n: sessionsRunning }));
|
|
327
|
+
return parts.join(' · ');
|
|
328
|
+
}
|
|
329
|
+
if (activity !== undefined && channel.working && activity.phaseStartedAt > 0) {
|
|
330
|
+
const elapsed = formatElapsed(now - activity.phaseStartedAt);
|
|
331
|
+
return activity.toolCount > 0
|
|
332
|
+
? t('companion-stats-working', { duration: elapsed, count: activity.toolCount })
|
|
333
|
+
: elapsed;
|
|
334
|
+
}
|
|
335
|
+
return moodLabel;
|
|
336
|
+
})();
|
|
337
|
+
usePanelInput((input, key) => {
|
|
338
|
+
if (key.return_ === true || input === '\r') {
|
|
339
|
+
const at = Date.now();
|
|
340
|
+
overrideRef.current = { semantic: ENTER_POKE_SIDE, since: at, until: at + POKE_REACTION_MS };
|
|
341
|
+
if (activity?.line !== undefined && activity.line !== '') {
|
|
342
|
+
bubbleRef.current = { text: activity.line, kind: 'poke', until: at + POKE_MS };
|
|
343
|
+
}
|
|
344
|
+
heartPendingRef.current = true;
|
|
345
|
+
lastInputAtRef.current = at;
|
|
346
|
+
bump();
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
if (input === 's') {
|
|
350
|
+
if (typeof channel.attachContext !== 'function')
|
|
351
|
+
return false;
|
|
352
|
+
const content = [
|
|
353
|
+
'宠物心情:' + moodLabel,
|
|
354
|
+
activity?.line !== undefined && activity.line !== '' ? '当前活动:' + activity.line : undefined,
|
|
355
|
+
'统计:' + statsText,
|
|
356
|
+
].filter((line) => line !== undefined).join('\n');
|
|
357
|
+
channel.attachContext({ source: 'panel', sourceId: 'companion', title: t('companion-send-title'), content });
|
|
358
|
+
channel.notify(t('panel-sent-to-chat', { title: t('companion-send-title') }), { color: 'success' });
|
|
359
|
+
lastInputAtRef.current = Date.now();
|
|
360
|
+
return true;
|
|
361
|
+
}
|
|
362
|
+
return false;
|
|
363
|
+
}, { active: focused && visible });
|
|
364
|
+
// --- 鼠标互动 -------------------------------------------------------------
|
|
365
|
+
const registerClick = (side) => {
|
|
366
|
+
const at = Date.now();
|
|
367
|
+
lastInputAtRef.current = at;
|
|
368
|
+
heartPendingRef.current = true;
|
|
369
|
+
clicksRef.current = [...clicksRef.current.filter(ts => ts > at - TICKLE_WINDOW_MS), at];
|
|
370
|
+
overrideRef.current = clicksRef.current.length >= TICKLE_MIN_CLICKS
|
|
371
|
+
? { semantic: 'tickle', since: at, until: at + TICKLE_WINDOW_MS }
|
|
372
|
+
: { semantic: side, since: at, until: at + POKE_REACTION_MS };
|
|
373
|
+
bump();
|
|
374
|
+
};
|
|
375
|
+
const onPetClick = (event) => {
|
|
376
|
+
event.stopImmediatePropagation();
|
|
377
|
+
registerClick(event.localCol < petColumns / 2 ? 'poke-left' : 'poke-right');
|
|
378
|
+
};
|
|
379
|
+
const onDragStart = (event) => {
|
|
380
|
+
event.stopImmediatePropagation();
|
|
381
|
+
const at = Date.now();
|
|
382
|
+
lastInputAtRef.current = at;
|
|
383
|
+
// 锚在当前显示位置(在家,或上一段弹回的中途被再次抓住)。
|
|
384
|
+
flybackRef.current = undefined;
|
|
385
|
+
const base = dragPosRef.current ?? { left: homeLeft, top: homeTop };
|
|
386
|
+
dragSessionRef.current = {
|
|
387
|
+
baseLeft: base.left,
|
|
388
|
+
baseTop: base.top,
|
|
389
|
+
startCol: event.startCol,
|
|
390
|
+
startRow: event.startRow,
|
|
391
|
+
};
|
|
392
|
+
dragPosRef.current = { left: base.left, top: base.top };
|
|
393
|
+
overrideRef.current = { semantic: 'drag', since: at, until: Number.POSITIVE_INFINITY };
|
|
394
|
+
bump();
|
|
395
|
+
};
|
|
396
|
+
const onDragMove = (event) => {
|
|
397
|
+
event.stopImmediatePropagation();
|
|
398
|
+
lastInputAtRef.current = Date.now();
|
|
399
|
+
const session = dragSessionRef.current;
|
|
400
|
+
if (session === undefined)
|
|
401
|
+
return;
|
|
402
|
+
// 位移 = 指针相对拖起点的位移(绝对坐标差,不依赖渲染帧的缓存矩形),
|
|
403
|
+
// clamp 在面板内容盒内——抓取点保持在指针下,本体不出面板。
|
|
404
|
+
dragPosRef.current = clampPet(session.baseLeft + (event.col - session.startCol), session.baseTop + (event.row - session.startRow));
|
|
405
|
+
bump();
|
|
406
|
+
};
|
|
407
|
+
const onDragEnd = (event) => {
|
|
408
|
+
event.stopImmediatePropagation();
|
|
409
|
+
const at = Date.now();
|
|
410
|
+
lastInputAtRef.current = at;
|
|
411
|
+
dragSessionRef.current = undefined;
|
|
412
|
+
const resting = dragPosRef.current;
|
|
413
|
+
dragPosRef.current = undefined;
|
|
414
|
+
// 有实际位移才弹回(≤1 格的抖动直接归位,克制优先)。
|
|
415
|
+
if (resting !== undefined && (Math.abs(resting.left - homeLeft) > 1 || Math.abs(resting.top - homeTop) > 1)) {
|
|
416
|
+
flybackRef.current = { fromLeft: resting.left, fromTop: resting.top, since: at };
|
|
417
|
+
}
|
|
418
|
+
if (overrideRef.current?.semantic === 'drag')
|
|
419
|
+
overrideRef.current = undefined;
|
|
420
|
+
bump();
|
|
421
|
+
};
|
|
422
|
+
const enterZone = (zone) => {
|
|
423
|
+
const at = Date.now();
|
|
424
|
+
if (zone === 'pet')
|
|
425
|
+
lastInputAtRef.current = at;
|
|
426
|
+
setHoverState(prev => {
|
|
427
|
+
if (prev?.zone === zone)
|
|
428
|
+
return prev;
|
|
429
|
+
// 同档(look)内换侧不重置动画;换档(look↔notice)重开一段。
|
|
430
|
+
const prevSem = hoverSemantic(prev?.zone);
|
|
431
|
+
const nextSem = hoverSemantic(zone);
|
|
432
|
+
return { zone, since: prevSem === nextSem && prev !== undefined ? prev.since : at };
|
|
433
|
+
});
|
|
434
|
+
bump();
|
|
435
|
+
};
|
|
436
|
+
const enterPanelDefault = () => {
|
|
437
|
+
// 只有当前没有更具体的分区时才落 'near'(链上子节点的 enter 先于根)。
|
|
438
|
+
setHoverState(prev => prev ?? { zone: 'near', since: Date.now() });
|
|
439
|
+
bump();
|
|
440
|
+
};
|
|
441
|
+
const leavePanel = () => {
|
|
442
|
+
setHoverState(undefined);
|
|
443
|
+
bump();
|
|
444
|
+
};
|
|
445
|
+
// --- 状态区文案 -----------------------------------------------------------
|
|
446
|
+
const phrase = derived.bubble?.replace(/^\s*[⏵▸]+\s*/u, '');
|
|
447
|
+
const animTitle = (deepyRows !== undefined ? kit?.byKey[animationKey]?.title : undefined) ?? skin.title ?? 'Deepy';
|
|
448
|
+
// --- 气泡(宠物上方;空间不足时让位给宠物本体)---------------------------
|
|
449
|
+
// 裁决:瞬态气泡(通知/Enter 戳,带 until 窗)> 活动自述(派生常驻层)。
|
|
450
|
+
// 活动自述读 runtimeCtx.activity.line——与聊天区 ⏵ 工作行(ActivityLine)
|
|
451
|
+
// 逐字同源;判定条件照 Chat.tsx 的渲染门:working 且 line 非空且
|
|
452
|
+
// phase≠idle。回合结束/面板隐藏时派生层自动消失;瞬态到期后回落。
|
|
453
|
+
// 拖动会话(按住跟手 + 360ms 回弹全程)抑制两层气泡:宠物被拎在半空,
|
|
454
|
+
// 气泡孤零零留在 home 上方既出戏又会被宠物本体遮住(用户实测反馈);
|
|
455
|
+
// 落定后自然恢复(用户实测诉求:要么跟着走要么不显示——选抑制,简单
|
|
456
|
+
// 可靠)。
|
|
457
|
+
const dragHold = dragSessionRef.current !== undefined || flybackRef.current !== undefined;
|
|
458
|
+
const transientBubble = bubbleRef.current !== undefined && bubbleRef.current.until > now && visible && !dragHold ? bubbleRef.current : undefined;
|
|
459
|
+
const activityNarration = visible && channel.working && activity !== undefined
|
|
460
|
+
&& activity.line !== '' && activity.phase !== 'idle' && !dragHold ? activity.line : undefined;
|
|
461
|
+
const bubble = transientBubble !== undefined
|
|
462
|
+
? transientBubble
|
|
463
|
+
: activityNarration !== undefined
|
|
464
|
+
? { text: activityNarration, kind: 'poke', until: Number.POSITIVE_INFINITY }
|
|
465
|
+
: undefined;
|
|
466
|
+
const statusRows = 1 /*paddingTop*/ + 3 + (phrase !== undefined && phrase !== '' ? 1 : 0);
|
|
467
|
+
const bubbleRoom = Math.max(0, height - statusRows - skin.cells.rows);
|
|
468
|
+
const bubbleLines = bubbleRoom >= BUBBLE_MAX_LINES + 2
|
|
469
|
+
? BUBBLE_MAX_LINES
|
|
470
|
+
: bubbleRoom >= 3 ? bubbleRoom - 2 : 0;
|
|
471
|
+
let bubbleNode = null;
|
|
472
|
+
if (bubble !== undefined && bubbleLines > 0 && !compact) {
|
|
473
|
+
const inner = Math.max(4, width - 4);
|
|
474
|
+
const wrapped = wrapText(bubble.text, inner, 'wrap').split('\n');
|
|
475
|
+
const shown = wrapped.length > bubbleLines
|
|
476
|
+
? [...wrapped.slice(0, bubbleLines - 1), truncateWidth(wrapped[bubbleLines - 1] + '…', inner)]
|
|
477
|
+
: wrapped;
|
|
478
|
+
bubbleNode = (_jsx(Box, { flexDirection: "column", flexShrink: 0, alignSelf: "center", borderStyle: "round", paddingX: 1, borderColor: bubble.kind === 'poke' ? 'accent' : BUBBLE_COLOR[bubble.color ?? ''] ?? 'accent', children: shown.map((line, index) => (_jsx(Text, { wrap: "truncate-end", color: BUBBLE_COLOR[bubble.color ?? ''], children: line }, index))) }));
|
|
479
|
+
}
|
|
480
|
+
// Below the panel minimum, keep only the centered cramped-layout message.
|
|
481
|
+
if (width < PANEL_MIN_COLUMNS) {
|
|
482
|
+
return (_jsx(Box, { ref: clockRef, flexDirection: "column", flexGrow: 1, overflow: "hidden", alignItems: "center", justifyContent: "center", paddingX: 1, children: _jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: "accent", children: '♥ ' }), _jsx(Text, { dimColor: true, children: t('companion-cramped', { name: skin.title ?? 'Deepy' }) })] }) }));
|
|
483
|
+
}
|
|
484
|
+
if (compact) {
|
|
485
|
+
// Compact panels show mood and status without the skin.
|
|
486
|
+
return (_jsx(Box, { ref: clockRef, flexDirection: "column", flexGrow: 1, overflow: "hidden", children: _jsxs(Box, { flexDirection: "column", paddingX: 1, paddingTop: 1, children: [_jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: "accent", children: '♥ ' }), _jsx(Text, { dimColor: true, children: moodLabel }), channel.working && _jsxs(Text, { dimColor: true, children: [' · ', statsText] })] }) }), phrase !== undefined && phrase !== '' && (_jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(Text, { dimColor: true, wrap: "truncate-end", children: ['⏵ ', phrase] }) })), _jsx(Box, { height: 1, flexShrink: 0, children: _jsx(Text, { dimColor: true, wrap: "truncate-end", children: t('companion-hint') }) })] }) }));
|
|
487
|
+
}
|
|
488
|
+
return (_jsxs(Box, { ref: clockRef, flexDirection: "column", flexGrow: 1, overflow: "hidden", onMouseEnter: enterPanelDefault, onMouseLeave: leavePanel, children: [_jsxs(Box, { flexDirection: "column", flexShrink: 0, paddingX: 1, paddingTop: 1, onMouseEnter: () => enterZone('near'), children: [_jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: MOOD_COLOR[SEMANTIC_MOOD[display.semantic]], children: '● ' }), _jsx(Text, { children: moodLabel }), statsText !== moodLabel && _jsxs(Text, { dimColor: true, children: [' · ', statsText] })] }) }), phrase !== undefined && phrase !== '' && (_jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(Text, { dimColor: true, wrap: "truncate-end", children: ['⏵ ', phrase] }) })), _jsx(Box, { height: 1, flexShrink: 0, children: _jsx(Text, { dimColor: true, wrap: "truncate-end", children: t('companion-now-playing', { anim: animTitle }) }) }), _jsx(Box, { height: 1, flexShrink: 0, children: _jsx(Text, { dimColor: true, wrap: "truncate-end", children: t('companion-hint') }) })] }), _jsx(Box, { flexGrow: 1, flexShrink: 1, minHeight: 0, onMouseEnter: () => enterZone('near') }), bubbleNode, _jsxs(Box, { flexDirection: "row", flexShrink: 0, height: petRows, children: [_jsx(Box, { width: petLeft, flexShrink: 0, onMouseEnter: () => enterZone('left') }), _jsx(Box, { width: petColumns, height: petRows, marginTop: -petRise, flexShrink: 0, flexDirection: "column", alignItems: "center", onClick: onPetClick, onDragStart: onDragStart, onDragMove: onDragMove, onDragEnd: onDragEnd, onMouseEnter: () => enterZone('pet'), children: deepyRows !== undefined
|
|
489
|
+
? deepyRows.map((row, index) => _jsx(Text, { wrap: "truncate-end", children: row }, index))
|
|
490
|
+
: skin.render({ pose: poseStep.pose, moodSince: animSince, now, width: petColumns, animationSemantic: animationKey }) }), _jsx(Box, { width: Math.max(0, width - petColumns - petLeft), flexShrink: 0, onMouseEnter: () => enterZone('right') })] })] }));
|
|
491
|
+
}
|
|
492
|
+
export const COMPANION_SKIN_DEFAULT = DeepySkin.id;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 启动页吉祥物(LogoV2 艺术槽,2026-10 复用轮)。
|
|
3
|
+
*
|
|
4
|
+
* 吉祥物跟随 companion.skin:deepy → 字母格动画;whaleGirl → 鲸娘动画
|
|
5
|
+
* (经 WhaleGirlSkin 内部的图像协议自适应:kitty/sixel 走 img/ 帧管线,
|
|
6
|
+
* 无协议回退字母格帧包——首帧字母格同步可画,图像异步解码完成后替换,
|
|
7
|
+
* 绝不让启动帧等 IO)。whale 皮肤不进本组件(LogoV2 维持原分层鲸路径)。
|
|
8
|
+
*
|
|
9
|
+
* 动画/互动语义与侧栏宠物同源(零复制),但按 2026-10 用户拍板收窄:
|
|
10
|
+
* 启动页是瞬时门面——**不做空闲轮换**,稳态恒播单一 idle 动画(循环);
|
|
11
|
+
* 点击 = poke(左/右半判定,播 poke-left/right 头段;鲸娘在 poke 后接一段
|
|
12
|
+
* smile-hearts 爱心——同面板「亲昵互动」语义,deepy 帧包无爱心键故只 poke);
|
|
13
|
+
* 连点 = 900ms 内 ≥3 次触发 tickle(复用 mood.ts 的 TICKLE_WINDOW_MS/
|
|
14
|
+
* TICKLE_MIN_CLICKS 判定);播完自然回稳态 idle。不做拖拽。
|
|
15
|
+
* active=false(第一个任务后冻结,照鲸鱼的 whaleFrozen 契约)或卸载后零
|
|
16
|
+
* 时钟:定格 idle 帧 0,interval 清空。
|
|
17
|
+
*
|
|
18
|
+
* 欢迎语/求星标语不在本组件——按 2026-10 用户拍板保持原「艺术下方居中」
|
|
19
|
+
* 渲染路径(LogoV2 底部块,welcomePad 缩进)。
|
|
20
|
+
*/
|
|
21
|
+
import React from 'react';
|
|
22
|
+
export type SplashMascotSkin = 'deepy' | 'whaleGirl';
|
|
23
|
+
/** 读 companion.skin(LogoV2 的测试缝 prop 优先);非吉祥物皮肤返回
|
|
24
|
+
* undefined(LogoV2 走原鲸鱼/女仆娘路径,零改动)。 */
|
|
25
|
+
export declare function useSplashMascotSkin(pinned?: string): SplashMascotSkin | undefined;
|
|
26
|
+
/** 启动页吉祥物本体:按 skin 渲染动画,点击交互(poke/连点)在内层盒。 */
|
|
27
|
+
export declare function SplashMascot({ skin, active }: {
|
|
28
|
+
readonly skin: SplashMascotSkin;
|
|
29
|
+
/** 动画许可:false(冻结/落地页 whaleIdle=false)时定格 idle 帧 0、零时钟。 */
|
|
30
|
+
readonly active: boolean;
|
|
31
|
+
}): React.ReactNode;
|
|
32
|
+
//# sourceMappingURL=SplashMascot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplashMascot.d.ts","sourceRoot":"","sources":["../../../../../src/components/sidePanel/companion/SplashMascot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,WAAW,CAAA;AAEpD;wCACwC;AACxC,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAIjF;AAGD,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC7C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,GAAG,KAAK,CAAC,SAAS,CAqElB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* 启动页吉祥物(LogoV2 艺术槽,2026-10 复用轮)。
|
|
4
|
+
*
|
|
5
|
+
* 吉祥物跟随 companion.skin:deepy → 字母格动画;whaleGirl → 鲸娘动画
|
|
6
|
+
* (经 WhaleGirlSkin 内部的图像协议自适应:kitty/sixel 走 img/ 帧管线,
|
|
7
|
+
* 无协议回退字母格帧包——首帧字母格同步可画,图像异步解码完成后替换,
|
|
8
|
+
* 绝不让启动帧等 IO)。whale 皮肤不进本组件(LogoV2 维持原分层鲸路径)。
|
|
9
|
+
*
|
|
10
|
+
* 动画/互动语义与侧栏宠物同源(零复制),但按 2026-10 用户拍板收窄:
|
|
11
|
+
* 启动页是瞬时门面——**不做空闲轮换**,稳态恒播单一 idle 动画(循环);
|
|
12
|
+
* 点击 = poke(左/右半判定,播 poke-left/right 头段;鲸娘在 poke 后接一段
|
|
13
|
+
* smile-hearts 爱心——同面板「亲昵互动」语义,deepy 帧包无爱心键故只 poke);
|
|
14
|
+
* 连点 = 900ms 内 ≥3 次触发 tickle(复用 mood.ts 的 TICKLE_WINDOW_MS/
|
|
15
|
+
* TICKLE_MIN_CLICKS 判定);播完自然回稳态 idle。不做拖拽。
|
|
16
|
+
* active=false(第一个任务后冻结,照鲸鱼的 whaleFrozen 契约)或卸载后零
|
|
17
|
+
* 时钟:定格 idle 帧 0,interval 清空。
|
|
18
|
+
*
|
|
19
|
+
* 欢迎语/求星标语不在本组件——按 2026-10 用户拍板保持原「艺术下方居中」
|
|
20
|
+
* 渲染路径(LogoV2 底部块,welcomePad 缩进)。
|
|
21
|
+
*/
|
|
22
|
+
import React from 'react';
|
|
23
|
+
import { Box } from '../../../ui.js';
|
|
24
|
+
import { getCompanionSkin, subscribeCompanionSkin } from '../../../tuiDisplayPrefs.js';
|
|
25
|
+
import { TICKLE_MIN_CLICKS, TICKLE_WINDOW_MS } from './mood.js';
|
|
26
|
+
import { DeepySkin, WhaleGirlSkin } from './skins.js';
|
|
27
|
+
import { initialCompanionPoseState, nextCompanionPoseStep } from './pose.js';
|
|
28
|
+
/** 点击反应档时长:poke 帧表一轮 2100ms,取头段(同 CompanionPanel 的口径)。 */
|
|
29
|
+
const SPLASH_POKE_MS = 1400;
|
|
30
|
+
/** poke 后鲸娘的爱心档时长(smile-hearts 一轮 ~1.9s,取一轮多的头段)。 */
|
|
31
|
+
const SPLASH_HEART_MS = 2400;
|
|
32
|
+
/** 吉祥物动画 tick(同 CompanionPanel 的 TICK_MS)。 */
|
|
33
|
+
const SPLASH_TICK_MS = 160;
|
|
34
|
+
/** 吉祥物字母格宽(与侧栏宠物同包同宽;艺术槽盒 40 列居中容纳)。 */
|
|
35
|
+
const SPLASH_MASCOT_COLUMNS = 42;
|
|
36
|
+
/** 读 companion.skin(LogoV2 的测试缝 prop 优先);非吉祥物皮肤返回
|
|
37
|
+
* undefined(LogoV2 走原鲸鱼/女仆娘路径,零改动)。 */
|
|
38
|
+
export function useSplashMascotSkin(pinned) {
|
|
39
|
+
const setting = React.useSyncExternalStore(subscribeCompanionSkin, getCompanionSkin);
|
|
40
|
+
const id = pinned ?? setting;
|
|
41
|
+
return id === 'deepy' || id === 'whaleGirl' ? id : undefined;
|
|
42
|
+
}
|
|
43
|
+
/** 启动页吉祥物本体:按 skin 渲染动画,点击交互(poke/连点)在内层盒。 */
|
|
44
|
+
export function SplashMascot({ skin, active }) {
|
|
45
|
+
const [, setBump] = React.useState(0);
|
|
46
|
+
// 稳态 idle 从挂载起循环;冻结时 now 钉在挂载值 → elapsed 恒 0 → 帧 0。
|
|
47
|
+
const mountedAtRef = React.useRef(Date.now());
|
|
48
|
+
const clicksRef = React.useRef([]);
|
|
49
|
+
// 覆盖档:poke / tickle / poke 后的爱心(鲸娘),到期在渲染期自回收并
|
|
50
|
+
// 链到下一档(poke → smile-hearts),全部播完自然回稳态 idle。
|
|
51
|
+
const overrideRef = React.useRef(undefined);
|
|
52
|
+
const heartAfterOverrideRef = React.useRef(false);
|
|
53
|
+
// 姿态是常量:吉祥物的动画全走 animationSemantic(deepy 规范键),
|
|
54
|
+
// 皮肤在 semantic 有效时不读 mood/heart 层——只需一个合法 pose 形状。
|
|
55
|
+
const [pose] = React.useState(() => nextCompanionPoseStep(initialCompanionPoseState(Date.now()), { mood: 'idle', heart: false }, Date.now()).pose);
|
|
56
|
+
React.useEffect(() => {
|
|
57
|
+
if (!active)
|
|
58
|
+
return;
|
|
59
|
+
const id = setInterval(() => { setBump(previous => previous + 1); }, SPLASH_TICK_MS);
|
|
60
|
+
id.unref?.();
|
|
61
|
+
return () => { clearInterval(id); };
|
|
62
|
+
}, [active]);
|
|
63
|
+
const now = active ? Date.now() : mountedAtRef.current;
|
|
64
|
+
if (overrideRef.current !== undefined && overrideRef.current.until <= now) {
|
|
65
|
+
const heartNext = heartAfterOverrideRef.current;
|
|
66
|
+
overrideRef.current = undefined;
|
|
67
|
+
heartAfterOverrideRef.current = false;
|
|
68
|
+
if (heartNext) {
|
|
69
|
+
overrideRef.current = { semantic: 'smile-hearts', since: now, until: now + SPLASH_HEART_MS };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const override = overrideRef.current;
|
|
73
|
+
const animationSemantic = override?.semantic ?? 'idle';
|
|
74
|
+
const animSince = override?.since ?? mountedAtRef.current;
|
|
75
|
+
const input = {
|
|
76
|
+
pose,
|
|
77
|
+
moodSince: animSince,
|
|
78
|
+
now,
|
|
79
|
+
width: SPLASH_MASCOT_COLUMNS,
|
|
80
|
+
animationSemantic,
|
|
81
|
+
};
|
|
82
|
+
return (_jsx(Box, { flexDirection: "column", alignItems: "center", flexShrink: 0, children: _jsx(Box, { onClick: (event) => {
|
|
83
|
+
event.stopImmediatePropagation();
|
|
84
|
+
if (!active)
|
|
85
|
+
return;
|
|
86
|
+
const at = Date.now();
|
|
87
|
+
// 连点判定与面板同源(TICKLE_WINDOW_MS/TICKLE_MIN_CLICKS):
|
|
88
|
+
// 窗口内 ≥3 次 → tickle;否则按左/右半 poke(鲸娘再链一段爱心)。
|
|
89
|
+
clicksRef.current = [...clicksRef.current.filter(ts => ts > at - TICKLE_WINDOW_MS), at];
|
|
90
|
+
const rapid = clicksRef.current.length >= TICKLE_MIN_CLICKS;
|
|
91
|
+
if (rapid)
|
|
92
|
+
clicksRef.current = [];
|
|
93
|
+
overrideRef.current = rapid
|
|
94
|
+
? { semantic: 'tickle', since: at, until: at + TICKLE_WINDOW_MS }
|
|
95
|
+
: {
|
|
96
|
+
semantic: event.localCol < SPLASH_MASCOT_COLUMNS / 2 ? 'poke-left' : 'poke-right',
|
|
97
|
+
since: at,
|
|
98
|
+
until: at + SPLASH_POKE_MS,
|
|
99
|
+
};
|
|
100
|
+
heartAfterOverrideRef.current = !rapid && skin === 'whaleGirl';
|
|
101
|
+
setBump(previous => previous + 1);
|
|
102
|
+
}, children: skin === 'deepy' ? DeepySkin.render(input) : WhaleGirlSkin.render(input) }) }));
|
|
103
|
+
}
|