@relace-ai/jacq 0.1.2-beta.3 → 0.1.2-beta.5

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 (94) hide show
  1. package/dist/actions/messages.d.ts +2 -5
  2. package/dist/actions/messages.js +2 -10
  3. package/dist/actions/messages.js.map +1 -1
  4. package/dist/actions/tasks.js +6 -2
  5. package/dist/actions/tasks.js.map +1 -1
  6. package/dist/approvalGate.d.ts +42 -0
  7. package/dist/approvalGate.js +140 -0
  8. package/dist/approvalGate.js.map +1 -0
  9. package/dist/approvals.d.ts +21 -0
  10. package/dist/approvals.js +79 -0
  11. package/dist/approvals.js.map +1 -0
  12. package/dist/auth.d.ts +1 -0
  13. package/dist/auth.js +3 -0
  14. package/dist/auth.js.map +1 -1
  15. package/dist/charWidth.d.ts +11 -0
  16. package/dist/charWidth.js +31 -0
  17. package/dist/charWidth.js.map +1 -0
  18. package/dist/clipboard.d.ts +0 -5
  19. package/dist/clipboard.js +0 -5
  20. package/dist/clipboard.js.map +1 -1
  21. package/dist/commands.js +3 -0
  22. package/dist/commands.js.map +1 -1
  23. package/dist/config.d.ts +2 -1
  24. package/dist/config.js +17 -10
  25. package/dist/config.js.map +1 -1
  26. package/dist/connection.d.ts +2 -0
  27. package/dist/connection.js +199 -6
  28. package/dist/connection.js.map +1 -1
  29. package/dist/constants.d.ts +2 -2
  30. package/dist/constants.js +2 -2
  31. package/dist/constants.js.map +1 -1
  32. package/dist/index.js +202 -28
  33. package/dist/index.js.map +1 -1
  34. package/dist/markdown/parser.js +248 -60
  35. package/dist/markdown/parser.js.map +1 -1
  36. package/dist/markdown/renderer.d.ts +3 -3
  37. package/dist/markdown/renderer.js +255 -66
  38. package/dist/markdown/renderer.js.map +1 -1
  39. package/dist/markdown/types.d.ts +4 -1
  40. package/dist/markdown/types.js.map +1 -1
  41. package/dist/protocol.d.ts +5 -0
  42. package/dist/protocol.js +245 -67
  43. package/dist/protocol.js.map +1 -1
  44. package/dist/renderer.js +4 -0
  45. package/dist/renderer.js.map +1 -1
  46. package/dist/startupAnimation.d.ts +4 -0
  47. package/dist/startupAnimation.js +326 -0
  48. package/dist/startupAnimation.js.map +1 -0
  49. package/dist/state.js +22 -0
  50. package/dist/state.js.map +1 -1
  51. package/dist/styles.js +4 -1
  52. package/dist/styles.js.map +1 -1
  53. package/dist/terminal.d.ts +9 -0
  54. package/dist/terminal.js +15 -0
  55. package/dist/terminal.js.map +1 -1
  56. package/dist/tools/registry.js +138 -13
  57. package/dist/tools/registry.js.map +1 -1
  58. package/dist/types.d.ts +29 -3
  59. package/dist/ui/backgroundTasks.js +1 -1
  60. package/dist/ui/backgroundTasks.js.map +1 -1
  61. package/dist/ui/config.d.ts +6 -0
  62. package/dist/ui/config.js +53 -0
  63. package/dist/ui/config.js.map +1 -0
  64. package/dist/ui/diffViewer.d.ts +9 -0
  65. package/dist/ui/diffViewer.js +320 -0
  66. package/dist/ui/diffViewer.js.map +1 -0
  67. package/dist/ui/index.js +39 -3
  68. package/dist/ui/index.js.map +1 -1
  69. package/dist/ui/input.d.ts +1 -1
  70. package/dist/ui/input.js +40 -13
  71. package/dist/ui/input.js.map +1 -1
  72. package/dist/ui/localCommands.d.ts +8 -0
  73. package/dist/ui/localCommands.js +267 -0
  74. package/dist/ui/localCommands.js.map +1 -0
  75. package/dist/ui/messages.js +189 -54
  76. package/dist/ui/messages.js.map +1 -1
  77. package/dist/ui/primitives.d.ts +9 -1
  78. package/dist/ui/primitives.js +64 -14
  79. package/dist/ui/primitives.js.map +1 -1
  80. package/dist/ui/promptInput.js +42 -8
  81. package/dist/ui/promptInput.js.map +1 -1
  82. package/dist/ui/promptPicker.js +3 -4
  83. package/dist/ui/promptPicker.js.map +1 -1
  84. package/dist/ui/resumeTask.d.ts +6 -0
  85. package/dist/ui/resumeTask.js +136 -0
  86. package/dist/ui/resumeTask.js.map +1 -0
  87. package/dist/ui/sessions.js +2 -2
  88. package/dist/ui/sessions.js.map +1 -1
  89. package/dist/ui/welcome.js +19 -10
  90. package/dist/ui/welcome.js.map +1 -1
  91. package/dist/utils/resolvePath.d.ts +10 -0
  92. package/dist/utils/resolvePath.js +24 -0
  93. package/dist/utils/resolvePath.js.map +1 -0
  94. package/package.json +7 -4
@@ -8,12 +8,15 @@
8
8
  * segments: [{ start, end, styleKey }]
9
9
  */
10
10
  import { parse } from './parser.js';
11
+ import { displayWidth } from '../charWidth.js';
12
+ import { supportsHyperlinks } from '../terminal-caps.js';
11
13
  /**
12
- * Render inline tokens to text with segments for styling
14
+ * Render inline tokens to text with segments for styling and links for hyperlinks
13
15
  */
14
16
  function renderInlineTokens(tokens) {
15
17
  let text = '';
16
18
  const segments = [];
19
+ const links = [];
17
20
  for (const token of tokens) {
18
21
  const start = text.length;
19
22
  switch (token.type) {
@@ -29,6 +32,9 @@ function renderInlineTokens(tokens) {
29
32
  for (const seg of inner.segments) {
30
33
  segments.push({ start: seg.start + start, end: seg.end + start, styleKey: seg.styleKey });
31
34
  }
35
+ for (const link of inner.links) {
36
+ links.push({ start: link.start + start, end: link.end + start, url: link.url });
37
+ }
32
38
  break;
33
39
  }
34
40
  case 'italic': {
@@ -38,17 +44,15 @@ function renderInlineTokens(tokens) {
38
44
  for (const seg of inner.segments) {
39
45
  segments.push({ start: seg.start + start, end: seg.end + start, styleKey: seg.styleKey });
40
46
  }
47
+ for (const link of inner.links) {
48
+ links.push({ start: link.start + start, end: link.end + start, url: link.url });
49
+ }
41
50
  break;
42
51
  }
43
52
  case 'code':
44
- text += '`';
45
- segments.push({ start, end: text.length, styleKey: 'mdCodeDelim' });
46
- const codeStart = text.length;
53
+ // Just render the code content, no backticks
47
54
  text += token.content;
48
- segments.push({ start: codeStart, end: text.length, styleKey: 'mdCode' });
49
- const delimEnd = text.length;
50
- text += '`';
51
- segments.push({ start: delimEnd, end: text.length, styleKey: 'mdCodeDelim' });
55
+ segments.push({ start, end: text.length, styleKey: 'mdCode' });
52
56
  break;
53
57
  case 'strikethrough': {
54
58
  const inner = renderInlineTokens(token.children);
@@ -57,19 +61,50 @@ function renderInlineTokens(tokens) {
57
61
  for (const seg of inner.segments) {
58
62
  segments.push({ start: seg.start + start, end: seg.end + start, styleKey: seg.styleKey });
59
63
  }
64
+ for (const link of inner.links) {
65
+ links.push({ start: link.start + start, end: link.end + start, url: link.url });
66
+ }
60
67
  break;
61
68
  }
62
69
  case 'link': {
63
- text += token.text;
70
+ // Render children (supports nested formatting like bold inside link)
71
+ const inner = renderInlineTokens(token.children);
72
+ text += inner.text;
73
+ // Add link styling for the whole range
64
74
  segments.push({ start, end: text.length, styleKey: 'mdLink' });
65
- const urlStart = text.length;
66
- text += ` (${token.url})`;
67
- segments.push({ start: urlStart, end: text.length, styleKey: 'mdLinkUrl' });
75
+ // Add child segments with link variants (bold+link, italic+link, etc.)
76
+ for (const seg of inner.segments) {
77
+ // Map inner styles to link-combined styles
78
+ let styleKey = seg.styleKey;
79
+ if (styleKey === 'mdBold')
80
+ styleKey = 'mdLinkBold';
81
+ else if (styleKey === 'mdItalic')
82
+ styleKey = 'mdLinkItalic';
83
+ else if (styleKey === 'mdCode')
84
+ styleKey = 'mdLinkCode';
85
+ else if (styleKey === 'mdBoldItalic')
86
+ styleKey = 'mdLinkBoldItalic';
87
+ segments.push({ start: seg.start + start, end: seg.end + start, styleKey });
88
+ }
89
+ if (supportsHyperlinks()) {
90
+ // OSC 8 hyperlink for the whole range
91
+ links.push({ start, end: text.length, url: token.url });
92
+ }
93
+ else {
94
+ // Fallback: show URL in parentheses for terminals without OSC 8
95
+ const urlStart = text.length;
96
+ text += ' (' + token.url + ')';
97
+ segments.push({ start: urlStart, end: text.length, styleKey: 'mdLinkUrl' });
98
+ }
99
+ // Propagate any nested links (unlikely but for completeness)
100
+ for (const link of inner.links) {
101
+ links.push({ start: link.start + start, end: link.end + start, url: link.url });
102
+ }
68
103
  break;
69
104
  }
70
105
  }
71
106
  }
72
- return { text, segments };
107
+ return { text, segments, links };
73
108
  }
74
109
  /**
75
110
  * Get plain text from inline tokens (for width calculations)
@@ -80,22 +115,20 @@ function getInlineText(tokens) {
80
115
  return getInlineText(t.children);
81
116
  if ('content' in t)
82
117
  return t.content;
83
- if (t.type === 'link')
84
- return t.text;
85
118
  return '';
86
119
  }).join('');
87
120
  }
88
121
  /**
89
- * Wrap text to fit within maxWidth, preserving segments
122
+ * Wrap text to fit within maxWidth, preserving segments and links
90
123
  */
91
- export function wrapWithSegments(text, segments, maxWidth, defaultStyle, prefix = '', continuationPrefix = null) {
124
+ export function wrapWithSegments(text, segments, maxWidth, defaultStyle, prefix = '', continuationPrefix = null, links = []) {
92
125
  const lines = [];
93
126
  const firstPrefixLen = prefix.length;
94
127
  const contPrefixLen = continuationPrefix !== null ? continuationPrefix.length : firstPrefixLen;
95
128
  // Use minimum content width for wrapping decisions
96
129
  const contentWidth = maxWidth - Math.max(firstPrefixLen, contPrefixLen);
97
130
  if (contentWidth <= 0) {
98
- return [{ text: prefix + text, styleKey: defaultStyle, segments }];
131
+ return [{ text: prefix + text, styleKey: defaultStyle, segments, links: links.length > 0 ? links : undefined }];
99
132
  }
100
133
  const words = text.split(' ');
101
134
  let currentLine = '';
@@ -113,34 +146,60 @@ export function wrapWithSegments(text, segments, maxWidth, defaultStyle, prefix
113
146
  end: Math.min(currentLine.length, s.end - lineStart) + prefixLen,
114
147
  styleKey: s.styleKey,
115
148
  }));
149
+ const lineLinks = links
150
+ .filter(l => l.start < lineEnd && l.end > lineStart)
151
+ .map(l => ({
152
+ start: Math.max(0, l.start - lineStart) + prefixLen,
153
+ end: Math.min(currentLine.length, l.end - lineStart) + prefixLen,
154
+ url: l.url,
155
+ }));
116
156
  lines.push({
117
157
  text: currentPrefix + currentLine,
118
158
  styleKey: defaultStyle,
119
159
  segments: lineSegments.length > 0 ? lineSegments : undefined,
160
+ links: lineLinks.length > 0 ? lineLinks : undefined,
120
161
  });
121
162
  lineStart += currentLine.length + 1; // +1 for space
122
163
  currentLine = '';
123
164
  lineIndex++;
124
165
  }
125
166
  };
167
+ let currentLineWidth = 0;
126
168
  for (const word of words) {
127
- if (currentLine.length + word.length + 1 <= contentWidth) {
169
+ const wordWidth = displayWidth(word);
170
+ if (currentLineWidth + wordWidth + (currentLine ? 1 : 0) <= contentWidth) {
128
171
  currentLine += (currentLine ? ' ' : '') + word;
172
+ currentLineWidth += wordWidth + (currentLineWidth > 0 ? 1 : 0);
129
173
  }
130
174
  else {
131
175
  flushLine();
132
- // Handle words longer than contentWidth
133
- if (word.length > contentWidth) {
176
+ currentLineWidth = 0;
177
+ // Handle words wider than contentWidth
178
+ if (wordWidth > contentWidth) {
134
179
  let remaining = word;
135
- while (remaining.length > contentWidth) {
136
- currentLine = remaining.slice(0, contentWidth);
180
+ while (displayWidth(remaining) > contentWidth) {
181
+ let chunk = '';
182
+ let chunkWidth = 0;
183
+ for (const ch of remaining) {
184
+ const cw = displayWidth(ch);
185
+ if (chunkWidth + cw > contentWidth)
186
+ break;
187
+ chunk += ch;
188
+ chunkWidth += cw;
189
+ }
190
+ if (chunk.length === 0)
191
+ chunk = [...remaining][0];
192
+ currentLine = chunk;
137
193
  flushLine();
138
- remaining = remaining.slice(contentWidth);
194
+ currentLineWidth = 0;
195
+ remaining = remaining.slice(chunk.length);
139
196
  }
140
197
  currentLine = remaining;
198
+ currentLineWidth = displayWidth(remaining);
141
199
  }
142
200
  else {
143
201
  currentLine = word;
202
+ currentLineWidth = wordWidth;
144
203
  }
145
204
  }
146
205
  }
@@ -169,16 +228,16 @@ function isSectionHeader(tokens) {
169
228
  }
170
229
  function renderParagraph(token, maxWidth) {
171
230
  const isHeader = isSectionHeader(token.children);
172
- const { text, segments } = renderInlineTokens(token.children);
231
+ const { text, segments, links } = renderInlineTokens(token.children);
173
232
  const style = 'mdText';
174
233
  const prefix = '';
175
234
  // Add blank line before section headers
176
235
  const lines = isHeader ? [{ text: '', styleKey: 'mdText' }] : [];
177
- lines.push(...wrapWithSegments(text, segments, maxWidth, style, prefix));
236
+ lines.push(...wrapWithSegments(text, segments, maxWidth, style, prefix, null, links));
178
237
  return lines;
179
238
  }
180
239
  function renderHeading(token, maxWidth) {
181
- const { text, segments } = renderInlineTokens(token.children);
240
+ const { text, segments, links } = renderInlineTokens(token.children);
182
241
  let styleKey;
183
242
  switch (token.level) {
184
243
  case 1:
@@ -201,42 +260,184 @@ function renderHeading(token, maxWidth) {
201
260
  }
202
261
  return [
203
262
  { text: '', styleKey: 'mdText' },
204
- ...wrapWithSegments(text, segments, maxWidth, styleKey, ''),
263
+ ...wrapWithSegments(text, segments, maxWidth, styleKey, '', null, links),
205
264
  ];
206
265
  }
266
+ /**
267
+ * Render a single list item with its sub-items
268
+ */
269
+ function renderListItem(item, bullet, maxWidth, depth = 0) {
270
+ const lines = [];
271
+ const baseIndent = ' '.repeat(depth);
272
+ const fullBullet = baseIndent + bullet;
273
+ const indent = ' '.repeat(fullBullet.length);
274
+ if (item.checked !== undefined) {
275
+ // Task list item
276
+ const marker = item.checked ? '[x] ' : '[ ] ';
277
+ const { text: inlineText, segments: inlineSegments, links: inlineLinks } = renderInlineTokens(item.children);
278
+ const text = marker + inlineText;
279
+ const segments = [
280
+ { start: 0, end: marker.length, styleKey: 'mdTaskMarker' },
281
+ ...inlineSegments.map(s => ({ start: s.start + marker.length, end: s.end + marker.length, styleKey: s.styleKey })),
282
+ ];
283
+ const links = inlineLinks.map(l => ({ start: l.start + marker.length, end: l.end + marker.length, url: l.url }));
284
+ lines.push(...wrapWithSegments(text, segments, maxWidth, 'mdText', fullBullet, indent, links));
285
+ }
286
+ else {
287
+ // Regular list item
288
+ const { text, segments, links } = renderInlineTokens(item.children);
289
+ lines.push(...wrapWithSegments(text, segments, maxWidth, 'mdText', fullBullet, indent, links));
290
+ }
291
+ // Render sub-items recursively
292
+ if (item.subItems && item.subItems.length > 0) {
293
+ for (const subItem of item.subItems) {
294
+ lines.push(...renderListItem(subItem, '• ', maxWidth, depth + 1));
295
+ }
296
+ }
297
+ return lines;
298
+ }
207
299
  function renderList(token, maxWidth) {
208
300
  const lines = [{ text: '', styleKey: 'mdText' }];
209
301
  token.items.forEach((item, i) => {
210
- const bullet = token.ordered ? `${i + 1}. ` : '• ';
211
- if (item.checked !== undefined) {
212
- const marker = item.checked ? '[x] ' : '[ ] ';
213
- const { text: inlineText, segments: inlineSegments } = renderInlineTokens(item.children);
214
- const text = marker + inlineText;
215
- const segments = [
216
- { start: 0, end: marker.length, styleKey: 'mdTaskMarker' },
217
- ...inlineSegments.map(s => ({ start: s.start + marker.length, end: s.end + marker.length, styleKey: s.styleKey })),
218
- ];
219
- const indent = ' '.repeat(bullet.length + marker.length);
220
- lines.push(...wrapWithSegments(text, segments, maxWidth, 'mdText', bullet, indent));
221
- }
222
- else {
223
- const indent = ' '.repeat(bullet.length);
224
- const { text, segments } = renderInlineTokens(item.children);
225
- lines.push(...wrapWithSegments(text, segments, maxWidth, 'mdText', bullet, indent));
226
- }
302
+ const bullet = token.ordered ? (i + 1) + '. ' : '• ';
303
+ lines.push(...renderListItem(item, bullet, maxWidth, 0));
227
304
  });
228
305
  lines.push({ text: '', styleKey: 'mdText' });
229
306
  return lines;
230
307
  }
308
+ /**
309
+ * Render a table cell with inline styling, fitting to a fixed width.
310
+ * Returns the padded/truncated text, adjusted segments, and links.
311
+ */
312
+ function renderTableCell(cell, width, align = 'left') {
313
+ const { text, segments, links } = renderInlineTokens(cell);
314
+ const textWidth = displayWidth(text);
315
+ if (textWidth <= width) {
316
+ // Pad with spaces based on alignment
317
+ const padding = width - textWidth;
318
+ let padded;
319
+ let offset = 0;
320
+ switch (align) {
321
+ case 'right':
322
+ padded = ' '.repeat(padding) + text;
323
+ offset = padding;
324
+ break;
325
+ case 'center': {
326
+ const leftPad = Math.floor(padding / 2);
327
+ const rightPad = padding - leftPad;
328
+ padded = ' '.repeat(leftPad) + text + ' '.repeat(rightPad);
329
+ offset = leftPad;
330
+ break;
331
+ }
332
+ default: // left
333
+ padded = text + ' '.repeat(padding);
334
+ offset = 0;
335
+ }
336
+ // Adjust segment positions for alignment offset
337
+ const adjustedSegments = segments.map(s => ({
338
+ start: s.start + offset,
339
+ end: s.end + offset,
340
+ styleKey: s.styleKey,
341
+ }));
342
+ // Adjust link positions for alignment offset
343
+ const adjustedLinks = links.map(l => ({
344
+ start: l.start + offset,
345
+ end: l.end + offset,
346
+ url: l.url,
347
+ }));
348
+ return { text: padded, segments: adjustedSegments, links: adjustedLinks };
349
+ }
350
+ else {
351
+ // Truncate to fit
352
+ let truncated = '';
353
+ let truncatedWidth = 0;
354
+ const ellipsis = '...';
355
+ const ellipsisWidth = 3;
356
+ const targetWidth = width - ellipsisWidth;
357
+ for (const char of text) {
358
+ const charWidth = displayWidth(char);
359
+ if (truncatedWidth + charWidth > targetWidth)
360
+ break;
361
+ truncated += char;
362
+ truncatedWidth += charWidth;
363
+ }
364
+ truncated += ellipsis;
365
+ const truncLen = truncated.length - ellipsisWidth;
366
+ // Clip segments to truncated length
367
+ const clippedSegments = segments
368
+ .filter(s => s.start < truncLen)
369
+ .map(s => ({
370
+ start: s.start,
371
+ end: Math.min(s.end, truncLen),
372
+ styleKey: s.styleKey,
373
+ }));
374
+ // Clip links to truncated length
375
+ const clippedLinks = links
376
+ .filter(l => l.start < truncLen)
377
+ .map(l => ({
378
+ start: l.start,
379
+ end: Math.min(l.end, truncLen),
380
+ url: l.url,
381
+ }));
382
+ return { text: truncated, segments: clippedSegments, links: clippedLinks };
383
+ }
384
+ }
385
+ /**
386
+ * Render a table row (header or data) with inline styling preserved.
387
+ * Returns a single styled line with all segments and links offset correctly.
388
+ */
389
+ function renderTableRow(row, colWidths, alignments, styleKey) {
390
+ const prefix = ' \u2502 ';
391
+ const separator = ' \u2502 ';
392
+ const suffix = ' \u2502';
393
+ let fullText = prefix;
394
+ const allSegments = [];
395
+ const allLinks = [];
396
+ // Iterate over all columns (not just row cells) to handle rows with fewer cells
397
+ for (let colIdx = 0; colIdx < colWidths.length; colIdx++) {
398
+ const cell = row[colIdx] ?? [];
399
+ const width = colWidths[colIdx] ?? 10;
400
+ const align = alignments[colIdx] ?? 'left';
401
+ const { text, segments, links } = renderTableCell(cell, width, align);
402
+ // Offset segments by current position in fullText
403
+ const offset = fullText.length;
404
+ for (const seg of segments) {
405
+ allSegments.push({
406
+ start: seg.start + offset,
407
+ end: seg.end + offset,
408
+ styleKey: seg.styleKey,
409
+ });
410
+ }
411
+ // Offset links by current position in fullText
412
+ for (const link of links) {
413
+ allLinks.push({
414
+ start: link.start + offset,
415
+ end: link.end + offset,
416
+ url: link.url,
417
+ });
418
+ }
419
+ fullText += text;
420
+ if (colIdx < colWidths.length - 1) {
421
+ fullText += separator;
422
+ }
423
+ }
424
+ fullText += suffix;
425
+ return {
426
+ text: fullText,
427
+ styleKey,
428
+ segments: allSegments.length > 0 ? allSegments : undefined,
429
+ links: allLinks.length > 0 ? allLinks : undefined,
430
+ };
431
+ }
231
432
  function renderTable(token, _maxWidth) {
232
433
  const lines = [{ text: '', styleKey: 'mdText' }];
233
- // Calculate column widths
434
+ // Calculate column widths based on content
234
435
  const allRows = [token.headers, ...token.rows];
235
436
  const colWidths = [];
236
437
  for (const row of allRows) {
237
438
  row.forEach((cell, colIdx) => {
238
- const cellText = getInlineText(cell);
239
- colWidths[colIdx] = Math.max(colWidths[colIdx] || 0, cellText.length);
439
+ const { text: cellText } = renderInlineTokens(cell);
440
+ colWidths[colIdx] = Math.max(colWidths[colIdx] || 0, displayWidth(cellText));
240
441
  });
241
442
  }
242
443
  // Ensure table fits in maxWidth (with 2-char left margin)
@@ -252,24 +453,12 @@ function renderTable(token, _maxWidth) {
252
453
  const headerSep = ' \u251C\u2500' + colWidths.map(w => '\u2500'.repeat(w)).join('\u2500\u253C\u2500') + '\u2500\u2524';
253
454
  const bottomBorder = ' \u2514\u2500' + colWidths.map(w => '\u2500'.repeat(w)).join('\u2500\u2534\u2500') + '\u2500\u2518';
254
455
  lines.push({ text: topBorder, styleKey: 'mdTableBorder' });
255
- const headerCells = token.headers.map((cell, i) => {
256
- const text = getInlineText(cell);
257
- return text.padEnd(colWidths[i]);
258
- });
259
- lines.push({
260
- text: ' \u2502 ' + headerCells.join(' \u2502 ') + ' \u2502',
261
- styleKey: 'mdTableHeader',
262
- });
456
+ // Render header row with inline styling
457
+ lines.push(renderTableRow(token.headers, colWidths, token.alignments, 'mdTableHeader'));
263
458
  lines.push({ text: headerSep, styleKey: 'mdTableBorder' });
459
+ // Render data rows with inline styling
264
460
  for (const row of token.rows) {
265
- const cells = row.map((cell, i) => {
266
- const text = getInlineText(cell);
267
- return text.padEnd(colWidths[i]);
268
- });
269
- lines.push({
270
- text: ' \u2502 ' + cells.join(' \u2502 ') + ' \u2502',
271
- styleKey: 'mdTableRow',
272
- });
461
+ lines.push(renderTableRow(row, colWidths, token.alignments, 'mdTableRow'));
273
462
  }
274
463
  lines.push({ text: bottomBorder, styleKey: 'mdTableBorder' });
275
464
  return lines;
@@ -284,9 +473,9 @@ function renderCodeBlock(token, _maxWidth) {
284
473
  return lines;
285
474
  }
286
475
  function renderBlockquote(token, maxWidth) {
287
- const { text, segments } = renderInlineTokens(token.children);
476
+ const { text, segments, links } = renderInlineTokens(token.children);
288
477
  const prefix = '│ ';
289
- const wrappedLines = wrapWithSegments(text, segments, maxWidth, 'mdText', prefix);
478
+ const wrappedLines = wrapWithSegments(text, segments, maxWidth, 'mdText', prefix, null, links);
290
479
  // Add dim style for the │ character on each line
291
480
  for (const line of wrappedLines) {
292
481
  const barSegment = { start: 0, end: 1, styleKey: 'mdBlockquoteBar' };
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/markdown/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/markdown/renderer.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export interface StrikethroughToken {
26
26
  }
27
27
  export interface LinkToken {
28
28
  type: 'link';
29
- text: string;
29
+ children: InlineToken[];
30
30
  url: string;
31
31
  }
32
32
  export type InlineToken = TextToken | BoldToken | ItalicToken | CodeToken | StrikethroughToken | LinkToken;
@@ -42,16 +42,19 @@ export interface HeadingToken {
42
42
  export interface ListItem {
43
43
  children: InlineToken[];
44
44
  checked?: boolean;
45
+ subItems?: ListItem[];
45
46
  }
46
47
  export interface ListToken {
47
48
  type: 'list';
48
49
  ordered: boolean;
49
50
  items: ListItem[];
50
51
  }
52
+ export type TableAlignment = 'left' | 'center' | 'right';
51
53
  export interface TableToken {
52
54
  type: 'table';
53
55
  headers: InlineToken[][];
54
56
  rows: InlineToken[][][];
57
+ alignments: TableAlignment[];
55
58
  }
56
59
  export interface CodeBlockToken {
57
60
  type: 'codeblock';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/markdown/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsFH,MAAM,CAAC,MAAM,aAAa,GAAmB;IACzC,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;CAC1B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/markdown/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0FH,MAAM,CAAC,MAAM,aAAa,GAAmB;IACzC,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;CAC1B,CAAC"}
@@ -6,6 +6,11 @@
6
6
  */
7
7
  import type { WsMessage } from './connection.js';
8
8
  export declare function init(): void;
9
+ export declare function sendMessage(prompt: string, taskId: string | null, files?: Array<{
10
+ name: string;
11
+ base64?: string;
12
+ mimeType?: string;
13
+ }> | null): Promise<WsMessage | null>;
9
14
  export declare function createTask(prompt: string, files?: Array<{
10
15
  name: string;
11
16
  base64?: string;