@botbotgo/agent-harness 0.0.381 → 0.0.382
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const AGENT_HARNESS_VERSION = "0.0.
|
|
2
|
-
export declare const AGENT_HARNESS_RELEASE_DATE = "2026-
|
|
1
|
+
export declare const AGENT_HARNESS_VERSION = "0.0.382";
|
|
2
|
+
export declare const AGENT_HARNESS_RELEASE_DATE = "2026-05-01";
|
package/dist/package-version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const AGENT_HARNESS_VERSION = "0.0.
|
|
2
|
-
export const AGENT_HARNESS_RELEASE_DATE = "2026-
|
|
1
|
+
export const AGENT_HARNESS_VERSION = "0.0.382";
|
|
2
|
+
export const AGENT_HARNESS_RELEASE_DATE = "2026-05-01";
|
|
@@ -47,12 +47,32 @@ function renderMarkdownTable(block) {
|
|
|
47
47
|
const columnCount = Math.max(header.length, ...body.map((row) => row.length));
|
|
48
48
|
const normalizedRows = [header, ...body].map((row) => Array.from({ length: columnCount }, (_, index) => renderInlineConsoleMarkdown(row[index] ?? "")));
|
|
49
49
|
const widths = Array.from({ length: columnCount }, (_, index) => Math.max(...normalizedRows.map((row) => stripAnsi(row[index] ?? "").length), 0));
|
|
50
|
+
const renderedWidth = widths.reduce((sum, width) => sum + width, 0) + (columnCount * 3) + 1;
|
|
51
|
+
if (renderedWidth > 120 || columnCount > 5) {
|
|
52
|
+
return renderMarkdownTableAsList(header, body);
|
|
53
|
+
}
|
|
50
54
|
const renderRow = (row) => `| ${row
|
|
51
55
|
.map((cell, index) => cell.padEnd(widths[index] + (cell.length - stripAnsi(cell).length)))
|
|
52
56
|
.join(" | ")} |`;
|
|
53
57
|
const separator = `|-${widths.map((width) => "-".repeat(Math.max(3, width))).join("-|-")}-|`;
|
|
54
58
|
return [renderRow(normalizedRows[0] ?? []), separator, ...normalizedRows.slice(1).map(renderRow)].join("\n");
|
|
55
59
|
}
|
|
60
|
+
function renderMarkdownTableAsList(header, body) {
|
|
61
|
+
const normalizedHeader = header.map((cell) => cell.trim()).filter(Boolean);
|
|
62
|
+
return body
|
|
63
|
+
.map((row, rowIndex) => {
|
|
64
|
+
const title = renderInlineConsoleMarkdown(row[0]?.trim() || `Row ${rowIndex + 1}`);
|
|
65
|
+
const details = normalizedHeader.slice(1).flatMap((label, index) => {
|
|
66
|
+
const value = row[index + 1]?.trim();
|
|
67
|
+
if (!value) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
return ` • ${renderInlineConsoleMarkdown(label)}: ${renderInlineConsoleMarkdown(value)}`;
|
|
71
|
+
});
|
|
72
|
+
return [`• ${title}`, ...details].join("\n");
|
|
73
|
+
})
|
|
74
|
+
.join("\n\n");
|
|
75
|
+
}
|
|
56
76
|
export function markdownToHtml(markdown) {
|
|
57
77
|
const normalized = markdown.replace(/\r\n/g, "\n");
|
|
58
78
|
const blocks = normalized.split(/\n\n+/);
|
|
@@ -96,7 +116,10 @@ export function markdownToConsole(markdown) {
|
|
|
96
116
|
if (!markdown.includes("\n")) {
|
|
97
117
|
return renderInlineConsoleMarkdown(markdown.trim());
|
|
98
118
|
}
|
|
99
|
-
const normalized = markdown
|
|
119
|
+
const normalized = markdown
|
|
120
|
+
.replace(/\r\n/g, "\n")
|
|
121
|
+
.replace(/^(#{1,6}\s+.+)$/gm, "\n$1\n")
|
|
122
|
+
.replace(/^(\s*[-*_=])(?:\s*\1){2,}\s*$/gm, "\n$&\n");
|
|
100
123
|
const blocks = normalized.split(/\n\n+/);
|
|
101
124
|
const rendered = [];
|
|
102
125
|
for (const block of blocks) {
|
|
@@ -128,7 +151,8 @@ export function markdownToConsole(markdown) {
|
|
|
128
151
|
const level = match?.[1].length ?? 1;
|
|
129
152
|
const title = renderInlineConsoleMarkdown(match?.[2] ?? trimmed);
|
|
130
153
|
const underline = level === 1 ? "=" : "-";
|
|
131
|
-
|
|
154
|
+
const underlineWidth = Math.min(72, Math.max(3, title.replace(/\u001b\[[0-9;]*m/g, "").length));
|
|
155
|
+
rendered.push(`\u001b[1m${title}\u001b[0m\n\u001b[2m${underline.repeat(underlineWidth)}\u001b[0m`);
|
|
132
156
|
continue;
|
|
133
157
|
}
|
|
134
158
|
if (trimmed.split("\n").every((line) => /^\s*[-*]\s+/.test(line))) {
|
|
@@ -159,7 +183,7 @@ export function markdownToConsole(markdown) {
|
|
|
159
183
|
.join("\n"));
|
|
160
184
|
continue;
|
|
161
185
|
}
|
|
162
|
-
if (/^([-*_])(?:\s*\1){2,}$/.test(trimmed)) {
|
|
186
|
+
if (/^([-*_=])(?:\s*\1){2,}$/.test(trimmed)) {
|
|
163
187
|
rendered.push(`\u001b[2m${"─".repeat(24)}\u001b[0m`);
|
|
164
188
|
continue;
|
|
165
189
|
}
|