@documonster/mcp 0.13.1 → 0.14.0-canary.sha.fa35d09c

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.
@@ -18,8 +18,19 @@
18
18
  * edge of the paper. Fitting to the text width is the difference between a
19
19
  * document and a broken one.
20
20
  */
21
+ import { type DrawList } from "documonster/draw";
22
+ import type { MermaidRenderOptions } from "documonster/mermaid";
21
23
  import type { MarkdownImportOptions } from "documonster/word/markdown";
22
24
  import { type DiagramStyleArgs } from "./diagram.js";
25
+ /**
26
+ * Tallest a single embedded piece may be, in points: the page less its margins, less a little.
27
+ *
28
+ * The slack is not decoration. An image exactly as tall as the text area cannot share a page
29
+ * with *anything* — not even the heading it belongs to — so Word pushes it alone onto the next
30
+ * page and leaves the heading stranded at the bottom of the previous one, which is how a
31
+ * document grew a near-empty page before every large diagram.
32
+ */
33
+ export declare const MAX_EMBED_HEIGHT_POINTS = 550;
23
34
  export interface PreparedMarkdown {
24
35
  /** The Markdown with every mermaid fence replaced by an image reference. */
25
36
  readonly markdown: string;
@@ -28,11 +39,32 @@ export interface PreparedMarkdown {
28
39
  * fence was rendered, so the no-diagram path behaves exactly as before.
29
40
  */
30
41
  readonly resolveImage?: MarkdownImportOptions["resolveImage"];
31
- /** How many diagrams were rendered. */
32
- readonly count: number;
33
42
  /** Lines worth reporting to the caller. */
34
43
  readonly notes: readonly string[];
35
44
  }
45
+ /**
46
+ * The narrowest layout of a diagram that the text column can show legibly.
47
+ *
48
+ * Walks {@link FIT_LADDER} and stops at the first rung whose text clears
49
+ * {@link MIN_EMBED_FONT_POINTS} — first, not best, because the ladder is ordered by what each
50
+ * concession costs a reader, so the earliest rung that works is the least damage. Height is
51
+ * not a constraint here: a diagram taller than a page is cut across pages instead of being
52
+ * shrunk back into one, which would give away the legibility the narrowing just bought.
53
+ *
54
+ * If no rung clears the bar — a rank with nine nodes in it is wide however hard the labels
55
+ * wrap — the narrowest attempt is used and the caller is told, because a diagram nobody can
56
+ * read is worth a line of output rather than silence.
57
+ *
58
+ * A caller who set any of the layout numbers themselves is left alone: they have said what the
59
+ * layout should be, and second-guessing an explicit argument is worse than a small image.
60
+ */
61
+ export declare function fitToColumn(source: string, options: MermaidRenderOptions & {
62
+ readonly background: string;
63
+ }, tune: boolean): {
64
+ list: DrawList;
65
+ fit: number;
66
+ short: boolean;
67
+ };
36
68
  /**
37
69
  * Render every mermaid fence in `markdown` and rewrite it as an inline image.
38
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-markdown.d.ts","sourceRoot":"","sources":["../../src/tools/diagram-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAqB,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG1F,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAwBtB,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC9D,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,gBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA2E3B"}
1
+ {"version":3,"file":"diagram-markdown.d.ts","sourceRoot":"","sources":["../../src/tools/diagram-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAA8B,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAqB,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAI1F,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAWtB;;;;;;;GAOG;AAIH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAyE3C,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC9D,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC/D,IAAI,EAAE,OAAO,GACZ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAwBjD;AAKD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,gBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAqJ3B"}
@@ -18,8 +18,11 @@
18
18
  * edge of the paper. Fitting to the text width is the difference between a
19
19
  * document and a broken one.
20
20
  */
21
- import { toolError } from "../errors.js";
22
- import { EMU_PER_POINT, buildDrawList, findMermaidFences, parseDiagram, renderDiagram, toRenderOptions } from "./diagram.js";
21
+ import { encodePng } from "documonster/archive";
22
+ import { rasterizeToRgba, translate } from "documonster/draw";
23
+ import { McpToolError, toolError } from "../errors.js";
24
+ import { planSlices } from "./diagram-slice.js";
25
+ import { EMU_PER_POINT, buildDrawList, findMermaidFences, parseDiagram, toRenderOptions } from "./diagram.js";
23
26
  import { newImageBudget } from "./image.js";
24
27
  /**
25
28
  * Widest an embedded diagram may be, in points.
@@ -28,8 +31,74 @@ import { newImageBudget } from "./image.js";
28
31
  * of text column. A wider image is not clipped by Word, it overflows the page.
29
32
  */
30
33
  const MAX_EMBED_WIDTH_POINTS = 468;
31
- /** Pixels per point for an embedded diagram — 144 DPI, sharp in print and on screen. */
32
- const EMBED_SCALE = 2;
34
+ /**
35
+ * Tallest a single embedded piece may be, in points: the page less its margins, less a little.
36
+ *
37
+ * The slack is not decoration. An image exactly as tall as the text area cannot share a page
38
+ * with *anything* — not even the heading it belongs to — so Word pushes it alone onto the next
39
+ * page and leaves the heading stranded at the bottom of the previous one, which is how a
40
+ * document grew a near-empty page before every large diagram.
41
+ */
42
+ // Leaves room on the first slice's page for an H2 heading and the image
43
+ // paragraph's own spacing. At 600pt both individually fit a 648pt text area,
44
+ // but not together, which stranded the heading on the preceding page.
45
+ export const MAX_EMBED_HEIGHT_POINTS = 550;
46
+ /**
47
+ * Smallest body text an embedded diagram may end up with on the page, in points.
48
+ *
49
+ * Scaling a diagram to the column is necessary but not sufficient, and treating it as
50
+ * sufficient is what made these documents unreadable: a 1941-point flowchart fitted to a
51
+ * 468-point column is drawn at 24%, so its 14-point labels arrive at 3.4pt — present in the
52
+ * file, legible to nobody. Eleven of sixteen diagrams in one real document came out under
53
+ * 8pt, and the two worst were the ones a reader complained about.
54
+ *
55
+ * 8pt is the floor because it is roughly the smallest footnote a printed page uses.
56
+ */
57
+ const MIN_EMBED_FONT_POINTS = 8;
58
+ /**
59
+ * Successively tighter layouts to try when a diagram will not fit the column legibly.
60
+ *
61
+ * Scaling is the wrong lever and there is only one right one: make the diagram *intrinsically*
62
+ * narrower and let it grow downwards, where a page is free to continue onto the next one.
63
+ *
64
+ * **Ordered by what it costs the reader, not by how much width it saves.** That ordering is
65
+ * the whole design, and having it wrong produced a diagram nobody wanted to look at: the gaps
66
+ * cost nothing at all to tighten, an edge label is loose text in the space between ranks and
67
+ * reads perfectly well over three short lines, but a node's text is the thing its box is drawn
68
+ * around. One number governed all three, so narrowing a chart to fit wrapped a ten-word node
69
+ * label at seventy points — a column two words wide and ten lines deep, in a diagram that was
70
+ * then nine inches tall and mostly empty box. The same chart, with only its edge labels
71
+ * narrowed, is 6.5 × 5.4 inches with every node on four readable lines.
72
+ *
73
+ * Note what does *not* work, since it looks like it should: rendering with a smaller
74
+ * `fontSize`. The whole diagram shrinks with it, so the fit rises by exactly the factor the
75
+ * text falls and the size on the page is unchanged.
76
+ */
77
+ const FIT_LADDER = [
78
+ // Gaps first: invisible to a reader, and worth about a tenth of the width.
79
+ { nodeGap: 26, rankGap: 40 },
80
+ { nodeGap: 22, rankGap: 32 },
81
+ // Then edge labels.
82
+ { nodeGap: 22, rankGap: 32, maxEdgeLabelWidth: 140 },
83
+ { nodeGap: 22, rankGap: 32, maxEdgeLabelWidth: 100 },
84
+ { nodeGap: 20, rankGap: 30, maxEdgeLabelWidth: 70 },
85
+ // Only then the node text, and gently.
86
+ { nodeGap: 20, rankGap: 30, maxEdgeLabelWidth: 70, maxLabelWidth: 190 },
87
+ { nodeGap: 20, rankGap: 30, maxEdgeLabelWidth: 70, maxLabelWidth: 160 },
88
+ { nodeGap: 20, rankGap: 30, maxEdgeLabelWidth: 70, maxLabelWidth: 140 },
89
+ { nodeGap: 18, rankGap: 44, maxEdgeLabelWidth: 60, maxLabelWidth: 120 },
90
+ { nodeGap: 18, rankGap: 44, maxEdgeLabelWidth: 60, maxLabelWidth: 100 }
91
+ ];
92
+ /**
93
+ * Pixels per point for an embedded diagram — 216 DPI.
94
+ *
95
+ * PDF and DOCX embed byte-for-byte equivalent pixels, but Preview applies a
96
+ * better downsampling filter than Word. At 144 DPI Word made one- and two-pixel
97
+ * connector strokes look kinked or misaligned even though the geometry was
98
+ * identical. A third sample per point gives its renderer enough coverage while
99
+ * costing materially less than 288 DPI.
100
+ */
101
+ const EMBED_SCALE = 3;
33
102
  /** URL scheme the rewritten fences use. Deliberately not a real one. */
34
103
  const DIAGRAM_URL_PREFIX = "documonster-diagram:";
35
104
  /** Fences one document may carry, so a pathological input cannot exhaust memory. */
@@ -37,6 +106,50 @@ const MAX_EMBEDDED_DIAGRAMS = 20;
37
106
  /** Aggregate rendering budget for one document's fences. */
38
107
  const MAX_EMBED_TOTAL_BYTES = 64 * 1024 * 1024;
39
108
  const MAX_EMBED_TOTAL_PIXELS = 80_000_000;
109
+ /** Aggregate image relationships after tall diagrams are split. */
110
+ const MAX_EMBEDDED_PIECES = 60;
111
+ /**
112
+ * The narrowest layout of a diagram that the text column can show legibly.
113
+ *
114
+ * Walks {@link FIT_LADDER} and stops at the first rung whose text clears
115
+ * {@link MIN_EMBED_FONT_POINTS} — first, not best, because the ladder is ordered by what each
116
+ * concession costs a reader, so the earliest rung that works is the least damage. Height is
117
+ * not a constraint here: a diagram taller than a page is cut across pages instead of being
118
+ * shrunk back into one, which would give away the legibility the narrowing just bought.
119
+ *
120
+ * If no rung clears the bar — a rank with nine nodes in it is wide however hard the labels
121
+ * wrap — the narrowest attempt is used and the caller is told, because a diagram nobody can
122
+ * read is worth a line of output rather than silence.
123
+ *
124
+ * A caller who set any of the layout numbers themselves is left alone: they have said what the
125
+ * layout should be, and second-guessing an explicit argument is worse than a small image.
126
+ */
127
+ export function fitToColumn(source, options, tune) {
128
+ const measure = (list) => {
129
+ const fit = Math.min(1, MAX_EMBED_WIDTH_POINTS / list.width);
130
+ // The floor applies to the diagram's body text. Edge labels are authored a
131
+ // step smaller on purpose; forcing the smallest label to 8pt over-wraps
132
+ // every node, turning a balanced one-page chart into a tall two-page strip.
133
+ const size = (options.fontSize ?? DEFAULT_DIAGRAM_FONT_POINTS) * fit;
134
+ return { list, fit, short: size < MIN_EMBED_FONT_POINTS };
135
+ };
136
+ let best = measure(buildDrawList(source, options));
137
+ if (!best.short || !tune) {
138
+ return best;
139
+ }
140
+ for (const step of FIT_LADDER) {
141
+ const attempt = measure(buildDrawList(source, { ...options, ...step }));
142
+ if (attempt.list.width < best.list.width) {
143
+ best = attempt;
144
+ }
145
+ if (!attempt.short) {
146
+ return attempt;
147
+ }
148
+ }
149
+ return best;
150
+ }
151
+ /** The layout's own default, which `toRenderOptions` leaves unset when the caller does. */
152
+ const DEFAULT_DIAGRAM_FONT_POINTS = 14;
40
153
  /**
41
154
  * Render every mermaid fence in `markdown` and rewrite it as an inline image.
42
155
  *
@@ -48,59 +161,133 @@ const MAX_EMBED_TOTAL_PIXELS = 80_000_000;
48
161
  export async function prepareMarkdownDiagrams(markdown, style = {}) {
49
162
  const fences = findMermaidFences(markdown);
50
163
  if (fences.length === 0) {
51
- return { markdown, count: 0, notes: [] };
164
+ return { markdown, notes: [] };
52
165
  }
53
166
  if (fences.length > MAX_EMBEDDED_DIAGRAMS) {
54
167
  throw toolError.tooLarge(`this document has ${fences.length} mermaid fences, over the ${MAX_EMBEDDED_DIAGRAMS} limit for one call`, "Every diagram is rendered and held in memory until the document is written. Split the document, or pass diagrams: false and render the ones you need with diagram_render.");
55
168
  }
56
169
  const options = toRenderOptions(style);
170
+ // Only tune a layout the caller has not spoken about.
171
+ const tune = style.maxLabelWidth === undefined && style.nodeGap === undefined && style.rankGap === undefined;
57
172
  const images = new Map();
58
173
  const failures = [];
174
+ const cramped = [];
175
+ const split = [];
176
+ const forced = [];
59
177
  // One budget across every fence: ten diagrams each just under the rasteriser's
60
178
  // own per-image cap is gigabytes, and each is held until the document is written.
61
179
  const budget = newImageBudget();
180
+ let drawn = 0;
62
181
  let rewritten = markdown;
63
182
  // Back to front, so each splice leaves the earlier fences' offsets valid.
64
183
  for (const fence of [...fences].reverse()) {
65
- let image;
66
- let alt;
184
+ let references;
67
185
  try {
68
186
  const diagram = parseDiagram(fence.source);
69
- const list = buildDrawList(fence.source, options);
70
- const fit = Math.min(1, MAX_EMBED_WIDTH_POINTS / list.width);
71
- // Rasterised at the size it will be *displayed*, not at its natural size.
72
- // A 1034-point flowchart in a 468-point column was previously rendered in
73
- // full and then merely declared smaller, so most of the pixels — and the CPU
74
- // and memory that produced them — were discarded by Word.
75
- const rendered = await renderDiagram(list, "png", { scale: EMBED_SCALE * fit }, options.background);
76
- spendEmbedBudget(budget, rendered, fence.line);
77
- alt = diagram.title ?? `${diagram.kind} diagram`;
78
- image = {
79
- data: rendered.bytes,
80
- mediaType: "png",
81
- width: Math.round(list.width * fit * EMU_PER_POINT),
82
- height: Math.round(list.height * fit * EMU_PER_POINT)
83
- };
187
+ const { list, fit, short } = fitToColumn(fence.source, options, tune);
188
+ if (short) {
189
+ cramped.push(fence.line);
190
+ }
191
+ const alt = diagram.title ?? `${diagram.kind} diagram`;
192
+ const cuts = planSlices(list, fit, MAX_EMBED_HEIGHT_POINTS);
193
+ if (cuts.some(cut => cut.forced)) {
194
+ forced.push(fence.line);
195
+ }
196
+ if (cuts.length > 1) {
197
+ split.push({ line: fence.line, pieces: cuts.length });
198
+ }
199
+ const parts = [];
200
+ const pending = [];
201
+ const fenceBudget = { ...budget };
202
+ cuts.forEach((cut, index) => {
203
+ // Paint this viewport, not the whole diagram then crop it. A diagram
204
+ // taller than the rasteriser's pixel limit is exactly the case slicing
205
+ // is meant to make possible; allocating it first defeats that contract.
206
+ const sliceHeight = (cut.bottom - cut.top) / fit;
207
+ const slice = {
208
+ ...list,
209
+ height: sliceHeight,
210
+ children: [
211
+ {
212
+ kind: "group",
213
+ transform: translate(0, -cut.top / fit),
214
+ children: list.children
215
+ }
216
+ ]
217
+ };
218
+ const piece = rasterizeToRgba(slice, { scale: EMBED_SCALE * fit });
219
+ const encoded = {
220
+ bytes: encodePng(piece.data, piece.width, piece.height, {
221
+ // Pixels and the OOXML extent have both already been reduced by
222
+ // `fit`, so their ratio remains 2 px/pt = 144 DPI. Multiplying by
223
+ // fit again made a 50%-fitted PNG falsely claim 72 DPI.
224
+ dpi: 72 * EMBED_SCALE
225
+ }),
226
+ width: piece.width,
227
+ height: piece.height
228
+ };
229
+ spendEmbedBudget(fenceBudget, encoded, fence.line);
230
+ const url = cuts.length === 1
231
+ ? `${DIAGRAM_URL_PREFIX}${fence.ordinal}`
232
+ : `${DIAGRAM_URL_PREFIX}${fence.ordinal}.${index + 1}`;
233
+ pending.push({
234
+ url,
235
+ image: {
236
+ data: encoded.bytes,
237
+ mediaType: "png",
238
+ width: Math.round(list.width * fit * EMU_PER_POINT),
239
+ height: Math.round((cut.bottom - cut.top) * EMU_PER_POINT)
240
+ }
241
+ });
242
+ // Each piece names its place in the sequence, so a reader who meets the second half
243
+ // three pages later knows it is the second half.
244
+ const label = cuts.length === 1 ? alt : `${alt} (${index + 1} of ${cuts.length})`;
245
+ parts.push(`![${escapeAlt(label)}](${url})`);
246
+ });
247
+ // Commit one fence atomically. A later slice can exhaust the aggregate
248
+ // budget; registering earlier slices first leaves unreachable image data
249
+ // retained after the fence falls back to a code block.
250
+ for (const pendingImage of pending) {
251
+ images.set(pendingImage.url, pendingImage.image);
252
+ }
253
+ Object.assign(budget, fenceBudget);
254
+ drawn++;
255
+ references = parts.join("\n\n");
84
256
  }
85
257
  catch (cause) {
258
+ // A budget is a hard execution boundary, not a per-diagram rendering
259
+ // failure. Continuing would keep spending the resource that ran out.
260
+ if (cause instanceof McpToolError && cause.code === "too_large") {
261
+ throw cause;
262
+ }
86
263
  failures.push(`- **diagram at line ${fence.line} left as a code block**: ${cause instanceof Error ? cause.message : String(cause)}`);
87
264
  continue;
88
265
  }
89
- const url = `${DIAGRAM_URL_PREFIX}${fence.ordinal}`;
90
- images.set(url, image);
91
266
  // A blank line either side: an image reference that lands against a
92
267
  // neighbouring line is parsed as part of that paragraph.
93
- rewritten = `${rewritten.slice(0, fence.start)}\n![${escapeAlt(alt)}](${url})\n${rewritten.slice(fence.end)}`;
268
+ rewritten = `${rewritten.slice(0, fence.start)}\n${references}\n${rewritten.slice(fence.end)}`;
94
269
  }
95
270
  const notes = images.size === 0
96
271
  ? failures
97
272
  : [
98
- `- ${images.size} mermaid diagram(s) rendered and embedded as PNG, fitted to the text column`,
273
+ `- ${drawn} mermaid diagram(s) rendered and embedded as PNG, fitted to the text column`,
274
+ ...[...split]
275
+ .reverse()
276
+ .map(entry => `- diagram at line ${entry.line} is taller than one page: cut into ${entry.pieces} pieces at rows that cross no box or label`),
277
+ ...(forced.length === 0
278
+ ? []
279
+ : [
280
+ `- diagram(s) at line ${[...forced].reverse().join(", ")} contain a box taller than a page, so a cut had to pass through it`
281
+ ]),
282
+ ...(cramped.length === 0
283
+ ? []
284
+ : [
285
+ `- diagram(s) at line ${[...cramped].reverse().join(", ")} are wider than the text column allows: their text lands under ${MIN_EMBED_FONT_POINTS}pt even at the tightest layout. Split the widest rank, or render them separately with diagram_render.`
286
+ ]),
99
287
  ...failures
100
288
  ];
101
289
  return {
102
290
  markdown: rewritten,
103
- count: images.size,
104
291
  ...(images.size === 0 ? {} : { resolveImage: (url) => images.get(url) }),
105
292
  notes
106
293
  };
@@ -116,12 +303,14 @@ function spendEmbedBudget(budget, rendered, line) {
116
303
  budget.count += 1;
117
304
  budget.bytes += rendered.bytes.length;
118
305
  budget.pixels += rendered.width * rendered.height;
119
- if (budget.bytes > MAX_EMBED_TOTAL_BYTES || budget.pixels > MAX_EMBED_TOTAL_PIXELS) {
306
+ if (budget.count > MAX_EMBEDDED_PIECES ||
307
+ budget.bytes > MAX_EMBED_TOTAL_BYTES ||
308
+ budget.pixels > MAX_EMBED_TOTAL_PIXELS) {
120
309
  throw toolError.tooLarge(`the diagrams in this document exceed the per-call rendering budget (reached at the fence on line ${line})`, "Split the document, or pass diagrams: false and render the large ones separately with diagram_render.");
121
310
  }
122
311
  }
123
- /** `[` and `]` in alt text would close the image reference early. */
312
+ /** Escape image-alt delimiters without deleting part of the accessible name. */
124
313
  function escapeAlt(text) {
125
- return text.replace(/[[\]]/g, "");
314
+ return text.replace(/\\/g, "\\\\").replace(/\r?\n/g, " ").replace(/[[\]]/g, "\\$&");
126
315
  }
127
316
  //# sourceMappingURL=diagram-markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-markdown.js","sourceRoot":"","sources":["../../src/tools/diagram-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagram-markdown.js","sourceRoot":"","sources":["../../src/tools/diagram-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Cutting a tall diagram across several pages.
3
+ *
4
+ * A page has one width and a fixed height, and a diagram narrowed enough to be read at all
5
+ * can easily be taller than the second of those. Scaling it down again to fit is what this
6
+ * module exists to avoid: it trades the legibility that the narrowing just bought back, and
7
+ * for a deep flowchart it trades a lot of it.
8
+ *
9
+ * So the diagram is cut instead, and the whole problem is *where*. A row of pixels that is
10
+ * entirely background does not exist in a top-to-bottom flowchart — the links between ranks
11
+ * cross every gap — so "find the blank rows" finds nothing. Cutting a link is fine, though:
12
+ * the line continues at the top of the next page, which is how any split figure reads. What
13
+ * must not be cut is a **box or a piece of text**, because half a word is not readable at
14
+ * either end and half a node is not obviously one node.
15
+ *
16
+ * That distinction is available from the display list itself, and from nothing else: a
17
+ * `rect`, `ellipse`, `sector` or `text` is solid, and a `polyline` or `path` is solid exactly
18
+ * when it is *filled* — because `closed` does not separate a connector from a node, a rhombus,
19
+ * hexagon, parallelogram, stadium and cylinder all being drawn as filled polylines and paths
20
+ * rather than rects. So the forbidden bands are collected by walking the list with
21
+ * {@link renderDrawList} through a surface that measures instead of painting — which means the
22
+ * transforms, and therefore the geometry, are the engine's own rather than a second
23
+ * implementation of them, and it works for all twenty-one diagram types without knowing which
24
+ * one it has.
25
+ */
26
+ import type { DrawList } from "documonster/draw";
27
+ export interface SliceCut {
28
+ /** Where the slice starts, in display points from the top. */
29
+ readonly top: number;
30
+ /** Where it ends. */
31
+ readonly bottom: number;
32
+ /** Whether this slice had to be cut through a box or a word because nothing else was free. */
33
+ readonly forced: boolean;
34
+ }
35
+ /**
36
+ * Choose the cuts that carve a diagram of `height` points into pieces of at most `limit`.
37
+ *
38
+ * Greedy from the top and deliberately so: taking the *lowest* legal cut at or above each
39
+ * limit uses as much of every page as it can, which is what keeps the piece count minimal.
40
+ *
41
+ * `scale` maps display points to the diagram's own units, because the bands are measured in
42
+ * the display list's coordinates while the page budget is in points.
43
+ */
44
+ export declare function planSlices(list: DrawList, scale: number, limit: number, minimum?: number): readonly SliceCut[];
45
+ //# sourceMappingURL=diagram-slice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-slice.d.ts","sourceRoot":"","sources":["../../src/tools/diagram-slice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAEV,QAAQ,EAOT,MAAM,kBAAkB,CAAC;AA6I1B,MAAM,WAAW,QAAQ;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,SAAK,GACX,SAAS,QAAQ,EAAE,CAuDrB"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Cutting a tall diagram across several pages.
3
+ *
4
+ * A page has one width and a fixed height, and a diagram narrowed enough to be read at all
5
+ * can easily be taller than the second of those. Scaling it down again to fit is what this
6
+ * module exists to avoid: it trades the legibility that the narrowing just bought back, and
7
+ * for a deep flowchart it trades a lot of it.
8
+ *
9
+ * So the diagram is cut instead, and the whole problem is *where*. A row of pixels that is
10
+ * entirely background does not exist in a top-to-bottom flowchart — the links between ranks
11
+ * cross every gap — so "find the blank rows" finds nothing. Cutting a link is fine, though:
12
+ * the line continues at the top of the next page, which is how any split figure reads. What
13
+ * must not be cut is a **box or a piece of text**, because half a word is not readable at
14
+ * either end and half a node is not obviously one node.
15
+ *
16
+ * That distinction is available from the display list itself, and from nothing else: a
17
+ * `rect`, `ellipse`, `sector` or `text` is solid, and a `polyline` or `path` is solid exactly
18
+ * when it is *filled* — because `closed` does not separate a connector from a node, a rhombus,
19
+ * hexagon, parallelogram, stadium and cylinder all being drawn as filled polylines and paths
20
+ * rather than rects. So the forbidden bands are collected by walking the list with
21
+ * {@link renderDrawList} through a surface that measures instead of painting — which means the
22
+ * transforms, and therefore the geometry, are the engine's own rather than a second
23
+ * implementation of them, and it works for all twenty-one diagram types without knowing which
24
+ * one it has.
25
+ */
26
+ import { measureText, renderDrawList } from "documonster/draw";
27
+ /**
28
+ * A surface that draws nothing and records where the solid marks are.
29
+ *
30
+ * Lines are deliberately ignored. They are the marks a cut may pass through, and treating
31
+ * them as obstacles would forbid every row of a flowchart.
32
+ */
33
+ class BandCollector {
34
+ bands = [];
35
+ clips = [];
36
+ add(top, bottom) {
37
+ const clip = this.clips.at(-1);
38
+ if (clip !== undefined) {
39
+ top = Math.max(top, clip.y);
40
+ bottom = Math.min(bottom, clip.y + clip.height);
41
+ }
42
+ if (bottom > top) {
43
+ this.bands.push({ top, bottom });
44
+ }
45
+ }
46
+ rect(_x, y, _width, height, _rx, _paint) {
47
+ this.add(y, y + height);
48
+ }
49
+ ellipse(_cx, cy, _rx, ry, _paint) {
50
+ this.add(cy - ry, cy + ry);
51
+ }
52
+ sector(_cx, cy, radius, _innerRadius, _startAngle, _endAngle, _paint) {
53
+ // The whole disc rather than the swept arc: a pie slice is a solid, and over-reserving a
54
+ // band can only cost a cut position, while under-reserving one cuts through the picture.
55
+ this.add(cy - radius, cy + radius);
56
+ }
57
+ polyline(points, _closed, paint) {
58
+ this.stroke(points.map(point => point.y), paint);
59
+ }
60
+ path(commands, paint) {
61
+ const ys = [];
62
+ for (const command of commands) {
63
+ if (command.op === "close") {
64
+ continue;
65
+ }
66
+ ys.push(command.y);
67
+ if (command.op === "cubic") {
68
+ // The control points bound the curve, so they are the conservative reading of where it
69
+ // might reach. A flattened curve would be tighter and is not worth the arithmetic here.
70
+ ys.push(command.y1, command.y2);
71
+ }
72
+ }
73
+ this.stroke(ys, paint);
74
+ }
75
+ /**
76
+ * A polyline or a path, which may be either a connector or the outline of a node.
77
+ *
78
+ * The discriminator is the fill, and it has to be: `closed` does not separate them — an
79
+ * arrowhead is a closed triangle and so is nothing else — while a rhombus, a hexagon, a
80
+ * parallelogram, a stadium and a cylinder are all drawn as filled polylines or paths rather
81
+ * than as rects. Ignoring every polyline let a cut fall straight through a diamond.
82
+ *
83
+ * An unfilled stroke is a line, and a line may be cut: it continues at the top of the next
84
+ * page, which is how any split figure reads.
85
+ */
86
+ stroke(ys, paint) {
87
+ if (paint.fill === undefined || ys.length === 0) {
88
+ return;
89
+ }
90
+ this.add(Math.min(...ys), Math.max(...ys));
91
+ }
92
+ text(x, y, lines, style, rotate) {
93
+ const angle = (rotate * Math.PI) / 180;
94
+ const sin = Math.sin(angle);
95
+ const cos = Math.cos(angle);
96
+ const ys = [];
97
+ for (const line of lines) {
98
+ const width = measureText(line.text, style);
99
+ const lineX = line.x ?? x;
100
+ const left = style.anchor === "middle"
101
+ ? lineX - width / 2
102
+ : style.anchor === "end"
103
+ ? lineX - width
104
+ : lineX;
105
+ const baseline = y + line.dy;
106
+ const corners = [
107
+ { x: left, y: baseline - style.size },
108
+ { x: left + width, y: baseline - style.size },
109
+ { x: left, y: baseline + style.size * 0.3 },
110
+ { x: left + width, y: baseline + style.size * 0.3 }
111
+ ];
112
+ for (const corner of corners) {
113
+ const dx = corner.x - x;
114
+ const dy = corner.y - y;
115
+ ys.push(y + dx * sin + dy * cos);
116
+ }
117
+ }
118
+ if (ys.length > 0) {
119
+ this.add(Math.min(...ys), Math.max(...ys));
120
+ }
121
+ }
122
+ pushClip(clip) {
123
+ const parent = this.clips.at(-1);
124
+ if (parent === undefined) {
125
+ this.clips.push(clip);
126
+ return;
127
+ }
128
+ const top = Math.max(parent.y, clip.y);
129
+ const bottom = Math.min(parent.y + parent.height, clip.y + clip.height);
130
+ this.clips.push({ x: 0, y: top, width: 0, height: Math.max(0, bottom - top) });
131
+ }
132
+ popClip() {
133
+ this.clips.pop();
134
+ }
135
+ }
136
+ /**
137
+ * Choose the cuts that carve a diagram of `height` points into pieces of at most `limit`.
138
+ *
139
+ * Greedy from the top and deliberately so: taking the *lowest* legal cut at or above each
140
+ * limit uses as much of every page as it can, which is what keeps the piece count minimal.
141
+ *
142
+ * `scale` maps display points to the diagram's own units, because the bands are measured in
143
+ * the display list's coordinates while the page budget is in points.
144
+ */
145
+ export function planSlices(list, scale, limit, minimum = 48) {
146
+ const height = list.height * scale;
147
+ if (height <= limit) {
148
+ return [{ top: 0, bottom: height, forced: false }];
149
+ }
150
+ const collector = new BandCollector();
151
+ // Remove only a root canvas plate. Deciding from a band's height after the
152
+ // walk discarded any legitimate shape spanning the canvas and also lost the
153
+ // x/width evidence that distinguished it from a background.
154
+ const first = list.children[0];
155
+ const background = first?.kind === "rect" &&
156
+ first.x === 0 &&
157
+ first.y === 0 &&
158
+ first.width === list.width &&
159
+ first.height === list.height
160
+ ? 0
161
+ : -1;
162
+ renderDrawList(background === -1
163
+ ? list
164
+ : { ...list, children: list.children.filter((_, index) => index !== background) }, collector);
165
+ const raw = collector.bands.map(band => ({
166
+ top: band.top * scale,
167
+ bottom: band.bottom * scale
168
+ }));
169
+ const content = mergeBands(raw);
170
+ // An obstacle taller than a whole slice cannot be avoided by any choice of cut, so letting it
171
+ // block one only forces a worse position. It still counts for *reporting*: cutting through a
172
+ // node that big is a real compromise and the caller is told.
173
+ const blocking = content.filter(band => band.bottom - band.top < limit);
174
+ const inside = (row) => content.some(band => row > band.top && row < band.bottom);
175
+ const cuts = [];
176
+ let top = 0;
177
+ // Bounded by the piece count: each turn advances `top` by at least `minimum`.
178
+ while (height - top > limit) {
179
+ const target = top + limit;
180
+ // Do not leave a postage-stamp final image. If the nominal cut would leave
181
+ // less than `minimum`, search earlier so both pieces remain useful.
182
+ const latest = height - target < minimum ? height - minimum : target;
183
+ const free = highestFreeRowAtOrBelow(blocking, latest, top + minimum);
184
+ const at = free ?? target;
185
+ cuts.push({ top, bottom: at, forced: inside(at) });
186
+ top = at;
187
+ }
188
+ cuts.push({ top, bottom: height, forced: false });
189
+ return cuts;
190
+ }
191
+ /** Sorted, non-overlapping bands. */
192
+ function mergeBands(bands) {
193
+ const sorted = [...bands].sort((a, b) => a.top - b.top);
194
+ const out = [];
195
+ for (const band of sorted) {
196
+ const last = out.at(-1);
197
+ if (last !== undefined && band.top <= last.bottom) {
198
+ out[out.length - 1] = { top: last.top, bottom: Math.max(last.bottom, band.bottom) };
199
+ }
200
+ else {
201
+ out.push({ ...band });
202
+ }
203
+ }
204
+ return out;
205
+ }
206
+ /**
207
+ * The lowest row at or below `target` that is inside no band, and not above `floor`.
208
+ *
209
+ * Searched downwards from `target` because a cut as late as possible fills the page. When
210
+ * `target` itself is inside a band the search continues from that band's top, since every row
211
+ * between them is inside it too.
212
+ */
213
+ function highestFreeRowAtOrBelow(bands, target, floor) {
214
+ let row = target;
215
+ while (row >= floor) {
216
+ const hit = bands.find(band => row > band.top && row < band.bottom);
217
+ if (hit === undefined) {
218
+ return row;
219
+ }
220
+ // Just above the obstacle. A band is a closed interval, so its own top is free.
221
+ row = hit.top;
222
+ }
223
+ return undefined;
224
+ }
225
+ //# sourceMappingURL=diagram-slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-slice.js","sourceRoot":"","sources":["../../src/tools/diagram-slice.ts"],"names":[],"mappings":"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"}
@@ -94,7 +94,7 @@ export const THEME_PRESETS = {
94
94
  nodeText: "#111111",
95
95
  edge: "#555555",
96
96
  edgeText: "#111111",
97
- edgeLabelBackground: "#f4f4f4",
97
+ edgeLabelBackground: "#ffffff",
98
98
  groupFill: "#fafafa",
99
99
  groupStroke: "#cccccc",
100
100
  title: "#111111",
@@ -205,7 +205,7 @@ async function convert(from, to, source, target, args) {
205
205
  const markdown = await readFile(source, "utf8");
206
206
  const prepared = args.renderDiagrams === true
207
207
  ? await prepareMarkdownDiagrams(markdown)
208
- : { markdown, count: 0, notes: [] };
208
+ : { markdown, notes: [] };
209
209
  const doc = await markdownToDocx(prepared.markdown, {
210
210
  ...("resolveImage" in prepared && prepared.resolveImage !== undefined
211
211
  ? { resolveImage: prepared.resolveImage }
@@ -1 +1 @@
1
- {"version":3,"file":"doc-convert.js","sourceRoot":"","sources":["../../src/tools/doc-convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-convert.js","sourceRoot":"","sources":["../../src/tools/doc-convert.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ export const docWriteTool = defineTool({
70
70
  // the bytes.
71
71
  const prepared = (args.diagrams ?? config.groups.has("diagram"))
72
72
  ? await prepareMarkdownDiagrams(args.markdown)
73
- : { markdown: args.markdown, count: 0, notes: [] };
73
+ : { markdown: args.markdown, notes: [] };
74
74
  // markdownToDocx is async — verified; treating it as synchronous yields an
75
75
  // empty object that fails much later inside the packager.
76
76
  const doc = await markdownToDocx(prepared.markdown, {
@@ -1 +1 @@
1
- {"version":3,"file":"doc-write.js","sourceRoot":"","sources":["../../src/tools/doc-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-write.js","sourceRoot":"","sources":["../../src/tools/doc-write.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@documonster/mcp",
3
- "version": "0.13.1",
3
+ "version": "0.14.0-canary.sha.fa35d09c",
4
4
  "description": "Model Context Protocol server for documonster — lets AI assistants read, write and convert Excel, Word, PDF, CSV and ZIP documents.",
5
5
  "keywords": [
6
6
  "ai",
@@ -49,14 +49,14 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.30.0",
52
- "zod": "^4.4.3",
53
- "documonster": "0.13.1"
52
+ "documonster": "0.14.0-canary.sha.fa35d09c",
53
+ "zod": "^4.4.3"
54
54
  },
55
55
  "devDependencies": {
56
- "@types/node": "^26.2.0",
56
+ "@types/node": "^26.6.0",
57
57
  "rimraf": "^6.1.3",
58
58
  "typescript": "7.0.2",
59
- "vitest": "^4.1.10"
59
+ "vitest": "^5.0.1"
60
60
  },
61
61
  "engines": {
62
62
  "node": ">=22.13.0"