@deepseek-harness-tui/dsh-tui 0.13.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 +85 -5
- 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/bin/dsh-tui.js +104 -18
- package/cordis.patch.yml +2 -0
- 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 +9 -2
- package/guide/dsh-tui-guide/configuration.md +9 -2
- package/guide/dsh-tui-guide/interaction.en.md +169 -27
- package/guide/dsh-tui-guide/interaction.md +115 -17
- package/guide/dsh-tui-guide/themes.en.md +24 -2
- package/guide/dsh-tui-guide/themes.md +21 -2
- package/guide/dsh-tui-guide/user-guide.en.md +38 -23
- package/guide/dsh-tui-guide/user-guide.md +22 -11
- package/guide/dsh-tui-guide/vscode.en.md +1 -0
- package/guide/dsh-tui-guide/vscode.md +1 -0
- package/lib/settings.json +139 -6
- 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 +17 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +29 -0
- package/lib/types/adapter/channel/ui.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui.js +45 -5
- package/lib/types/adapter/ports/channel-catalog.d.ts +7 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-display.d.ts +7 -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 +183 -6
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +477 -13
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- 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/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 +196 -2
- 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 -31
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +31 -112
- 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 +2 -1
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +11 -5
- package/lib/types/components/InlineMathParagraph.js +1 -1
- package/lib/types/components/JobsPanel.d.ts +8 -9
- package/lib/types/components/JobsPanel.d.ts.map +1 -1
- package/lib/types/components/JobsPanel.js +72 -13
- 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 +7 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +120 -24
- 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 +21 -3
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +62 -42
- 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/PromptInput.d.ts +2 -2
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +308 -55
- 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 +7 -8
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +18 -9
- 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 +25 -18
- package/lib/types/components/SubagentDashboard.d.ts +10 -6
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +32 -21
- package/lib/types/components/SubagentDetailScene.d.ts +16 -1
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
- package/lib/types/components/SubagentDetailScene.js +196 -45
- package/lib/types/components/SyntaxText.d.ts.map +1 -1
- package/lib/types/components/SyntaxText.js +4 -1
- 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/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 +13 -6
- package/lib/types/components/launchpadActions.d.ts.map +1 -1
- package/lib/types/components/launchpadActions.js +26 -4
- 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/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.map +1 -1
- package/lib/types/components/sidePanel/InfoPanel.js +13 -8
- package/lib/types/components/sidePanel/PanelBar.d.ts +0 -24
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelBar.js +55 -77
- package/lib/types/components/sidePanel/PanelStore.d.ts +3 -1
- package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelStore.js +8 -4
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +3 -10
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.js +9 -12
- package/lib/types/components/sidePanel/TrajectoryPanel.d.ts.map +1 -1
- package/lib/types/components/sidePanel/TrajectoryPanel.js +78 -14
- 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.map +1 -1
- package/lib/types/components/sidePanel/builtinPanels.js +70 -30
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +4 -46
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -1
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +19 -55
- package/lib/types/components/sidePanel/companion/mood.d.ts +32 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -1
- package/lib/types/components/sidePanel/companion/mood.js +44 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts +34 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
- package/lib/types/components/sidePanel/companion/skins.js +203 -29
- 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/customTheme.d.ts +4 -6
- package/lib/types/customTheme.d.ts.map +1 -1
- package/lib/types/customTheme.js +6 -8
- 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/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 +19 -9
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +58 -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/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 +33 -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/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 +21 -5
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +65 -27
- 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 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -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 +16 -0
- 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 -1143
- 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/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 +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.js +4 -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 +72 -1
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +7 -3
- 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 -23
- package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.js +5 -111
- 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 -1059
- package/lib/types/dsh-adapter/context-occupancy.d.ts +6 -1
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
- package/lib/types/dsh-adapter/context-occupancy.js +6 -1
- 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 +41 -3
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +28 -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/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/plugin.d.ts +38 -2
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +546 -110
- 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/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/i18n.d.ts +3189 -68
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +855 -9
- 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 +5 -1
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +52 -5
- 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/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.map +1 -1
- package/lib/types/ink/hooks/use-input.js +9 -4
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +8 -2
- 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.map +1 -1
- package/lib/types/ink/output.js +2 -0
- package/lib/types/ink/parse-keypress.d.ts +13 -0
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +438 -19
- 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.map +1 -1
- package/lib/types/ink/render-node-to-output.js +200 -4
- 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/sixel-codec.d.ts +11 -1
- package/lib/types/ink/sixel-codec.d.ts.map +1 -1
- package/lib/types/ink/sixel-codec.js +10 -3
- 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/modelRecents.d.ts +10 -2
- package/lib/types/modelRecents.d.ts.map +1 -1
- package/lib/types/modelRecents.js +20 -7
- 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 +45 -7
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +625 -113
- package/lib/types/screens/Launchpad.d.ts +24 -7
- package/lib/types/screens/Launchpad.d.ts.map +1 -1
- package/lib/types/screens/Launchpad.js +147 -28
- 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 +69 -5
- 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 +131 -19
- package/lib/types/screens/StatusMetrics.d.ts +53 -17
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +141 -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 +32 -2
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +9 -0
- 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 +97 -22
- 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 +74 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +50 -4
- 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 +2 -2
- 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 +38 -1
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +45 -1
- package/lib/types/update.d.ts +88 -3
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +285 -18
- 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/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 +9 -8
- package/lib/types/utils/inputPaste.d.ts.map +1 -1
- package/lib/types/utils/inputPaste.js +53 -16
- 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/package.json +18 -2
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace files and slash completion for every session: the `fs` surface
|
|
3
|
+
* `@` mentions and file completion read (the host fs service, else the local
|
|
4
|
+
* disk where the backend runs on it), the fenced file queries, and the slash
|
|
5
|
+
* completion tree with whatever catalog the composition offers for
|
|
6
|
+
* `/model`, `/preset`, `/effort` and `/workspace` arguments. The backend's
|
|
7
|
+
* own commands join the command list itself (core/session-controls.ts), so
|
|
8
|
+
* completion lists them like any other entry.
|
|
9
|
+
*/
|
|
10
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
11
|
+
import type { CommandCompletionNode } from '../../../commands.js';
|
|
12
|
+
import type { ChannelBinding } from '../binding.js';
|
|
13
|
+
import type { ChannelOwner } from '../owner.js';
|
|
14
|
+
import type { ChannelState, MentionFs } from '../types.js';
|
|
15
|
+
import type { CoreHost } from './host.js';
|
|
16
|
+
/** Argument catalogs the slash completion tree warms and reads. */
|
|
17
|
+
export interface CompletionCatalog {
|
|
18
|
+
workspaceCommands(): readonly {
|
|
19
|
+
name: string;
|
|
20
|
+
aliases?: readonly string[];
|
|
21
|
+
description?: string;
|
|
22
|
+
}[];
|
|
23
|
+
model: {
|
|
24
|
+
warmModelNodes(): void;
|
|
25
|
+
modelNodes(): readonly CommandCompletionNode[];
|
|
26
|
+
warmPresetOptions(): void;
|
|
27
|
+
presetOptions(): readonly {
|
|
28
|
+
id: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
name?: string;
|
|
31
|
+
isDefault?: boolean;
|
|
32
|
+
}[];
|
|
33
|
+
warmEffortLevels(): void;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** No argument catalogs: the tree offers its static nodes only. */
|
|
37
|
+
export declare const NO_COMPLETION_CATALOG: CompletionCatalog;
|
|
38
|
+
export declare function createCoreFiles(ctx: Context, deps: {
|
|
39
|
+
owner: Pick<ChannelOwner, 'current' | 'signal'>;
|
|
40
|
+
binding: Pick<ChannelBinding, 'capture' | 'isCurrent'>;
|
|
41
|
+
state: () => ChannelState;
|
|
42
|
+
host: Pick<CoreHost, 'themeHost' | 'commandTrees'>;
|
|
43
|
+
/** Whether the local disk stands in for a missing host fs service. */
|
|
44
|
+
localFallback(): boolean;
|
|
45
|
+
/** The bound backend's MCP server names (`/mcp` completion). */
|
|
46
|
+
mcpServers?(): readonly string[] | undefined;
|
|
47
|
+
}): {
|
|
48
|
+
fallbackFs: () => MentionFs | undefined;
|
|
49
|
+
listFileCandidates: (query: string, options?: {
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
topK?: number;
|
|
52
|
+
}) => Promise<readonly import("../../../utils/fileSuggestions.js").FileCandidate[]>;
|
|
53
|
+
listFiles: () => Promise<readonly string[]>;
|
|
54
|
+
/** The slash completion over the composition's argument catalogs. */
|
|
55
|
+
commandCompletions(catalog: CompletionCatalog): ChannelState["commandCompletions"];
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,IAAI,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACnG,KAAK,EAAE;QACL,cAAc,IAAI,IAAI,CAAA;QACtB,UAAU,IAAI,SAAS,qBAAqB,EAAE,CAAA;QAC9C,iBAAiB,IAAI,IAAI,CAAA;QACzB,aAAa,IAAI,SAAS;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;QACpG,gBAAgB,IAAI,IAAI,CAAA;KACzB,CAAA;CACF;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,iBASnC,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;IAClD,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAA;IAC/C,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;IACtD,KAAK,EAAE,MAAM,YAAY,CAAA;IACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,cAAc,CAAC,CAAA;IAClD,sEAAsE;IACtE,aAAa,IAAI,OAAO,CAAA;IACxB,gEAAgE;IAChE,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CAC7C;sBAIwB,SAAS,GAAG,SAAS;;cAvC1C,CAAC;YAAoB,CAAA;;;IAoDrB,qEAAqE;gCACzC,iBAAiB,GAAG,YAAY,CAAC,oBAAoB,CAAC;EAWrF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createCommandCompletions } from '../command-completions.js';
|
|
2
|
+
import { createFileActions } from '../file-actions.js';
|
|
3
|
+
import { createLocalFs } from '../local-fs.js';
|
|
4
|
+
import { mentionFs } from '../mentions.js';
|
|
5
|
+
/** No argument catalogs: the tree offers its static nodes only. */
|
|
6
|
+
export const NO_COMPLETION_CATALOG = {
|
|
7
|
+
workspaceCommands: () => [],
|
|
8
|
+
model: {
|
|
9
|
+
warmModelNodes: () => undefined,
|
|
10
|
+
modelNodes: () => [],
|
|
11
|
+
warmPresetOptions: () => undefined,
|
|
12
|
+
presetOptions: () => [],
|
|
13
|
+
warmEffortLevels: () => undefined,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
export function createCoreFiles(ctx, deps) {
|
|
17
|
+
// The session's working directory is the local disk when the host mounts
|
|
18
|
+
// no fs service and the backend runs here (mentions and `@` completion).
|
|
19
|
+
const localFs = createLocalFs();
|
|
20
|
+
const fallbackFs = () => deps.localFallback() ? localFs : undefined;
|
|
21
|
+
const fs = () => mentionFs(ctx) ?? fallbackFs();
|
|
22
|
+
const fileActions = createFileActions({
|
|
23
|
+
owner: deps.owner,
|
|
24
|
+
capture: () => deps.binding.capture(),
|
|
25
|
+
current: capture => deps.binding.isCurrent(capture),
|
|
26
|
+
cwd: () => deps.state().cwd,
|
|
27
|
+
fs,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
fallbackFs,
|
|
31
|
+
listFileCandidates: fileActions.listFileCandidates,
|
|
32
|
+
listFiles: fileActions.listFiles,
|
|
33
|
+
/** The slash completion over the composition's argument catalogs. */
|
|
34
|
+
commandCompletions(catalog) {
|
|
35
|
+
return createCommandCompletions({
|
|
36
|
+
state: deps.state,
|
|
37
|
+
themeHost: deps.host.themeHost,
|
|
38
|
+
commandTrees: deps.host.commandTrees,
|
|
39
|
+
workspaceCommands: catalog.workspaceCommands,
|
|
40
|
+
...(deps.mcpServers === undefined ? {} : { mcpServers: deps.mcpServers }),
|
|
41
|
+
model: catalog.model,
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host seams every channel composition reads: the optional Cordis service
|
|
3
|
+
* rows (themes, workspaces, command trees, scenes, settings sections,
|
|
4
|
+
* custom-entry renderers), the default-deny decision gate with its
|
|
5
|
+
* dispatch-topology marker, the runtime subscriptions that re-render on host
|
|
6
|
+
* changes, and the git-branch breadcrumb. Each lookup degrades when its row
|
|
7
|
+
* is not mounted, whatever backend serves the session.
|
|
8
|
+
*/
|
|
9
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
10
|
+
import type { AdapterRuntimeOptions } from '../../../adapter/kernel/runtime.js';
|
|
11
|
+
import { readGrantStore } from '../../../adapter/standard/grants.js';
|
|
12
|
+
import { getHostCommandTrees } from '../../command-trees.js';
|
|
13
|
+
import { getHostRenderers } from '../../renderers.js';
|
|
14
|
+
import { getHostSceneRuntime } from '../../scenes.js';
|
|
15
|
+
import { getHostSettingsSections } from '../../settings-sections.js';
|
|
16
|
+
import { getHostThemes } from '../../themes.js';
|
|
17
|
+
import { createLocalWorkspaceRuntime, getHostWorkspaceRuntime } from '../../workspaces.js';
|
|
18
|
+
import type { ChannelOwner } from '../owner.js';
|
|
19
|
+
import type { ChannelState } from '../types.js';
|
|
20
|
+
/** The host services a channel composition resolved at construction. */
|
|
21
|
+
export interface CoreHost {
|
|
22
|
+
readonly adapterRuntime: AdapterRuntimeOptions;
|
|
23
|
+
readonly themeHost: ReturnType<typeof getHostThemes>;
|
|
24
|
+
/** Workspace registry runtime; the local-only runtime without the row. */
|
|
25
|
+
readonly workspaceService: NonNullable<ReturnType<typeof getHostWorkspaceRuntime>> | ReturnType<typeof createLocalWorkspaceRuntime>;
|
|
26
|
+
readonly commandTrees: ReturnType<typeof getHostCommandTrees>;
|
|
27
|
+
readonly sceneRuntime: ReturnType<typeof getHostSceneRuntime>;
|
|
28
|
+
readonly settingsSectionsRuntime: ReturnType<typeof getHostSettingsSections>;
|
|
29
|
+
readonly rendererRuntime: ReturnType<typeof getHostRenderers>;
|
|
30
|
+
/** The live grant store: the host-owned one when the plugin-host row is
|
|
31
|
+
* mounted, else this channel's private fallback (re-read per operation). */
|
|
32
|
+
currentGrantStore(): ReturnType<typeof readGrantStore>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the host seams and install the decision gate. The topology marker
|
|
36
|
+
* is effectful state, so it is owned at acquisition: a later construction
|
|
37
|
+
* failure rolls it back.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveCoreHost(ctx: Context, owner: Pick<ChannelOwner, 'own'>): CoreHost;
|
|
40
|
+
/** Re-render on settings-section and plugin-scene changes (owner-scoped). */
|
|
41
|
+
export declare function startHostSubscriptions(host: Pick<CoreHost, 'settingsSectionsRuntime' | 'sceneRuntime'>, owner: Pick<ChannelOwner, 'own' | 'current'>, state: Pick<ChannelState, 'pluginScene' | 'emit'>): void;
|
|
42
|
+
/**
|
|
43
|
+
* Statusline breadcrumb: the current git branch of the session cwd
|
|
44
|
+
* (best-effort, through the host `shell` service). Re-run when an adoption
|
|
45
|
+
* lands on a different cwd (/resume, /workspace, issue #96) so the
|
|
46
|
+
* breadcrumb never shows the previous workspace's branch.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createGitBranchRefresher(ctx: Context, deps: {
|
|
49
|
+
owner: Pick<ChannelOwner, 'current'>;
|
|
50
|
+
state: Pick<ChannelState, 'cwd' | 'gitBranch' | 'emit'>;
|
|
51
|
+
/** Record the resolved branch against the bound session (the session
|
|
52
|
+
* browser's branch column); absent = nothing records it. */
|
|
53
|
+
noteBranch?(branch: string): void;
|
|
54
|
+
}): () => void;
|
|
55
|
+
//# sourceMappingURL=host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAI5D,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAiE,MAAM,4BAA4B,CAAA;AACnI,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,wEAAwE;AACxE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA;IACnI,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7D,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7D,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA;IAC5E,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;IAC7D;iFAC6E;IAC7E,iBAAiB,IAAI,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CACvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,QAAQ,CAyCxF;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,yBAAyB,GAAG,cAAc,CAAC,EAChE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC,EAC5C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,MAAM,CAAC,GAChD,IAAI,CAiBN;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3D,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,CAAA;IACvD;iEAC6D;IAC7D,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,GAAG,MAAM,IAAI,CA8Bb"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { adapterRuntimeFor } from '../../../adapter/kernel/runtime-context.js';
|
|
2
|
+
import { readGrantStore } from '../../../adapter/standard/grants.js';
|
|
3
|
+
import { getHostCommandTrees } from '../../command-trees.js';
|
|
4
|
+
import { runForegroundShell } from '../../compat/shell.js';
|
|
5
|
+
import { installDecisionGuard, markDecisionDispatchTopology } from '../../decision-guard.js';
|
|
6
|
+
import { getHostGrantStore } from '../../host-grants.js';
|
|
7
|
+
import { getHostRenderers } from '../../renderers.js';
|
|
8
|
+
import { getHostSceneRuntime } from '../../scenes.js';
|
|
9
|
+
import { getHostSettingsSections, getLocalSettingsSectionsHost } from '../../settings-sections.js';
|
|
10
|
+
import { getHostThemes } from '../../themes.js';
|
|
11
|
+
import { createLocalWorkspaceRuntime, getHostWorkspaceRuntime } from '../../workspaces.js';
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the host seams and install the decision gate. The topology marker
|
|
14
|
+
* is effectful state, so it is owned at acquisition: a later construction
|
|
15
|
+
* failure rolls it back.
|
|
16
|
+
*/
|
|
17
|
+
export function resolveCoreHost(ctx, owner) {
|
|
18
|
+
const adapterRuntime = adapterRuntimeFor(ctx);
|
|
19
|
+
const themeHost = getHostThemes(ctx.get('tuiThemes'));
|
|
20
|
+
// Backstop: the extensions row installs the decision-subscription gate,
|
|
21
|
+
// but the channel is the dispatch path. A stale patch without that row (or
|
|
22
|
+
// a bare embed mounting neither) would otherwise leave tui/input and
|
|
23
|
+
// friends subscribable by default, silently voiding default-deny.
|
|
24
|
+
// Idempotent per cordis root, so the full-patch path installs exactly
|
|
25
|
+
// once whichever side runs first. Keep a private fallback for
|
|
26
|
+
// bare embedders, but resolve the host-owned store on every operation so
|
|
27
|
+
// a plugin-host row mounted later (or a custom live GrantStore) is not
|
|
28
|
+
// shadowed by an early snapshot.
|
|
29
|
+
const fallbackGrantStore = readGrantStore(undefined, undefined, adapterRuntime);
|
|
30
|
+
const currentGrantStore = () => getHostGrantStore(ctx.get('tuiPluginHost')) ?? fallbackGrantStore;
|
|
31
|
+
installDecisionGuard(ctx, currentGrantStore());
|
|
32
|
+
// The channel is the real DecisionEvents dispatch path. Record that
|
|
33
|
+
// topology so the live driver can distinguish "guard installed" (not a
|
|
34
|
+
// live feature) from "events can actually be dispatched here".
|
|
35
|
+
owner.own(markDecisionDispatchTopology(ctx));
|
|
36
|
+
return {
|
|
37
|
+
adapterRuntime,
|
|
38
|
+
themeHost,
|
|
39
|
+
// Workspace registry runtime (optional service, issue #183): mounted by
|
|
40
|
+
// the bundle patch's dsh-tui-workspaces row; absent the row (stale patch
|
|
41
|
+
// or a bare embedder), degrade to the local-only runtime.
|
|
42
|
+
workspaceService: getHostWorkspaceRuntime(ctx.get('tuiWorkspaces')) ?? createLocalWorkspaceRuntime(),
|
|
43
|
+
commandTrees: getHostCommandTrees(ctx.get('tuiCommandTrees')),
|
|
44
|
+
// Plugin scene runtime (optional, dsh-tui-scenes row): absent the row,
|
|
45
|
+
// `pluginScene` simply stays undefined.
|
|
46
|
+
sceneRuntime: getHostSceneRuntime(ctx.get('tuiScenes')),
|
|
47
|
+
// Falls back to the in-package local host when the composition's
|
|
48
|
+
// service row is unavailable (issue #557).
|
|
49
|
+
settingsSectionsRuntime: getHostSettingsSections(ctx.get('tuiSettingsSections')) ?? getLocalSettingsSectionsHost(ctx),
|
|
50
|
+
// Custom-entry text renderers (optional, dsh-tui-extensions row): absent
|
|
51
|
+
// the row, unknown plugin event types stay invisible in the transcript.
|
|
52
|
+
rendererRuntime: getHostRenderers(ctx.get('tuiRenderers')),
|
|
53
|
+
currentGrantStore,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Re-render on settings-section and plugin-scene changes (owner-scoped). */
|
|
57
|
+
export function startHostSubscriptions(host, owner, state) {
|
|
58
|
+
owner.own(host.settingsSectionsRuntime?.subscribe(() => { if (owner.current())
|
|
59
|
+
state.emit(); }) ?? (() => undefined));
|
|
60
|
+
const sceneRuntime = host.sceneRuntime;
|
|
61
|
+
let unsubscribeScenes;
|
|
62
|
+
const disposeScenes = sceneRuntime?.subscribe(() => {
|
|
63
|
+
if (state.pluginScene === sceneRuntime.active)
|
|
64
|
+
return;
|
|
65
|
+
state.pluginScene = sceneRuntime.active;
|
|
66
|
+
state.emit();
|
|
67
|
+
});
|
|
68
|
+
if (disposeScenes !== undefined) {
|
|
69
|
+
unsubscribeScenes = disposeScenes;
|
|
70
|
+
owner.own(() => {
|
|
71
|
+
if (unsubscribeScenes !== disposeScenes)
|
|
72
|
+
return;
|
|
73
|
+
unsubscribeScenes = undefined;
|
|
74
|
+
disposeScenes();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Statusline breadcrumb: the current git branch of the session cwd
|
|
80
|
+
* (best-effort, through the host `shell` service). Re-run when an adoption
|
|
81
|
+
* lands on a different cwd (/resume, /workspace, issue #96) so the
|
|
82
|
+
* breadcrumb never shows the previous workspace's branch.
|
|
83
|
+
*/
|
|
84
|
+
export function createGitBranchRefresher(ctx, deps) {
|
|
85
|
+
return () => {
|
|
86
|
+
const { state } = deps;
|
|
87
|
+
state.gitBranch = undefined;
|
|
88
|
+
const shell = ctx.get('shell');
|
|
89
|
+
if (!shell)
|
|
90
|
+
return;
|
|
91
|
+
// Capture the requested cwd: a /resume landing while this query is in
|
|
92
|
+
// flight refreshes the branch for the new cwd, so a late reply from the
|
|
93
|
+
// old workspace must be dropped (stale statusline, issue #96).
|
|
94
|
+
const requestedCwd = state.cwd;
|
|
95
|
+
void runForegroundShell(shell, {
|
|
96
|
+
command: 'git branch --show-current',
|
|
97
|
+
workdir: requestedCwd,
|
|
98
|
+
timeoutMs: 3000,
|
|
99
|
+
})
|
|
100
|
+
.then((result) => {
|
|
101
|
+
if (!deps.owner.current() || state.cwd !== requestedCwd)
|
|
102
|
+
return;
|
|
103
|
+
const branch = result.stdout.text.trim();
|
|
104
|
+
if (branch !== '') {
|
|
105
|
+
state.gitBranch = branch;
|
|
106
|
+
deps.noteBranch?.(branch);
|
|
107
|
+
state.emit();
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
.catch(() => {
|
|
111
|
+
// Git branch detection is best-effort; on Windows the sandbox
|
|
112
|
+
// backend may be unavailable (no confinement yet) or the cwd may
|
|
113
|
+
// not be a git repo. Either way the statusline simply stays blank.
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-only transcript actions every session gets: `/clear`, local report
|
|
3
|
+
* rows, `!cmd` / `!!cmd` through the session's workspace shell,
|
|
4
|
+
* `/activity frames`, and the "load earlier" restore of folded rows. The
|
|
5
|
+
* restore only works when the backend can slice its own durable history;
|
|
6
|
+
* otherwise nothing is ever folded and the action restores 0 rows.
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
import type { ChannelBinding } from '../binding.js';
|
|
10
|
+
import type { ChannelOwner } from '../owner.js';
|
|
11
|
+
import type { ChannelState } from '../types.js';
|
|
12
|
+
import type { CoreHost } from './host.js';
|
|
13
|
+
/** `/activity frames <name>`: validate, persist, re-render. */
|
|
14
|
+
export declare function setActivityFrames(state: Pick<ChannelState, 'activityFrames' | 'emit'>, notify: ChannelState['notify'], name: string): boolean;
|
|
15
|
+
export declare function createCoreLocalActions(ctx: Context, deps: {
|
|
16
|
+
owner: Pick<ChannelOwner, 'current'>;
|
|
17
|
+
binding: Pick<ChannelBinding, 'capture' | 'isCurrent'>;
|
|
18
|
+
state: ChannelState;
|
|
19
|
+
rowIds: {
|
|
20
|
+
value: number;
|
|
21
|
+
};
|
|
22
|
+
workspace: CoreHost['workspaceService'];
|
|
23
|
+
resetProjection(): void;
|
|
24
|
+
notify: ChannelState['notify'];
|
|
25
|
+
unavailable(name: string): void;
|
|
26
|
+
/** Extension projections whose rows `/clear` drops with the transcript. */
|
|
27
|
+
dropRows(): void;
|
|
28
|
+
/** Restore folded rows from the backend's durable history; absent = the
|
|
29
|
+
* backend cannot slice it (and nothing is folded). */
|
|
30
|
+
loadOlder(): (() => number) | undefined;
|
|
31
|
+
/** An input on its way to the session (`!!`): returns its end. */
|
|
32
|
+
beginInput?(): () => void;
|
|
33
|
+
}): {
|
|
34
|
+
loadOlder(): number;
|
|
35
|
+
clear(): void;
|
|
36
|
+
pushLocal(title: string, lines: readonly string[]): void;
|
|
37
|
+
setActivityFrames: (name: string) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* `!cmd` / `!!cmd`: the workspace's own command shell when it has one
|
|
40
|
+
* (a remote workspace runs the command there), else the host shell;
|
|
41
|
+
* `!!` sends the output on as a followup of the session it ran for.
|
|
42
|
+
*/
|
|
43
|
+
runLocalCommand(command: string, includeInContext: boolean): Promise<void>;
|
|
44
|
+
};
|
|
45
|
+
export type CoreLocalActions = ReturnType<typeof createCoreLocalActions>;
|
|
46
|
+
//# sourceMappingURL=local-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-actions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/local-actions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAOlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAAC,EACpD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAYT;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;IACtD,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACvC,eAAe,IAAI,IAAI,CAAA;IACvB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,IAAI,IAAI,CAAA;IAChB;2DACuD;IACvD,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAA;IACvC,kEAAkE;IAClE,UAAU,CAAC,IAAI,MAAM,IAAI,CAAA;CAC1B;iBAIgB,MAAM;aAQV,IAAI;qBAYI,MAAM,SAAS,SAAS,MAAM,EAAE,GAAG,IAAI;8BAM9B,MAAM,KAAG,OAAO;IAE1C;;;;OAIG;6BAC4B,MAAM,oBAAoB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;EA8CnF;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { markChannelReadDirty } from '../../../adapter/channel/read-view.js';
|
|
3
|
+
import { writeActivityFrames } from '../../../activityPrefs.js';
|
|
4
|
+
import { isPresetName, normalizeActivityPreset } from '../../../components/activityFrames.js';
|
|
5
|
+
import { t } from '../../../i18n.js';
|
|
6
|
+
import { runForegroundShell } from '../../compat/shell.js';
|
|
7
|
+
import { LOCAL_OUTPUT_LIMIT, preview } from '../transcript.js';
|
|
8
|
+
/** `/activity frames <name>`: validate, persist, re-render. */
|
|
9
|
+
export function setActivityFrames(state, notify, name) {
|
|
10
|
+
// A retired preset id normalizes to the current default, so the
|
|
11
|
+
// in-memory state, the persisted preference and the toast agree instead
|
|
12
|
+
// of diverging until restart.
|
|
13
|
+
const preset = normalizeActivityPreset(name) ?? name;
|
|
14
|
+
if (!isPresetName(preset)) {
|
|
15
|
+
notify(t('unknown-activity-preset', { name }), { color: 'error' });
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (preset === state.activityFrames) {
|
|
19
|
+
notify(t('activity-indicator-already', { name: preset }), { color: 'success' });
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (!writeActivityFrames(preset)) {
|
|
23
|
+
notify(t('activity-pref-write-failed'), { color: 'error' });
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
state.activityFrames = preset;
|
|
27
|
+
state.emit();
|
|
28
|
+
notify(t('activity-indicator-switched', { name: preset }));
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
export function createCoreLocalActions(ctx, deps) {
|
|
32
|
+
const { owner, binding, state, rowIds, notify } = deps;
|
|
33
|
+
return {
|
|
34
|
+
loadOlder() {
|
|
35
|
+
const restore = deps.loadOlder();
|
|
36
|
+
if (restore === undefined)
|
|
37
|
+
return 0;
|
|
38
|
+
const restored = restore();
|
|
39
|
+
if (restored > 0)
|
|
40
|
+
state.emit();
|
|
41
|
+
return restored;
|
|
42
|
+
},
|
|
43
|
+
clear() {
|
|
44
|
+
state.rows.length = 0;
|
|
45
|
+
markChannelReadDirty(state.rows);
|
|
46
|
+
rowIds.value = 0;
|
|
47
|
+
deps.resetProjection();
|
|
48
|
+
deps.dropRows();
|
|
49
|
+
state.activeToolCount = 0;
|
|
50
|
+
state.responseChars = 0;
|
|
51
|
+
state.rows.push({ id: rowIds.value++, kind: 'notice', text: t('session-cleared') });
|
|
52
|
+
state.emit();
|
|
53
|
+
},
|
|
54
|
+
pushLocal(title, lines) {
|
|
55
|
+
state.rows.push({ id: rowIds.value++, kind: 'local', text: title });
|
|
56
|
+
for (const line of lines)
|
|
57
|
+
state.rows.push({ id: rowIds.value++, kind: 'local-output', text: preview(line, LOCAL_OUTPUT_LIMIT) });
|
|
58
|
+
state.emit();
|
|
59
|
+
},
|
|
60
|
+
setActivityFrames: (name) => setActivityFrames(state, notify, name),
|
|
61
|
+
/**
|
|
62
|
+
* `!cmd` / `!!cmd`: the workspace's own command shell when it has one
|
|
63
|
+
* (a remote workspace runs the command there), else the host shell;
|
|
64
|
+
* `!!` sends the output on as a followup of the session it ran for.
|
|
65
|
+
*/
|
|
66
|
+
async runLocalCommand(command, includeInContext) {
|
|
67
|
+
// `!!` is an input from its first keystroke: `/new` must not adopt
|
|
68
|
+
// over a command whose output is about to reach this session.
|
|
69
|
+
const end = includeInContext ? deps.beginInput?.() : undefined;
|
|
70
|
+
try {
|
|
71
|
+
await runLocal(command, includeInContext);
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
end?.();
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
async function runLocal(command, includeInContext) {
|
|
79
|
+
const capture = binding.capture();
|
|
80
|
+
const current = () => owner.current() && binding.isCurrent(capture);
|
|
81
|
+
const cwd = state.cwd;
|
|
82
|
+
const target = deps.workspace.describe(cwd);
|
|
83
|
+
state.rows.push({ id: rowIds.value++, kind: 'local', text: command, executionTarget: target.kind === 'local' ? target.badge : `${target.badge} · ${target.label}` });
|
|
84
|
+
state.emit();
|
|
85
|
+
const executor = await deps.workspace.commandShell(cwd) ?? ctx.get('shell');
|
|
86
|
+
if (!current())
|
|
87
|
+
return;
|
|
88
|
+
if (executor === undefined) {
|
|
89
|
+
deps.unavailable('shell');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
let output;
|
|
93
|
+
try {
|
|
94
|
+
const result = await runForegroundShell(executor, { command, workdir: cwd, timeoutMs: 30000 });
|
|
95
|
+
output = result.stdout.text.trim() || result.stderr.text.trim() || (result.timedOut ? '(timed out)' : '(no output)');
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
output = error instanceof Error ? error.message : String(error);
|
|
99
|
+
}
|
|
100
|
+
if (!current())
|
|
101
|
+
return;
|
|
102
|
+
state.rows.push({ id: rowIds.value++, kind: 'local-output', text: preview(output, LOCAL_OUTPUT_LIMIT) });
|
|
103
|
+
state.emit();
|
|
104
|
+
if (includeInContext) {
|
|
105
|
+
// This runs detached (`void runLocalCommand`): a session that closed
|
|
106
|
+
// meanwhile (a backend process that exited) must not surface as an
|
|
107
|
+
// unhandled rejection.
|
|
108
|
+
try {
|
|
109
|
+
await capture.session.submit({ text: `<bash-stdout>\n${output}\n</bash-stdout>`, clientMessageId: randomUUID() }, 'followup');
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (current())
|
|
113
|
+
notify(t('send-failed', { err: error instanceof Error ? error.message : String(error) }), { color: 'error', timeoutMs: 8000 });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TranscriptImage } from '../../../adapter/ports/channel-view.js';
|
|
2
|
+
import type { ImageLimitsView } from '../../../agent/capabilities.js';
|
|
3
|
+
import type { MentionAttachments, MentionImageBlock } from '../types.js';
|
|
4
|
+
type ImageRef = MentionImageBlock['attachment'];
|
|
5
|
+
/** Images kept in memory at most (oldest dropped first). */
|
|
6
|
+
export declare const LOCAL_IMAGE_LIMIT = 64;
|
|
7
|
+
/** Bytes kept in memory at most (oldest dropped first). */
|
|
8
|
+
export declare const LOCAL_IMAGE_BYTES: number;
|
|
9
|
+
/** The local store: the attachments subset the composer and `@` expansion
|
|
10
|
+
* use, plus the facades rows show. */
|
|
11
|
+
export interface LocalImageStore extends MentionAttachments {
|
|
12
|
+
/** The lazily-read facade of a staged image (one object per id). */
|
|
13
|
+
facade(attachment: ImageRef): TranscriptImage | undefined;
|
|
14
|
+
/** The staged bytes, while kept. */
|
|
15
|
+
bytes(attachmentId: string): Uint8Array | undefined;
|
|
16
|
+
}
|
|
17
|
+
/** Create the store over the limits of the bound session (read per call). */
|
|
18
|
+
export declare function createLocalImageStore(limits: () => ImageLimitsView): LocalImageStore;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=local-images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-images.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/local-images.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAyB,MAAM,aAAa,CAAA;AAE/F,KAAK,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,QAAmB,CAAA;AAOjD;uCACuC;AACvC,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,oEAAoE;IACpE,MAAM,CAAC,UAAU,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAA;IACzD,oCAAoC;IACpC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CACpD;AAID,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,eAAe,GAAG,eAAe,CA8GpF"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image staging for a session that takes images without the DSH attachments
|
|
3
|
+
* service. A backend that declares the `images` capability (the Claude
|
|
4
|
+
* backend sends images as base64 blocks of the message itself) gets the
|
|
5
|
+
* composer's pasted images and `@`-mentioned image files staged here, with
|
|
6
|
+
* the bytes held in memory and never written anywhere. The backend's declared
|
|
7
|
+
* limits apply through the same limit model the DSH store uses
|
|
8
|
+
* (`imageLimits`: media types, per-image and per-message bytes, image count,
|
|
9
|
+
* per-side and total pixel caps) and the same ingress adaptation
|
|
10
|
+
* (`adaptImageForAdmission`: an unaccepted format is converted, an oversize
|
|
11
|
+
* image resampled, when sharp is available).
|
|
12
|
+
*
|
|
13
|
+
* The staged reference has the DSH shape (`ImageAttachmentRef`), so the
|
|
14
|
+
* composer, the `@` expansion and the input pipeline treat it exactly as a
|
|
15
|
+
* stored attachment; its id is local (`local-<sha256 prefix>`, content-
|
|
16
|
+
* addressed). The facade a transcript row shows reads the same bytes back.
|
|
17
|
+
*
|
|
18
|
+
* Bounded: at most {@link LOCAL_IMAGE_LIMIT} images and
|
|
19
|
+
* {@link LOCAL_IMAGE_BYTES} bytes, the oldest dropped first. A facade whose
|
|
20
|
+
* bytes were dropped reports itself unavailable (the row shows the
|
|
21
|
+
* placeholder); it never holds bytes of its own.
|
|
22
|
+
*/
|
|
23
|
+
import { createHash } from 'node:crypto';
|
|
24
|
+
import { adaptImageForAdmission, probeImageSize, sniffImageMediaType, withinDimensionLimits } from '../../../utils/imageResize.js';
|
|
25
|
+
/** Images kept in memory at most (oldest dropped first). */
|
|
26
|
+
export const LOCAL_IMAGE_LIMIT = 64;
|
|
27
|
+
/** Bytes kept in memory at most (oldest dropped first). */
|
|
28
|
+
export const LOCAL_IMAGE_BYTES = 96 * 1024 * 1024;
|
|
29
|
+
const IMAGE_TYPES = ['image/png', 'image/jpeg', 'image/webp', 'image/gif'];
|
|
30
|
+
/** Create the store over the limits of the bound session (read per call). */
|
|
31
|
+
export function createLocalImageStore(limits) {
|
|
32
|
+
const images = new Map();
|
|
33
|
+
const facades = new Map();
|
|
34
|
+
let total = 0;
|
|
35
|
+
const imageLimits = () => {
|
|
36
|
+
const view = limits();
|
|
37
|
+
return {
|
|
38
|
+
maxImageBytes: view.maxImageBytes,
|
|
39
|
+
maxImagesPerMessage: view.maxImagesPerMessage,
|
|
40
|
+
maxMessageImageBytes: view.maxMessageImageBytes,
|
|
41
|
+
maxImageDimension: view.maxImageDimension,
|
|
42
|
+
maxImagePixels: view.maxImagePixels,
|
|
43
|
+
mediaTypes: IMAGE_TYPES.filter(type => view.mediaTypes.includes(type)),
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const evict = () => {
|
|
47
|
+
for (const [id, entry] of images) {
|
|
48
|
+
if (images.size <= LOCAL_IMAGE_LIMIT && total <= LOCAL_IMAGE_BYTES)
|
|
49
|
+
break;
|
|
50
|
+
images.delete(id);
|
|
51
|
+
facades.delete(id);
|
|
52
|
+
total -= entry.data.byteLength;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const facade = (ref) => {
|
|
56
|
+
const id = String(ref.attachmentId);
|
|
57
|
+
const known = facades.get(id);
|
|
58
|
+
if (known !== undefined)
|
|
59
|
+
return known;
|
|
60
|
+
const view = {
|
|
61
|
+
id,
|
|
62
|
+
width: ref.width,
|
|
63
|
+
height: ref.height,
|
|
64
|
+
...(ref.name === undefined ? {} : { name: ref.name }),
|
|
65
|
+
mediaType: ref.mediaType,
|
|
66
|
+
bytes: ref.bytes,
|
|
67
|
+
read: () => {
|
|
68
|
+
const stored = images.get(id);
|
|
69
|
+
return stored === undefined
|
|
70
|
+
? Promise.reject(new Error('the image is no longer held in memory'))
|
|
71
|
+
: Promise.resolve(stored.data);
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
facades.set(id, view);
|
|
75
|
+
return view;
|
|
76
|
+
};
|
|
77
|
+
return {
|
|
78
|
+
get imageLimits() { return imageLimits(); },
|
|
79
|
+
async saveImage(input) {
|
|
80
|
+
const caps = imageLimits();
|
|
81
|
+
let data = input.data;
|
|
82
|
+
let mediaType = input.mediaType;
|
|
83
|
+
// The content wins over the label: a paste or @-mention declares a
|
|
84
|
+
// media type from the filename, and a renamed file would otherwise be
|
|
85
|
+
// sent to the backend under a type its bytes contradict. The sniff
|
|
86
|
+
// reads magic bytes only (no decode, no re-encode), so a mislabeled
|
|
87
|
+
// image keeps its bytes, animation included. Content it cannot identify
|
|
88
|
+
// takes the decode-or-refuse path below with the declared label.
|
|
89
|
+
const sniffed = sniffImageMediaType(data);
|
|
90
|
+
if (sniffed !== undefined && sniffed !== mediaType)
|
|
91
|
+
mediaType = sniffed;
|
|
92
|
+
const dimensions = { maxImageDimension: caps.maxImageDimension, maxImagePixels: caps.maxImagePixels };
|
|
93
|
+
let size = probeImageSize(data);
|
|
94
|
+
let originalDimensions;
|
|
95
|
+
const accepted = caps.mediaTypes.includes(mediaType);
|
|
96
|
+
if (!accepted || size === null || !withinDimensionLimits(size, dimensions)) {
|
|
97
|
+
const outcome = await adaptImageForAdmission(data, mediaType, dimensions, caps.mediaTypes);
|
|
98
|
+
if (outcome.kind === 'adapted') {
|
|
99
|
+
if (size !== null && outcome.resized)
|
|
100
|
+
originalDimensions = { width: size.width, height: size.height };
|
|
101
|
+
data = outcome.data;
|
|
102
|
+
mediaType = outcome.mediaType;
|
|
103
|
+
size = { width: outcome.width, height: outcome.height };
|
|
104
|
+
}
|
|
105
|
+
else if (outcome.kind === 'unavailable') {
|
|
106
|
+
if (!accepted)
|
|
107
|
+
throw new Error(`${mediaType} images are not accepted by this backend and could not be converted (${outcome.detail})`);
|
|
108
|
+
if (size === null)
|
|
109
|
+
throw new Error(`the image could not be measured (${outcome.detail})`);
|
|
110
|
+
// An accepted format the gate could not resample: the backend's
|
|
111
|
+
// own downscaling is the backstop (its hard caps are larger).
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (size === null)
|
|
115
|
+
throw new Error('the image could not be measured');
|
|
116
|
+
if (!caps.mediaTypes.includes(mediaType))
|
|
117
|
+
throw new Error(`${mediaType} images are not accepted by this backend`);
|
|
118
|
+
if (data.byteLength > caps.maxImageBytes)
|
|
119
|
+
throw new Error('the image exceeds the backend\'s per-image size limit');
|
|
120
|
+
const attachmentId = `local-${createHash('sha256').update(data).digest('hex').slice(0, 32)}`;
|
|
121
|
+
const ref = {
|
|
122
|
+
attachmentId,
|
|
123
|
+
mediaType,
|
|
124
|
+
bytes: data.byteLength,
|
|
125
|
+
width: size.width,
|
|
126
|
+
height: size.height,
|
|
127
|
+
...(input.name === undefined ? {} : { name: input.name }),
|
|
128
|
+
...(originalDimensions === undefined ? {} : { originalDimensions }),
|
|
129
|
+
};
|
|
130
|
+
const known = images.get(attachmentId);
|
|
131
|
+
if (known !== undefined) {
|
|
132
|
+
// Content-addressed: the same bytes again move to the newest slot.
|
|
133
|
+
images.delete(attachmentId);
|
|
134
|
+
images.set(attachmentId, known);
|
|
135
|
+
return known.ref;
|
|
136
|
+
}
|
|
137
|
+
images.set(attachmentId, { data, ref });
|
|
138
|
+
total += data.byteLength;
|
|
139
|
+
evict();
|
|
140
|
+
return ref;
|
|
141
|
+
},
|
|
142
|
+
facade(attachment) {
|
|
143
|
+
return images.has(String(attachment.attachmentId)) ? facade(attachment) : undefined;
|
|
144
|
+
},
|
|
145
|
+
bytes: attachmentId => images.get(attachmentId)?.data,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ChannelBinding } from '../binding.js';
|
|
2
|
+
import type { ChannelOwner } from '../owner.js';
|
|
3
|
+
import type { ChannelState } from '../types.js';
|
|
4
|
+
export declare function createCoreReports(deps: {
|
|
5
|
+
owner: Pick<ChannelOwner, 'current'>;
|
|
6
|
+
binding: Pick<ChannelBinding, 'session' | 'capture' | 'isCurrent'>;
|
|
7
|
+
state: () => Pick<ChannelState, 'rows' | 'model' | 'cwd' | 'contextWindow' | 'agentId' | 'backendCapabilities'>;
|
|
8
|
+
}): {
|
|
9
|
+
doctorInfo: () => string[];
|
|
10
|
+
exportSession: () => string | null;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/reports.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAA;AAwBxD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CAAA;IAClE,KAAK,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,qBAAqB,CAAC,CAAA;CAChH;sBAEwB,MAAM,EAAE;yBAoBL,MAAM,GAAG,IAAI;EAqBxC"}
|