@sagmans/dsh-tui 0.8.0 → 0.9.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/.agents/skills/dsh-tui-dogfood/SKILL.md +5 -1
- package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +26 -2
- package/README.md +63 -32
- package/lib/agent/history.d.ts +0 -2
- package/lib/agent/history.d.ts.map +1 -1
- package/lib/agent/history.js +1 -1
- package/lib/agent/history.js.map +1 -1
- package/lib/agent/host.d.ts +0 -25
- package/lib/agent/host.d.ts.map +1 -1
- package/lib/agent/host.js +2 -2
- package/lib/agent/host.js.map +1 -1
- package/lib/agent/model.d.ts +38 -6
- package/lib/agent/model.d.ts.map +1 -1
- package/lib/agent/model.js +38 -14
- package/lib/agent/model.js.map +1 -1
- package/lib/agent/prompt-history.d.ts +7 -12
- package/lib/agent/prompt-history.d.ts.map +1 -1
- package/lib/agent/prompt-history.js +10 -31
- package/lib/agent/prompt-history.js.map +1 -1
- package/lib/cards/composition.d.ts +1 -1
- package/lib/cards/composition.d.ts.map +1 -1
- package/lib/cards/composition.js +7 -0
- package/lib/cards/composition.js.map +1 -1
- package/lib/cards/presenter.d.ts.map +1 -1
- package/lib/cards/presenter.js +32 -2
- package/lib/cards/presenter.js.map +1 -1
- package/lib/cards.d.ts +27 -2
- package/lib/cards.d.ts.map +1 -1
- package/lib/cards.js +17 -3
- package/lib/cards.js.map +1 -1
- package/lib/compat/probe.js +1 -1
- package/lib/compat/probe.js.map +1 -1
- package/lib/config.d.ts +10 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +18 -0
- package/lib/config.js.map +1 -1
- package/lib/contracts.d.ts +2 -0
- package/lib/contracts.d.ts.map +1 -1
- package/lib/export.d.ts +12 -0
- package/lib/export.d.ts.map +1 -1
- package/lib/export.js +34 -3
- package/lib/export.js.map +1 -1
- package/lib/herdr/client.d.ts +0 -9
- package/lib/herdr/client.d.ts.map +1 -1
- package/lib/herdr/client.js +1 -1
- package/lib/herdr/client.js.map +1 -1
- package/lib/herdr/state.d.ts +0 -10
- package/lib/herdr/state.d.ts.map +1 -1
- package/lib/herdr/state.js +1 -1
- package/lib/herdr/state.js.map +1 -1
- package/lib/identity.d.ts +0 -2
- package/lib/identity.d.ts.map +1 -1
- package/lib/identity.js +0 -1
- package/lib/identity.js.map +1 -1
- package/lib/index.d.ts +1 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -5
- package/lib/index.js.map +1 -1
- package/lib/input/keymap.d.ts +1 -7
- package/lib/input/keymap.d.ts.map +1 -1
- package/lib/input/keymap.js +3 -11
- package/lib/input/keymap.js.map +1 -1
- package/lib/input/submission.js +2 -2
- package/lib/input/submission.js.map +1 -1
- package/lib/model-list.d.ts.map +1 -1
- package/lib/model-list.js +17 -5
- package/lib/model-list.js.map +1 -1
- package/lib/queue.d.ts +0 -2
- package/lib/queue.d.ts.map +1 -1
- package/lib/queue.js +1 -1
- package/lib/queue.js.map +1 -1
- package/lib/settings-notice.d.ts +10 -1
- package/lib/settings-notice.d.ts.map +1 -1
- package/lib/settings-notice.js +17 -7
- package/lib/settings-notice.js.map +1 -1
- package/lib/spacing.d.ts +40 -0
- package/lib/spacing.d.ts.map +1 -0
- package/lib/spacing.js +54 -0
- package/lib/spacing.js.map +1 -0
- package/lib/stash/paths.d.ts +19 -10
- package/lib/stash/paths.d.ts.map +1 -1
- package/lib/stash/paths.js +52 -23
- package/lib/stash/paths.js.map +1 -1
- package/lib/stash/schema.d.ts +13 -12
- package/lib/stash/schema.d.ts.map +1 -1
- package/lib/stash/schema.js +11 -9
- package/lib/stash/schema.js.map +1 -1
- package/lib/stash/store.d.ts.map +1 -1
- package/lib/stash/store.js +9 -19
- package/lib/stash/store.js.map +1 -1
- package/lib/stash.d.ts +17 -10
- package/lib/stash.d.ts.map +1 -1
- package/lib/stash.js +31 -20
- package/lib/stash.js.map +1 -1
- package/lib/subagents.d.ts +0 -4
- package/lib/subagents.d.ts.map +1 -1
- package/lib/subagents.js +2 -2
- package/lib/subagents.js.map +1 -1
- package/lib/surface/appearance.d.ts +3 -0
- package/lib/surface/appearance.d.ts.map +1 -1
- package/lib/surface/appearance.js +5 -0
- package/lib/surface/appearance.js.map +1 -1
- package/lib/surface/background-work.d.ts.map +1 -1
- package/lib/surface/background-work.js +17 -1
- package/lib/surface/background-work.js.map +1 -1
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +26 -6
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +11 -0
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/surface/model-choice.d.ts.map +1 -1
- package/lib/surface/model-choice.js +18 -18
- package/lib/surface/model-choice.js.map +1 -1
- package/lib/surface/preset-choice.d.ts.map +1 -1
- package/lib/surface/preset-choice.js +18 -10
- package/lib/surface/preset-choice.js.map +1 -1
- package/lib/surface/prompt-memory.d.ts +3 -1
- package/lib/surface/prompt-memory.d.ts.map +1 -1
- package/lib/surface/prompt-memory.js +10 -11
- package/lib/surface/prompt-memory.js.map +1 -1
- package/lib/surface/session-lifecycle.d.ts +6 -1
- package/lib/surface/session-lifecycle.d.ts.map +1 -1
- package/lib/surface/session-lifecycle.js +27 -8
- package/lib/surface/session-lifecycle.js.map +1 -1
- package/lib/surface/session-view.d.ts.map +1 -1
- package/lib/surface/session-view.js +1 -3
- package/lib/surface/session-view.js.map +1 -1
- package/lib/surface/staged-turns.d.ts +0 -2
- package/lib/surface/staged-turns.d.ts.map +1 -1
- package/lib/surface/staged-turns.js +37 -6
- package/lib/surface/staged-turns.js.map +1 -1
- package/lib/terminal/external-editor.d.ts +16 -0
- package/lib/terminal/external-editor.d.ts.map +1 -1
- package/lib/terminal/external-editor.js +38 -6
- package/lib/terminal/external-editor.js.map +1 -1
- package/lib/terminal/host-writes.d.ts +15 -2
- package/lib/terminal/host-writes.d.ts.map +1 -1
- package/lib/terminal/host-writes.js +10 -1
- package/lib/terminal/host-writes.js.map +1 -1
- package/lib/terminal/restore.d.ts +1 -2
- package/lib/terminal/restore.d.ts.map +1 -1
- package/lib/terminal/restore.js +1 -9
- package/lib/terminal/restore.js.map +1 -1
- package/lib/terminal/signals.d.ts +0 -1
- package/lib/terminal/signals.d.ts.map +1 -1
- package/lib/terminal/signals.js +1 -1
- package/lib/terminal/signals.js.map +1 -1
- package/lib/terminal/title.d.ts.map +1 -1
- package/lib/terminal/title.js +14 -3
- package/lib/terminal/title.js.map +1 -1
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +12 -1
- package/lib/terminal/warning-screen.js.map +1 -1
- package/lib/theme-capability.d.ts +0 -2
- package/lib/theme-capability.d.ts.map +1 -1
- package/lib/theme-capability.js +1 -1
- package/lib/theme-capability.js.map +1 -1
- package/lib/theme-defaults.d.ts.map +1 -1
- package/lib/theme-defaults.js +7 -0
- package/lib/theme-defaults.js.map +1 -1
- package/lib/theme-schema.d.ts +6 -6
- package/lib/theme-settings.d.ts +13 -8
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/theme-settings.js +7 -1
- package/lib/theme-settings.js.map +1 -1
- package/lib/theme-tokens.d.ts +1 -1
- package/lib/theme-tokens.d.ts.map +1 -1
- package/lib/theme-tokens.js +7 -2
- package/lib/theme-tokens.js.map +1 -1
- package/lib/transcript.d.ts +2 -2
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +9 -4
- package/lib/transcript.js.map +1 -1
- package/lib/ui/dock.d.ts +2 -0
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +18 -3
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/gap.d.ts +28 -0
- package/lib/ui/gap.d.ts.map +1 -0
- package/lib/ui/gap.js +47 -0
- package/lib/ui/gap.js.map +1 -0
- package/lib/ui/gutter.d.ts +25 -0
- package/lib/ui/gutter.d.ts.map +1 -0
- package/lib/ui/gutter.js +31 -0
- package/lib/ui/gutter.js.map +1 -0
- package/lib/ui/layout.d.ts +13 -1
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +32 -6
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/queue.d.ts +0 -4
- package/lib/ui/queue.d.ts.map +1 -1
- package/lib/ui/queue.js +2 -2
- package/lib/ui/queue.js.map +1 -1
- package/lib/ui/rows.d.ts +0 -8
- package/lib/ui/rows.d.ts.map +1 -1
- package/lib/ui/rows.js +1 -9
- package/lib/ui/rows.js.map +1 -1
- package/lib/ui/stash-picker.d.ts +2 -2
- package/lib/ui/stash-picker.d.ts.map +1 -1
- package/lib/ui/stash-picker.js +3 -3
- package/lib/ui/stash-picker.js.map +1 -1
- package/lib/ui/view/gate-card.d.ts.map +1 -1
- package/lib/ui/view/gate-card.js +4 -1
- package/lib/ui/view/gate-card.js.map +1 -1
- package/lib/ui/view/tool-card.d.ts +4 -0
- package/lib/ui/view/tool-card.d.ts.map +1 -1
- package/lib/ui/view/tool-card.js +21 -5
- package/lib/ui/view/tool-card.js.map +1 -1
- package/lib/ui/view/transcript-message.d.ts +3 -0
- package/lib/ui/view/transcript-message.d.ts.map +1 -1
- package/lib/ui/view/transcript-message.js +8 -1
- package/lib/ui/view/transcript-message.js.map +1 -1
- package/lib/ui/view.d.ts +11 -6
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +37 -26
- package/lib/ui/view.js.map +1 -1
- package/package.json +3 -1
- package/themes/deepseek-blue.yaml +3 -0
- package/themes/violet-orbit.yaml +9 -4
|
@@ -33,10 +33,7 @@ export function createPresetChoice(ports) {
|
|
|
33
33
|
/** The roster as the picker paints it, refreshed when the picker opens. */
|
|
34
34
|
let presetRows = [];
|
|
35
35
|
/** Choose the mode a session that has not started yet will run. */
|
|
36
|
-
const askForPreset = async (currentId) => {
|
|
37
|
-
const roster = ports.agentPresets;
|
|
38
|
-
if (roster === undefined)
|
|
39
|
-
return undefined;
|
|
36
|
+
const askForPreset = async (roster, currentId) => {
|
|
40
37
|
presetRows = await roster.list();
|
|
41
38
|
return await ports.openPicker(new PresetPicker(() => presetRows, () => currentId, ports.keymap));
|
|
42
39
|
};
|
|
@@ -89,15 +86,26 @@ export function createPresetChoice(ports) {
|
|
|
89
86
|
const agent = ports.drivingAgent();
|
|
90
87
|
if (roster === undefined || agent === undefined)
|
|
91
88
|
return;
|
|
89
|
+
let chosen;
|
|
92
90
|
try {
|
|
93
|
-
|
|
94
|
-
seat = chosen;
|
|
95
|
-
// The durable selection is folded as a marker on the session it belongs
|
|
96
|
-
// to, so a reader watching a child has to come back to see it.
|
|
97
|
-
await ports.returnToDrivenSession();
|
|
91
|
+
chosen = await roster.select(agent.agent, id);
|
|
98
92
|
}
|
|
99
93
|
catch (error) {
|
|
100
94
|
ports.notice(`could not switch the mode: ${error instanceof Error ? error.message : String(error)}`);
|
|
95
|
+
ports.render();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
seat = chosen;
|
|
99
|
+
// The durable selection is folded as a marker on the session it belongs
|
|
100
|
+
// to, so a reader watching a child has to come back to see it.
|
|
101
|
+
try {
|
|
102
|
+
await ports.returnToDrivenSession();
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
// The mode did move, so the notice has to say so: naming the switch here
|
|
106
|
+
// would send the reader hunting for a failure their next session already
|
|
107
|
+
// escaped.
|
|
108
|
+
ports.notice(`the mode switched to "${chosen}", but the return to the driven session failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
101
109
|
}
|
|
102
110
|
ports.render();
|
|
103
111
|
};
|
|
@@ -132,7 +140,7 @@ export function createPresetChoice(ports) {
|
|
|
132
140
|
ports.render();
|
|
133
141
|
return;
|
|
134
142
|
}
|
|
135
|
-
void askForPreset(current).then(picked => picked === undefined ? undefined : applyPreset(picked));
|
|
143
|
+
void askForPreset(roster, current).then(picked => picked === undefined ? undefined : applyPreset(picked));
|
|
136
144
|
return;
|
|
137
145
|
}
|
|
138
146
|
void applyPreset(command.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-choice.js","sourceRoot":"","sources":["../../src/surface/preset-choice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAyC,MAAM,qBAAqB,CAAA;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAmE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;IAE7C;;;;;;;OAOG;IACH,IAAI,IAAI,GAAG,eAAe,CAAA;IAE1B;;;;;;;OAOG;IACH,MAAM,QAAQ,GAAG,GAAuB,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,SAAS,CAAA;IAEhF,2EAA2E;IAC3E,IAAI,UAAU,GAA6B,EAAE,CAAA;IAE7C,mEAAmE;IACnE,MAAM,YAAY,GAAG,KAAK,EAAE,SAA6B,EAA+B,EAAE;
|
|
1
|
+
{"version":3,"file":"preset-choice.js","sourceRoot":"","sources":["../../src/surface/preset-choice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionId } from '@deepseek-ai/dsh-session';
|
|
2
2
|
import type { Keymap } from '../input/actions.ts';
|
|
3
3
|
import { PromptStash } from '../stash.ts';
|
|
4
|
+
import type { StashScope } from '../stash/paths.ts';
|
|
4
5
|
import type { TuiTheme } from '../theme.ts';
|
|
5
6
|
import type { GhostBrush } from '../ui/editor.ts';
|
|
6
7
|
import type { PickerAction, PickerCard } from '../ui/picker.ts';
|
|
@@ -29,6 +30,7 @@ export interface PromptMemoryPorts {
|
|
|
29
30
|
readonly historyEnabled: () => boolean;
|
|
30
31
|
readonly historyGhost: () => boolean;
|
|
31
32
|
readonly historyMaxEntries: () => number;
|
|
33
|
+
readonly stashScope: StashScope;
|
|
32
34
|
readonly theme: TuiTheme;
|
|
33
35
|
readonly keymap: () => Keymap;
|
|
34
36
|
readonly notice: (message: string) => void;
|
|
@@ -68,7 +70,7 @@ export interface PromptMemory {
|
|
|
68
70
|
* The memory the prompt keeps of what was typed, and what it offers back.
|
|
69
71
|
*
|
|
70
72
|
* Two stores, one subject: the prompt history is global and written from every
|
|
71
|
-
* submitted line, while the stash parks a draft for the
|
|
73
|
+
* submitted line, while the stash parks a draft for the selected bank. Both
|
|
72
74
|
* are read through the same editor and both answer in a list, so they share the
|
|
73
75
|
* one owner that knows what the reader is looking at.
|
|
74
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-memory.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM/D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;IACjD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAA;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAA;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAC3E;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,oFAAoF;IACpF,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAA;IACtC,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"prompt-memory.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM/D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;IACjD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAA;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAC3E;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,oFAAoF;IACpF,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAA;IACtC,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAyJzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createPromptHistory } from "../agent/prompt-history.js";
|
|
1
|
+
import { BLOCK_DESCRIPTIONS, createPromptHistory } from "../agent/prompt-history.js";
|
|
2
2
|
import { ghostSuffix } from "../input/ghost.js";
|
|
3
3
|
import { PromptStash } from "../stash.js";
|
|
4
4
|
import { resetSequence } from "../theme-resolver.js";
|
|
@@ -11,7 +11,7 @@ const GHOST_CURSOR_PREFIX = '\u001b[7m';
|
|
|
11
11
|
* The memory the prompt keeps of what was typed, and what it offers back.
|
|
12
12
|
*
|
|
13
13
|
* Two stores, one subject: the prompt history is global and written from every
|
|
14
|
-
* submitted line, while the stash parks a draft for the
|
|
14
|
+
* submitted line, while the stash parks a draft for the selected bank. Both
|
|
15
15
|
* are read through the same editor and both answer in a list, so they share the
|
|
16
16
|
* one owner that knows what the reader is looking at.
|
|
17
17
|
*/
|
|
@@ -65,7 +65,7 @@ export function createPromptMemory(ports) {
|
|
|
65
65
|
}
|
|
66
66
|
if (promptHistory.entries().length === 0) {
|
|
67
67
|
const blocked = promptHistory.blockedReason();
|
|
68
|
-
ports.notice(blocked === undefined ? 'no prompt history yet' : 'prompt history is unavailable: ' + blocked);
|
|
68
|
+
ports.notice(blocked === undefined ? 'no prompt history yet' : 'prompt history is unavailable: ' + BLOCK_DESCRIPTIONS[blocked]);
|
|
69
69
|
ports.render();
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -89,7 +89,7 @@ export function createPromptMemory(ports) {
|
|
|
89
89
|
ports.notice([
|
|
90
90
|
count + (count === 1 ? ' prompt recorded' : ' prompts recorded'),
|
|
91
91
|
promptHistory.path(),
|
|
92
|
-
blocked === undefined ? undefined : 'writes disabled: ' + blocked,
|
|
92
|
+
blocked === undefined ? undefined : 'writes disabled: ' + BLOCK_DESCRIPTIONS[blocked],
|
|
93
93
|
].filter(part => part !== undefined).join(' · '));
|
|
94
94
|
ports.render();
|
|
95
95
|
return;
|
|
@@ -103,7 +103,7 @@ export function createPromptMemory(ports) {
|
|
|
103
103
|
// would describe a successful clear the file never had.
|
|
104
104
|
const blocked = promptHistory.blockedReason();
|
|
105
105
|
if (blocked !== undefined) {
|
|
106
|
-
ports.notice('prompt history is unavailable: ' + blocked);
|
|
106
|
+
ports.notice('prompt history is unavailable: ' + BLOCK_DESCRIPTIONS[blocked]);
|
|
107
107
|
ports.render();
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
@@ -135,17 +135,16 @@ export function createPromptMemory(ports) {
|
|
|
135
135
|
confirm: async (count) => confirmedClear(await ports.openPicker(new StashConfirmPicker(count, () => ports.keymap()))),
|
|
136
136
|
render: () => ports.render(),
|
|
137
137
|
},
|
|
138
|
-
//
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
{ sessionId: () => String(ports.activeSession()) });
|
|
138
|
+
// A session switch must never redirect a queued command to another bank;
|
|
139
|
+
// path mode still guards the editor against writing into the next session.
|
|
140
|
+
{ sessionId: () => String(ports.activeSession()), scope: ports.stashScope });
|
|
142
141
|
return stash;
|
|
143
142
|
};
|
|
144
143
|
/**
|
|
145
144
|
* Follow the session the surface has just opened.
|
|
146
145
|
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
146
|
+
* Session banks switch owners here; shared path banks refresh their count
|
|
147
|
+
* because another surface can change the bank between sessions.
|
|
149
148
|
*/
|
|
150
149
|
const sessionOpened = () => {
|
|
151
150
|
void stash?.open();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-memory.js","sourceRoot":"","sources":["../../src/surface/prompt-memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"prompt-memory.js","sourceRoot":"","sources":["../../src/surface/prompt-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,7 +95,12 @@ export interface SessionLifecycle {
|
|
|
95
95
|
readonly disposeOutgoing: () => Promise<void>;
|
|
96
96
|
/** Start the agent for a session, which is what a replacement joins. */
|
|
97
97
|
readonly openAgent: (id: SessionId, resume: boolean, fork?: ForkInheritance) => Promise<TuiAgent>;
|
|
98
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Move the surface to another stored session without leaving the terminal.
|
|
100
|
+
*
|
|
101
|
+
* The new session settles before the outgoing agent is let go, so a refused
|
|
102
|
+
* switch leaves the session the reader was driving untouched.
|
|
103
|
+
*/
|
|
99
104
|
readonly switchSession: (id: SessionId) => Promise<void>;
|
|
100
105
|
/** Start a fresh session without leaving the terminal. */
|
|
101
106
|
readonly runNewCommand: (title: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../../src/surface/session-lifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../../src/surface/session-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,13 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
65
65
|
// Settled before the transcript is touched, so a refusal leaves neither a
|
|
66
66
|
// half-replayed session nor a half-composed agent behind.
|
|
67
67
|
const preset = await ports.presetFor(id, resume, fork);
|
|
68
|
+
// A session already in service still owns its write handle, and the host refuses
|
|
69
|
+
// a second one: reopening the very session the reader is driving — a reload, or a
|
|
70
|
+
// pick of the session already on screen — has to let that agent go before its
|
|
71
|
+
// replacement is asked for. Every other open settles first, which is what keeps a
|
|
72
|
+
// refusal from taking the reader's agent away with it.
|
|
73
|
+
if (agent !== undefined && agent.sessionId === id)
|
|
74
|
+
await disposeOutgoing();
|
|
68
75
|
const handle = await startAgent(ctx, {
|
|
69
76
|
sessionId: id,
|
|
70
77
|
resume,
|
|
@@ -79,6 +86,13 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
79
86
|
},
|
|
80
87
|
...(fork === undefined ? {} : { fork }),
|
|
81
88
|
});
|
|
89
|
+
// The new session's agent is accepted before the outgoing one is let go:
|
|
90
|
+
// the settled questions above are where an open is refused, and a refusal
|
|
91
|
+
// has to find the reader's own agent still driving an untouched screen.
|
|
92
|
+
// The paths that already let it go — /new, /fork, a staged branch — arrive
|
|
93
|
+
// with none installed.
|
|
94
|
+
if (agent !== undefined)
|
|
95
|
+
await disposeOutgoing();
|
|
82
96
|
sessionOpened = true;
|
|
83
97
|
activeSession = id;
|
|
84
98
|
ports.setViewed(id);
|
|
@@ -128,7 +142,8 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
128
142
|
return handle;
|
|
129
143
|
};
|
|
130
144
|
const switchSession = async (id) => {
|
|
131
|
-
|
|
145
|
+
// The open owns the handover: settling the new session first is what keeps
|
|
146
|
+
// a refused switch from taking the reader's agent away with it.
|
|
132
147
|
await openAgent(id, true);
|
|
133
148
|
};
|
|
134
149
|
const runNewCommand = (title) => {
|
|
@@ -138,9 +153,10 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
138
153
|
return;
|
|
139
154
|
}
|
|
140
155
|
void (async () => {
|
|
156
|
+
// The `agent === undefined` return above is the only way in without a
|
|
157
|
+
// handle, so the one this transition lets go of is always there to stop.
|
|
141
158
|
const previous = letGoOfOutgoing(false);
|
|
142
|
-
|
|
143
|
-
await previous.dispose();
|
|
159
|
+
await previous.dispose();
|
|
144
160
|
await openAgent(SessionId(`tui-session-${randomUUID()}`), false);
|
|
145
161
|
if (title !== '')
|
|
146
162
|
runRenameCommand(title);
|
|
@@ -158,9 +174,11 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
158
174
|
* the reader keeps the conversation they were reading.
|
|
159
175
|
*/
|
|
160
176
|
const runReloadCommand = () => {
|
|
161
|
-
// A failed reload
|
|
162
|
-
//
|
|
163
|
-
//
|
|
177
|
+
// A failed reload keeps the outgoing agent driving, and a failed /new or
|
|
178
|
+
// /fork is the case that leaves none: the command has to stay usable in
|
|
179
|
+
// both, because the retry is what makes a broken composition file
|
|
180
|
+
// recoverable, while a surface that has opened no session yet is still
|
|
181
|
+
// starting.
|
|
164
182
|
if (agent === undefined && !sessionOpened) {
|
|
165
183
|
ports.notice('the agent is still starting; try again in a moment');
|
|
166
184
|
ports.render();
|
|
@@ -207,9 +225,10 @@ export function createSessionLifecycle(ctx, ports) {
|
|
|
207
225
|
return;
|
|
208
226
|
}
|
|
209
227
|
const childId = SessionId(`tui-session-${randomUUID()}`);
|
|
228
|
+
// The driven session's log is read from memory, so no other command can
|
|
229
|
+
// have let the outgoing agent go since the guard that refused an absent one.
|
|
210
230
|
const previous = letGoOfOutgoing(false);
|
|
211
|
-
|
|
212
|
-
await previous.dispose();
|
|
231
|
+
await previous.dispose();
|
|
213
232
|
await openAgent(childId, false, { from: source, events: events.slice(0, point.inheritedEvents) });
|
|
214
233
|
if (title !== '')
|
|
215
234
|
runRenameCommand(title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../../src/surface/session-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAuC,MAAM,kBAAkB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD;;;;;GAKG;AAEH,uEAAuE;AACvE,MAAM,cAAc,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../../src/surface/session-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-view.d.ts","sourceRoot":"","sources":["../../src/surface/session-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"session-view.d.ts","sourceRoot":"","sources":["../../src/surface/session-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,8 @@ import { FoldCursor, ViewGeneration, replayIfCurrent } from "../fold-cursor.js";
|
|
|
4
4
|
import { hintKeys } from "../input/actions.js";
|
|
5
5
|
import { TranscriptModel } from "../transcript.js";
|
|
6
6
|
import { WorkFold } from "../work.js";
|
|
7
|
-
/** What the back hint names when the reader has unbound the key it would advertise. */
|
|
8
|
-
const BACK_HINT_FALLBACK = 'ctrl+b';
|
|
9
7
|
/** What the reader presses to leave a view they did not open. */
|
|
10
|
-
export const backHint = (map) => `${hintKeys(map, 'surface.back')
|
|
8
|
+
export const backHint = (map) => `${hintKeys(map, 'surface.back')} returns to this session`;
|
|
11
9
|
/**
|
|
12
10
|
* The transcript on screen: what is drawn, and never which agent is driven.
|
|
13
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../src/surface/session-view.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAe,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAA;AAErD,
|
|
1
|
+
{"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../src/surface/session-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,8 +60,6 @@ export interface StagedTurns {
|
|
|
60
60
|
readonly stagedCutoff: () => number | undefined;
|
|
61
61
|
/** The cursor over this session's closed turns. */
|
|
62
62
|
readonly cursor: () => UndoState;
|
|
63
|
-
/** Whether an undo is settling an interrupt, so a second press cannot race it. */
|
|
64
|
-
readonly pending: () => boolean;
|
|
65
63
|
/**
|
|
66
64
|
* The cursor at the tip of the session just opened.
|
|
67
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-turns.d.ts","sourceRoot":"","sources":["../../src/surface/staged-turns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EASL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAA;AAEzB;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAA;IACpC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAA;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAA;IACxE,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAA;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACxF,qFAAqF;IACrF,QAAQ,CAAC,YAAY,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAA;IACjD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnG,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAC/C,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAA;IACnC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC/C,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAA;IAChC
|
|
1
|
+
{"version":3,"file":"staged-turns.d.ts","sourceRoot":"","sources":["../../src/surface/staged-turns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EASL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAA;AAEzB;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAA;IACpC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAA;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAA;IACxE,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAA;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACxF,qFAAqF;IACrF,QAAQ,CAAC,YAAY,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAA;IACjD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnG,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAC/C,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAA;IACnC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC/C,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IACzB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAA;CACjC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,WAAW,CAsOrE"}
|
|
@@ -39,8 +39,9 @@ export function createStagedTurns(ports) {
|
|
|
39
39
|
* turn/end; queued prompts are parked first because cancelling drops them.
|
|
40
40
|
*
|
|
41
41
|
* Returns undefined when the reader's words cannot be kept: a queue with no
|
|
42
|
-
* bank to park it in, or a turn that will not close.
|
|
43
|
-
* untouched, so the transcript keeps showing what the model
|
|
42
|
+
* bank to park it in, a park that fails, or a turn that will not close. All
|
|
43
|
+
* leave the cursor untouched, so the transcript keeps showing what the model
|
|
44
|
+
* actually saw; a
|
|
44
45
|
* number is how many queued prompts were parked before the turn was stopped.
|
|
45
46
|
*/
|
|
46
47
|
const settleForUndo = async () => {
|
|
@@ -52,9 +53,19 @@ export function createStagedTurns(ports) {
|
|
|
52
53
|
ports.render();
|
|
53
54
|
return undefined;
|
|
54
55
|
}
|
|
56
|
+
// Park before the interrupt: cancelling the turn drops the queue, so a
|
|
57
|
+
// park that fails must refuse the undo while the words are still queued.
|
|
58
|
+
if (queued.length > 0) {
|
|
59
|
+
try {
|
|
60
|
+
await parkQueued(queued);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
ports.notice('could not park the queued prompts; undo cancelled');
|
|
64
|
+
ports.render();
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
55
68
|
ports.drivingAgent()?.interrupt();
|
|
56
|
-
if (queued.length > 0)
|
|
57
|
-
await parkQueued(queued);
|
|
58
69
|
if (ports.turnRunning() && !(await waitForTurnEnd(UNDO_TURN_SETTLE_MS))) {
|
|
59
70
|
ports.notice('could not stop the turn; undo cancelled');
|
|
60
71
|
ports.render();
|
|
@@ -66,6 +77,10 @@ export function createStagedTurns(ports) {
|
|
|
66
77
|
if (pending)
|
|
67
78
|
return;
|
|
68
79
|
pending = true;
|
|
80
|
+
// A cursor counts one session's turns, so an undo that outlives a session
|
|
81
|
+
// switch must not write the old session's step into the new session's bar.
|
|
82
|
+
const pressedFor = ports.activeSession();
|
|
83
|
+
const overtaken = () => ports.activeSession() !== pressedFor;
|
|
69
84
|
void (async () => {
|
|
70
85
|
if (ports.viewingChild()) {
|
|
71
86
|
ports.notice('undo works on the session this terminal drives · ctrl+b comes back');
|
|
@@ -73,6 +88,8 @@ export function createStagedTurns(ports) {
|
|
|
73
88
|
return;
|
|
74
89
|
}
|
|
75
90
|
const turns = await currentTurns();
|
|
91
|
+
if (overtaken())
|
|
92
|
+
return;
|
|
76
93
|
if (cursor.hidden >= turns.length && !ports.turnRunning()) {
|
|
77
94
|
ports.notice('nothing to undo');
|
|
78
95
|
ports.render();
|
|
@@ -90,7 +107,11 @@ export function createStagedTurns(ports) {
|
|
|
90
107
|
const parked = await settleForUndo();
|
|
91
108
|
if (parked === undefined)
|
|
92
109
|
return;
|
|
110
|
+
if (overtaken())
|
|
111
|
+
return;
|
|
93
112
|
const settledTurns = await currentTurns();
|
|
113
|
+
if (overtaken())
|
|
114
|
+
return;
|
|
94
115
|
const next = undoStep(cursor, settledTurns);
|
|
95
116
|
if (next === undefined) {
|
|
96
117
|
ports.notice('nothing to undo');
|
|
@@ -99,11 +120,15 @@ export function createStagedTurns(ports) {
|
|
|
99
120
|
}
|
|
100
121
|
if (holdsDraft) {
|
|
101
122
|
await ports.parkPrompt(draft);
|
|
123
|
+
if (overtaken())
|
|
124
|
+
return;
|
|
102
125
|
ports.notice('the draft in the bar was parked in the stash');
|
|
103
126
|
}
|
|
104
127
|
cursor = next;
|
|
105
128
|
cut = hiddenTail(next, settledTurns)?.seedCount;
|
|
106
129
|
await redrawStaged();
|
|
130
|
+
if (overtaken())
|
|
131
|
+
return;
|
|
107
132
|
ports.writeDraft(next.lastRestored);
|
|
108
133
|
// The parking count rides the undo notice: a notice of its own would be
|
|
109
134
|
// replaced before the frame could show it.
|
|
@@ -120,6 +145,11 @@ export function createStagedTurns(ports) {
|
|
|
120
145
|
});
|
|
121
146
|
};
|
|
122
147
|
const runRedoCommand = () => {
|
|
148
|
+
// An undo that is still settling owns the cursor; a redo now would step
|
|
149
|
+
// the state that undo is about to replace, so it is dropped like a second
|
|
150
|
+
// undo press.
|
|
151
|
+
if (pending)
|
|
152
|
+
return;
|
|
123
153
|
void (async () => {
|
|
124
154
|
if (ports.viewingChild()) {
|
|
125
155
|
ports.notice('redo works on the session this terminal drives · ctrl+b comes back');
|
|
@@ -173,8 +203,10 @@ export function createStagedTurns(ports) {
|
|
|
173
203
|
const source = ports.activeSession();
|
|
174
204
|
const events = await ports.sessionEvents(source);
|
|
175
205
|
const turns = turnsOf(events);
|
|
206
|
+
// hidden > 0 was settled above, and the driven session's log is read from
|
|
207
|
+
// memory, so the cursor still names a turn this list holds.
|
|
176
208
|
const tail = hiddenTail(cursor, turns);
|
|
177
|
-
const seed =
|
|
209
|
+
const seed = events.slice(0, tail.seedCount);
|
|
178
210
|
const childId = SessionId(`tui-session-${randomUUID()}`);
|
|
179
211
|
await ports.disposeOutgoing();
|
|
180
212
|
const opened = await ports.openSession(childId, false, seed.length === 0 ? undefined : { from: source, events: seed });
|
|
@@ -189,7 +221,6 @@ export function createStagedTurns(ports) {
|
|
|
189
221
|
return {
|
|
190
222
|
stagedCutoff: () => cut,
|
|
191
223
|
cursor: () => cursor,
|
|
192
|
-
pending: () => pending,
|
|
193
224
|
sessionOpened: id => {
|
|
194
225
|
cursor = resetUndo(id);
|
|
195
226
|
cut = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-turns.js","sourceRoot":"","sources":["../../src/surface/staged-turns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGpD,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,QAAQ,GAGT,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"staged-turns.js","sourceRoot":"","sources":["../../src/surface/staged-turns.ts"],"names":[],"mappings":"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"}
|