@agentuity/coder 1.0.37

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 (92) hide show
  1. package/README.md +57 -0
  2. package/dist/chain-preview.d.ts +55 -0
  3. package/dist/chain-preview.d.ts.map +1 -0
  4. package/dist/chain-preview.js +472 -0
  5. package/dist/chain-preview.js.map +1 -0
  6. package/dist/client.d.ts +43 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +402 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/commands.d.ts +22 -0
  11. package/dist/commands.d.ts.map +1 -0
  12. package/dist/commands.js +99 -0
  13. package/dist/commands.js.map +1 -0
  14. package/dist/footer.d.ts +34 -0
  15. package/dist/footer.d.ts.map +1 -0
  16. package/dist/footer.js +249 -0
  17. package/dist/footer.js.map +1 -0
  18. package/dist/handlers.d.ts +24 -0
  19. package/dist/handlers.d.ts.map +1 -0
  20. package/dist/handlers.js +83 -0
  21. package/dist/handlers.js.map +1 -0
  22. package/dist/hub-overlay.d.ts +107 -0
  23. package/dist/hub-overlay.d.ts.map +1 -0
  24. package/dist/hub-overlay.js +1794 -0
  25. package/dist/hub-overlay.js.map +1 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +1585 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/output-viewer.d.ts +49 -0
  31. package/dist/output-viewer.d.ts.map +1 -0
  32. package/dist/output-viewer.js +389 -0
  33. package/dist/output-viewer.js.map +1 -0
  34. package/dist/overlay.d.ts +40 -0
  35. package/dist/overlay.d.ts.map +1 -0
  36. package/dist/overlay.js +225 -0
  37. package/dist/overlay.js.map +1 -0
  38. package/dist/protocol.d.ts +118 -0
  39. package/dist/protocol.d.ts.map +1 -0
  40. package/dist/protocol.js +3 -0
  41. package/dist/protocol.js.map +1 -0
  42. package/dist/remote-session.d.ts +113 -0
  43. package/dist/remote-session.d.ts.map +1 -0
  44. package/dist/remote-session.js +645 -0
  45. package/dist/remote-session.js.map +1 -0
  46. package/dist/remote-tui.d.ts +40 -0
  47. package/dist/remote-tui.d.ts.map +1 -0
  48. package/dist/remote-tui.js +606 -0
  49. package/dist/remote-tui.js.map +1 -0
  50. package/dist/renderers.d.ts +34 -0
  51. package/dist/renderers.d.ts.map +1 -0
  52. package/dist/renderers.js +669 -0
  53. package/dist/renderers.js.map +1 -0
  54. package/dist/review.d.ts +15 -0
  55. package/dist/review.d.ts.map +1 -0
  56. package/dist/review.js +154 -0
  57. package/dist/review.js.map +1 -0
  58. package/dist/titlebar.d.ts +3 -0
  59. package/dist/titlebar.d.ts.map +1 -0
  60. package/dist/titlebar.js +59 -0
  61. package/dist/titlebar.js.map +1 -0
  62. package/dist/todo/index.d.ts +3 -0
  63. package/dist/todo/index.d.ts.map +1 -0
  64. package/dist/todo/index.js +3 -0
  65. package/dist/todo/index.js.map +1 -0
  66. package/dist/todo/store.d.ts +6 -0
  67. package/dist/todo/store.d.ts.map +1 -0
  68. package/dist/todo/store.js +43 -0
  69. package/dist/todo/store.js.map +1 -0
  70. package/dist/todo/types.d.ts +13 -0
  71. package/dist/todo/types.d.ts.map +1 -0
  72. package/dist/todo/types.js +2 -0
  73. package/dist/todo/types.js.map +1 -0
  74. package/package.json +44 -0
  75. package/src/chain-preview.ts +621 -0
  76. package/src/client.ts +515 -0
  77. package/src/commands.ts +132 -0
  78. package/src/footer.ts +305 -0
  79. package/src/handlers.ts +113 -0
  80. package/src/hub-overlay.ts +2324 -0
  81. package/src/index.ts +1907 -0
  82. package/src/output-viewer.ts +480 -0
  83. package/src/overlay.ts +294 -0
  84. package/src/protocol.ts +157 -0
  85. package/src/remote-session.ts +800 -0
  86. package/src/remote-tui.ts +707 -0
  87. package/src/renderers.ts +740 -0
  88. package/src/review.ts +201 -0
  89. package/src/titlebar.ts +63 -0
  90. package/src/todo/index.ts +2 -0
  91. package/src/todo/store.ts +49 -0
  92. package/src/todo/types.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type Theme } from '@mariozechner/pi-coding-agent';
2
+ export interface StoredResult {
3
+ agentName: string;
4
+ text: string;
5
+ thinking: string;
6
+ timestamp: number;
7
+ tokenInfo?: string;
8
+ description?: string;
9
+ prompt?: string;
10
+ isStreaming: boolean;
11
+ }
12
+ interface Component {
13
+ render(width: number): string[];
14
+ handleInput?(data: string): void;
15
+ invalidate(): void;
16
+ }
17
+ interface Focusable {
18
+ focused: boolean;
19
+ }
20
+ type DoneFn = (result: undefined) => void;
21
+ interface TUIRef {
22
+ requestRender(): void;
23
+ }
24
+ export declare class OutputViewerOverlay implements Component, Focusable {
25
+ focused: boolean;
26
+ private readonly tui;
27
+ private readonly theme;
28
+ private readonly results;
29
+ private readonly done;
30
+ private currentIndex;
31
+ private scrollOffset;
32
+ private disposed;
33
+ private viewMode;
34
+ private showThinking;
35
+ private following;
36
+ private pollTimer;
37
+ private mdRenderer;
38
+ constructor(tui: TUIRef, theme: Theme, results: StoredResult[], done: DoneFn, startIndex?: number);
39
+ handleInput(data: string): void;
40
+ render(width: number): string[];
41
+ invalidate(): void;
42
+ dispose(): void;
43
+ private getContentLines;
44
+ private getContentBudget;
45
+ private contentLine;
46
+ private close;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=output-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-viewer.d.ts","sourceRoot":"","sources":["../src/output-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAoB,MAAM,+BAA+B,CAAC;AAI7E,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,SAAS;IAClB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,IAAI,IAAI,CAAC;CACnB;AAED,UAAU,SAAS;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAE1C,UAAU,MAAM;IACf,aAAa,IAAI,IAAI,CAAC;CACtB;AA0CD,qBAAa,mBAAoB,YAAW,SAAS,EAAE,SAAS;IACxD,OAAO,UAAQ;IAEtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,UAAU,CAA4B;gBAG7C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM;IA6BpB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAiK/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA8H/B,UAAU,IAAI,IAAI;IAIlB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;CASb"}
@@ -0,0 +1,389 @@
1
+ import { getMarkdownTheme } from '@mariozechner/pi-coding-agent';
2
+ import { matchesKey, Markdown as MdComponent } from '@mariozechner/pi-tui';
3
+ import { truncateToWidth } from "./renderers.js";
4
+ const ANSI_RE = /\x1b\[[0-9;]*m/g;
5
+ function visibleWidth(text) {
6
+ return text.replace(ANSI_RE, '').length;
7
+ }
8
+ function padRight(text, width) {
9
+ if (width <= 0)
10
+ return '';
11
+ const truncated = truncateToWidth(text, width);
12
+ const remaining = width - visibleWidth(truncated);
13
+ return remaining > 0 ? truncated + ' '.repeat(remaining) : truncated;
14
+ }
15
+ function hLine(width) {
16
+ return width > 0 ? '\u2500'.repeat(width) : '';
17
+ }
18
+ function buildTopBorder(width, title) {
19
+ if (width <= 0)
20
+ return '';
21
+ if (width === 1)
22
+ return '\u256D';
23
+ if (width === 2)
24
+ return '\u256D\u256E';
25
+ const inner = width - 2;
26
+ const titleText = ` ${title} `;
27
+ if (titleText.length >= inner) {
28
+ return `\u256D${hLine(inner)}\u256E`;
29
+ }
30
+ const left = Math.floor((inner - titleText.length) / 2);
31
+ const right = inner - titleText.length - left;
32
+ return `\u256D${hLine(left)}${titleText}${hLine(right)}\u256E`;
33
+ }
34
+ function buildBottomBorder(width) {
35
+ if (width <= 0)
36
+ return '';
37
+ if (width === 1)
38
+ return '\u2570';
39
+ if (width === 2)
40
+ return '\u2570\u256F';
41
+ return `\u2570${hLine(width - 2)}\u256F`;
42
+ }
43
+ export class OutputViewerOverlay {
44
+ focused = true;
45
+ tui;
46
+ theme;
47
+ results;
48
+ done;
49
+ currentIndex;
50
+ scrollOffset = 0;
51
+ disposed = false;
52
+ viewMode = 'output';
53
+ showThinking = false;
54
+ following = true;
55
+ pollTimer = null;
56
+ mdRenderer = null;
57
+ constructor(tui, theme, results, done, startIndex) {
58
+ this.tui = tui;
59
+ this.theme = theme;
60
+ this.results = results;
61
+ this.done = done;
62
+ this.currentIndex = startIndex ?? 0;
63
+ // Initialize markdown renderer
64
+ try {
65
+ const mdTheme = getMarkdownTheme?.();
66
+ if (mdTheme) {
67
+ this.mdRenderer = new MdComponent('', 0, 0, mdTheme);
68
+ }
69
+ }
70
+ catch {
71
+ // Fallback: no markdown rendering
72
+ this.mdRenderer = null;
73
+ }
74
+ // Poll for streaming updates — when viewing a streaming result, trigger re-renders
75
+ this.pollTimer = setInterval(() => {
76
+ if (this.disposed)
77
+ return;
78
+ const current = this.results[this.currentIndex];
79
+ if (current?.isStreaming) {
80
+ this.tui.requestRender();
81
+ }
82
+ }, 100);
83
+ }
84
+ handleInput(data) {
85
+ if (this.disposed)
86
+ return;
87
+ // Close overlay
88
+ if (matchesKey(data, 'escape')) {
89
+ this.close();
90
+ return;
91
+ }
92
+ const result = this.results[this.currentIndex];
93
+ if (!result) {
94
+ this.close();
95
+ return;
96
+ }
97
+ // Toggle thinking visibility
98
+ if (matchesKey(data, 't') || data.toLowerCase() === 't') {
99
+ if (result?.thinking) {
100
+ this.showThinking = !this.showThinking;
101
+ this.scrollOffset = 0;
102
+ this.invalidate();
103
+ }
104
+ return;
105
+ }
106
+ // Toggle follow mode (auto-scroll)
107
+ if (matchesKey(data, 'f') || data.toLowerCase() === 'f') {
108
+ this.following = !this.following;
109
+ if (this.following) {
110
+ const lines = this.getContentLines();
111
+ const budget = this.getContentBudget();
112
+ this.scrollOffset = Math.max(0, lines.length - budget);
113
+ }
114
+ this.invalidate();
115
+ return;
116
+ }
117
+ // Toggle between output and prompt views
118
+ if (matchesKey(data, 'p') || data.toLowerCase() === 'p') {
119
+ if (this.viewMode === 'output' && result?.prompt) {
120
+ this.viewMode = 'prompt';
121
+ }
122
+ else {
123
+ this.viewMode = 'output';
124
+ }
125
+ this.scrollOffset = 0;
126
+ this.invalidate();
127
+ return;
128
+ }
129
+ const contentLines = this.getContentLines();
130
+ const contentBudget = this.getContentBudget();
131
+ const maxScroll = Math.max(0, contentLines.length - contentBudget);
132
+ const halfPage = Math.max(1, Math.floor(contentBudget / 2));
133
+ // Vim: g = top, G = bottom
134
+ if (data === 'g') {
135
+ this.following = false;
136
+ this.scrollOffset = 0;
137
+ this.invalidate();
138
+ return;
139
+ }
140
+ if (data === 'G') {
141
+ this.following = false;
142
+ this.scrollOffset = maxScroll;
143
+ this.invalidate();
144
+ return;
145
+ }
146
+ // Vim: { = jump back 25%, } = jump forward 25%
147
+ if (data === '{') {
148
+ this.following = false;
149
+ const jump = Math.max(1, Math.floor(contentLines.length * 0.25));
150
+ this.scrollOffset = Math.max(0, this.scrollOffset - jump);
151
+ this.invalidate();
152
+ return;
153
+ }
154
+ if (data === '}') {
155
+ this.following = false;
156
+ const jump = Math.max(1, Math.floor(contentLines.length * 0.25));
157
+ this.scrollOffset = Math.min(maxScroll, this.scrollOffset + jump);
158
+ this.invalidate();
159
+ return;
160
+ }
161
+ // Navigate between results
162
+ if (matchesKey(data, 'left')) {
163
+ if (this.results.length > 1) {
164
+ this.currentIndex = (this.currentIndex + 1) % this.results.length;
165
+ this.scrollOffset = 0;
166
+ this.viewMode = 'output';
167
+ this.showThinking = false;
168
+ this.invalidate();
169
+ }
170
+ return;
171
+ }
172
+ if (matchesKey(data, 'right')) {
173
+ if (this.results.length > 1) {
174
+ this.currentIndex = (this.currentIndex - 1 + this.results.length) % this.results.length;
175
+ this.scrollOffset = 0;
176
+ this.viewMode = 'output';
177
+ this.showThinking = false;
178
+ this.invalidate();
179
+ }
180
+ return;
181
+ }
182
+ // Scroll content — manual scroll disables following
183
+ if (matchesKey(data, 'up')) {
184
+ if (this.scrollOffset > 0) {
185
+ this.following = false;
186
+ this.scrollOffset -= 1;
187
+ this.invalidate();
188
+ }
189
+ return;
190
+ }
191
+ if (matchesKey(data, 'down')) {
192
+ if (this.scrollOffset < maxScroll) {
193
+ this.following = false;
194
+ this.scrollOffset += 1;
195
+ this.invalidate();
196
+ }
197
+ return;
198
+ }
199
+ // Page up (Shift+Up or PageUp)
200
+ if (matchesKey(data, 'shift+up') || matchesKey(data, 'pageUp')) {
201
+ this.following = false;
202
+ this.scrollOffset = Math.max(0, this.scrollOffset - halfPage);
203
+ this.invalidate();
204
+ return;
205
+ }
206
+ // Page down (Shift+Down or PageDown)
207
+ if (matchesKey(data, 'shift+down') || matchesKey(data, 'pageDown')) {
208
+ this.following = false;
209
+ this.scrollOffset = Math.min(maxScroll, this.scrollOffset + halfPage);
210
+ this.invalidate();
211
+ return;
212
+ }
213
+ // Home — jump to top
214
+ if (matchesKey(data, 'home')) {
215
+ this.following = false;
216
+ this.scrollOffset = 0;
217
+ this.invalidate();
218
+ return;
219
+ }
220
+ // End — jump to bottom
221
+ if (matchesKey(data, 'end')) {
222
+ this.following = false;
223
+ this.scrollOffset = maxScroll;
224
+ this.invalidate();
225
+ return;
226
+ }
227
+ }
228
+ render(width) {
229
+ const safeWidth = Math.max(4, width);
230
+ const inner = Math.max(0, safeWidth - 2);
231
+ const termHeight = process.stdout.rows || 40;
232
+ // Match overlay maxHeight of 95%, leave margin for overlay chrome
233
+ const maxLines = Math.max(10, Math.floor(termHeight * 0.95) - 2);
234
+ const result = this.results[this.currentIndex];
235
+ if (!result) {
236
+ const lines = [
237
+ buildTopBorder(safeWidth, 'Output Viewer'),
238
+ this.contentLine(this.theme.fg('muted', ' No results available'), inner),
239
+ this.contentLine(this.theme.fg('dim', ' [Esc] Close'), inner),
240
+ buildBottomBorder(safeWidth),
241
+ ];
242
+ return lines.map((line) => truncateToWidth(line, safeWidth));
243
+ }
244
+ // Build header title with streaming indicator
245
+ const streamLabel = result.isStreaming ? ' LIVE' : '';
246
+ const nameLabel = result.description
247
+ ? `${result.agentName} - ${result.description}`
248
+ : result.agentName;
249
+ const posLabel = this.results.length > 1
250
+ ? `${nameLabel}${streamLabel} (${this.currentIndex + 1} of ${this.results.length})`
251
+ : `${nameLabel}${streamLabel}`;
252
+ const titleLabel = this.viewMode === 'prompt' ? `${posLabel} [PROMPT]` : posLabel;
253
+ const header = [buildTopBorder(safeWidth, titleLabel)];
254
+ // Sub-header: token info or prompt-mode indicator
255
+ if (this.viewMode === 'prompt') {
256
+ header.push(this.contentLine(this.theme.fg('dim', ' Prompt sent to agent:'), inner));
257
+ }
258
+ else if (result.tokenInfo) {
259
+ header.push(this.contentLine(this.theme.fg('dim', ` ${result.tokenInfo}`), inner));
260
+ }
261
+ else {
262
+ header.push(this.contentLine('', inner));
263
+ }
264
+ header.push(this.contentLine('', inner)); // padding line after header
265
+ // Footer with position indicator and new hints
266
+ const thinkingHint = result.thinking
267
+ ? `[t] ${this.showThinking ? 'Hide' : 'Show'} thinking `
268
+ : '';
269
+ const followHint = result.isStreaming
270
+ ? `[f] ${this.following ? 'Unfollow' : 'Follow'} `
271
+ : '';
272
+ const promptHint = result.prompt ? '[p] Prompt ' : '';
273
+ const navHint = this.results.length > 1 ? '[<- ->] Switch ' : '';
274
+ // Content assembly via helper
275
+ const contentLines = this.getContentLines();
276
+ const totalLines = contentLines.length;
277
+ // Content area
278
+ const contentBudget = Math.max(1, maxLines - header.length - 3); // 3 = footer lines (padding + help + border)
279
+ // Auto-follow when streaming
280
+ if (this.following && result.isStreaming) {
281
+ this.scrollOffset = Math.max(0, totalLines - contentBudget);
282
+ }
283
+ const maxScroll = Math.max(0, totalLines - contentBudget);
284
+ // Clamp scroll offset
285
+ if (this.scrollOffset > maxScroll) {
286
+ this.scrollOffset = maxScroll;
287
+ }
288
+ // Position indicator
289
+ const currentLine = Math.min(this.scrollOffset + 1, totalLines);
290
+ const pct = totalLines > 0 ? Math.round((currentLine / totalLines) * 100) : 0;
291
+ const posInfo = totalLines > 0 ? `L${currentLine}/${totalLines} ${pct}% ` : '';
292
+ const vimHint = totalLines > contentBudget ? '[g/G] Top/Bot [{/}] Jump ' : '';
293
+ const footer = [
294
+ this.contentLine('', inner), // padding line before footer
295
+ this.contentLine(this.theme.fg('dim', ` ${posInfo}${vimHint}[Up/Dn] Scroll ${thinkingHint}${followHint}${promptHint}${navHint}[Esc] Close`), inner),
296
+ buildBottomBorder(safeWidth),
297
+ ];
298
+ const content = [];
299
+ // Scroll indicator: above
300
+ const aboveCount = this.scrollOffset;
301
+ if (aboveCount > 0) {
302
+ content.push(this.contentLine(this.theme.fg('dim', ` ^ ${aboveCount} more above`), inner));
303
+ }
304
+ // Visible lines
305
+ const visibleBudget = aboveCount > 0
306
+ ? contentBudget - 1 // reserve 1 line for "above" indicator
307
+ : contentBudget;
308
+ const belowCount = totalLines - this.scrollOffset - visibleBudget;
309
+ const actualVisible = belowCount > 0 ? visibleBudget - 1 : visibleBudget; // reserve 1 for "below"
310
+ const sliceEnd = Math.min(this.scrollOffset + actualVisible, totalLines);
311
+ for (let i = this.scrollOffset; i < sliceEnd; i++) {
312
+ const line = contentLines[i] ?? '';
313
+ content.push(this.contentLine(' ' + truncateToWidth(line, Math.max(0, inner - 3)), inner));
314
+ }
315
+ // Scroll indicator: below
316
+ const remainingBelow = totalLines - sliceEnd;
317
+ if (remainingBelow > 0) {
318
+ content.push(this.contentLine(this.theme.fg('dim', ` v ${remainingBelow} more below`), inner));
319
+ }
320
+ const lines = [...header, ...content, ...footer];
321
+ return lines.map((line) => truncateToWidth(line, safeWidth));
322
+ }
323
+ invalidate() {
324
+ // Stateless rendering; no cache invalidation required.
325
+ }
326
+ dispose() {
327
+ this.disposed = true;
328
+ if (this.pollTimer) {
329
+ clearInterval(this.pollTimer);
330
+ this.pollTimer = null;
331
+ }
332
+ }
333
+ getContentLines() {
334
+ const result = this.results[this.currentIndex];
335
+ if (!result)
336
+ return [];
337
+ const lines = [];
338
+ // Thinking section (dimmed) — keep as plain text, it's raw thinking
339
+ if (this.showThinking && result.thinking) {
340
+ const thinkingLines = result.thinking.split('\n');
341
+ for (const line of thinkingLines) {
342
+ lines.push(this.theme.fg('dim', line));
343
+ }
344
+ lines.push(this.theme.fg('muted', '--- end thinking ---'));
345
+ lines.push(''); // empty line separator
346
+ }
347
+ // Main content — render as markdown for syntax highlighting
348
+ const mainText = this.viewMode === 'prompt' && result.prompt ? result.prompt : result.text;
349
+ if (mainText) {
350
+ if (this.mdRenderer) {
351
+ try {
352
+ this.mdRenderer.setText(mainText);
353
+ // Render with inner width minus padding (3 spaces left + border chars)
354
+ const termWidth = Math.max(20, (process.stdout.columns || 80) - 10);
355
+ const rendered = this.mdRenderer.render(termWidth);
356
+ lines.push(...rendered);
357
+ }
358
+ catch {
359
+ // Fallback: plain text if markdown rendering fails
360
+ lines.push(...mainText.split('\n'));
361
+ }
362
+ }
363
+ else {
364
+ // Fallback: plain text
365
+ lines.push(...mainText.split('\n'));
366
+ }
367
+ }
368
+ return lines;
369
+ }
370
+ getContentBudget() {
371
+ const termHeight = process.stdout.rows || 40;
372
+ const maxLines = Math.max(10, Math.floor(termHeight * 0.95) - 2);
373
+ return Math.max(1, maxLines - 4); // 4 = header + footer lines
374
+ }
375
+ contentLine(content, innerWidth) {
376
+ return `\u2502${padRight(content, innerWidth)}\u2502`;
377
+ }
378
+ close() {
379
+ if (this.disposed)
380
+ return;
381
+ this.disposed = true;
382
+ if (this.pollTimer) {
383
+ clearInterval(this.pollTimer);
384
+ this.pollTimer = null;
385
+ }
386
+ this.done(undefined);
387
+ }
388
+ }
389
+ //# sourceMappingURL=output-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-viewer.js","sourceRoot":"","sources":["../src/output-viewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Theme } from '@mariozechner/pi-coding-agent';
2
+ import type { AgentDefinition } from './protocol.ts';
3
+ export interface AgentManagerResult {
4
+ agent: string;
5
+ action: 'run';
6
+ }
7
+ interface Component {
8
+ render(width: number): string[];
9
+ handleInput?(data: string): void;
10
+ invalidate(): void;
11
+ }
12
+ interface Focusable {
13
+ focused: boolean;
14
+ }
15
+ type DoneFn = (result: AgentManagerResult | undefined) => void;
16
+ export declare class AgentManagerOverlay implements Component, Focusable {
17
+ focused: boolean;
18
+ private readonly theme;
19
+ private readonly agents;
20
+ private readonly done;
21
+ private screen;
22
+ private selectedIndex;
23
+ private readonly listWindowSize;
24
+ private disposed;
25
+ constructor(theme: Theme, agents: AgentDefinition[], done: DoneFn);
26
+ handleInput(data: string): void;
27
+ render(width: number): string[];
28
+ invalidate(): void;
29
+ dispose(): void;
30
+ private handleListInput;
31
+ private handleDetailInput;
32
+ private close;
33
+ private renderListScreen;
34
+ private renderDetailScreen;
35
+ private fieldLine;
36
+ private contentLine;
37
+ private getVisibleRange;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACd;AAED,UAAU,SAAS;IAClB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,IAAI,IAAI,CAAC;CACnB;AAED,UAAU,SAAS;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,KAAK,IAAI,CAAC;AA2C/D,qBAAa,mBAAoB,YAAW,SAAS,EAAE,SAAS;IACxD,OAAO,UAAQ;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAS;gBAEb,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM;IAMjE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqB/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAa/B,UAAU,IAAI,IAAI;IAIlB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,gBAAgB;IA6ExB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;CAgBvB"}