@agi-fans/dsh-tui 0.21.0 → 0.22.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 (243) hide show
  1. package/lib/CHANGELOG.md +158 -1
  2. package/lib/chrome/box.d.ts +47 -16
  3. package/lib/chrome/box.js +172 -130
  4. package/lib/chrome/box.js.map +1 -1
  5. package/lib/chrome/code-highlight.d.ts +15 -0
  6. package/lib/chrome/code-highlight.js +60 -4
  7. package/lib/chrome/code-highlight.js.map +1 -1
  8. package/lib/chrome/command-output.d.ts +29 -2
  9. package/lib/chrome/command-output.js +100 -4
  10. package/lib/chrome/command-output.js.map +1 -1
  11. package/lib/chrome/main-screen-renderer.d.ts +16 -0
  12. package/lib/chrome/main-screen-renderer.js +53 -5
  13. package/lib/chrome/main-screen-renderer.js.map +1 -1
  14. package/lib/chrome/markdown.js +30 -10
  15. package/lib/chrome/markdown.js.map +1 -1
  16. package/lib/chrome/relative-time.d.ts +17 -0
  17. package/lib/chrome/relative-time.js +36 -0
  18. package/lib/chrome/relative-time.js.map +1 -1
  19. package/lib/chrome/secret-mask.d.ts +35 -0
  20. package/lib/chrome/secret-mask.js +180 -0
  21. package/lib/chrome/secret-mask.js.map +1 -0
  22. package/lib/chrome/status-config.d.ts +161 -51
  23. package/lib/chrome/status-config.js +237 -126
  24. package/lib/chrome/status-config.js.map +1 -1
  25. package/lib/chrome/status-line.d.ts +3 -2
  26. package/lib/chrome/status-line.js +105 -63
  27. package/lib/chrome/status-line.js.map +1 -1
  28. package/lib/chrome/terminal-colors.d.ts +85 -0
  29. package/lib/chrome/terminal-colors.js +230 -0
  30. package/lib/chrome/terminal-colors.js.map +1 -0
  31. package/lib/chrome/terminal-images.d.ts +9 -1
  32. package/lib/chrome/terminal-images.js +27 -4
  33. package/lib/chrome/terminal-images.js.map +1 -1
  34. package/lib/chrome/theme.d.ts +32 -9
  35. package/lib/chrome/theme.js +595 -498
  36. package/lib/chrome/theme.js.map +1 -1
  37. package/lib/chrome/tool-renderers.js +69 -13
  38. package/lib/chrome/tool-renderers.js.map +1 -1
  39. package/lib/chrome/tools-list.d.ts +1 -4
  40. package/lib/chrome/tools-list.js +1 -41
  41. package/lib/chrome/tools-list.js.map +1 -1
  42. package/lib/chrome/welcome-tips.d.ts +20 -8
  43. package/lib/chrome/welcome-tips.js +22 -42
  44. package/lib/chrome/welcome-tips.js.map +1 -1
  45. package/lib/commands/auth-ids.d.ts +25 -0
  46. package/lib/commands/auth-ids.js +27 -0
  47. package/lib/commands/auth-ids.js.map +1 -0
  48. package/lib/commands/auth-input.d.ts +34 -0
  49. package/lib/commands/auth-input.js +96 -0
  50. package/lib/commands/auth-input.js.map +1 -0
  51. package/lib/commands/auth-providers.d.ts +39 -0
  52. package/lib/commands/auth-providers.js +125 -0
  53. package/lib/commands/auth-providers.js.map +1 -0
  54. package/lib/commands/auth.d.ts +12 -20
  55. package/lib/commands/auth.js +42 -229
  56. package/lib/commands/auth.js.map +1 -1
  57. package/lib/commands/btw.d.ts +13 -1
  58. package/lib/commands/btw.js +37 -104
  59. package/lib/commands/btw.js.map +1 -1
  60. package/lib/commands/diff.js +1 -96
  61. package/lib/commands/diff.js.map +1 -1
  62. package/lib/commands/export.d.ts +1 -1
  63. package/lib/commands/export.js +3 -27
  64. package/lib/commands/export.js.map +1 -1
  65. package/lib/commands/files.d.ts +17 -1
  66. package/lib/commands/files.js +67 -107
  67. package/lib/commands/files.js.map +1 -1
  68. package/lib/commands/jobs.d.ts +19 -4
  69. package/lib/commands/jobs.js +50 -7
  70. package/lib/commands/jobs.js.map +1 -1
  71. package/lib/commands/model.js +108 -76
  72. package/lib/commands/model.js.map +1 -1
  73. package/lib/commands/permission.js +15 -16
  74. package/lib/commands/permission.js.map +1 -1
  75. package/lib/commands/plugins.js +133 -16
  76. package/lib/commands/plugins.js.map +1 -1
  77. package/lib/commands/schedule.d.ts +10 -0
  78. package/lib/commands/schedule.js +45 -14
  79. package/lib/commands/schedule.js.map +1 -1
  80. package/lib/commands/session-configuration.js +2 -10
  81. package/lib/commands/session-configuration.js.map +1 -1
  82. package/lib/commands/session.js +14 -38
  83. package/lib/commands/session.js.map +1 -1
  84. package/lib/commands/terminal.d.ts +14 -8
  85. package/lib/commands/terminal.js +19 -178
  86. package/lib/commands/terminal.js.map +1 -1
  87. package/lib/commands/trajectory.js +4 -1
  88. package/lib/commands/trajectory.js.map +1 -1
  89. package/lib/definition.d.ts +122 -22
  90. package/lib/definition.js.map +1 -1
  91. package/lib/index.d.ts +1 -0
  92. package/lib/index.js +1 -0
  93. package/lib/index.js.map +1 -1
  94. package/lib/input/actions.d.ts +51 -0
  95. package/lib/input/actions.js +120 -0
  96. package/lib/input/actions.js.map +1 -0
  97. package/lib/input/editor.d.ts +0 -10
  98. package/lib/input/editor.js +11 -9
  99. package/lib/input/editor.js.map +1 -1
  100. package/lib/input/image-paste.d.ts +19 -1
  101. package/lib/input/image-paste.js +82 -1
  102. package/lib/input/image-paste.js.map +1 -1
  103. package/lib/input/keybindings-config.d.ts +12 -5
  104. package/lib/input/keybindings-config.js +30 -57
  105. package/lib/input/keybindings-config.js.map +1 -1
  106. package/lib/input/keys.d.ts +16 -0
  107. package/lib/input/keys.js +38 -3
  108. package/lib/input/keys.js.map +1 -1
  109. package/lib/input/wheel-scroll.d.ts +46 -0
  110. package/lib/input/wheel-scroll.js +69 -0
  111. package/lib/input/wheel-scroll.js.map +1 -0
  112. package/lib/prompt-intents.d.ts +182 -0
  113. package/lib/prompt-intents.js +127 -0
  114. package/lib/prompt-intents.js.map +1 -0
  115. package/lib/runtime/cancellable.d.ts +75 -0
  116. package/lib/runtime/cancellable.js +76 -0
  117. package/lib/runtime/cancellable.js.map +1 -0
  118. package/lib/runtime/composer-images.js +5 -4
  119. package/lib/runtime/composer-images.js.map +1 -1
  120. package/lib/runtime/composer-shell.d.ts +17 -2
  121. package/lib/runtime/composer-shell.js +109 -43
  122. package/lib/runtime/composer-shell.js.map +1 -1
  123. package/lib/runtime/file-recovery-review.d.ts +0 -1
  124. package/lib/runtime/file-recovery-review.js +29 -30
  125. package/lib/runtime/file-recovery-review.js.map +1 -1
  126. package/lib/runtime/file-recovery-store.js +5 -1
  127. package/lib/runtime/file-recovery-store.js.map +1 -1
  128. package/lib/runtime/file-review.js +1 -1
  129. package/lib/runtime/file-review.js.map +1 -1
  130. package/lib/runtime/hook-settings.d.ts +2 -2
  131. package/lib/runtime/plain-tui.d.ts +2 -0
  132. package/lib/runtime/plain-tui.js +7 -1
  133. package/lib/runtime/plain-tui.js.map +1 -1
  134. package/lib/runtime/plugin-settings.d.ts +1 -1
  135. package/lib/runtime/plugin-settings.js +10 -8
  136. package/lib/runtime/plugin-settings.js.map +1 -1
  137. package/lib/runtime/provider-local.d.ts +57 -15
  138. package/lib/runtime/provider-local.js +1112 -471
  139. package/lib/runtime/provider-local.js.map +1 -1
  140. package/lib/runtime/runner.js +5 -11
  141. package/lib/runtime/runner.js.map +1 -1
  142. package/lib/runtime/settings-preferences.js +1 -1
  143. package/lib/runtime/settings-preferences.js.map +1 -1
  144. package/lib/runtime/startup-notices.js +2 -0
  145. package/lib/runtime/startup-notices.js.map +1 -1
  146. package/lib/runtime/terminal-modes.d.ts +47 -0
  147. package/lib/runtime/terminal-modes.js +86 -0
  148. package/lib/runtime/terminal-modes.js.map +1 -0
  149. package/lib/runtime/terminal-notifications.d.ts +3 -5
  150. package/lib/runtime/terminal-notifications.js +4 -8
  151. package/lib/runtime/terminal-notifications.js.map +1 -1
  152. package/lib/runtime/terminal-probe.d.ts +36 -0
  153. package/lib/runtime/terminal-probe.js +37 -0
  154. package/lib/runtime/terminal-probe.js.map +1 -0
  155. package/lib/runtime/terminal-session.d.ts +57 -0
  156. package/lib/runtime/terminal-session.js +164 -0
  157. package/lib/runtime/terminal-session.js.map +1 -0
  158. package/lib/session/interaction-adapter.js +7 -8
  159. package/lib/session/interaction-adapter.js.map +1 -1
  160. package/lib/session/message-queue.js +1 -1
  161. package/lib/session/message-queue.js.map +1 -1
  162. package/lib/session/package-metadata.d.ts +8 -0
  163. package/lib/session/package-metadata.js +8 -0
  164. package/lib/session/package-metadata.js.map +1 -1
  165. package/lib/session/session-controller.d.ts +10 -11
  166. package/lib/session/session-controller.js +95 -13
  167. package/lib/session/session-controller.js.map +1 -1
  168. package/lib/session/session-tree.d.ts +2 -0
  169. package/lib/session/session-tree.js +2 -0
  170. package/lib/session/session-tree.js.map +1 -1
  171. package/lib/session/tui-settings.d.ts +40 -11
  172. package/lib/session/tui-settings.js +73 -34
  173. package/lib/session/tui-settings.js.map +1 -1
  174. package/lib/views/autocomplete.d.ts +18 -2
  175. package/lib/views/autocomplete.js +51 -38
  176. package/lib/views/autocomplete.js.map +1 -1
  177. package/lib/views/copy-targets.d.ts +12 -13
  178. package/lib/views/copy-targets.js +16 -46
  179. package/lib/views/copy-targets.js.map +1 -1
  180. package/lib/views/document-reader.js +18 -5
  181. package/lib/views/document-reader.js.map +1 -1
  182. package/lib/views/event-views.js +42 -6
  183. package/lib/views/event-views.js.map +1 -1
  184. package/lib/views/history-search.js +15 -21
  185. package/lib/views/history-search.js.map +1 -1
  186. package/lib/views/hotkeys.d.ts +7 -1
  187. package/lib/views/hotkeys.js +49 -25
  188. package/lib/views/hotkeys.js.map +1 -1
  189. package/lib/views/list-navigation.d.ts +62 -0
  190. package/lib/views/list-navigation.js +73 -0
  191. package/lib/views/list-navigation.js.map +1 -0
  192. package/lib/views/list-view.d.ts +99 -0
  193. package/lib/views/list-view.js +165 -0
  194. package/lib/views/list-view.js.map +1 -0
  195. package/lib/views/prompt-selector.d.ts +31 -3
  196. package/lib/views/prompt-selector.js +249 -125
  197. package/lib/views/prompt-selector.js.map +1 -1
  198. package/lib/views/session-files.d.ts +1 -2
  199. package/lib/views/session-files.js +1 -11
  200. package/lib/views/session-files.js.map +1 -1
  201. package/lib/views/settings-list.d.ts +10 -8
  202. package/lib/views/settings-list.js +116 -283
  203. package/lib/views/settings-list.js.map +1 -1
  204. package/lib/views/trajectory-timeline.d.ts +72 -0
  205. package/lib/views/trajectory-timeline.js +133 -0
  206. package/lib/views/trajectory-timeline.js.map +1 -0
  207. package/lib/views/trajectory.d.ts +15 -4
  208. package/lib/views/trajectory.js +557 -123
  209. package/lib/views/trajectory.js.map +1 -1
  210. package/lib/views/transcript-render.d.ts +95 -25
  211. package/lib/views/transcript-render.js +501 -167
  212. package/lib/views/transcript-render.js.map +1 -1
  213. package/lib/views/transcript-search.d.ts +39 -6
  214. package/lib/views/transcript-search.js +46 -11
  215. package/lib/views/transcript-search.js.map +1 -1
  216. package/lib/views/transcript-types.d.ts +63 -5
  217. package/lib/views/transcript-types.js +23 -11
  218. package/lib/views/transcript-types.js.map +1 -1
  219. package/package.json +67 -86
  220. package/lib/commands/advisor.d.ts +0 -15
  221. package/lib/commands/advisor.js +0 -200
  222. package/lib/commands/advisor.js.map +0 -1
  223. package/lib/commands/loop.d.ts +0 -52
  224. package/lib/commands/loop.js +0 -307
  225. package/lib/commands/loop.js.map +0 -1
  226. package/lib/commands/rate.d.ts +0 -33
  227. package/lib/commands/rate.js +0 -212
  228. package/lib/commands/rate.js.map +0 -1
  229. package/lib/commands/steer.d.ts +0 -5
  230. package/lib/commands/steer.js +0 -24
  231. package/lib/commands/steer.js.map +0 -1
  232. package/lib/commands/worktree.d.ts +0 -5
  233. package/lib/commands/worktree.js +0 -103
  234. package/lib/commands/worktree.js.map +0 -1
  235. package/lib/runtime/terminal-reader.d.ts +0 -11
  236. package/lib/runtime/terminal-reader.js +0 -87
  237. package/lib/runtime/terminal-reader.js.map +0 -1
  238. package/lib/views/agent-hub.d.ts +0 -32
  239. package/lib/views/agent-hub.js +0 -209
  240. package/lib/views/agent-hub.js.map +0 -1
  241. package/lib/views/copy-selector.d.ts +0 -54
  242. package/lib/views/copy-selector.js +0 -170
  243. package/lib/views/copy-selector.js.map +0 -1
@@ -1,170 +0,0 @@
1
- /**
2
- * `/copy` picker overlay: OMP-style list of transcript copy targets.
3
- * Pure — the provider owns the clipboard write.
4
- * @module @agi-fans/dsh-tui
5
- */
6
- import { moveGraphemeLeft } from "../input/editor.js";
7
- import { rankSearchResults } from "../input/fuzzy-search.js";
8
- import { SYMBOL } from "../chrome/theme.js";
9
- import { expandTabs, truncateToWidth, visibleWidth, wrapText } from "../chrome/width.js";
10
- import { formatOverlayHint } from "./hotkey-format.js";
11
- /** Visible picker rows. */
12
- export const COPY_SELECTOR_MAX_VISIBLE = 8;
13
- /** Preview lines under the list. */
14
- export const COPY_SELECTOR_PREVIEW_LINES = 4;
15
- /** First overlay-local row that paints a target. */
16
- export const COPY_SELECTOR_ITEM_ROW = 3;
17
- /** Open the picker on the assembled targets. */
18
- export function createCopySelector(items, selected = 0) {
19
- return { items, selected: Math.max(0, Math.min(selected, Math.max(0, items.length - 1))) };
20
- }
21
- /** Filtered targets matching the active search query. */
22
- export function filteredCopyItems(state) {
23
- const query = state.search?.trim() ?? '';
24
- if (query === '')
25
- return state.items;
26
- return rankSearchResults(state.items, query, item => [item.label, item.hint, item.copyMessage, item.text]);
27
- }
28
- /** Visible item-index window around `selected`. */
29
- export function copySelectorVisibleRange(count, selected, maxVisible = COPY_SELECTOR_MAX_VISIBLE) {
30
- const max = Math.max(1, maxVisible);
31
- const index = Math.max(0, Math.min(selected, Math.max(0, count - 1)));
32
- const start = Math.max(0, Math.min(index - Math.floor(max / 2), Math.max(0, count - max)));
33
- return { start, end: Math.min(count, start + max) };
34
- }
35
- function moveSelected(state, next) {
36
- const items = filteredCopyItems(state);
37
- if (items.length === 0)
38
- return state;
39
- const n = items.length;
40
- const selected = (next % n + n) % n;
41
- if (selected === state.selected)
42
- return state;
43
- return { ...state, selected };
44
- }
45
- /** Apply one decoded event to the overlay. */
46
- export function applyCopySelectorEvent(state, event) {
47
- if (event.type === 'text') {
48
- if (state.search === undefined && event.value === ' ') {
49
- const item = filteredCopyItems(state)[state.selected];
50
- return item === undefined ? { kind: 'ignore' } : { kind: 'pick', item };
51
- }
52
- const query = (state.search ?? '') + (event.value === '/' && state.search === undefined ? '' : event.value.replace(/[\r\n]/gu, ' '));
53
- return { kind: 'update', state: { ...state, search: query, selected: 0 } };
54
- }
55
- if (event.type !== 'key')
56
- return { kind: 'ignore' };
57
- if (state.search !== undefined && (event.id === 'backspace' || event.id === 'ctrl+u')) {
58
- const query = event.id === 'ctrl+u' ? '' : state.search.slice(0, moveGraphemeLeft(state.search, state.search.length));
59
- return { kind: 'update', state: { ...state, search: query, selected: 0 } };
60
- }
61
- switch (event.id) {
62
- case 'enter': {
63
- const item = filteredCopyItems(state)[state.selected];
64
- return item === undefined ? { kind: 'ignore' } : { kind: 'pick', item };
65
- }
66
- case 'escape':
67
- case 'ctrl+c': {
68
- if (state.search !== undefined) {
69
- const { search: _, ...rest } = state;
70
- return { kind: 'update', state: { ...rest, selected: 0 } };
71
- }
72
- return { kind: 'close' };
73
- }
74
- case 'up':
75
- case 'shift+tab':
76
- return { kind: 'update', state: moveSelected(state, state.selected - 1) };
77
- case 'down':
78
- case 'tab':
79
- return { kind: 'update', state: moveSelected(state, state.selected + 1) };
80
- case 'pageUp':
81
- return { kind: 'update', state: moveSelected(state, state.selected - COPY_SELECTOR_MAX_VISIBLE) };
82
- case 'pageDown':
83
- return { kind: 'update', state: moveSelected(state, state.selected + COPY_SELECTOR_MAX_VISIBLE) };
84
- case 'home':
85
- return { kind: 'update', state: moveSelected(state, 0) };
86
- case 'end':
87
- return { kind: 'update', state: moveSelected(state, Math.max(0, filteredCopyItems(state).length - 1)) };
88
- default:
89
- return { kind: 'ignore' };
90
- }
91
- }
92
- // Every key `applyCopySelectorEvent` accepts. Rows whose first word is the
93
- // footer label are also printed by the overlay's bottom hint.
94
- const HOTKEY_NAVIGATE = { keys: '↑↓', action: 'Navigate targets' };
95
- const HOTKEY_TAB = { keys: 'Tab / Shift+Tab', action: 'Navigate targets, like ↑↓' };
96
- const HOTKEY_PAGE = { keys: 'PgUp / PgDn', action: 'Page — jump one page of targets' };
97
- const HOTKEY_EDGE = { keys: 'Home / End', action: 'Jump to the first or last target' };
98
- const HOTKEY_FILTER = { keys: '/ or Text', action: 'Filter copy targets by label, kind, or content' };
99
- const HOTKEY_EDIT_FILTER = { keys: 'Backspace / Ctrl+U', action: 'Edit or clear the active filter' };
100
- const HOTKEY_COPY = { keys: 'Enter', action: 'Copy the selected target' };
101
- const HOTKEY_COPY_SPACE = { keys: 'Space', action: 'Copy the selected target, like Enter' };
102
- const HOTKEY_CLOSE = { keys: 'Esc / Ctrl+C', action: 'Clear filter or close the picker' };
103
- /** Keys the copy picker accepts; `/help` and its bottom hint read this list. */
104
- export const COPY_SELECTOR_HOTKEYS = [
105
- HOTKEY_NAVIGATE,
106
- HOTKEY_TAB,
107
- HOTKEY_PAGE,
108
- HOTKEY_EDGE,
109
- HOTKEY_FILTER,
110
- HOTKEY_EDIT_FILTER,
111
- HOTKEY_COPY,
112
- HOTKEY_COPY_SPACE,
113
- HOTKEY_CLOSE,
114
- ];
115
- /** Overlay frame: title, windowed rows, preview, hints. */
116
- export function renderCopySelector(state, theme, width, maxVisible = COPY_SELECTOR_MAX_VISIBLE) {
117
- const items = filteredCopyItems(state);
118
- const count = items.length;
119
- const index = Math.max(0, Math.min(state.selected, Math.max(0, count - 1)));
120
- const searchBadge = state.search === undefined
121
- ? ''
122
- : theme.fg('dim', ' · Search: ') + (state.search === '' ? theme.fg('muted', 'type to filter') : theme.fg('text', state.search));
123
- const title = truncateToWidth(' ' + theme.bold(theme.fg('accent', '⎘ Copy')) + searchBadge, width);
124
- const { start, end } = copySelectorVisibleRange(count, index, maxVisible);
125
- const rows = [];
126
- if (count === 0) {
127
- rows.push(' ' + theme.fg('muted', SYMBOL.info + (state.search ? ' No matching copy targets.' : ' Nothing to copy.')));
128
- }
129
- else {
130
- for (let i = start; i < end; i += 1) {
131
- const item = items[i];
132
- if (item === undefined)
133
- continue;
134
- rows.push(renderCopyRow(item, i === index, theme, width));
135
- }
136
- if (count > maxVisible) {
137
- rows.push(theme.fg('dim', ' ' + String(index + 1) + '/' + String(count)));
138
- }
139
- }
140
- const preview = renderCopyPreview(items[index], theme, width);
141
- const hints = ' ' + theme.fg('dim', formatOverlayHint([HOTKEY_NAVIGATE, HOTKEY_FILTER, HOTKEY_COPY, HOTKEY_CLOSE]));
142
- const lines = ['', title, '', ...rows, '', ...preview, '', truncateToWidth(hints, width)];
143
- return {
144
- lines,
145
- cursor: { row: COPY_SELECTOR_ITEM_ROW + (index - start), column: 2 },
146
- };
147
- }
148
- function renderCopyRow(item, selected, theme, width) {
149
- const cursor = selected ? theme.fg('accent', SYMBOL.cursor + ' ') : ' ';
150
- const label = selected ? theme.bold(theme.fg('accent', item.label)) : item.label;
151
- const hint = item.hint === '' ? '' : theme.fg('dim', item.hint);
152
- const fill = Math.max(1, width - visibleWidth(cursor) - visibleWidth(label) - visibleWidth(hint));
153
- return truncateToWidth(cursor + label + ' '.repeat(fill) + hint, width);
154
- }
155
- function renderCopyPreview(item, theme, width) {
156
- const header = ' ' + theme.fg('dim', item === undefined ? 'Preview' : 'Preview · ' + item.hint);
157
- if (item === undefined)
158
- return [header];
159
- // The preview body is painted behind a two-space gutter, so a tab inside the
160
- // copied text resolves against that column rather than against column zero.
161
- const wrapped = wrapText(expandTabs(item.text, 8, 2), Math.max(1, width - 2));
162
- const cap = COPY_SELECTOR_PREVIEW_LINES;
163
- const visible = wrapped.slice(0, cap);
164
- const extra = wrapped.length > cap ? wrapped.length - cap : 0;
165
- const body = visible.map((line) => truncateToWidth(' ' + theme.fg('muted', line), width));
166
- if (extra > 0)
167
- body.push(theme.fg('dim', ' … ' + String(extra) + ' more lines'));
168
- return [header, ...body];
169
- }
170
- //# sourceMappingURL=copy-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-selector.js","sourceRoot":"","sources":["../../src/views/copy-selector.ts"],"names":[],"mappings":"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"}