@agi-fans/dsh-tui 0.22.0 → 0.23.1

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 (282) hide show
  1. package/LICENSE +26 -0
  2. package/lib/CHANGELOG.md +219 -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 +99 -32
  38. package/lib/commands/export.js.map +1 -1
  39. package/lib/commands/files.js +11 -9
  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 +212 -128
  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 +116 -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 +115 -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 +1288 -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 +33 -20
  208. package/lib/session/session-controller.js +500 -129
  209. package/lib/session/session-controller.js.map +1 -1
  210. package/lib/session/session-library.d.ts +3 -1
  211. package/lib/session/session-library.js +15 -0
  212. package/lib/session/session-library.js.map +1 -1
  213. package/lib/session/subagent-roster.d.ts +1 -0
  214. package/lib/session/subagent-roster.js +16 -5
  215. package/lib/session/subagent-roster.js.map +1 -1
  216. package/lib/session/subagent-tracker.d.ts +2 -0
  217. package/lib/session/subagent-tracker.js +18 -0
  218. package/lib/session/subagent-tracker.js.map +1 -1
  219. package/lib/session/tui-settings.d.ts +9 -5
  220. package/lib/session/tui-settings.js +3 -1
  221. package/lib/session/tui-settings.js.map +1 -1
  222. package/lib/session/workflow-projection.d.ts +2 -1
  223. package/lib/session/workflow-projection.js +34 -4
  224. package/lib/session/workflow-projection.js.map +1 -1
  225. package/lib/views/autocomplete.d.ts +12 -12
  226. package/lib/views/autocomplete.js +54 -45
  227. package/lib/views/autocomplete.js.map +1 -1
  228. package/lib/views/context-overview.d.ts +4 -0
  229. package/lib/views/context-overview.js +43 -0
  230. package/lib/views/context-overview.js.map +1 -0
  231. package/lib/views/copy-targets.d.ts +6 -2
  232. package/lib/views/copy-targets.js +19 -14
  233. package/lib/views/copy-targets.js.map +1 -1
  234. package/lib/views/document-reader.d.ts +10 -1
  235. package/lib/views/document-reader.js +63 -6
  236. package/lib/views/document-reader.js.map +1 -1
  237. package/lib/views/event-views.js +29 -11
  238. package/lib/views/event-views.js.map +1 -1
  239. package/lib/views/file-actions.js +21 -0
  240. package/lib/views/file-actions.js.map +1 -1
  241. package/lib/views/file-browser.d.ts +98 -0
  242. package/lib/views/file-browser.js +120 -0
  243. package/lib/views/file-browser.js.map +1 -0
  244. package/lib/views/history-search.js +4 -4
  245. package/lib/views/history-search.js.map +1 -1
  246. package/lib/views/hotkey-format.d.ts +3 -2
  247. package/lib/views/hotkey-format.js +4 -3
  248. package/lib/views/hotkey-format.js.map +1 -1
  249. package/lib/views/hotkeys.js +10 -12
  250. package/lib/views/hotkeys.js.map +1 -1
  251. package/lib/views/list-view.js +16 -11
  252. package/lib/views/list-view.js.map +1 -1
  253. package/lib/views/prompt-selector.d.ts +23 -1
  254. package/lib/views/prompt-selector.js +123 -60
  255. package/lib/views/prompt-selector.js.map +1 -1
  256. package/lib/views/settings-list.d.ts +6 -1
  257. package/lib/views/settings-list.js +69 -46
  258. package/lib/views/settings-list.js.map +1 -1
  259. package/lib/views/tool-actions.d.ts +16 -0
  260. package/lib/views/tool-actions.js +29 -0
  261. package/lib/views/tool-actions.js.map +1 -0
  262. package/lib/views/trajectory-timeline.d.ts +5 -6
  263. package/lib/views/trajectory-timeline.js +25 -15
  264. package/lib/views/trajectory-timeline.js.map +1 -1
  265. package/lib/views/trajectory.d.ts +23 -2
  266. package/lib/views/trajectory.js +404 -186
  267. package/lib/views/trajectory.js.map +1 -1
  268. package/lib/views/transcript-render.d.ts +39 -15
  269. package/lib/views/transcript-render.js +406 -208
  270. package/lib/views/transcript-render.js.map +1 -1
  271. package/lib/views/transcript-types.d.ts +3 -2
  272. package/lib/views/transcript-types.js.map +1 -1
  273. package/lib/views/workflow.d.ts +16 -0
  274. package/lib/views/workflow.js +42 -0
  275. package/lib/views/workflow.js.map +1 -0
  276. package/package.json +61 -58
  277. package/lib/chrome/welcome-tips.d.ts +0 -23
  278. package/lib/chrome/welcome-tips.js +0 -24
  279. package/lib/chrome/welcome-tips.js.map +0 -1
  280. package/lib/session/steering.d.ts +0 -3
  281. package/lib/session/steering.js +0 -9
  282. package/lib/session/steering.js.map +0 -1
@@ -1,37 +1,72 @@
1
1
  /** Agent composition selection and diagnostics. */
2
2
  import { isBlankSession, formatAgentPreset } from "../session/session-configuration.js";
3
3
  import { registerCommands } from "./registration.js";
4
+ import { readReference } from "../runtime/reference-reader.js";
4
5
  export const name = 'omdsh-command-session-configuration';
5
6
  export const inject = ['commands', 'omdshSession', 'tui', 'agentPresets'];
7
+ /** Enter Creator without submitting a prompt or changing the default preset. */
8
+ export async function startCreator(ctx, invocation) {
9
+ const runtime = ctx.get('omdshSession');
10
+ if (runtime === undefined)
11
+ return { kind: 'error', text: 'Creator is unavailable in this host.' };
12
+ if (invocation.agent.status === 'running')
13
+ return { kind: 'error', text: 'Finish or interrupt the active turn before starting Creator.' };
14
+ const preset = (await runtime.agentPresets()).find(preset => preset.id === 'cordis');
15
+ if (preset === undefined || preset.broken !== undefined)
16
+ return { kind: 'error', text: preset?.broken ?? 'Creator is unavailable in this profile.' };
17
+ invocation.signal.throwIfAborted();
18
+ if (isBlankSession(invocation.agent.session))
19
+ await runtime.changeAgentPreset(invocation.agent, preset.id);
20
+ else
21
+ await runtime.newSession(invocation.agent, preset.id);
22
+ return { kind: 'success', text: 'Creator is ready. Describe the plugin you want to create. The default Agent preset is unchanged.' };
23
+ }
6
24
  async function selectAgent(ctx, invocation) {
25
+ const lifetime = new AbortController();
26
+ invocation = { ...invocation, signal: AbortSignal.any([invocation.signal, lifetime.signal]) };
27
+ const reader = {
28
+ prompt: (request) => ctx.tui.prompt({ ...request, onSuperseded: () => lifetime.abort() }),
29
+ ...(ctx.tui.copyText === undefined ? {} : { copyText: (text, label) => ctx.tui.copyText(text, label) }),
30
+ };
31
+ const inspect = async (requested) => {
32
+ const text = await presetDiagnostics(ctx.agentPresets, invocation.agent, requested);
33
+ if (ctx.tui.interactive !== true)
34
+ return { kind: 'success', text };
35
+ await readReference(reader, 'Agent composition', text, invocation.signal);
36
+ return { kind: 'success' };
37
+ };
7
38
  const args = invocation.rawInput.trim().split(/\s+/u);
39
+ if (invocation.rawInput.trim() === 'creator')
40
+ return startCreator(ctx, invocation);
8
41
  if (args[0] === 'inspect' && args.length <= 2) {
9
- return { kind: 'success', text: await presetDiagnostics(ctx.agentPresets, invocation.agent, args[1]) };
42
+ return inspect(args[1]);
10
43
  }
11
44
  if (invocation.rawInput.trim() !== '')
12
- return { kind: 'error', text: 'Usage: /agent [inspect [preset-id]]' };
45
+ return { kind: 'error', text: 'Usage: /agent [creator|inspect [preset-id]]' };
13
46
  if (!isBlankSession(invocation.agent.session)) {
14
47
  const lockedMessage = 'The Agent preset is fixed for this conversation. Start /new to choose a different preset before sending a message. Use /agent inspect to view its composition.';
15
48
  if (ctx.tui.interactive !== true) {
16
49
  return { kind: 'success', text: lockedMessage };
17
50
  }
18
- const action = await ctx.tui.prompt({
19
- title: 'Agent',
20
- question: 'The Agent preset is fixed for this conversation',
21
- detail: 'Start /new to choose a different preset before sending a message.',
22
- options: [
23
- { label: 'Close', value: 'close', description: 'Return to the current conversation' },
24
- { label: 'Inspect composition', value: 'inspect', description: 'View declared presets and this session’s retained composition' },
25
- ],
26
- initialValue: 'close',
27
- allowCustom: false,
28
- notify: false,
29
- signal: invocation.signal,
30
- });
31
- if (action === 'inspect') {
32
- const diagnostics = await presetDiagnostics(ctx.agentPresets, invocation.agent);
33
- // Composition is a report; the transcript is where reports live.
34
- ctx.tui.commandOutput('Agent composition', diagnostics);
51
+ let selected = 'close';
52
+ while (!invocation.signal.aborted) {
53
+ const action = await reader.prompt({ localize: true,
54
+ title: 'Agent',
55
+ question: 'The Agent preset is fixed for this conversation',
56
+ detail: 'Start /new to choose a different preset before sending a message.',
57
+ options: [
58
+ { label: 'Close', value: 'close', description: 'Return to the current conversation' },
59
+ { label: 'Inspect composition', value: 'inspect', description: 'View declared presets and this session’s retained composition' },
60
+ ],
61
+ initialValue: selected,
62
+ allowCustom: false,
63
+ notify: false,
64
+ signal: invocation.signal,
65
+ });
66
+ if (action !== 'inspect')
67
+ break;
68
+ selected = action;
69
+ await inspect();
35
70
  }
36
71
  return { kind: 'success' };
37
72
  }
@@ -39,7 +74,7 @@ async function selectAgent(ctx, invocation) {
39
74
  const presets = await ctx.omdshSession.agentPresets();
40
75
  if (presets.length === 0)
41
76
  return { kind: 'error', text: 'No Agent presets are configured.' };
42
- const selected = await ctx.tui.prompt({
77
+ const selected = await ctx.tui.prompt({ localize: ['title', 'question', 'actions', 'detail'],
43
78
  title: 'Agent',
44
79
  question: 'Choose the Agent composition for this blank session',
45
80
  detail: 'Locked after the first prompt · /agent inspect shows composition diagnostics',
@@ -53,8 +88,7 @@ async function selectAgent(ctx, invocation) {
53
88
  allowCustom: false,
54
89
  notify: false,
55
90
  submitLabel: 'apply',
56
- signal: invocation.signal,
57
- });
91
+ signal: invocation.signal, });
58
92
  if (selected === null)
59
93
  return { kind: 'success' };
60
94
  const broken = presets.find(preset => preset.id === selected)?.broken;
@@ -78,16 +112,16 @@ export async function presetDiagnostics(registry, agent, requested) {
78
112
  if (rows.length === 0)
79
113
  return `No declared preset: ${requested ?? '(none)'}`;
80
114
  return [
81
- 'Agent compositions',
115
+ '# Agent compositions',
82
116
  'Current declarations apply to new sessions. Existing sessions retain their mounted revision.',
83
117
  ...rows.flatMap(row => [
84
- '', `${row.name ?? row.id} (${row.id})${row.isDefault ? ' · default' : ''}${row.broken === undefined ? '' : ' · unavailable'}`,
85
- ...(row.broken === undefined ? row.rows.map(plugin => ` ${plugin.entryId ?? '(no id)'} · ${plugin.enabled === 'conditional' ? 'conditional' : plugin.enabled ? 'enabled' : 'disabled'} · ${plugin.moduleName}${plugin.fiberState === undefined ? '' : ` · ${['pending', 'loading', 'active', 'failed', 'disposed', 'unloading'][plugin.fiberState] ?? 'unknown'}`}`) : [row.broken]),
118
+ '', `## ${row.name ?? row.id} (${row.id})${row.isDefault ? ' · default' : ''}${row.broken === undefined ? '' : ' · unavailable'}`,
119
+ ...(row.broken === undefined ? row.rows.map(plugin => `- ${plugin.entryId ?? '(no id)'} · ${plugin.enabled === 'conditional' ? 'conditional' : plugin.enabled ? 'enabled' : 'disabled'} · ${plugin.moduleName}${plugin.fiberState === undefined ? '' : ` · ${['pending', 'loading', 'active', 'failed', 'disposed', 'unloading'][plugin.fiberState] ?? 'unknown'}`}`) : [row.broken]),
86
120
  ]),
87
- '', 'This session’s retained composition',
121
+ '', '## This session’s retained composition',
88
122
  ...(retained.length === 0 ? ['No preset composition is bound to this session.'] : retained.flatMap(row => [
89
- row.id,
90
- ...row.modules.map(module => ` ${module.moduleName}`),
123
+ `### ${row.id}`,
124
+ ...row.modules.map(module => `- ${module.moduleName}`),
91
125
  ...(row.leakedServices.length === 0 ? [] : [`Isolation errors: ${row.leakedServices.join(', ')}`]),
92
126
  ])),
93
127
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"session-configuration.js","sourceRoot":"","sources":["../../src/commands/session-configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-configuration.js","sourceRoot":"","sources":["../../src/commands/session-configuration.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,19 @@
1
1
  /** Session lifecycle and inspection commands registered through dsh-commands. */
2
+ import { createPromptBrowser } from "../runtime/prompt-browser.js";
2
3
  import { SessionId } from '@deepseek-ai/dsh-session';
3
4
  import { registerCommands } from "./registration.js";
4
5
  import { askPrompt, confirmPrompt } from "../prompt-intents.js";
5
6
  import { formatRelativeAge } from "../chrome/relative-time.js";
6
- import { formatPermission, formatTokens } from "../chrome/status-line.js";
7
+ import { formatPermission } from "../chrome/status-line.js";
7
8
  import { formatAgentPreset } from "../session/session-configuration.js";
8
9
  import { readSessionLibrary, sortSessionRows, togglePinnedSession, updateSessionLibrary } from "../session/session-library.js";
9
- import { contextDiagnosticsMarkdown } from "../session/context-diagnostics.js";
10
- import { blocksText } from "../session/content-text.js";
10
+ import { contextOverviewDetails } from "../session/context-diagnostics.js";
11
+ import { readReference } from "../runtime/reference-reader.js";
12
+ import { currentWorkingDirectory } from "../session/working-directory.js";
11
13
  export const name = 'omdsh-command-session';
12
14
  export const inject = ['commands', 'omdshSession', 'tui'];
13
15
  /** Cross-session search page size shown in one Session Library prompt. */
14
16
  const SESSION_SEARCH_LIMIT = 20;
15
- function humanText(event) {
16
- if (event.type !== 'user/message' || event.data.source.kind !== 'user')
17
- return undefined;
18
- const text = blocksText(event.data.content);
19
- return text === '' ? undefined : text;
20
- }
21
17
  async function newSession(ctx, invocation) {
22
18
  if (invocation.rawInput.trim() !== '')
23
19
  return { kind: 'error', text: 'Usage: /new' };
@@ -33,8 +29,11 @@ async function resumeSession(ctx, invocation, search) {
33
29
  if (invocation.agent.status === 'running') {
34
30
  return { kind: 'error', text: 'Finish or interrupt the active turn before resuming another session.' };
35
31
  }
32
+ const abort = new AbortController();
33
+ invocation = { ...invocation, signal: AbortSignal.any([invocation.signal, abort.signal]) };
34
+ const prompt = request => ctx.tui.prompt({ ...request, signal: invocation.signal, onSuperseded: () => abort.abort() });
36
35
  await ctx.omdshSession.refreshRecent();
37
- let id = search === undefined ? invocation.rawInput.trim() : '';
36
+ const id = search === undefined ? invocation.rawInput.trim() : '';
38
37
  if (id !== '' && search === undefined) {
39
38
  const stored = await ctx.get('sessionPersistence')?.stat(SessionId(id));
40
39
  if (stored === undefined) {
@@ -48,18 +47,20 @@ async function resumeSession(ctx, invocation, search) {
48
47
  }
49
48
  if (id === '') {
50
49
  const libraryPath = ctx.omdshSession.sessionLibraryPath;
50
+ const browse = createPromptBrowser(prompt);
51
51
  let archivedView = false;
52
+ let searchDiagnostic = '';
52
53
  let selectedId;
53
- while (id === '') {
54
+ while (!invocation.signal.aborted) {
54
55
  const library = readSessionLibrary(libraryPath);
55
56
  const inventory = new Map(ctx.omdshSession.recentSessions.map(row => [row.id, row]));
56
57
  const source = search === undefined ? ctx.omdshSession.recentSessions : search.rows.map(row => ({ ...row, ...inventory.get(row.id), ...(row.preview === undefined ? {} : { preview: row.preview }) }));
57
58
  const recent = sortSessionRows(source.filter(row => library.archived.includes(row.id) === archivedView), library.pinned);
58
59
  if ((search?.rows ?? ctx.omdshSession.recentSessions).length === 0)
59
60
  return { kind: 'success', text: 'No durable sessions found.' };
60
- const answer = await ctx.tui.prompt({
61
+ const answer = await browse({ localize: ['title', 'question', 'actions'],
61
62
  title: `Session Library${search === undefined ? '' : ' · Search'}${archivedView ? ' · Archived' : ''}`,
62
- ...(search === undefined ? {} : { detail: `Content search: ${search.query} · up to ${SESSION_SEARCH_LIMIT} matches` }),
63
+ detail: [searchDiagnostic, search === undefined ? '' : `Content search: ${search.query} · ${search.rows.length} matches loaded`].filter(Boolean).join('\n'),
63
64
  notify: false,
64
65
  ...(selectedId === undefined ? {} : { initialValue: selectedId }),
65
66
  question: '',
@@ -89,40 +90,52 @@ async function resumeSession(ctx, invocation, search) {
89
90
  }),
90
91
  })),
91
92
  actions: [
93
+ ...(search?.nextCursor === undefined ? [] : [{ key: 'Alt+N', label: 'load more', valuePrefix: 'more:', scope: 'list' }]),
92
94
  ...(search === undefined ? [] : [{ key: 'Alt+L', label: 'all sessions', valuePrefix: 'library:', scope: 'list' }]),
93
95
  ...(ctx.get('sessionQuery') === undefined ? [] : [{ key: 'Alt+S', label: 'search content', valuePrefix: 'search:', scope: 'list' }]),
94
- { key: 'r', label: 'rename', valuePrefix: 'rename:' },
95
- { key: 'p', label: 'pin/unpin', valuePrefix: 'pin:' },
96
+ { key: 'Alt+R', label: 'rename', valuePrefix: 'rename:' },
97
+ { key: 'Alt+P', label: 'pin/unpin', valuePrefix: 'pin:' },
96
98
  { key: 'Alt+A', label: archivedView ? 'restore' : 'archive', valuePrefix: 'archive:' },
97
99
  { key: 'Alt+V', label: archivedView ? 'active sessions' : 'archived sessions', valuePrefix: 'view:', scope: 'list' },
98
100
  ],
99
101
  presentation: 'card',
100
102
  filterable: true,
101
103
  allowCustom: false,
102
- signal: invocation.signal,
103
- });
104
- if (answer === null)
104
+ signal: invocation.signal, }, JSON.stringify([search?.query, archivedView]));
105
+ if (answer === null || invocation.signal.aborted)
105
106
  return { kind: 'success' };
106
107
  invocation.signal.throwIfAborted();
108
+ if (answer === 'more:' && search?.nextCursor !== undefined) {
109
+ const page = await findSessions(ctx, { ...invocation, rawInput: search.query }, search.nextCursor);
110
+ if (page.kind === 'rows') {
111
+ search = { ...page, rows: [...new Map([...search.rows, ...page.rows].map(row => [row.id, row])).values()] };
112
+ searchDiagnostic = '';
113
+ }
114
+ else
115
+ searchDiagnostic = page.text ?? '';
116
+ continue;
117
+ }
107
118
  if (answer === 'library:') {
119
+ searchDiagnostic = '';
108
120
  search = undefined;
109
121
  archivedView = false;
110
122
  selectedId = undefined;
111
123
  continue;
112
124
  }
113
125
  if (answer === 'search:') {
114
- const query = await ctx.tui.prompt(askPrompt({ title: 'Search session content', question: 'Enter search text', signal: invocation.signal }));
126
+ const query = await prompt(askPrompt({ localize: ['title', 'question', 'actions'], title: 'Search session content', question: 'Enter search text', initialInput: search?.query ?? '', signal: invocation.signal }));
115
127
  if (query === null || query.trim() === '')
116
128
  continue;
117
129
  const result = await findSessions(ctx, { ...invocation, rawInput: query });
118
130
  if (result.kind === 'rows') {
131
+ searchDiagnostic = '';
119
132
  search = result;
120
133
  archivedView = false;
121
134
  selectedId = undefined;
122
135
  continue;
123
136
  }
124
137
  if (result.text !== undefined) {
125
- ctx.tui.commandOutput('Session search', result.text);
138
+ searchDiagnostic = result.text;
126
139
  continue;
127
140
  }
128
141
  continue;
@@ -150,28 +163,44 @@ async function resumeSession(ctx, invocation, search) {
150
163
  if (row === undefined)
151
164
  continue;
152
165
  selectedId = target;
153
- const title = await ctx.tui.prompt(askPrompt({
166
+ const title = await prompt(askPrompt({ localize: ['title', 'question', 'actions'],
154
167
  title: 'Rename Session',
155
168
  question: `New title for “${row.title}”`,
156
169
  initialInput: row.title,
157
170
  signal: invocation.signal,
158
171
  }));
159
- if (title !== null)
160
- await ctx.omdshSession.renameSession(invocation.agent, target, title, invocation.signal);
172
+ if (title !== null && !invocation.signal.aborted) {
173
+ try {
174
+ await ctx.omdshSession.renameSession(invocation.agent, target, title, invocation.signal);
175
+ searchDiagnostic = '';
176
+ }
177
+ catch (error) {
178
+ searchDiagnostic = error instanceof Error ? error.message : String(error);
179
+ }
180
+ }
161
181
  continue;
162
182
  }
163
- id = answer;
183
+ selectedId = answer;
184
+ if (answer === invocation.agent.id) {
185
+ searchDiagnostic = 'That session is already active.';
186
+ continue;
187
+ }
188
+ const resumed = await resumeStoredSession(ctx, invocation, answer, prompt);
189
+ if (resumed.kind === 'success' && resumed.text !== undefined)
190
+ return resumed;
191
+ searchDiagnostic = resumed.text ?? '';
164
192
  }
193
+ return { kind: 'success' };
165
194
  }
166
195
  if (id === invocation.agent.id)
167
196
  return { kind: 'success', text: 'That session is already active.' };
168
- return resumeStoredSession(ctx, invocation, id);
197
+ return resumeStoredSession(ctx, invocation, id, prompt);
169
198
  }
170
- async function resumeStoredSession(ctx, invocation, id) {
199
+ async function resumeStoredSession(ctx, invocation, id, prompt) {
171
200
  try {
172
201
  const stored = await ctx.get('sessionPersistence')?.stat(SessionId(id));
173
202
  if (stored?.formatStatus === 'migration-required' && ctx.tui.interactive === true) {
174
- const migrate = await confirmPrompt(request => ctx.tui.prompt(request), {
203
+ const migrate = await confirmPrompt(prompt, { localize: ['title', 'options', 'actions'],
175
204
  title: 'Migrate session',
176
205
  question: ctx.omdshSession.recentSessions.find(row => row.id === id)?.title ?? id,
177
206
  detail: 'Opening this session writes a current-format generation and retains the historical source. Browsing the Session Library does not migrate it.',
@@ -186,13 +215,15 @@ async function resumeStoredSession(ctx, invocation, id) {
186
215
  return { kind: 'success', text: `Resumed ${id}.` };
187
216
  }
188
217
  catch (error) {
218
+ if (ctx.omdshSession.agent?.id === id)
219
+ return { kind: 'success', text: `Resumed ${id}. Session Library refresh failed: ${error instanceof Error ? error.message : String(error)}` };
189
220
  if (invocation.signal.aborted)
190
221
  return { kind: 'error', text: 'Resume cancelled.' };
191
222
  return { kind: 'error', text: 'Resume failed: ' + (error instanceof Error ? error.message : String(error)) };
192
223
  }
193
224
  }
194
225
  /** Read session content without replacing the active conversation. */
195
- async function findSessions(ctx, invocation) {
226
+ async function findSessions(ctx, invocation, cursor) {
196
227
  if (invocation.agent.status === 'running') {
197
228
  return { kind: 'error', text: 'Finish or interrupt the active turn before resuming another session.' };
198
229
  }
@@ -201,16 +232,22 @@ async function findSessions(ctx, invocation) {
201
232
  if (sessionQuery === undefined)
202
233
  return { kind: 'error', text: 'Session search is not configured.' };
203
234
  let hits;
235
+ let nextCursor;
204
236
  try {
205
- const page = await sessionQuery.searchSessions({ query, limit: SESSION_SEARCH_LIMIT }, { signal: invocation.signal });
237
+ const page = await sessionQuery.searchSessions({
238
+ query, limit: SESSION_SEARCH_LIMIT,
239
+ sessionFilters: [{ kind: 'cwd', values: [currentWorkingDirectory(ctx, invocation.agent.session)] }],
240
+ ...(cursor === undefined ? {} : { cursor }),
241
+ }, { signal: invocation.signal });
206
242
  hits = page.items;
243
+ nextCursor = page.nextCursor;
207
244
  }
208
245
  catch (error) {
209
246
  if (invocation.signal.aborted)
210
247
  return { kind: 'error', text: 'Search cancelled.' };
211
248
  return { kind: 'error', text: 'Session search failed: ' + (error instanceof Error ? error.message : String(error)) };
212
249
  }
213
- if (hits.length === 0)
250
+ if (hits.length === 0 && cursor === undefined)
214
251
  return { kind: 'success', text: `No sessions match “${query}”.` };
215
252
  const titles = new Map();
216
253
  try {
@@ -221,60 +258,68 @@ async function findSessions(ctx, invocation) {
221
258
  }
222
259
  }
223
260
  catch { /* title folding is best-effort; the snippet still identifies the hit */ }
224
- return { kind: 'rows', query, rows: hits.map(hit => ({
261
+ return { kind: 'rows', query, ...(nextCursor === undefined ? {} : { nextCursor }), rows: hits.map(hit => ({
225
262
  id: hit.header.id,
226
263
  title: titles.get(hit.header.id) ?? hit.bestMatch.snippet,
227
264
  preview: hit.bestMatch.snippet,
228
265
  createdAt: hit.header.createdAt,
229
266
  })) };
230
267
  }
231
- function showSession(ctx, invocation) {
268
+ function contextSnapshot(ctx, invocation) {
232
269
  const stats = ctx.omdshSession.stats(invocation.agent);
233
270
  const selection = ctx.omdshSession.selection(invocation.agent);
234
- const reasoningEffort = ctx.omdshSession.reasoningEffort(invocation.agent);
271
+ const reasoning = ctx.omdshSession.reasoningEffort(invocation.agent);
235
272
  const controls = ctx.omdshSession.controls(invocation.agent);
236
273
  const workflow = controls.plan?.pending === true
237
274
  ? controls.plan.active ? 'Plan → Default (pending)' : 'Plan (pending)'
238
275
  : controls.plan?.active === true ? 'Plan' : 'Default';
239
276
  return {
240
- kind: 'success',
241
- text: [
242
- 'Session Details',
243
- '',
244
- '| Field | Value |',
245
- '|---|---|',
246
- `| Session | \`${invocation.agent.id}\` |`,
247
- `| Model | \`${selection.provider}/${selection.model}\` |`,
248
- `| Reasoning | \`${reasoningEffort ?? 'not available'}\` |`,
249
- `| Agent | ${formatAgentPreset(controls.agentPreset ?? 'standard')} |`,
250
- `| Workflow | ${workflow} |`,
251
- ...(controls.permission === undefined ? [] : [`| Access | ${formatPermission(controls.permission)} |`]),
252
- `| Activity | ${stats.turns} turns · ${stats.steps} steps |`,
253
- `| Tokens | ${formatTokens(stats.inputTokens)} in · ${formatTokens(stats.outputTokens)} out |`,
254
- `| Queue | ${invocation.agent.inbox.nextTurn.length} follow-up · ${invocation.agent.inbox.nextStep.length} steering |`,
255
- ].join('\n'),
277
+ ...ctx.omdshSession.contextDiagnostics(invocation.agent),
278
+ sessionId: invocation.agent.id, model: `${selection.provider}/${selection.model}`,
279
+ ...(reasoning === undefined ? {} : { reasoning }),
280
+ agent: formatAgentPreset(controls.agentPreset ?? 'standard'), workflow,
281
+ ...(controls.permission === undefined ? {} : { access: formatPermission(controls.permission) }),
282
+ turns: stats.turns, steps: stats.steps, inputTokens: stats.inputTokens, outputTokens: stats.outputTokens,
283
+ followUp: invocation.agent.inbox.nextTurn.length, steering: invocation.agent.inbox.nextStep.length,
256
284
  };
257
285
  }
258
286
  async function retry(ctx, invocation) {
259
287
  if (invocation.rawInput.trim() !== '')
260
288
  return { kind: 'error', text: 'Usage: /retry' };
261
- const log = invocation.agent.session.snapshotEvents();
262
- for (let i = log.length - 1; i >= 0; i -= 1) {
263
- const text = humanText(log[i]);
264
- if (text === undefined)
265
- continue;
266
- await ctx.omdshSession.send(text, invocation.agent);
267
- return { kind: 'success', text: 'Re-running the most recent human prompt as a new turn.' };
268
- }
269
- return { kind: 'success', text: 'No human prompt is available to retry.' };
289
+ const resent = await ctx.omdshSession.retryLastPrompt(invocation.agent, invocation.signal);
290
+ return { kind: 'success', text: resent ? 'Re-sent the last human prompt with its attachments as a new turn.' : 'No human prompt is available to retry.' };
270
291
  }
271
- function showContext(ctx, invocation) {
292
+ async function showContext(ctx, invocation) {
272
293
  if (invocation.rawInput.trim() !== '')
273
294
  return { kind: 'error', text: 'Usage: /context' };
274
- return {
275
- kind: 'success',
276
- text: contextDiagnosticsMarkdown(ctx.omdshSession.contextDiagnostics(invocation.agent)),
277
- };
295
+ const read = () => contextSnapshot(ctx, invocation);
296
+ if (ctx.tui.interactive !== true || ctx.tui.openContext === undefined) {
297
+ return { kind: 'success', text: contextOverviewDetails(read()) };
298
+ }
299
+ const abort = new AbortController();
300
+ const signal = AbortSignal.any([invocation.signal, abort.signal]);
301
+ const onSuperseded = () => { abort.abort(); };
302
+ while (!signal.aborted) {
303
+ const action = await ctx.tui.openContext({ read, signal, onSuperseded,
304
+ canCompact: ctx.commands.list(invocation.agent).some(command => command.name === 'compact') });
305
+ if (signal.aborted || action === null)
306
+ break;
307
+ if (action === 'details') {
308
+ await readReference({ prompt: request => ctx.tui.prompt({ ...request, onSuperseded }),
309
+ ...(ctx.tui.copyText === undefined ? {} : { copyText: (text, label) => ctx.tui.copyText(text, label) }),
310
+ }, 'Context · Details', contextOverviewDetails(read()), signal);
311
+ }
312
+ else if (action === 'copy') {
313
+ await ctx.tui.copyText?.(invocation.agent.id, 'Session ID');
314
+ }
315
+ else if (action === 'compact') {
316
+ const result = await ctx.commands.execute(invocation.agent, '/compact', [], signal);
317
+ return result?.result ?? { kind: 'error', text: 'Context compaction is unavailable.' };
318
+ }
319
+ else
320
+ break;
321
+ }
322
+ return { kind: 'success' };
278
323
  }
279
324
  export function apply(ctx) {
280
325
  registerCommands(ctx, [
@@ -284,7 +329,7 @@ export function apply(ctx) {
284
329
  await ctx.omdshSession.openQueue(invocation.signal, invocation.agent);
285
330
  return { kind: 'success' };
286
331
  } },
287
- { name: 'context', description: 'Inspect projection-backed context usage', handler: invocation => showContext(ctx, invocation) },
332
+ { name: 'context', description: 'Inspect context usage and session details', handler: invocation => showContext(ctx, invocation) },
288
333
  { name: 'new', description: 'Start a new session', handler: invocation => newSession(ctx, invocation) },
289
334
  {
290
335
  name: 'resume',
@@ -292,8 +337,13 @@ export function apply(ctx) {
292
337
  input: { hint: '[session-id|query]' },
293
338
  handler: invocation => resumeSession(ctx, invocation),
294
339
  },
295
- { name: 'session', description: 'Show current session details', handler: invocation => showSession(ctx, invocation) },
296
- { name: 'retry', description: 'Run the most recent human prompt again', handler: invocation => retry(ctx, invocation) },
340
+ { name: 'continue', description: 'Continue an eligible failed generation without resending the prompt', handler: async (invocation) => {
341
+ if (invocation.rawInput.trim() !== '')
342
+ return { kind: 'error', text: 'Usage: /continue' };
343
+ await ctx.omdshSession.continueGeneration(invocation.agent, undefined, invocation.signal);
344
+ return { kind: 'success' };
345
+ } },
346
+ { name: 'retry', description: 'Resend the last human prompt with its attachments', handler: invocation => retry(ctx, invocation) },
297
347
  ], 'omdsh session commands');
298
348
  }
299
349
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}