@agi-fans/dsh-tui 0.22.0 → 0.23.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/LICENSE +26 -0
- package/lib/CHANGELOG.md +199 -1
- package/lib/chrome/box.d.ts +1 -18
- package/lib/chrome/box.js +2 -45
- package/lib/chrome/box.js.map +1 -1
- package/lib/chrome/code-highlight.js +4 -4
- package/lib/chrome/code-highlight.js.map +1 -1
- package/lib/chrome/command-output.d.ts +0 -1
- package/lib/chrome/command-output.js +11 -5
- package/lib/chrome/command-output.js.map +1 -1
- package/lib/chrome/goal-bar.js +1 -1
- package/lib/chrome/goal-bar.js.map +1 -1
- package/lib/chrome/main-screen-renderer.js +4 -3
- package/lib/chrome/main-screen-renderer.js.map +1 -1
- package/lib/chrome/markdown.d.ts +3 -3
- package/lib/chrome/markdown.js +85 -36
- package/lib/chrome/markdown.js.map +1 -1
- package/lib/chrome/md-style.d.ts +5 -2
- package/lib/chrome/md-style.js +13 -4
- package/lib/chrome/md-style.js.map +1 -1
- package/lib/chrome/renderer.d.ts +37 -1
- package/lib/chrome/renderer.js.map +1 -1
- package/lib/chrome/status-line.d.ts +3 -3
- package/lib/chrome/status-line.js +5 -5
- package/lib/chrome/status-line.js.map +1 -1
- package/lib/chrome/theme.d.ts +8 -3
- package/lib/chrome/theme.js +51 -153
- package/lib/chrome/theme.js.map +1 -1
- package/lib/commands/auth-account.d.ts +9 -0
- package/lib/commands/auth-account.js +202 -0
- package/lib/commands/auth-account.js.map +1 -0
- package/lib/commands/auth.js +238 -414
- package/lib/commands/auth.js.map +1 -1
- package/lib/commands/diff.js +22 -16
- package/lib/commands/diff.js.map +1 -1
- package/lib/commands/export.d.ts +0 -1
- package/lib/commands/export.js +97 -32
- package/lib/commands/export.js.map +1 -1
- package/lib/commands/files.js +2 -8
- package/lib/commands/files.js.map +1 -1
- package/lib/commands/integrations.d.ts +12 -1
- package/lib/commands/integrations.js +120 -23
- package/lib/commands/integrations.js.map +1 -1
- package/lib/commands/jobs-browser.d.ts +3 -0
- package/lib/commands/jobs-browser.js +152 -0
- package/lib/commands/jobs-browser.js.map +1 -0
- package/lib/commands/jobs.d.ts +3 -14
- package/lib/commands/jobs.js +26 -18
- package/lib/commands/jobs.js.map +1 -1
- package/lib/commands/model.d.ts +3 -0
- package/lib/commands/model.js +197 -120
- package/lib/commands/model.js.map +1 -1
- package/lib/commands/open-external.d.ts +2 -0
- package/lib/commands/open-external.js +19 -0
- package/lib/commands/open-external.js.map +1 -0
- package/lib/commands/permission.js +65 -54
- package/lib/commands/permission.js.map +1 -1
- package/lib/commands/plugins.js +381 -139
- package/lib/commands/plugins.js.map +1 -1
- package/lib/commands/schedule-catalog.d.ts +12 -0
- package/lib/commands/schedule-catalog.js +41 -0
- package/lib/commands/schedule-catalog.js.map +1 -0
- package/lib/commands/schedule-history.d.ts +4 -0
- package/lib/commands/schedule-history.js +62 -0
- package/lib/commands/schedule-history.js.map +1 -0
- package/lib/commands/schedule.d.ts +12 -15
- package/lib/commands/schedule.js +220 -187
- package/lib/commands/schedule.js.map +1 -1
- package/lib/commands/session-configuration.d.ts +3 -0
- package/lib/commands/session-configuration.js +62 -28
- package/lib/commands/session-configuration.js.map +1 -1
- package/lib/commands/session.js +111 -66
- package/lib/commands/session.js.map +1 -1
- package/lib/commands/terminal.js +14 -8
- package/lib/commands/terminal.js.map +1 -1
- package/lib/definition.d.ts +112 -15
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/input/actions.d.ts +1 -1
- package/lib/input/actions.js +5 -2
- package/lib/input/actions.js.map +1 -1
- package/lib/input/composer-files.d.ts +2 -0
- package/lib/input/composer-files.js +13 -3
- package/lib/input/composer-files.js.map +1 -1
- package/lib/input/image-paste.d.ts +5 -12
- package/lib/input/image-paste.js +32 -28
- package/lib/input/image-paste.js.map +1 -1
- package/lib/input/key-test.d.ts +5 -0
- package/lib/input/key-test.js +19 -0
- package/lib/input/key-test.js.map +1 -0
- package/lib/input/keys.d.ts +2 -0
- package/lib/input/keys.js +4 -1
- package/lib/input/keys.js.map +1 -1
- package/lib/locale/index.d.ts +6 -0
- package/lib/locale/index.js +32 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/prompt.d.ts +4 -0
- package/lib/locale/prompt.js +24 -0
- package/lib/locale/prompt.js.map +1 -0
- package/lib/locale/zh.d.ts +1114 -0
- package/lib/locale/zh.js +1115 -0
- package/lib/locale/zh.js.map +1 -0
- package/lib/prompt-intents.d.ts +4 -0
- package/lib/prompt-intents.js +4 -0
- package/lib/prompt-intents.js.map +1 -1
- package/lib/runtime/account-settings.d.ts +18 -0
- package/lib/runtime/account-settings.js +241 -0
- package/lib/runtime/account-settings.js.map +1 -0
- package/lib/runtime/agent-profile.d.ts +3 -3
- package/lib/runtime/agent-profile.js +4 -4
- package/lib/runtime/agent-profile.js.map +1 -1
- package/lib/runtime/btw-policy.js +2 -1
- package/lib/runtime/btw-policy.js.map +1 -1
- package/lib/runtime/btw.js +1 -2
- package/lib/runtime/btw.js.map +1 -1
- package/lib/runtime/composer-images.d.ts +2 -2
- package/lib/runtime/composer-images.js +4 -4
- package/lib/runtime/composer-images.js.map +1 -1
- package/lib/runtime/composer-shell.js +27 -1
- package/lib/runtime/composer-shell.js.map +1 -1
- package/lib/runtime/file-browser.d.ts +19 -0
- package/lib/runtime/file-browser.js +291 -0
- package/lib/runtime/file-browser.js.map +1 -0
- package/lib/runtime/file-review.d.ts +6 -9
- package/lib/runtime/file-review.js +91 -7
- package/lib/runtime/file-review.js.map +1 -1
- package/lib/runtime/help-reader.d.ts +12 -0
- package/lib/runtime/help-reader.js +50 -0
- package/lib/runtime/help-reader.js.map +1 -0
- package/lib/runtime/human-interaction.js +1 -1
- package/lib/runtime/human-interaction.js.map +1 -1
- package/lib/runtime/model-catalog-editor.d.ts +12 -0
- package/lib/runtime/model-catalog-editor.js +215 -0
- package/lib/runtime/model-catalog-editor.js.map +1 -0
- package/lib/runtime/model-settings.d.ts +11 -0
- package/lib/runtime/model-settings.js +404 -0
- package/lib/runtime/model-settings.js.map +1 -0
- package/lib/runtime/plugin-settings.d.ts +4 -1
- package/lib/runtime/plugin-settings.js +164 -88
- package/lib/runtime/plugin-settings.js.map +1 -1
- package/lib/runtime/prompt-browser.d.ts +9 -0
- package/lib/runtime/prompt-browser.js +19 -0
- package/lib/runtime/prompt-browser.js.map +1 -0
- package/lib/runtime/provider-local.d.ts +27 -27
- package/lib/runtime/provider-local.js +1264 -308
- package/lib/runtime/provider-local.js.map +1 -1
- package/lib/runtime/reference-reader.d.ts +15 -0
- package/lib/runtime/reference-reader.js +78 -0
- package/lib/runtime/reference-reader.js.map +1 -0
- package/lib/runtime/runner.js +38 -29
- package/lib/runtime/runner.js.map +1 -1
- package/lib/runtime/session-runtime.js +1 -1
- package/lib/runtime/session-runtime.js.map +1 -1
- package/lib/runtime/settings-draft.d.ts +21 -0
- package/lib/runtime/settings-draft.js +166 -0
- package/lib/runtime/settings-draft.js.map +1 -0
- package/lib/runtime/settings-preferences.js +1 -1
- package/lib/runtime/settings-preferences.js.map +1 -1
- package/lib/runtime/startup-notices.d.ts +0 -1
- package/lib/runtime/startup-notices.js +35 -6
- package/lib/runtime/startup-notices.js.map +1 -1
- package/lib/runtime/subagent-model-selection.js +2 -1
- package/lib/runtime/subagent-model-selection.js.map +1 -1
- package/lib/runtime/subagent-settings.d.ts +14 -0
- package/lib/runtime/subagent-settings.js +288 -0
- package/lib/runtime/subagent-settings.js.map +1 -0
- package/lib/runtime/terminal-notifications.d.ts +3 -0
- package/lib/runtime/terminal-notifications.js +13 -8
- package/lib/runtime/terminal-notifications.js.map +1 -1
- package/lib/runtime/terminal-probe.d.ts +2 -0
- package/lib/runtime/terminal-probe.js +9 -0
- package/lib/runtime/terminal-probe.js.map +1 -1
- package/lib/runtime/tool-presentation.js.map +1 -1
- package/lib/runtime/tool-reader.d.ts +5 -0
- package/lib/runtime/tool-reader.js +27 -0
- package/lib/runtime/tool-reader.js.map +1 -0
- package/lib/runtime/web-settings.d.ts +14 -0
- package/lib/runtime/web-settings.js +339 -0
- package/lib/runtime/web-settings.js.map +1 -0
- package/lib/session/command-attachments.d.ts +17 -0
- package/lib/session/command-attachments.js +50 -0
- package/lib/session/command-attachments.js.map +1 -0
- package/lib/session/context-diagnostics.d.ts +16 -0
- package/lib/session/context-diagnostics.js +15 -0
- package/lib/session/context-diagnostics.js.map +1 -1
- package/lib/session/external-agents.d.ts +3 -1
- package/lib/session/external-agents.js +35 -10
- package/lib/session/external-agents.js.map +1 -1
- package/lib/session/generation-continuation.d.ts +11 -0
- package/lib/session/generation-continuation.js +34 -0
- package/lib/session/generation-continuation.js.map +1 -0
- package/lib/session/goal-controls.d.ts +5 -0
- package/lib/session/goal-controls.js +81 -0
- package/lib/session/goal-controls.js.map +1 -0
- package/lib/session/interaction-adapter.d.ts +7 -3
- package/lib/session/interaction-adapter.js +121 -49
- package/lib/session/interaction-adapter.js.map +1 -1
- package/lib/session/message-queue.d.ts +2 -0
- package/lib/session/message-queue.js +102 -17
- package/lib/session/message-queue.js.map +1 -1
- package/lib/session/pending-inputs.d.ts +30 -0
- package/lib/session/pending-inputs.js +183 -0
- package/lib/session/pending-inputs.js.map +1 -0
- package/lib/session/session-configuration.js +1 -1
- package/lib/session/session-configuration.js.map +1 -1
- package/lib/session/session-controller.d.ts +32 -13
- package/lib/session/session-controller.js +444 -98
- package/lib/session/session-controller.js.map +1 -1
- package/lib/session/subagent-roster.d.ts +1 -0
- package/lib/session/subagent-roster.js +16 -5
- package/lib/session/subagent-roster.js.map +1 -1
- package/lib/session/subagent-tracker.d.ts +2 -0
- package/lib/session/subagent-tracker.js +18 -0
- package/lib/session/subagent-tracker.js.map +1 -1
- package/lib/session/tui-settings.d.ts +9 -5
- package/lib/session/tui-settings.js +3 -1
- package/lib/session/tui-settings.js.map +1 -1
- package/lib/session/workflow-projection.d.ts +2 -1
- package/lib/session/workflow-projection.js +34 -4
- package/lib/session/workflow-projection.js.map +1 -1
- package/lib/views/autocomplete.d.ts +10 -7
- package/lib/views/autocomplete.js +44 -37
- package/lib/views/autocomplete.js.map +1 -1
- package/lib/views/context-overview.d.ts +4 -0
- package/lib/views/context-overview.js +43 -0
- package/lib/views/context-overview.js.map +1 -0
- package/lib/views/copy-targets.d.ts +6 -2
- package/lib/views/copy-targets.js +19 -14
- package/lib/views/copy-targets.js.map +1 -1
- package/lib/views/document-reader.d.ts +10 -1
- package/lib/views/document-reader.js +59 -5
- package/lib/views/document-reader.js.map +1 -1
- package/lib/views/event-views.js +29 -11
- package/lib/views/event-views.js.map +1 -1
- package/lib/views/file-actions.js +21 -0
- package/lib/views/file-actions.js.map +1 -1
- package/lib/views/file-browser.d.ts +98 -0
- package/lib/views/file-browser.js +120 -0
- package/lib/views/file-browser.js.map +1 -0
- package/lib/views/history-search.js +4 -4
- package/lib/views/history-search.js.map +1 -1
- package/lib/views/hotkey-format.d.ts +3 -2
- package/lib/views/hotkey-format.js +4 -3
- package/lib/views/hotkey-format.js.map +1 -1
- package/lib/views/hotkeys.js +10 -12
- package/lib/views/hotkeys.js.map +1 -1
- package/lib/views/list-view.js +16 -11
- package/lib/views/list-view.js.map +1 -1
- package/lib/views/prompt-selector.d.ts +23 -1
- package/lib/views/prompt-selector.js +123 -60
- package/lib/views/prompt-selector.js.map +1 -1
- package/lib/views/settings-list.d.ts +6 -1
- package/lib/views/settings-list.js +69 -46
- package/lib/views/settings-list.js.map +1 -1
- package/lib/views/tool-actions.d.ts +16 -0
- package/lib/views/tool-actions.js +29 -0
- package/lib/views/tool-actions.js.map +1 -0
- package/lib/views/trajectory-timeline.d.ts +5 -6
- package/lib/views/trajectory-timeline.js +25 -15
- package/lib/views/trajectory-timeline.js.map +1 -1
- package/lib/views/trajectory.d.ts +23 -2
- package/lib/views/trajectory.js +404 -186
- package/lib/views/trajectory.js.map +1 -1
- package/lib/views/transcript-render.d.ts +39 -15
- package/lib/views/transcript-render.js +406 -208
- package/lib/views/transcript-render.js.map +1 -1
- package/lib/views/transcript-types.d.ts +3 -2
- package/lib/views/transcript-types.js.map +1 -1
- package/lib/views/workflow.d.ts +16 -0
- package/lib/views/workflow.js +42 -0
- package/lib/views/workflow.js.map +1 -0
- package/package.json +61 -58
- package/lib/chrome/welcome-tips.d.ts +0 -23
- package/lib/chrome/welcome-tips.js +0 -24
- package/lib/chrome/welcome-tips.js.map +0 -1
- package/lib/session/steering.d.ts +0 -3
- package/lib/session/steering.js +0 -9
- package/lib/session/steering.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const recoverable = new Set(['RATE_LIMIT', 'SERVER', 'TIMEOUT', 'TRANSPORT', 'EMPTY_RESPONSE', 'STREAM_CLOSED']);
|
|
2
|
+
const cache = new WeakMap();
|
|
3
|
+
/** Only failed model requests after admitted human work can continue without another prompt. */
|
|
4
|
+
export function continuableFailure(events) {
|
|
5
|
+
if (cache.has(events))
|
|
6
|
+
return cache.get(events) ?? undefined;
|
|
7
|
+
const end = events.findLastIndex(event => event.type === 'turn/start' || event.type === 'turn/end');
|
|
8
|
+
const event = events[end];
|
|
9
|
+
let result;
|
|
10
|
+
if (event?.type === 'turn/end' && event.data.reason.kind === 'error' && recoverable.has(event.data.reason.error.code)) {
|
|
11
|
+
let admitted = false, failed;
|
|
12
|
+
for (let i = end - 1; i >= 0; i--) {
|
|
13
|
+
const previous = events[i];
|
|
14
|
+
if (previous.type === 'turn/start' || previous.type === 'turn/end')
|
|
15
|
+
break;
|
|
16
|
+
if (previous.type === 'user/message' && previous.surfaceOp === 'append') {
|
|
17
|
+
admitted ||= previous.data.source.kind === 'user' && previous.data.content.length > 0
|
|
18
|
+
|| previous.data.source.kind === 'retry' && previous.data.content.length === 0;
|
|
19
|
+
}
|
|
20
|
+
// The latest request step must have failed, rather than a tool or maintenance task.
|
|
21
|
+
if (failed === undefined) {
|
|
22
|
+
if (previous.type === 'assistant/attempt')
|
|
23
|
+
failed = true;
|
|
24
|
+
else if (previous.type === 'step/start' || previous.type === 'assistant/message')
|
|
25
|
+
failed = false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (admitted && failed)
|
|
29
|
+
result = event.seq;
|
|
30
|
+
}
|
|
31
|
+
cache.set(events, result ?? null);
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=generation-continuation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-continuation.js","sourceRoot":"","sources":["../../src/session/generation-continuation.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAA;AAChH,MAAM,KAAK,GAAG,IAAI,OAAO,EAA0C,CAAA;AAEnE,gGAAgG;AAChG,MAAM,UAAU,kBAAkB,CAAC,MAA+B;IAChE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;IACnG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,MAA0B,CAAA;IAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtH,IAAI,QAAQ,GAAG,KAAK,EAAE,MAA2B,CAAA;QACjD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;YAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;gBAAE,MAAK;YACzE,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACxE,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;uBAChF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;YAClF,CAAC;YACD,oFAAoF;YACpF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,mBAAmB;oBAAE,MAAM,GAAG,IAAI,CAAA;qBACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,mBAAmB;oBAAE,MAAM,GAAG,KAAK,CAAA;YAClG,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,IAAI,MAAM;YAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Human controls over the Harness goal; durable phase and live activation stay distinct. */
|
|
2
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
4
|
+
import type { TuiService } from '../definition.ts';
|
|
5
|
+
export declare function openGoalControls(ctx: Context, tui: TuiService, agent: Agent, signal: AbortSignal): Promise<void>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { askPrompt, confirmPrompt } from "../prompt-intents.js";
|
|
2
|
+
import { resolveUiLanguage, uiText } from "../locale/index.js";
|
|
3
|
+
export async function openGoalControls(ctx, tui, agent, signal) {
|
|
4
|
+
const lifetime = new AbortController();
|
|
5
|
+
const owned = AbortSignal.any([signal, lifetime.signal]);
|
|
6
|
+
const t = (source) => uiText(resolveUiLanguage(tui.prefs?.().uiLanguage), source);
|
|
7
|
+
const prompt = (request) => tui.prompt({ ...request, signal: owned, notify: false, onSuperseded: () => lifetime.abort() });
|
|
8
|
+
let diagnostic = '', draft;
|
|
9
|
+
const read = () => ctx.get('goals')?.get(agent);
|
|
10
|
+
const resumable = (goal) => goal.phase !== 'complete' && (goal.phase !== 'active' || goal.activation !== 'armed');
|
|
11
|
+
const exhausted = (goal) => goal.maxGoalRounds > 0 && goal.roundsStarted >= goal.maxGoalRounds;
|
|
12
|
+
const detail = () => {
|
|
13
|
+
if (!ctx.get('goals'))
|
|
14
|
+
return t('Goal controls are unavailable in this profile.');
|
|
15
|
+
const goal = read();
|
|
16
|
+
if (!goal || goal.phase === 'complete')
|
|
17
|
+
return t('No current goal. Use /goal <objective> to create one.');
|
|
18
|
+
return [diagnostic, goal.objective, t(goal.phase === 'active' ? goal.activation === 'armed' ? 'Automatic continuation enabled' : 'Waiting for your instruction to continue' : goal.phase === 'paused' ? 'Goal paused' : 'Goal blocked'),
|
|
19
|
+
`${t('Rounds')}: ${goal.roundsStarted}${goal.maxGoalRounds > 0 ? '/' + goal.maxGoalRounds : ''}`, goal.blockedReason?.message,
|
|
20
|
+
exhausted(goal) ? t('The round limit is reached. Ask the agent to raise the limit before resuming.') : ''].filter(Boolean).join('\n\n');
|
|
21
|
+
};
|
|
22
|
+
const options = () => {
|
|
23
|
+
const goal = read();
|
|
24
|
+
if (!goal || goal.phase === 'complete')
|
|
25
|
+
return [{ label: t('Back'), value: 'back' }];
|
|
26
|
+
return [
|
|
27
|
+
{ label: t(resumable(goal) ? 'Resume goal' : 'Pause goal'), value: resumable(goal) ? 'resume' : 'pause', disabled: resumable(goal) && exhausted(goal) },
|
|
28
|
+
{ label: t('Edit objective'), value: 'edit' }, { label: t('Clear goal'), value: 'clear' }, { label: t('Back'), value: 'back' },
|
|
29
|
+
];
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
while (!owned.aborted) {
|
|
33
|
+
const action = await prompt({ title: t('Current goal'), question: t('Manage this session’s goal'), detail: detail(), refreshDocument: detail,
|
|
34
|
+
options: options(), refreshOptions: options, allowCustom: false });
|
|
35
|
+
if (owned.aborted || action === null || action === 'back')
|
|
36
|
+
return;
|
|
37
|
+
const goal = read();
|
|
38
|
+
if (!goal || goal.phase === 'complete')
|
|
39
|
+
continue;
|
|
40
|
+
try {
|
|
41
|
+
if (action === 'edit') {
|
|
42
|
+
const objective = await prompt(askPrompt({ title: t('Edit objective'), question: t('What should this goal achieve?'), initialInput: draft?.id === goal.id ? draft.objective : goal.objective }));
|
|
43
|
+
if (owned.aborted)
|
|
44
|
+
return;
|
|
45
|
+
if (objective === null)
|
|
46
|
+
continue;
|
|
47
|
+
draft = { id: goal.id, objective };
|
|
48
|
+
}
|
|
49
|
+
else if (action === 'clear') {
|
|
50
|
+
if (!await confirmPrompt(prompt, { title: t('Clear goal'), question: t('Clear this goal?'), detail: goal.objective,
|
|
51
|
+
acceptLabel: t('Clear goal'), cancelLabel: t('Keep goal'), signal: owned }) || owned.aborted)
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
owned.throwIfAborted();
|
|
55
|
+
const service = ctx.get('goals');
|
|
56
|
+
if (!service)
|
|
57
|
+
throw new Error(t('Goal controls are unavailable in this profile.'));
|
|
58
|
+
if (action === 'edit') {
|
|
59
|
+
service.edit(agent, goal, { objective: draft.objective });
|
|
60
|
+
draft = undefined;
|
|
61
|
+
}
|
|
62
|
+
else if (action === 'clear')
|
|
63
|
+
service.clear(agent, goal);
|
|
64
|
+
else if (action === 'pause' && !resumable(goal))
|
|
65
|
+
service.pause(agent, goal);
|
|
66
|
+
else if (action === 'resume' && resumable(goal) && !exhausted(goal))
|
|
67
|
+
service.resume(agent, goal);
|
|
68
|
+
diagnostic = '';
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (owned.aborted)
|
|
72
|
+
return;
|
|
73
|
+
diagnostic = error instanceof Error ? error.message : String(error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
lifetime.abort();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=goal-controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal-controls.js","sourceRoot":"","sources":["../../src/session/goal-controls.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,12 @@ export declare function parsePromptAnswer(input: string, question: Pick<AskUserQ
|
|
|
16
16
|
custom?: string;
|
|
17
17
|
};
|
|
18
18
|
/** Preserve the full action and reason for the scrollable approval reader. */
|
|
19
|
-
export declare function approvalDetail(tui: TuiService, request: ApprovalRequest): {
|
|
19
|
+
export declare function approvalDetail(tui: TuiService, request: ApprovalRequest, descendant?: boolean): {
|
|
20
20
|
detail?: string;
|
|
21
21
|
};
|
|
22
|
-
/** Bind the global question provider and route approvals to the active root
|
|
23
|
-
export declare function bindHumanInteraction(ctx: Context, tui: TuiService, activeAgent: () => Agent | undefined
|
|
22
|
+
/** Bind the global question provider and route approvals to the active root and authorized live descendants. */
|
|
23
|
+
export declare function bindHumanInteraction(ctx: Context, tui: TuiService, activeAgent: () => Agent | undefined, beginDescendantApproval?: (agent: Agent) => {
|
|
24
|
+
label: string;
|
|
25
|
+
signal: AbortSignal;
|
|
26
|
+
finish(): void;
|
|
27
|
+
} | undefined, activeSignal?: () => AbortSignal): () => Promise<void>;
|
|
@@ -5,12 +5,56 @@
|
|
|
5
5
|
* this module only translates their fixed vocabularies to one Tui prompt.
|
|
6
6
|
* @module @agi-fans/dsh-tui/interaction-adapter
|
|
7
7
|
*/
|
|
8
|
+
import { resolveUiLanguage, uiText } from "../locale/index.js";
|
|
8
9
|
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
9
10
|
import { UserQuestionError, } from '@deepseek-ai/dsh-user-questions';
|
|
10
11
|
import { approvalActionDetail } from "../views/approval-rule.js";
|
|
11
12
|
const QUESTION_BACK_VALUE = '__back__';
|
|
13
|
+
/** Keep the review decision separate from free text, even feedback such as "Approve". */
|
|
14
|
+
async function reviewPlan(tui, question, signal, notify, interrupt) {
|
|
15
|
+
const intent = question.intent;
|
|
16
|
+
if (intent?.kind !== 'plan-review')
|
|
17
|
+
throw new Error('Expected a plan review');
|
|
18
|
+
const t = (source) => uiText(resolveUiLanguage(tui.prefs?.().uiLanguage), source);
|
|
19
|
+
let draft = '', selected = intent.approve;
|
|
20
|
+
while (true) {
|
|
21
|
+
signal.throwIfAborted();
|
|
22
|
+
const decision = await tui.prompt({ title: t('Plan review'), question: question.question,
|
|
23
|
+
...(question.detail === undefined ? {} : { detail: question.detail }),
|
|
24
|
+
...(question.options === undefined ? {} : { options: question.options }), presentation: 'plan-review', approveValue: intent.approve,
|
|
25
|
+
initialValue: selected, allowCustom: false, localize: ['question', 'options'], notify, signal, interrupt });
|
|
26
|
+
notify = false;
|
|
27
|
+
signal.throwIfAborted();
|
|
28
|
+
if (decision === null) {
|
|
29
|
+
if (draft.trim() !== '')
|
|
30
|
+
tui.insertText?.(draft);
|
|
31
|
+
throw new UserQuestionError('The user dismissed the plan review.', 'ASK_CANCELLED');
|
|
32
|
+
}
|
|
33
|
+
if (!question.options?.some(option => option.label === decision))
|
|
34
|
+
continue;
|
|
35
|
+
if (decision === intent.approve)
|
|
36
|
+
return { id: question.id, selected: [intent.approve] };
|
|
37
|
+
selected = decision;
|
|
38
|
+
const feedback = await tui.prompt({ title: t('Revision feedback · optional'), question: t('What should the revised plan change?'),
|
|
39
|
+
options: [{ label: t('Continue without feedback'), value: '' }], initialInput: draft, allowCustom: true, notify: false, signal, interrupt,
|
|
40
|
+
onCancelDraft: value => { draft = value; } });
|
|
41
|
+
signal.throwIfAborted();
|
|
42
|
+
if (feedback === null)
|
|
43
|
+
continue;
|
|
44
|
+
return { id: question.id, selected: [decision], ...(feedback.trim() === '' ? {} : { custom: feedback.trim() }) };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
12
47
|
/** Resolve a label/number list while preserving unmatched input as custom text. */
|
|
13
48
|
export function parsePromptAnswer(input, question) {
|
|
49
|
+
try {
|
|
50
|
+
const answer = JSON.parse(input);
|
|
51
|
+
if (answer !== null && typeof answer === 'object' && Array.isArray(answer.selected)
|
|
52
|
+
&& answer.selected.every((value) => typeof value === 'string')
|
|
53
|
+
&& (answer.custom === undefined || typeof answer.custom === 'string')) {
|
|
54
|
+
return { selected: answer.selected, ...(answer.custom === undefined ? {} : { custom: answer.custom }) };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch { /* Legacy text-only prompt providers return labels or numbers. */ }
|
|
14
58
|
const options = question.options ?? [];
|
|
15
59
|
const tokens = question.multiSelect === true ? input.split(',').map(token => token.trim()) : [input.trim()];
|
|
16
60
|
const selected = [];
|
|
@@ -32,6 +76,7 @@ export function parsePromptAnswer(input, question) {
|
|
|
32
76
|
}
|
|
33
77
|
/** Collect a complete batch under one Harness wait, including PTC sub-calls. */
|
|
34
78
|
async function askQuestions(tui, request, service, notify = true) {
|
|
79
|
+
const t = (source) => uiText(resolveUiLanguage(tui.prefs?.().uiLanguage), source);
|
|
35
80
|
const lifetime = new AbortController();
|
|
36
81
|
const signal = request.signal === undefined ? lifetime.signal : AbortSignal.any([lifetime.signal, request.signal]);
|
|
37
82
|
let timer;
|
|
@@ -65,6 +110,12 @@ async function askQuestions(tui, request, service, notify = true) {
|
|
|
65
110
|
while (index < request.questions.length) {
|
|
66
111
|
const question = request.questions[index];
|
|
67
112
|
signal.throwIfAborted();
|
|
113
|
+
if (question.intent?.kind === 'plan-review') {
|
|
114
|
+
answers[index] = await reviewPlan(tui, question, signal, shouldNotify, () => { lifetime.abort(new UserQuestionError('The user interrupted the question.', 'ASK_ABORTED')); });
|
|
115
|
+
shouldNotify = false;
|
|
116
|
+
index += 1;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
68
119
|
const previousRaw = rawAnswers.get(index);
|
|
69
120
|
const previousParsed = previousRaw === undefined ? undefined : parsePromptAnswer(previousRaw, question);
|
|
70
121
|
const restoredAnswer = previousParsed === undefined
|
|
@@ -72,7 +123,7 @@ async function askQuestions(tui, request, service, notify = true) {
|
|
|
72
123
|
: question.multiSelect === true
|
|
73
124
|
? {
|
|
74
125
|
...(previousParsed.selected.length === 0 ? {} : { initialValues: previousParsed.selected }),
|
|
75
|
-
...(previousParsed.
|
|
126
|
+
...(previousParsed.custom !== undefined ? { initialInput: previousParsed.custom } : {}),
|
|
76
127
|
}
|
|
77
128
|
: previousParsed.custom !== undefined
|
|
78
129
|
? { initialInput: previousParsed.custom }
|
|
@@ -82,15 +133,16 @@ async function askQuestions(tui, request, service, notify = true) {
|
|
|
82
133
|
const promptNotify = shouldNotify;
|
|
83
134
|
shouldNotify = false;
|
|
84
135
|
const raw = await tui.prompt({
|
|
85
|
-
title: question.
|
|
136
|
+
title: question.header ?? t('Question'),
|
|
86
137
|
question: question.question,
|
|
87
138
|
...(question.detail === undefined ? {} : { detail: question.detail }),
|
|
88
139
|
...(question.options === undefined ? {} : { options: question.options }),
|
|
89
140
|
...(question.multiSelect === undefined ? {} : { multiSelect: question.multiSelect }),
|
|
90
|
-
...(
|
|
91
|
-
...(
|
|
92
|
-
...(index > 0 ? { actions: [{ key: 'alt+left', label: 'previous question', valuePrefix: QUESTION_BACK_VALUE, scope: 'list' }] } : {}),
|
|
141
|
+
...(request.questions.length > 1 ? { title: `${question.header ?? t('Question')} · ${index + 1}/${request.questions.length}` } : {}),
|
|
142
|
+
...(index > 0 ? { actions: [{ key: 'alt+left', label: t('previous question'), valuePrefix: QUESTION_BACK_VALUE, scope: 'list' }] } : {}),
|
|
93
143
|
...restoredAnswer,
|
|
144
|
+
answerFormat: 'json',
|
|
145
|
+
onAnswerDraft: answer => { rawAnswers.set(index, JSON.stringify(answer)); },
|
|
94
146
|
...(tui.insertText === undefined ? {} : {
|
|
95
147
|
onCancelDraft: (draft) => {
|
|
96
148
|
if (draft.trim() !== '')
|
|
@@ -98,7 +150,7 @@ async function askQuestions(tui, request, service, notify = true) {
|
|
|
98
150
|
},
|
|
99
151
|
}),
|
|
100
152
|
...(wait === undefined ? {} : { wait }),
|
|
101
|
-
...(request.wait?.timed === true ? { dismissLabel: 'Later' } : {}),
|
|
153
|
+
...(request.wait?.timed === true ? { dismissLabel: t('Later') } : {}),
|
|
102
154
|
...(promptNotify ? {} : { notify: false }),
|
|
103
155
|
skippable: question.intent === undefined,
|
|
104
156
|
allowCustom: true,
|
|
@@ -168,21 +220,25 @@ async function answerPendingQuestions(ctx, tui, agent, signal) {
|
|
|
168
220
|
return accepted ? 'Answer queued for the next model step.' : 'This question has already been answered.';
|
|
169
221
|
}
|
|
170
222
|
/** Preserve the full action and reason for the scrollable approval reader. */
|
|
171
|
-
export function approvalDetail(tui, request) {
|
|
172
|
-
const
|
|
223
|
+
export function approvalDetail(tui, request, descendant = false) {
|
|
224
|
+
const call = descendant && request.callId !== undefined ? request.agent.session.ownEvents().findLast(event => event.type === 'tool/call' && event.data.callId === request.callId) : undefined;
|
|
225
|
+
const context = descendant
|
|
226
|
+
? call?.type === 'tool/call' ? `${call.data.name} ${call.data.arguments}` : undefined
|
|
227
|
+
: request.callId === undefined ? undefined : tui.toolCallContext(request.callId);
|
|
173
228
|
const parts = [context, request.reason].filter((part) => part !== undefined && part !== '');
|
|
174
229
|
return parts.length === 0 ? {} : { detail: parts.join('\n\n') };
|
|
175
230
|
}
|
|
176
|
-
async function askApproval(ctx, tui, request) {
|
|
231
|
+
async function askApproval(ctx, tui, request, agentLabel) {
|
|
232
|
+
const t = (source, values) => uiText(resolveUiLanguage(tui.prefs?.().uiLanguage), source, values);
|
|
177
233
|
const rules = ctx.get('omdshApprovalRules');
|
|
178
234
|
const action = rules?.describe(request);
|
|
179
235
|
// The action and its reason are the detail of a decision, so they belong on
|
|
180
236
|
// the card that carries the decision rather than on a page of their own.
|
|
181
237
|
const raw = await tui.prompt({
|
|
182
|
-
title: 'Approval required'
|
|
183
|
-
question:
|
|
238
|
+
localize: true, title: agentLabel === undefined ? 'Approval required' : `${agentLabel} · ${t('Approval required')}`,
|
|
239
|
+
question: t('Allow {tool} once?', { tool: request.toolName }),
|
|
184
240
|
armMs: 500,
|
|
185
|
-
detail: approvalDetail(tui, request).detail ?? request.toolName,
|
|
241
|
+
detail: approvalDetail(tui, request, agentLabel !== undefined).detail ?? request.toolName,
|
|
186
242
|
options: [
|
|
187
243
|
{ label: 'Allow once', description: 'Run only this requested action.' },
|
|
188
244
|
{ label: 'Reject', description: 'Deny this action.' },
|
|
@@ -194,17 +250,17 @@ async function askApproval(ctx, tui, request) {
|
|
|
194
250
|
],
|
|
195
251
|
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
196
252
|
});
|
|
197
|
-
if (raw === null)
|
|
253
|
+
if (request.signal?.aborted || raw === null)
|
|
198
254
|
return 'cancelled';
|
|
199
255
|
if (raw === 'reject-note') {
|
|
200
256
|
const note = await tui.prompt({
|
|
201
|
-
title: 'Reject with note'
|
|
202
|
-
question:
|
|
257
|
+
localize: true, title: agentLabel === undefined ? 'Reject with note' : `${agentLabel} · ${t('Reject with note')}`,
|
|
258
|
+
question: t('Why reject {tool}, or what should the agent do instead?', { tool: request.toolName }),
|
|
203
259
|
allowCustom: true,
|
|
204
260
|
notify: false,
|
|
205
261
|
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
206
262
|
});
|
|
207
|
-
if (note === null)
|
|
263
|
+
if (request.signal?.aborted || note === null)
|
|
208
264
|
return 'cancelled';
|
|
209
265
|
const trimmed = note.trim();
|
|
210
266
|
if (trimmed !== '') {
|
|
@@ -219,14 +275,14 @@ async function askApproval(ctx, tui, request) {
|
|
|
219
275
|
}
|
|
220
276
|
if ((raw === 'remember-allow' || raw === 'remember-reject') && action !== undefined && rules !== undefined) {
|
|
221
277
|
const decision = raw === 'remember-allow' ? 'allow' : 'reject';
|
|
222
|
-
const scope = await tui.prompt({ title: 'Remember approval decision'
|
|
278
|
+
const scope = await tui.prompt({ localize: true, title: agentLabel === undefined ? 'Remember approval decision' : `${agentLabel} · ${t('Remember approval decision')}`, question: decision === 'allow' ? 'Where should this exact invocation be allowed?' : 'Where should this exact invocation be rejected?',
|
|
223
279
|
detail: approvalActionDetail(action)
|
|
224
|
-
+ '\n\
|
|
280
|
+
+ '\n\n' + t('Matches the complete arguments, directory, Access and approval reason. Other sandbox and tool protections still apply.'),
|
|
225
281
|
options: [{ label: 'This session', value: 'session', description: 'Retained on resume; not inherited by forks or children.' },
|
|
226
282
|
{ label: 'This workspace', value: 'workspace', description: 'Applies to sessions with this same workspace boundary.' },
|
|
227
283
|
{ label: 'Cancel', value: 'cancel', description: 'Save nothing and cancel this request.' }],
|
|
228
284
|
initialValue: 'cancel', allowCustom: false, notify: false, ...(request.signal === undefined ? {} : { signal: request.signal }) });
|
|
229
|
-
if (scope !== 'session' && scope !== 'workspace')
|
|
285
|
+
if (request.signal?.aborted || scope !== 'session' && scope !== 'workspace')
|
|
230
286
|
return 'cancelled';
|
|
231
287
|
rules.remember(request, scope, decision);
|
|
232
288
|
return decision === 'allow' ? 'allowed-once' : 'rejected';
|
|
@@ -237,10 +293,12 @@ async function askApproval(ctx, tui, request) {
|
|
|
237
293
|
? 'allowed-once'
|
|
238
294
|
: 'rejected';
|
|
239
295
|
}
|
|
240
|
-
/** Bind the global question provider and route approvals to the active root
|
|
241
|
-
export function bindHumanInteraction(ctx, tui, activeAgent) {
|
|
296
|
+
/** Bind the global question provider and route approvals to the active root and authorized live descendants. */
|
|
297
|
+
export function bindHumanInteraction(ctx, tui, activeAgent, beginDescendantApproval, activeSignal) {
|
|
242
298
|
const disposers = [];
|
|
243
299
|
const lifetime = new AbortController();
|
|
300
|
+
const scopeSignal = (signal) => AbortSignal.any([lifetime.signal,
|
|
301
|
+
...(activeSignal === undefined ? [] : [activeSignal()]), ...(signal === undefined ? [] : [signal])]);
|
|
244
302
|
let queue = Promise.resolve();
|
|
245
303
|
const enqueue = (signal, operation) => {
|
|
246
304
|
const pending = queue.then(() => { signal.throwIfAborted(); return operation(); });
|
|
@@ -261,8 +319,12 @@ export function bindHumanInteraction(ctx, tui, activeAgent) {
|
|
|
261
319
|
disposers.push(ctx.on('user-questions/request', (request, next) => {
|
|
262
320
|
if (request.agent !== undefined && request.agent !== activeAgent())
|
|
263
321
|
return next();
|
|
264
|
-
const signal =
|
|
265
|
-
return enqueue(signal, () =>
|
|
322
|
+
const signal = scopeSignal(request.signal);
|
|
323
|
+
return enqueue(signal, () => {
|
|
324
|
+
if (request.agent !== undefined && request.agent !== activeAgent())
|
|
325
|
+
throw new UserQuestionError('The question belongs to a previous session.', 'ASK_ABORTED');
|
|
326
|
+
return askQuestions(tui, { ...request, signal }, questions);
|
|
327
|
+
});
|
|
266
328
|
}));
|
|
267
329
|
}
|
|
268
330
|
const commands = ctx.get('commands');
|
|
@@ -270,38 +332,48 @@ export function bindHumanInteraction(ctx, tui, activeAgent) {
|
|
|
270
332
|
disposers.push(commands.register({
|
|
271
333
|
name: 'questions',
|
|
272
334
|
description: 'Answer questions left pending in this session',
|
|
273
|
-
handler: invocation =>
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
335
|
+
handler: invocation => {
|
|
336
|
+
const ownedSignal = scopeSignal(invocation.signal);
|
|
337
|
+
return enqueue(ownedSignal, async () => {
|
|
338
|
+
if (invocation.rawInput.trim() !== '')
|
|
339
|
+
return { kind: 'error', text: 'Usage: /questions' };
|
|
340
|
+
if (invocation.agent !== activeAgent())
|
|
341
|
+
return { kind: 'error', text: 'Questions belong to the active session.' };
|
|
342
|
+
const operation = new AbortController();
|
|
343
|
+
const off = ctx.on('session/disposed', (session) => {
|
|
344
|
+
if (session === invocation.agent.session)
|
|
345
|
+
operation.abort();
|
|
346
|
+
});
|
|
347
|
+
try {
|
|
348
|
+
const signal = AbortSignal.any([ownedSignal, operation.signal]);
|
|
349
|
+
const text = await answerPendingQuestions(ctx, tui, invocation.agent, signal);
|
|
350
|
+
return { kind: 'success', ...(text === undefined ? {} : { text }) };
|
|
351
|
+
}
|
|
352
|
+
catch (error) {
|
|
353
|
+
if (operation.signal.aborted || ownedSignal.aborted)
|
|
354
|
+
return { kind: 'success' };
|
|
355
|
+
return { kind: 'error', text: error instanceof Error ? error.message : String(error) };
|
|
356
|
+
}
|
|
357
|
+
finally {
|
|
358
|
+
off();
|
|
359
|
+
}
|
|
282
360
|
});
|
|
283
|
-
|
|
284
|
-
const signal = AbortSignal.any([invocation.signal, lifetime.signal, operation.signal]);
|
|
285
|
-
const text = await answerPendingQuestions(ctx, tui, invocation.agent, signal);
|
|
286
|
-
return { kind: 'success', ...(text === undefined ? {} : { text }) };
|
|
287
|
-
}
|
|
288
|
-
catch (error) {
|
|
289
|
-
if (operation.signal.aborted || invocation.signal.aborted || lifetime.signal.aborted)
|
|
290
|
-
return { kind: 'success' };
|
|
291
|
-
return { kind: 'error', text: error instanceof Error ? error.message : String(error) };
|
|
292
|
-
}
|
|
293
|
-
finally {
|
|
294
|
-
off();
|
|
295
|
-
}
|
|
296
|
-
}),
|
|
361
|
+
},
|
|
297
362
|
}));
|
|
298
363
|
}
|
|
299
364
|
if (ctx.get('approval') !== undefined) {
|
|
300
365
|
disposers.push(ctx.on('approval/request', async (request, next) => {
|
|
301
|
-
|
|
366
|
+
const root = activeAgent();
|
|
367
|
+
const child = request.agent === root ? undefined : beginDescendantApproval?.(request.agent);
|
|
368
|
+
if (request.agent !== activeAgent() && child === undefined)
|
|
302
369
|
return next();
|
|
303
|
-
const signal =
|
|
304
|
-
|
|
370
|
+
const signal = scopeSignal(request.signal);
|
|
371
|
+
const scopedSignal = child === undefined ? signal : AbortSignal.any([signal, child.signal]);
|
|
372
|
+
return enqueue(scopedSignal, () => root !== activeAgent() ? Promise.resolve('cancelled')
|
|
373
|
+
: askApproval(ctx, tui, { ...request, signal: scopedSignal }, child?.label))
|
|
374
|
+
.catch(error => { if (scopedSignal.aborted)
|
|
375
|
+
return 'cancelled'; throw error; })
|
|
376
|
+
.finally(() => child?.finish());
|
|
305
377
|
}));
|
|
306
378
|
}
|
|
307
379
|
return async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-adapter.js","sourceRoot":"","sources":["../../src/session/interaction-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interaction-adapter.js","sourceRoot":"","sources":["../../src/session/interaction-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface QueuedMessage {
|
|
|
7
7
|
id: string;
|
|
8
8
|
target: InboxTarget | 'delivery';
|
|
9
9
|
text: string;
|
|
10
|
+
recovered?: boolean;
|
|
10
11
|
value: UserMessage | TuiSubmission;
|
|
11
12
|
}
|
|
12
13
|
export declare function queuedMessages(agent: Agent, pending: TuiPendingInputs): QueuedMessage[];
|
|
@@ -17,6 +18,7 @@ export declare function openMessageQueue(options: {
|
|
|
17
18
|
agent: Agent;
|
|
18
19
|
tui: Pick<TuiService, 'prompt' | 'notice' | 'restoreInput' | 'pendingInputs'>;
|
|
19
20
|
signal: AbortSignal;
|
|
21
|
+
ownerLabel?: string;
|
|
20
22
|
assertActive(): void;
|
|
21
23
|
restore(message: UserMessage): Promise<TuiSubmission>;
|
|
22
24
|
}): Promise<void>;
|