poly-weaver 0.6.2 → 0.6.3

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 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BlE"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAyDlE"}
package/dist/markdown.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Marked } from "marked";
2
2
  import { markedTerminal } from "marked-terminal";
3
+ import Table from "cli-table3";
3
4
  import chalk from "chalk";
4
5
  import { hardWrapLine } from "./user/hard-wrap.js";
5
6
  // Force truecolor: the @xterm/headless host is not a TTY, so chalk autodetects
@@ -14,6 +15,31 @@ chalk.level = 3;
14
15
  // our `renderer.link` override.
15
16
  // eslint-disable-next-line no-control-regex
16
17
  const OSC8_RE = /\x1b\]8;[^\x07\x1b]*(?:\x07|\x1b\\)/g;
18
+ /**
19
+ * Compute cli-table3 column widths so the rendered table fits in `width` cols.
20
+ *
21
+ * cli-table3's `colWidths` includes per-cell padding; total visible width is
22
+ * `sum(colWidths) + (cols + 1)` to account for the inter-column and outer
23
+ * borders. Each column needs at least 3 cols (1 padding + 1 char + 1 padding),
24
+ * so when the requested width is too narrow for the column count we fall back
25
+ * to the minimum — the table will overflow, but its internal structure stays
26
+ * consistent (the outer hard-wrap will still slice it).
27
+ */
28
+ function tableColWidths(cols, width) {
29
+ const minCol = 3;
30
+ const borders = cols + 1;
31
+ const target = Math.max(cols * minCol, width - borders);
32
+ const base = Math.floor(target / cols);
33
+ const widths = new Array(cols).fill(base);
34
+ let leftover = target - base * cols;
35
+ let i = 0;
36
+ while (leftover > 0) {
37
+ widths[i] += 1;
38
+ leftover -= 1;
39
+ i = (i + 1) % cols;
40
+ }
41
+ return widths;
42
+ }
17
43
  /**
18
44
  * Render markdown to an array of ANSI-styled lines fit to `width`.
19
45
  *
@@ -46,6 +72,32 @@ export function renderMarkdown(md, width) {
46
72
  const text = this.parser.parseInline(tokens);
47
73
  return chalk.cyan.underline(text) + " " + chalk.dim(`(${href})`);
48
74
  },
75
+ // Override marked-terminal's table renderer. The upstream version passes
76
+ // no width hint to cli-table3, which then auto-sizes columns to the
77
+ // longest cell — long cells produce tables wider than the pane, and our
78
+ // outer hard-wrap slices each row mid-border (orphaned `│` + trailing
79
+ // `─`s on the next visual line). Compute `colWidths` to fit `w` and let
80
+ // cli-table3's `wordWrap` handle long content cleanly.
81
+ table({ header, rows,
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ }) {
84
+ const cols = header.length;
85
+ if (cols === 0)
86
+ return "";
87
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
+ const parser = this.parser;
89
+ const head = header.map((c) => parser.parseInline(c.tokens));
90
+ const body = rows.map((row) => row.map((c) => parser.parseInline(c.tokens)));
91
+ const t = new Table({
92
+ head,
93
+ colWidths: tableColWidths(cols, w),
94
+ wordWrap: true,
95
+ wrapOnWordBoundary: false,
96
+ });
97
+ for (const row of body)
98
+ t.push(row);
99
+ return t.toString() + "\n\n";
100
+ },
49
101
  },
50
102
  });
51
103
  const raw = m.parse(md);
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,+EAA+E;AAC/E,gFAAgF;AAChF,wCAAwC;AACxC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAEhB,kCAAkC;AAClC,iDAAiD;AACjD,2CAA2C;AAC3C,wEAAwE;AACxE,6EAA6E;AAC7E,gCAAgC;AAChC,4CAA4C;AAC5C,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,KAAa;IACtD,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAQ,CAAC,CAAC;IACrE,CAAC,CAAC,GAAG,CAAC;QACJ,QAAQ,EAAE;YACR,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmC;gBACpD,uEAAuE;gBACvE,oEAAoE;gBACpE,4CAA4C;gBAC5C,8DAA8D;gBAC9D,MAAM,IAAI,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YACnE,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAW,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAEvE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,+EAA+E;AAC/E,gFAAgF;AAChF,wCAAwC;AACxC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAEhB,kCAAkC;AAClC,iDAAiD;AACjD,2CAA2C;AAC3C,wEAAwE;AACxE,6EAA6E;AAC7E,gCAAgC;AAChC,4CAA4C;AAC5C,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAEvD;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,QAAQ,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACf,QAAQ,IAAI,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,KAAa;IACtD,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAQ,CAAC,CAAC;IACrE,CAAC,CAAC,GAAG,CAAC;QACJ,QAAQ,EAAE;YACR,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmC;gBACpD,uEAAuE;gBACvE,oEAAoE;gBACpE,4CAA4C;gBAC5C,8DAA8D;gBAC9D,MAAM,IAAI,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,yEAAyE;YACzE,oEAAoE;YACpE,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,uDAAuD;YACvD,KAAK,CAAC,EACJ,MAAM,EACN,IAAI;YACJ,8DAA8D;cAC7B;gBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,MAAM,MAAM,GAAI,IAAY,CAAC,MAAM,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC7C,CAAC;gBACF,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC;oBAClB,IAAI;oBACJ,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClC,QAAQ,EAAE,IAAI;oBACd,kBAAkB,EAAE,KAAK;iBAC1B,CAAC,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,IAAI;oBAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;YAC/B,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAW,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAEvE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poly-weaver",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Orchestrates pluggable AI coding agents in an iterative plan-review loop",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,6 +29,7 @@
29
29
  "@xterm/headless": "^6.0.0",
30
30
  "ajv": "^8.17.1",
31
31
  "chalk": "^5.6.2",
32
+ "cli-table3": "^0.6.5",
32
33
  "commander": "^13.1.0",
33
34
  "marked": "^15.0.12",
34
35
  "marked-terminal": "^7.3.0",