@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.
Files changed (279) hide show
  1. package/LICENSE +26 -0
  2. package/lib/CHANGELOG.md +199 -1
  3. package/lib/chrome/box.d.ts +1 -18
  4. package/lib/chrome/box.js +2 -45
  5. package/lib/chrome/box.js.map +1 -1
  6. package/lib/chrome/code-highlight.js +4 -4
  7. package/lib/chrome/code-highlight.js.map +1 -1
  8. package/lib/chrome/command-output.d.ts +0 -1
  9. package/lib/chrome/command-output.js +11 -5
  10. package/lib/chrome/command-output.js.map +1 -1
  11. package/lib/chrome/goal-bar.js +1 -1
  12. package/lib/chrome/goal-bar.js.map +1 -1
  13. package/lib/chrome/main-screen-renderer.js +4 -3
  14. package/lib/chrome/main-screen-renderer.js.map +1 -1
  15. package/lib/chrome/markdown.d.ts +3 -3
  16. package/lib/chrome/markdown.js +85 -36
  17. package/lib/chrome/markdown.js.map +1 -1
  18. package/lib/chrome/md-style.d.ts +5 -2
  19. package/lib/chrome/md-style.js +13 -4
  20. package/lib/chrome/md-style.js.map +1 -1
  21. package/lib/chrome/renderer.d.ts +37 -1
  22. package/lib/chrome/renderer.js.map +1 -1
  23. package/lib/chrome/status-line.d.ts +3 -3
  24. package/lib/chrome/status-line.js +5 -5
  25. package/lib/chrome/status-line.js.map +1 -1
  26. package/lib/chrome/theme.d.ts +8 -3
  27. package/lib/chrome/theme.js +51 -153
  28. package/lib/chrome/theme.js.map +1 -1
  29. package/lib/commands/auth-account.d.ts +9 -0
  30. package/lib/commands/auth-account.js +202 -0
  31. package/lib/commands/auth-account.js.map +1 -0
  32. package/lib/commands/auth.js +238 -414
  33. package/lib/commands/auth.js.map +1 -1
  34. package/lib/commands/diff.js +22 -16
  35. package/lib/commands/diff.js.map +1 -1
  36. package/lib/commands/export.d.ts +0 -1
  37. package/lib/commands/export.js +97 -32
  38. package/lib/commands/export.js.map +1 -1
  39. package/lib/commands/files.js +2 -8
  40. package/lib/commands/files.js.map +1 -1
  41. package/lib/commands/integrations.d.ts +12 -1
  42. package/lib/commands/integrations.js +120 -23
  43. package/lib/commands/integrations.js.map +1 -1
  44. package/lib/commands/jobs-browser.d.ts +3 -0
  45. package/lib/commands/jobs-browser.js +152 -0
  46. package/lib/commands/jobs-browser.js.map +1 -0
  47. package/lib/commands/jobs.d.ts +3 -14
  48. package/lib/commands/jobs.js +26 -18
  49. package/lib/commands/jobs.js.map +1 -1
  50. package/lib/commands/model.d.ts +3 -0
  51. package/lib/commands/model.js +197 -120
  52. package/lib/commands/model.js.map +1 -1
  53. package/lib/commands/open-external.d.ts +2 -0
  54. package/lib/commands/open-external.js +19 -0
  55. package/lib/commands/open-external.js.map +1 -0
  56. package/lib/commands/permission.js +65 -54
  57. package/lib/commands/permission.js.map +1 -1
  58. package/lib/commands/plugins.js +381 -139
  59. package/lib/commands/plugins.js.map +1 -1
  60. package/lib/commands/schedule-catalog.d.ts +12 -0
  61. package/lib/commands/schedule-catalog.js +41 -0
  62. package/lib/commands/schedule-catalog.js.map +1 -0
  63. package/lib/commands/schedule-history.d.ts +4 -0
  64. package/lib/commands/schedule-history.js +62 -0
  65. package/lib/commands/schedule-history.js.map +1 -0
  66. package/lib/commands/schedule.d.ts +12 -15
  67. package/lib/commands/schedule.js +220 -187
  68. package/lib/commands/schedule.js.map +1 -1
  69. package/lib/commands/session-configuration.d.ts +3 -0
  70. package/lib/commands/session-configuration.js +62 -28
  71. package/lib/commands/session-configuration.js.map +1 -1
  72. package/lib/commands/session.js +111 -66
  73. package/lib/commands/session.js.map +1 -1
  74. package/lib/commands/terminal.js +14 -8
  75. package/lib/commands/terminal.js.map +1 -1
  76. package/lib/definition.d.ts +112 -15
  77. package/lib/index.d.ts +1 -0
  78. package/lib/index.js +1 -0
  79. package/lib/index.js.map +1 -1
  80. package/lib/input/actions.d.ts +1 -1
  81. package/lib/input/actions.js +5 -2
  82. package/lib/input/actions.js.map +1 -1
  83. package/lib/input/composer-files.d.ts +2 -0
  84. package/lib/input/composer-files.js +13 -3
  85. package/lib/input/composer-files.js.map +1 -1
  86. package/lib/input/image-paste.d.ts +5 -12
  87. package/lib/input/image-paste.js +32 -28
  88. package/lib/input/image-paste.js.map +1 -1
  89. package/lib/input/key-test.d.ts +5 -0
  90. package/lib/input/key-test.js +19 -0
  91. package/lib/input/key-test.js.map +1 -0
  92. package/lib/input/keys.d.ts +2 -0
  93. package/lib/input/keys.js +4 -1
  94. package/lib/input/keys.js.map +1 -1
  95. package/lib/locale/index.d.ts +6 -0
  96. package/lib/locale/index.js +32 -0
  97. package/lib/locale/index.js.map +1 -0
  98. package/lib/locale/prompt.d.ts +4 -0
  99. package/lib/locale/prompt.js +24 -0
  100. package/lib/locale/prompt.js.map +1 -0
  101. package/lib/locale/zh.d.ts +1114 -0
  102. package/lib/locale/zh.js +1115 -0
  103. package/lib/locale/zh.js.map +1 -0
  104. package/lib/prompt-intents.d.ts +4 -0
  105. package/lib/prompt-intents.js +4 -0
  106. package/lib/prompt-intents.js.map +1 -1
  107. package/lib/runtime/account-settings.d.ts +18 -0
  108. package/lib/runtime/account-settings.js +241 -0
  109. package/lib/runtime/account-settings.js.map +1 -0
  110. package/lib/runtime/agent-profile.d.ts +3 -3
  111. package/lib/runtime/agent-profile.js +4 -4
  112. package/lib/runtime/agent-profile.js.map +1 -1
  113. package/lib/runtime/btw-policy.js +2 -1
  114. package/lib/runtime/btw-policy.js.map +1 -1
  115. package/lib/runtime/btw.js +1 -2
  116. package/lib/runtime/btw.js.map +1 -1
  117. package/lib/runtime/composer-images.d.ts +2 -2
  118. package/lib/runtime/composer-images.js +4 -4
  119. package/lib/runtime/composer-images.js.map +1 -1
  120. package/lib/runtime/composer-shell.js +27 -1
  121. package/lib/runtime/composer-shell.js.map +1 -1
  122. package/lib/runtime/file-browser.d.ts +19 -0
  123. package/lib/runtime/file-browser.js +291 -0
  124. package/lib/runtime/file-browser.js.map +1 -0
  125. package/lib/runtime/file-review.d.ts +6 -9
  126. package/lib/runtime/file-review.js +91 -7
  127. package/lib/runtime/file-review.js.map +1 -1
  128. package/lib/runtime/help-reader.d.ts +12 -0
  129. package/lib/runtime/help-reader.js +50 -0
  130. package/lib/runtime/help-reader.js.map +1 -0
  131. package/lib/runtime/human-interaction.js +1 -1
  132. package/lib/runtime/human-interaction.js.map +1 -1
  133. package/lib/runtime/model-catalog-editor.d.ts +12 -0
  134. package/lib/runtime/model-catalog-editor.js +215 -0
  135. package/lib/runtime/model-catalog-editor.js.map +1 -0
  136. package/lib/runtime/model-settings.d.ts +11 -0
  137. package/lib/runtime/model-settings.js +404 -0
  138. package/lib/runtime/model-settings.js.map +1 -0
  139. package/lib/runtime/plugin-settings.d.ts +4 -1
  140. package/lib/runtime/plugin-settings.js +164 -88
  141. package/lib/runtime/plugin-settings.js.map +1 -1
  142. package/lib/runtime/prompt-browser.d.ts +9 -0
  143. package/lib/runtime/prompt-browser.js +19 -0
  144. package/lib/runtime/prompt-browser.js.map +1 -0
  145. package/lib/runtime/provider-local.d.ts +27 -27
  146. package/lib/runtime/provider-local.js +1264 -308
  147. package/lib/runtime/provider-local.js.map +1 -1
  148. package/lib/runtime/reference-reader.d.ts +15 -0
  149. package/lib/runtime/reference-reader.js +78 -0
  150. package/lib/runtime/reference-reader.js.map +1 -0
  151. package/lib/runtime/runner.js +38 -29
  152. package/lib/runtime/runner.js.map +1 -1
  153. package/lib/runtime/session-runtime.js +1 -1
  154. package/lib/runtime/session-runtime.js.map +1 -1
  155. package/lib/runtime/settings-draft.d.ts +21 -0
  156. package/lib/runtime/settings-draft.js +166 -0
  157. package/lib/runtime/settings-draft.js.map +1 -0
  158. package/lib/runtime/settings-preferences.js +1 -1
  159. package/lib/runtime/settings-preferences.js.map +1 -1
  160. package/lib/runtime/startup-notices.d.ts +0 -1
  161. package/lib/runtime/startup-notices.js +35 -6
  162. package/lib/runtime/startup-notices.js.map +1 -1
  163. package/lib/runtime/subagent-model-selection.js +2 -1
  164. package/lib/runtime/subagent-model-selection.js.map +1 -1
  165. package/lib/runtime/subagent-settings.d.ts +14 -0
  166. package/lib/runtime/subagent-settings.js +288 -0
  167. package/lib/runtime/subagent-settings.js.map +1 -0
  168. package/lib/runtime/terminal-notifications.d.ts +3 -0
  169. package/lib/runtime/terminal-notifications.js +13 -8
  170. package/lib/runtime/terminal-notifications.js.map +1 -1
  171. package/lib/runtime/terminal-probe.d.ts +2 -0
  172. package/lib/runtime/terminal-probe.js +9 -0
  173. package/lib/runtime/terminal-probe.js.map +1 -1
  174. package/lib/runtime/tool-presentation.js.map +1 -1
  175. package/lib/runtime/tool-reader.d.ts +5 -0
  176. package/lib/runtime/tool-reader.js +27 -0
  177. package/lib/runtime/tool-reader.js.map +1 -0
  178. package/lib/runtime/web-settings.d.ts +14 -0
  179. package/lib/runtime/web-settings.js +339 -0
  180. package/lib/runtime/web-settings.js.map +1 -0
  181. package/lib/session/command-attachments.d.ts +17 -0
  182. package/lib/session/command-attachments.js +50 -0
  183. package/lib/session/command-attachments.js.map +1 -0
  184. package/lib/session/context-diagnostics.d.ts +16 -0
  185. package/lib/session/context-diagnostics.js +15 -0
  186. package/lib/session/context-diagnostics.js.map +1 -1
  187. package/lib/session/external-agents.d.ts +3 -1
  188. package/lib/session/external-agents.js +35 -10
  189. package/lib/session/external-agents.js.map +1 -1
  190. package/lib/session/generation-continuation.d.ts +11 -0
  191. package/lib/session/generation-continuation.js +34 -0
  192. package/lib/session/generation-continuation.js.map +1 -0
  193. package/lib/session/goal-controls.d.ts +5 -0
  194. package/lib/session/goal-controls.js +81 -0
  195. package/lib/session/goal-controls.js.map +1 -0
  196. package/lib/session/interaction-adapter.d.ts +7 -3
  197. package/lib/session/interaction-adapter.js +121 -49
  198. package/lib/session/interaction-adapter.js.map +1 -1
  199. package/lib/session/message-queue.d.ts +2 -0
  200. package/lib/session/message-queue.js +102 -17
  201. package/lib/session/message-queue.js.map +1 -1
  202. package/lib/session/pending-inputs.d.ts +30 -0
  203. package/lib/session/pending-inputs.js +183 -0
  204. package/lib/session/pending-inputs.js.map +1 -0
  205. package/lib/session/session-configuration.js +1 -1
  206. package/lib/session/session-configuration.js.map +1 -1
  207. package/lib/session/session-controller.d.ts +32 -13
  208. package/lib/session/session-controller.js +444 -98
  209. package/lib/session/session-controller.js.map +1 -1
  210. package/lib/session/subagent-roster.d.ts +1 -0
  211. package/lib/session/subagent-roster.js +16 -5
  212. package/lib/session/subagent-roster.js.map +1 -1
  213. package/lib/session/subagent-tracker.d.ts +2 -0
  214. package/lib/session/subagent-tracker.js +18 -0
  215. package/lib/session/subagent-tracker.js.map +1 -1
  216. package/lib/session/tui-settings.d.ts +9 -5
  217. package/lib/session/tui-settings.js +3 -1
  218. package/lib/session/tui-settings.js.map +1 -1
  219. package/lib/session/workflow-projection.d.ts +2 -1
  220. package/lib/session/workflow-projection.js +34 -4
  221. package/lib/session/workflow-projection.js.map +1 -1
  222. package/lib/views/autocomplete.d.ts +10 -7
  223. package/lib/views/autocomplete.js +44 -37
  224. package/lib/views/autocomplete.js.map +1 -1
  225. package/lib/views/context-overview.d.ts +4 -0
  226. package/lib/views/context-overview.js +43 -0
  227. package/lib/views/context-overview.js.map +1 -0
  228. package/lib/views/copy-targets.d.ts +6 -2
  229. package/lib/views/copy-targets.js +19 -14
  230. package/lib/views/copy-targets.js.map +1 -1
  231. package/lib/views/document-reader.d.ts +10 -1
  232. package/lib/views/document-reader.js +59 -5
  233. package/lib/views/document-reader.js.map +1 -1
  234. package/lib/views/event-views.js +29 -11
  235. package/lib/views/event-views.js.map +1 -1
  236. package/lib/views/file-actions.js +21 -0
  237. package/lib/views/file-actions.js.map +1 -1
  238. package/lib/views/file-browser.d.ts +98 -0
  239. package/lib/views/file-browser.js +120 -0
  240. package/lib/views/file-browser.js.map +1 -0
  241. package/lib/views/history-search.js +4 -4
  242. package/lib/views/history-search.js.map +1 -1
  243. package/lib/views/hotkey-format.d.ts +3 -2
  244. package/lib/views/hotkey-format.js +4 -3
  245. package/lib/views/hotkey-format.js.map +1 -1
  246. package/lib/views/hotkeys.js +10 -12
  247. package/lib/views/hotkeys.js.map +1 -1
  248. package/lib/views/list-view.js +16 -11
  249. package/lib/views/list-view.js.map +1 -1
  250. package/lib/views/prompt-selector.d.ts +23 -1
  251. package/lib/views/prompt-selector.js +123 -60
  252. package/lib/views/prompt-selector.js.map +1 -1
  253. package/lib/views/settings-list.d.ts +6 -1
  254. package/lib/views/settings-list.js +69 -46
  255. package/lib/views/settings-list.js.map +1 -1
  256. package/lib/views/tool-actions.d.ts +16 -0
  257. package/lib/views/tool-actions.js +29 -0
  258. package/lib/views/tool-actions.js.map +1 -0
  259. package/lib/views/trajectory-timeline.d.ts +5 -6
  260. package/lib/views/trajectory-timeline.js +25 -15
  261. package/lib/views/trajectory-timeline.js.map +1 -1
  262. package/lib/views/trajectory.d.ts +23 -2
  263. package/lib/views/trajectory.js +404 -186
  264. package/lib/views/trajectory.js.map +1 -1
  265. package/lib/views/transcript-render.d.ts +39 -15
  266. package/lib/views/transcript-render.js +406 -208
  267. package/lib/views/transcript-render.js.map +1 -1
  268. package/lib/views/transcript-types.d.ts +3 -2
  269. package/lib/views/transcript-types.js.map +1 -1
  270. package/lib/views/workflow.d.ts +16 -0
  271. package/lib/views/workflow.js +42 -0
  272. package/lib/views/workflow.js.map +1 -0
  273. package/package.json +61 -58
  274. package/lib/chrome/welcome-tips.d.ts +0 -23
  275. package/lib/chrome/welcome-tips.js +0 -24
  276. package/lib/chrome/welcome-tips.js.map +0 -1
  277. package/lib/session/steering.d.ts +0 -3
  278. package/lib/session/steering.js +0 -9
  279. 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 agent only. */
23
- export declare function bindHumanInteraction(ctx: Context, tui: TuiService, activeAgent: () => Agent | undefined): () => Promise<void>;
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.selected.length === 0 && previousParsed.custom !== undefined ? { initialInput: previousParsed.custom } : {}),
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.intent?.kind === 'plan-review' ? 'Plan review' : (question.header ?? '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
- ...(question.intent?.kind === 'plan-review' ? { approveValue: question.intent.approve } : {}),
91
- ...(request.questions.length > 1 ? { title: `${question.header ?? 'Question'} · ${index + 1}/${request.questions.length}` } : {}),
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 context = request.callId === undefined ? undefined : tui.toolCallContext(request.callId);
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: `Allow ${request.toolName} once?`,
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: `Why reject ${request.toolName}, or what should the agent do instead?`,
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', question: `Where should this exact invocation be ${decision === 'allow' ? 'allowed' : 'rejected'}?`,
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\nMatches the complete arguments, directory, Access and approval reason. Other sandbox and tool protections still apply.',
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 agent only. */
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 = request.signal === undefined ? lifetime.signal : AbortSignal.any([lifetime.signal, request.signal]);
265
- return enqueue(signal, () => askQuestions(tui, { ...request, signal }, questions));
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 => enqueue(AbortSignal.any([invocation.signal, lifetime.signal]), async () => {
274
- if (invocation.rawInput.trim() !== '')
275
- return { kind: 'error', text: 'Usage: /questions' };
276
- if (invocation.agent !== activeAgent())
277
- return { kind: 'error', text: 'Questions belong to the active session.' };
278
- const operation = new AbortController();
279
- const off = ctx.on('session/disposed', (session) => {
280
- if (session === invocation.agent.session)
281
- operation.abort();
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
- try {
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
- if (request.agent !== activeAgent())
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 = request.signal === undefined ? lifetime.signal : AbortSignal.any([lifetime.signal, request.signal]);
304
- return enqueue(signal, () => askApproval(ctx, tui, { ...request, signal }));
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>;