@documonster/mcp 0.10.0 → 0.11.0
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.
- package/README.md +170 -51
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +28 -0
- package/dist/capabilities.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -2
- package/dist/config.js.map +1 -1
- package/dist/tools/diagram-inspect.d.ts +20 -0
- package/dist/tools/diagram-inspect.d.ts.map +1 -0
- package/dist/tools/diagram-inspect.js +91 -0
- package/dist/tools/diagram-inspect.js.map +1 -0
- package/dist/tools/diagram-markdown.d.ts +45 -0
- package/dist/tools/diagram-markdown.d.ts.map +1 -0
- package/dist/tools/diagram-markdown.js +127 -0
- package/dist/tools/diagram-markdown.js.map +1 -0
- package/dist/tools/diagram-render.d.ts +14 -0
- package/dist/tools/diagram-render.d.ts.map +1 -0
- package/dist/tools/diagram-render.js +117 -0
- package/dist/tools/diagram-render.js.map +1 -0
- package/dist/tools/diagram.d.ts +217 -0
- package/dist/tools/diagram.d.ts.map +1 -0
- package/dist/tools/diagram.js +760 -0
- package/dist/tools/diagram.js.map +1 -0
- package/dist/tools/doc-convert.d.ts.map +1 -1
- package/dist/tools/doc-convert.js +26 -4
- package/dist/tools/doc-convert.js.map +1 -1
- package/dist/tools/doc-read.d.ts.map +1 -1
- package/dist/tools/doc-read.js +32 -4
- package/dist/tools/doc-read.js.map +1 -1
- package/dist/tools/doc-write.d.ts.map +1 -1
- package/dist/tools/doc-write.js +21 -3
- package/dist/tools/doc-write.js.map +1 -1
- package/dist/tools/document.d.ts +1 -1
- package/dist/tools/document.d.ts.map +1 -1
- package/dist/tools/document.js +13 -1
- package/dist/tools/document.js.map +1 -1
- package/dist/tools/help.d.ts +263 -15
- package/dist/tools/help.d.ts.map +1 -1
- package/dist/tools/help.js +263 -15
- package/dist/tools/help.js.map +1 -1
- package/dist/tools/image.d.ts +147 -0
- package/dist/tools/image.d.ts.map +1 -0
- package/dist/tools/image.js +749 -0
- package/dist/tools/image.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspect.d.ts.map +1 -1
- package/dist/tools/inspect.js +98 -6
- package/dist/tools/inspect.js.map +1 -1
- package/dist/tools/pdf-edit.d.ts +13 -6
- package/dist/tools/pdf-edit.d.ts.map +1 -1
- package/dist/tools/pdf-edit.js +93 -8
- package/dist/tools/pdf-edit.js.map +1 -1
- package/dist/tools/sheet-edit.d.ts.map +1 -1
- package/dist/tools/sheet-edit.js +37 -2
- package/dist/tools/sheet-edit.js.map +1 -1
- package/dist/tools/sheet-image.d.ts +58 -0
- package/dist/tools/sheet-image.d.ts.map +1 -0
- package/dist/tools/sheet-image.js +156 -0
- package/dist/tools/sheet-image.js.map +1 -0
- package/dist/tools/sheet-read.d.ts.map +1 -1
- package/dist/tools/sheet-read.js +18 -1
- package/dist/tools/sheet-read.js.map +1 -1
- package/dist/tools/sheet-write.d.ts.map +1 -1
- package/dist/tools/sheet-write.js +41 -4
- package/dist/tools/sheet-write.js.map +1 -1
- package/dist/tools/template.d.ts +19 -0
- package/dist/tools/template.d.ts.map +1 -1
- package/dist/tools/template.js +436 -11
- package/dist/tools/template.js.map +1 -1
- package/package.json +3 -3
package/dist/tools/sheet-edit.js
CHANGED
|
@@ -20,7 +20,9 @@ import { toolError } from "../errors.js";
|
|
|
20
20
|
import { assertWritable, resolveEditTarget, resolveInRoot } from "../sandbox.js";
|
|
21
21
|
import { addChart, chartSchema } from "./chart.js";
|
|
22
22
|
import { assertUnchanged, backupOnce, describeBackup, fingerprint, replaceAtomically } from "./fs-helpers.js";
|
|
23
|
+
import { newImageBudget, resolveImageSource } from "./image.js";
|
|
23
24
|
import { textResult } from "./result.js";
|
|
25
|
+
import { imageSchema, placeImage } from "./sheet-image.js";
|
|
24
26
|
import { describeWindow, normalizeFormula, parseRange, requireSheet, sheetName, toArgb } from "./spreadsheet.js";
|
|
25
27
|
import { defineTool } from "./types.js";
|
|
26
28
|
/** Cells one op may touch, so an unbounded range cannot hang the server. */
|
|
@@ -81,6 +83,10 @@ const opSchema = z.discriminatedUnion("op", [
|
|
|
81
83
|
name: z.string().min(1).max(31),
|
|
82
84
|
rows: z.array(z.array(cellValue)).optional()
|
|
83
85
|
}),
|
|
86
|
+
z.object({
|
|
87
|
+
op: z.literal("add_image"),
|
|
88
|
+
...imageSchema.shape
|
|
89
|
+
}),
|
|
84
90
|
z.object({
|
|
85
91
|
op: z.literal("add_chart"),
|
|
86
92
|
chart: chartSchema
|
|
@@ -144,11 +150,16 @@ export const sheetEditTool = defineTool({
|
|
|
144
150
|
const ws = requireSheet(wb, args.sheet);
|
|
145
151
|
const target = sheetName(ws);
|
|
146
152
|
const applied = [];
|
|
153
|
+
// Images are read, and diagrams drawn, before the first op runs. The op loop
|
|
154
|
+
// is synchronous by design — every change lands in memory before anything is
|
|
155
|
+
// written — so the one asynchronous step has to happen ahead of it, and a
|
|
156
|
+
// picture that cannot be read fails before any edit is applied.
|
|
157
|
+
const images = await resolveOpImages(config, args.ops);
|
|
147
158
|
// Every op runs against the in-memory workbook first. Nothing is written
|
|
148
159
|
// until all of them have succeeded, so a failure leaves the file untouched.
|
|
149
160
|
for (const [index, op] of args.ops.entries()) {
|
|
150
161
|
try {
|
|
151
|
-
applied.push(applyOp(wb, ws, op));
|
|
162
|
+
applied.push(applyOp(wb, ws, op, images));
|
|
152
163
|
}
|
|
153
164
|
catch (cause) {
|
|
154
165
|
throw cause instanceof Error && cause.name === "McpToolError"
|
|
@@ -201,8 +212,24 @@ export const sheetEditTool = defineTool({
|
|
|
201
212
|
].join("\n"));
|
|
202
213
|
}
|
|
203
214
|
});
|
|
215
|
+
/**
|
|
216
|
+
* Resolve every `add_image` source up front, keyed by its own op.
|
|
217
|
+
*
|
|
218
|
+
* Keyed by object identity rather than by position so `applyOp` stays
|
|
219
|
+
* synchronous without carrying an index it could get wrong.
|
|
220
|
+
*/
|
|
221
|
+
async function resolveOpImages(config, ops) {
|
|
222
|
+
const resolved = new Map();
|
|
223
|
+
const budget = newImageBudget();
|
|
224
|
+
for (const op of ops) {
|
|
225
|
+
if (op.op === "add_image") {
|
|
226
|
+
resolved.set(op, await resolveImageSource(config, op, { budget }));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return resolved;
|
|
230
|
+
}
|
|
204
231
|
/** Apply one op, returning a human description of what it did. */
|
|
205
|
-
function applyOp(wb, ws, op) {
|
|
232
|
+
function applyOp(wb, ws, op, images) {
|
|
206
233
|
switch (op.op) {
|
|
207
234
|
case "set_cell": {
|
|
208
235
|
const ref = requireAddress(op.ref);
|
|
@@ -300,6 +327,14 @@ function applyOp(wb, ws, op) {
|
|
|
300
327
|
}
|
|
301
328
|
return `added sheet ${JSON.stringify(op.name)}${op.rows === undefined ? "" : ` with ${op.rows.length} row(s)`}`;
|
|
302
329
|
}
|
|
330
|
+
case "add_image": {
|
|
331
|
+
const image = images.get(op);
|
|
332
|
+
if (image === undefined) {
|
|
333
|
+
// Unreachable: `resolveOpImages` walked this very list.
|
|
334
|
+
throw toolError.invalidInput("an add_image op was not resolved before placement");
|
|
335
|
+
}
|
|
336
|
+
return placeImage(wb, ws, op.at, image);
|
|
337
|
+
}
|
|
303
338
|
case "add_chart":
|
|
304
339
|
return addChart(ws, op.chart);
|
|
305
340
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-edit.js","sourceRoot":"","sources":["../../src/tools/sheet-edit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sheet-edit.js","sourceRoot":"","sources":["../../src/tools/sheet-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Placing an image on a worksheet, shared by `sheet_write` and `sheet_edit`.
|
|
3
|
+
*
|
|
4
|
+
* The workbook API is two steps — register the bytes once against the workbook,
|
|
5
|
+
* then anchor that id on a sheet — and the interesting part is the anchor, because
|
|
6
|
+
* the two spellings mean genuinely different things and a caller has to be able to
|
|
7
|
+
* pick:
|
|
8
|
+
*
|
|
9
|
+
* - **A range, `"A10:H30"`.** The picture is bound to those cells, so it moves and
|
|
10
|
+
* resizes when they do. Its own dimensions are irrelevant; the cells decide.
|
|
11
|
+
* - **A single cell, `"F2"`.** The picture keeps its own size and hangs from that
|
|
12
|
+
* cell's top-left corner. This is the one that needs a real pixel size, which is
|
|
13
|
+
* why `image.ts` insists on reading one rather than defaulting.
|
|
14
|
+
*
|
|
15
|
+
* A model asked to "put the logo at F2" means the second; asked to "fill A10:H30
|
|
16
|
+
* with the diagram" it means the first. Offering only one would silently give the
|
|
17
|
+
* wrong answer to half of the requests.
|
|
18
|
+
*/
|
|
19
|
+
import { z } from "zod";
|
|
20
|
+
import { type ResolvedImage } from "./image.js";
|
|
21
|
+
import { type SheetHandle, type WorkbookHandle } from "./spreadsheet.js";
|
|
22
|
+
export declare const imageSchema: z.ZodObject<{
|
|
23
|
+
from: z.ZodOptional<z.ZodString>;
|
|
24
|
+
source: z.ZodOptional<z.ZodString>;
|
|
25
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
altText: z.ZodOptional<z.ZodString>;
|
|
29
|
+
theme: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
dark: "dark";
|
|
31
|
+
default: "default";
|
|
32
|
+
neutral: "neutral";
|
|
33
|
+
}>>;
|
|
34
|
+
background: z.ZodOptional<z.ZodString>;
|
|
35
|
+
at: z.ZodString;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type ImageSpec = z.infer<typeof imageSchema>;
|
|
38
|
+
/**
|
|
39
|
+
* Register and anchor one image.
|
|
40
|
+
*
|
|
41
|
+
* @returns A human description for the tool's report.
|
|
42
|
+
*/
|
|
43
|
+
export declare function placeImage(wb: WorkbookHandle, ws: SheetHandle, at: string, image: ResolvedImage): string;
|
|
44
|
+
/**
|
|
45
|
+
* Report the pictures on a sheet.
|
|
46
|
+
*
|
|
47
|
+
* Every write tool in this server ends by telling the model to read the file back
|
|
48
|
+
* and verify. For an image that instruction was unfollowable: `sheet_read` renders
|
|
49
|
+
* cells, and a picture occupies no cell — so a model that had just placed a logo
|
|
50
|
+
* had no way to confirm it, and the honest answer to "did it work" was "the tool
|
|
51
|
+
* said so". Word documents already report their image count from `doc_read` and
|
|
52
|
+
* `doc_inspect`; this closes the same loop for a workbook.
|
|
53
|
+
*
|
|
54
|
+
* The anchor is included rather than just the count, because the failure that
|
|
55
|
+
* actually happens is a picture in the wrong place, not a missing one.
|
|
56
|
+
*/
|
|
57
|
+
export declare function describeSheetImages(ws: SheetHandle): string[];
|
|
58
|
+
//# sourceMappingURL=sheet-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet-image.d.ts","sourceRoot":"","sources":["../../src/tools/sheet-image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKrF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;iBAQtB,CAAC;AAKH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,GACnB,MAAM,CAqER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,CAQ7D"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Placing an image on a worksheet, shared by `sheet_write` and `sheet_edit`.
|
|
3
|
+
*
|
|
4
|
+
* The workbook API is two steps — register the bytes once against the workbook,
|
|
5
|
+
* then anchor that id on a sheet — and the interesting part is the anchor, because
|
|
6
|
+
* the two spellings mean genuinely different things and a caller has to be able to
|
|
7
|
+
* pick:
|
|
8
|
+
*
|
|
9
|
+
* - **A range, `"A10:H30"`.** The picture is bound to those cells, so it moves and
|
|
10
|
+
* resizes when they do. Its own dimensions are irrelevant; the cells decide.
|
|
11
|
+
* - **A single cell, `"F2"`.** The picture keeps its own size and hangs from that
|
|
12
|
+
* cell's top-left corner. This is the one that needs a real pixel size, which is
|
|
13
|
+
* why `image.ts` insists on reading one rather than defaulting.
|
|
14
|
+
*
|
|
15
|
+
* A model asked to "put the logo at F2" means the second; asked to "fill A10:H30
|
|
16
|
+
* with the diagram" it means the first. Offering only one would silently give the
|
|
17
|
+
* wrong answer to half of the requests.
|
|
18
|
+
*/
|
|
19
|
+
import { Address, Image } from "documonster/excel";
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
import { toolError } from "../errors.js";
|
|
22
|
+
import { summariseDiagram } from "./diagram.js";
|
|
23
|
+
import { imageSourceShape, toCssPixels } from "./image.js";
|
|
24
|
+
import { parseRange } from "./spreadsheet.js";
|
|
25
|
+
/** A single cell reference, as opposed to a range. */
|
|
26
|
+
const SINGLE_CELL = /^\$?[A-Z]{1,3}\$?[1-9][0-9]*$/;
|
|
27
|
+
export const imageSchema = z.object({
|
|
28
|
+
at: z
|
|
29
|
+
.string()
|
|
30
|
+
.min(1)
|
|
31
|
+
.describe('Where to put it. A single cell ("F2") hangs the picture from that corner at its own size; a range ("A10:H30") binds it to those cells so it moves and resizes with them.'),
|
|
32
|
+
...imageSourceShape
|
|
33
|
+
});
|
|
34
|
+
/** Smallest picture worth placing, in points. Below this it rounds away to nothing. */
|
|
35
|
+
const MIN_PLACED_POINTS = 1;
|
|
36
|
+
/**
|
|
37
|
+
* Register and anchor one image.
|
|
38
|
+
*
|
|
39
|
+
* @returns A human description for the tool's report.
|
|
40
|
+
*/
|
|
41
|
+
export function placeImage(wb, ws, at, image) {
|
|
42
|
+
const reference = at.trim().toUpperCase();
|
|
43
|
+
const isCell = SINGLE_CELL.test(reference);
|
|
44
|
+
// Both spellings go through the range parser, which is what enforces Excel's
|
|
45
|
+
// row and column limits. Checking only the range form let `A1048577` — one row
|
|
46
|
+
// past the last — reach the drawing XML as an anchor Excel cannot open, and the
|
|
47
|
+
// regex above cannot express a bound of 1048576.
|
|
48
|
+
parseRange(isCell ? `${reference}:${reference}` : reference);
|
|
49
|
+
if (isCell && (image.width < MIN_PLACED_POINTS || image.height < MIN_PLACED_POINTS)) {
|
|
50
|
+
// `toCssPixels` rounds, so a sub-point size becomes a 0×0 anchor: a picture
|
|
51
|
+
// that is in the file, counts as placed, and cannot be seen.
|
|
52
|
+
throw toolError.invalidInput(`the image would be placed at ${image.width.toFixed(2)}×${image.height.toFixed(2)} pt, which rounds away to nothing`, "Give a larger `width`/`height`, or omit them to use the image's own size.");
|
|
53
|
+
}
|
|
54
|
+
let imageId;
|
|
55
|
+
try {
|
|
56
|
+
imageId = Image.add(wb, { buffer: image.bytes, extension: image.mediaType });
|
|
57
|
+
}
|
|
58
|
+
catch (cause) {
|
|
59
|
+
throw toolError.invalidInput(`the workbook rejected the image: ${cause instanceof Error ? cause.message : String(cause)}`, "Only PNG, JPEG and GIF can be embedded in a worksheet.", { cause });
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
if (isCell) {
|
|
63
|
+
// `ext` is in CSS pixels at 96 dpi — not EMU, and not points. Getting the
|
|
64
|
+
// unit wrong here scales the picture by 4/3 or by 9525.
|
|
65
|
+
Image.place(ws, imageId, {
|
|
66
|
+
tl: reference,
|
|
67
|
+
ext: { width: toCssPixels(image.width), height: toCssPixels(image.height) },
|
|
68
|
+
editAs: "oneCell"
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// `editAs: "twoCell"` is what makes a range anchor mean what this tool
|
|
73
|
+
// promises. Passing the range as a bare string defaults it to `oneCell`,
|
|
74
|
+
// which moves the picture with its cells but does **not** resize it — so the
|
|
75
|
+
// documented "moves and resizes with them" was half false, and a caller who
|
|
76
|
+
// widened a column got a picture that no longer fitted the block it was
|
|
77
|
+
// placed in. The corners are given explicitly because the string form is
|
|
78
|
+
// what carries the `oneCell` default.
|
|
79
|
+
const window = parseRange(reference);
|
|
80
|
+
Image.place(ws, imageId, {
|
|
81
|
+
tl: { col: window.left - 1, row: window.top - 1 },
|
|
82
|
+
br: { col: window.right, row: window.bottom },
|
|
83
|
+
editAs: "twoCell"
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (cause) {
|
|
88
|
+
throw toolError.invalidInput(`could not place the image at ${JSON.stringify(at)}: ${cause instanceof Error ? cause.message : String(cause)}`, 'Use a single cell like "F2" or a range like "A10:H30".', { cause });
|
|
89
|
+
}
|
|
90
|
+
const size = isCell
|
|
91
|
+
? `${Math.round(image.width)}×${Math.round(image.height)} pt`
|
|
92
|
+
: "sized to the range";
|
|
93
|
+
// For a diagram the counts are the only verification the model can get: it
|
|
94
|
+
// cannot open the workbook and look at the picture.
|
|
95
|
+
const drawn = image.diagram === undefined ? "" : ` — ${summariseDiagram(image.diagram)}`;
|
|
96
|
+
return `placed ${image.origin} at ${reference} (${size}, ${image.mediaType})${drawn}`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Report the pictures on a sheet.
|
|
100
|
+
*
|
|
101
|
+
* Every write tool in this server ends by telling the model to read the file back
|
|
102
|
+
* and verify. For an image that instruction was unfollowable: `sheet_read` renders
|
|
103
|
+
* cells, and a picture occupies no cell — so a model that had just placed a logo
|
|
104
|
+
* had no way to confirm it, and the honest answer to "did it work" was "the tool
|
|
105
|
+
* said so". Word documents already report their image count from `doc_read` and
|
|
106
|
+
* `doc_inspect`; this closes the same loop for a workbook.
|
|
107
|
+
*
|
|
108
|
+
* The anchor is included rather than just the count, because the failure that
|
|
109
|
+
* actually happens is a picture in the wrong place, not a missing one.
|
|
110
|
+
*/
|
|
111
|
+
export function describeSheetImages(ws) {
|
|
112
|
+
const placed = Image.list(ws);
|
|
113
|
+
if (placed.length === 0) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
return [
|
|
117
|
+
`- images: ${placed.length} (${placed.map(describeAnchor).join(", ")}) — not shown in the grid below; a picture occupies no cell`
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Render one anchor as the address range the caller would recognise.
|
|
122
|
+
*
|
|
123
|
+
* The stored bottom-right anchor is an **edge, not a cell**: with a zero offset the
|
|
124
|
+
* picture stops at the left/top edge of `br`, so the last cell it actually covers
|
|
125
|
+
* is one before it. Reporting the raw anchor turns a picture placed at `A6:H26`
|
|
126
|
+
* into `A6:I27`, which reads as an off-by-one bug in the placement rather than in
|
|
127
|
+
* the description — the worst kind of wrong report, because it sends the model to
|
|
128
|
+
* fix something that is already correct.
|
|
129
|
+
*
|
|
130
|
+
* A non-zero offset means the picture genuinely does reach into that cell, so it is
|
|
131
|
+
* named as-is.
|
|
132
|
+
*/
|
|
133
|
+
function describeAnchor(image) {
|
|
134
|
+
const range = image.range;
|
|
135
|
+
const topLeft = range?.tl;
|
|
136
|
+
if (topLeft === undefined) {
|
|
137
|
+
// A background or header/footer picture is not anchored to the grid at all.
|
|
138
|
+
return "not anchored to a cell";
|
|
139
|
+
}
|
|
140
|
+
const from = encodeAnchor(topLeft.nativeCol, topLeft.nativeRow);
|
|
141
|
+
const bottomRight = range?.br;
|
|
142
|
+
if (bottomRight !== undefined) {
|
|
143
|
+
const lastColumn = bottomRight.nativeColOff > 0 ? bottomRight.nativeCol : bottomRight.nativeCol - 1;
|
|
144
|
+
const lastRow = bottomRight.nativeRowOff > 0 ? bottomRight.nativeRow : bottomRight.nativeRow - 1;
|
|
145
|
+
return `${from}:${encodeAnchor(Math.max(topLeft.nativeCol, lastColumn), Math.max(topLeft.nativeRow, lastRow))}`;
|
|
146
|
+
}
|
|
147
|
+
const ext = range?.ext;
|
|
148
|
+
return ext === undefined
|
|
149
|
+
? from
|
|
150
|
+
: `${from} at ${Math.round(ext.width ?? 0)}×${Math.round(ext.height ?? 0)} px`;
|
|
151
|
+
}
|
|
152
|
+
/** Encode a 0-based, possibly fractional anchor as an A1 address. */
|
|
153
|
+
function encodeAnchor(column, row) {
|
|
154
|
+
return Address.encodeCell({ r: Math.floor(row), c: Math.floor(column) });
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=sheet-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet-image.js","sourceRoot":"","sources":["../../src/tools/sheet-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-read.d.ts","sourceRoot":"","sources":["../../src/tools/sheet-read.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"sheet-read.d.ts","sourceRoot":"","sources":["../../src/tools/sheet-read.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4BH,eAAO,MAAM,aAAa,wCA2IxB,CAAC"}
|
package/dist/tools/sheet-read.js
CHANGED
|
@@ -12,6 +12,7 @@ import { toolError } from "../errors.js";
|
|
|
12
12
|
import { resolveInRoot } from "../sandbox.js";
|
|
13
13
|
import { assertReadableSize } from "./fs-helpers.js";
|
|
14
14
|
import { textResult } from "./result.js";
|
|
15
|
+
import { describeSheetImages } from "./sheet-image.js";
|
|
15
16
|
import { describeWindow, parseRange, renderGrid, requireSheet, sheetName, sheetNames, usedWindow } from "./spreadsheet.js";
|
|
16
17
|
import { defineTool } from "./types.js";
|
|
17
18
|
/** Rows returned when the caller does not say. Fits a screen and a small budget. */
|
|
@@ -67,7 +68,20 @@ export const sheetReadTool = defineTool({
|
|
|
67
68
|
const ws = requireSheet(wb, args.sheet);
|
|
68
69
|
const used = usedWindow(ws);
|
|
69
70
|
if (used === undefined) {
|
|
70
|
-
|
|
71
|
+
// "Empty" is about cells. A picture occupies none, so a sheet holding
|
|
72
|
+
// nothing but an image used to report itself as empty — which made the
|
|
73
|
+
// placement unverifiable by the very call every write tool tells you to make.
|
|
74
|
+
const pictures = describeSheetImages(ws);
|
|
75
|
+
return textResult(config, [
|
|
76
|
+
`# ${args.path} — sheet ${JSON.stringify(sheetName(ws))}`,
|
|
77
|
+
"",
|
|
78
|
+
pictures.length === 0
|
|
79
|
+
? "The sheet is empty."
|
|
80
|
+
: "The sheet has no cell data, but it does hold pictures:",
|
|
81
|
+
...pictures,
|
|
82
|
+
"",
|
|
83
|
+
`Sheets in this workbook: ${sheetNames(wb).join(", ")}`
|
|
84
|
+
].join("\n"));
|
|
71
85
|
}
|
|
72
86
|
// Intersect with the used area: a caller asking for B2:D400 on a sheet with
|
|
73
87
|
// ten rows of data should get ten rows, not 390 blank ones padding out its
|
|
@@ -103,6 +117,9 @@ export const sheetReadTool = defineTool({
|
|
|
103
117
|
if (remaining > 0) {
|
|
104
118
|
lines.push(`- **${remaining} row(s) not shown.** Continue with \`startRow: ${window.bottom + 1}\`.`);
|
|
105
119
|
}
|
|
120
|
+
// A picture occupies no cell, so the grid below cannot show one. Saying so is
|
|
121
|
+
// what makes "read it back to verify" possible after placing an image.
|
|
122
|
+
lines.push(...describeSheetImages(ws));
|
|
106
123
|
const otherSheets = sheetNames(wb).filter(name => name !== sheetName(ws));
|
|
107
124
|
if (otherSheets.length > 0) {
|
|
108
125
|
lines.push(`- other sheets: ${otherSheets.join(", ")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-read.js","sourceRoot":"","sources":["../../src/tools/sheet-read.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sheet-read.js","sourceRoot":"","sources":["../../src/tools/sheet-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-write.d.ts","sourceRoot":"","sources":["../../src/tools/sheet-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"sheet-write.d.ts","sourceRoot":"","sources":["../../src/tools/sheet-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4GH,eAAO,MAAM,cAAc,wCAyFzB,CAAC"}
|
|
@@ -20,7 +20,9 @@ import { assertWritable, outputDisplay, resolveInRoot, resolveOutputPath } from
|
|
|
20
20
|
import { addChart, chartSchema, generateSchema, writeGenerated } from "./chart.js";
|
|
21
21
|
import { assertNonMacroOutput } from "./document.js";
|
|
22
22
|
import { writeWithPolicy } from "./fs-helpers.js";
|
|
23
|
+
import { newImageBudget, resolveImageSource } from "./image.js";
|
|
23
24
|
import { textResult } from "./result.js";
|
|
25
|
+
import { placeImage, imageSchema } from "./sheet-image.js";
|
|
24
26
|
import { normalizeFormula, parseRange, toArgb } from "./spreadsheet.js";
|
|
25
27
|
import { defineTool } from "./types.js";
|
|
26
28
|
/** A single cell value in `rows`. `null` writes a blank. */
|
|
@@ -84,7 +86,11 @@ const sheetSchema = z.object({
|
|
|
84
86
|
charts: z
|
|
85
87
|
.array(chartSchema)
|
|
86
88
|
.optional()
|
|
87
|
-
.describe("Charts to place on this sheet. Ranges are plain A1 — the sheet qualification is added for you.")
|
|
89
|
+
.describe("Charts to place on this sheet. Ranges are plain A1 — the sheet qualification is added for you."),
|
|
90
|
+
images: z
|
|
91
|
+
.array(imageSchema)
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('Pictures to place on this sheet: a .png/.jpg/.gif file, or a Mermaid diagram drawn server-side. e.g. [{ at: "F2", from: "logo.png" }, { at: "A10:H30", source: "flowchart LR\n A --> B" }].')
|
|
88
94
|
});
|
|
89
95
|
export const sheetWriteTool = defineTool({
|
|
90
96
|
name: "sheet_write",
|
|
@@ -124,9 +130,14 @@ export const sheetWriteTool = defineTool({
|
|
|
124
130
|
assertUniqueNames(args.sheets.map(sheet => sheet.name));
|
|
125
131
|
const wb = Workbook.create();
|
|
126
132
|
const report = [];
|
|
133
|
+
// Every image is read and, where it is a diagram, drawn *before* a single
|
|
134
|
+
// sheet is built. A picture that cannot be read must not leave a half-built
|
|
135
|
+
// workbook behind, and the resolution is the only asynchronous step in the
|
|
136
|
+
// whole spec.
|
|
137
|
+
const images = await resolveImages(config, args.sheets);
|
|
127
138
|
for (const spec of args.sheets) {
|
|
128
139
|
const ws = await buildSheet(wb, spec, config, report);
|
|
129
|
-
applyLayout(ws, spec, report);
|
|
140
|
+
applyLayout(wb, ws, spec, images, report);
|
|
130
141
|
}
|
|
131
142
|
const recalculate = args.recalculate ?? true;
|
|
132
143
|
let formulaNote = "formulas not evaluated (recalculate: false)";
|
|
@@ -193,8 +204,26 @@ async function buildSheet(wb, spec, config, report) {
|
|
|
193
204
|
}
|
|
194
205
|
return ws;
|
|
195
206
|
}
|
|
196
|
-
/**
|
|
197
|
-
|
|
207
|
+
/**
|
|
208
|
+
* Resolve every image in the spec up front, keyed by its own entry.
|
|
209
|
+
*
|
|
210
|
+
* Keyed by object identity rather than by position so the placement loop below
|
|
211
|
+
* can stay synchronous without carrying an index it could get wrong.
|
|
212
|
+
*/
|
|
213
|
+
async function resolveImages(config, sheets) {
|
|
214
|
+
const resolved = new Map();
|
|
215
|
+
// One budget for the whole call: twenty sheets of one big picture each is the
|
|
216
|
+
// same memory as one sheet of twenty.
|
|
217
|
+
const budget = newImageBudget();
|
|
218
|
+
for (const sheet of sheets) {
|
|
219
|
+
for (const spec of sheet.images ?? []) {
|
|
220
|
+
resolved.set(spec, await resolveImageSource(config, spec, { budget }));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return resolved;
|
|
224
|
+
}
|
|
225
|
+
/** Apply widths, freeze panes, merges, styles, charts and images. */
|
|
226
|
+
function applyLayout(wb, ws, spec, images, report) {
|
|
198
227
|
if (spec.columnWidths !== undefined && spec.columnWidths.length > 0) {
|
|
199
228
|
Worksheet.setColumns(ws, spec.columnWidths.map(width => ({ width })));
|
|
200
229
|
}
|
|
@@ -216,6 +245,14 @@ function applyLayout(ws, spec, report) {
|
|
|
216
245
|
for (const chart of spec.charts ?? []) {
|
|
217
246
|
report.push(`- sheet ${JSON.stringify(spec.name)}: ${addChart(ws, chart)}`);
|
|
218
247
|
}
|
|
248
|
+
for (const entry of spec.images ?? []) {
|
|
249
|
+
const image = images.get(entry);
|
|
250
|
+
if (image === undefined) {
|
|
251
|
+
// Unreachable: `resolveImages` walked this very array.
|
|
252
|
+
throw toolError.invalidInput("an image entry was not resolved before placement");
|
|
253
|
+
}
|
|
254
|
+
report.push(`- sheet ${JSON.stringify(spec.name)}: ${placeImage(wb, ws, entry.at, image)}`);
|
|
255
|
+
}
|
|
219
256
|
}
|
|
220
257
|
/**
|
|
221
258
|
* Cells one `styles` entry may touch.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-write.js","sourceRoot":"","sources":["../../src/tools/sheet-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,MAAM,EAIP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,4DAA4D;AAC5D,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAChF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;CAC/E,CAAC;KACD,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAE9C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC5F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uJAAuJ,CACxJ;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,QAAQ,EAAE,cAAc;SACrB,QAAQ,EAAE;SACV,QAAQ,CACP,qKAAqK,CACtK;IACH,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACP,8FAA8F,CAC/F;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC;SACnC,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IACH,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC5B,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACnF,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;IACtF,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,WAAW,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACP,gGAAgG,CACjG;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,4SAA4S;IAC9S,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,oEAAoE,CAAC;QACjF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClF,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,mGAAmG,CACpG;QACH,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,6FAA6F,CAC9F;KACJ;IACD,WAAW,EAAE;QACX,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;KACrB;IACD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACtD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC7C,IAAI,WAAW,GAAG,6CAA6C,CAAC;QAChE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtB,WAAW,GAAG,oBAAoB,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uEAAuE;gBACvE,2DAA2D;gBAC3D,WAAW,GAAG,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAClC,CAAC;QAEF,OAAO,UAAU,CACf,MAAM,EACN;YACE,WAAW,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,eAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5I,KAAK,WAAW,EAAE;YAClB,GAAG,MAAM;YACT,EAAE;YACF,oFAAoF;SACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,qEAAqE;AACrE,KAAK,UAAU,UAAU,CACvB,EAAkB,EAClB,IAAiC,EACjC,MAAoB,EACpB,MAAgB;IAEhB,IAAI,EAAe,CAAC;IAEpB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,4EAA4E;QAC5E,wEAAwE;QACxE,EAAE,GAAG,MAAM,WAAW,CACpB,EAAE,EACF,MAAM,EACN,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAC/E,CAAC;QACF,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,gBAAgB,IAAI,CAAC,OAAO,cAAc,CACvH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,kBAAkB;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qDAAqD;AACrD,SAAS,WAAW,CAAC,EAAe,EAAE,IAAiC,EAAE,MAAgB;IACvF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,SAAS,CAAC,UAAU,CAClB,EAAE,EACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACzD,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,CAAC,YAAY,CAC1B,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChF,qCAAqC,EACrC,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,qEAAqE;IACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,gDAAgD;AAChD,SAAS,UAAU,CAAC,EAAe,EAAE,KAAa,EAAE,KAAkC;IACpF,MAAM,MAAM,GAAe,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClF,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,QAAQ,CACtB,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,KAAK,oBAAoB,gBAAgB,QAAQ,EAChG,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC1D,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5F,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;oBAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;iBACvF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;oBAC5B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,CAAC,YAAY,CAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,EAClD,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,YAAY,CAC1B,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qCAAqC,EACvE,mDAAmD,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,CAAC,YAAY,CAC1B,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0CAA0C,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,YAAY,CAC1B,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAC9C,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"sheet-write.js","sourceRoot":"","sources":["../../src/tools/sheet-write.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/template.d.ts
CHANGED
|
@@ -15,4 +15,23 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const templateInspectTool: import("./types.js").AnyToolDefinition;
|
|
17
17
|
export declare const templateFillTool: import("./types.js").AnyToolDefinition;
|
|
18
|
+
/** The subset of a template tag these checks need. */
|
|
19
|
+
interface TagLike {
|
|
20
|
+
readonly expression: string;
|
|
21
|
+
readonly type: string;
|
|
22
|
+
readonly location: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Refuse an `images` key the template cannot use, naming which and why.
|
|
26
|
+
*
|
|
27
|
+
* Two kinds of mistake, and silence would be expensive for both. A **misspelled
|
|
28
|
+
* key** leaves the document saved and looking fine with the picture simply absent
|
|
29
|
+
* behind a plausible success message, so the error lists the placeholders that do
|
|
30
|
+
* exist. An **unfillable placeholder** is worse, because the caller did everything
|
|
31
|
+
* right and the limitation is the engine's: without this the failure arrives two
|
|
32
|
+
* passes deeper as "Unresolved variable", advising the model to move the image into
|
|
33
|
+
* `data` — the one place it can never go.
|
|
34
|
+
*/
|
|
35
|
+
export declare function assertImagePlaceholdersExist(tags: readonly TagLike[], imageKeys: readonly string[]): void;
|
|
36
|
+
export {};
|
|
18
37
|
//# sourceMappingURL=template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/tools/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/tools/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmCH,eAAO,MAAM,mBAAmB,wCA0F9B,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAuJ3B,CAAC;AAiDH,sDAAsD;AACtD,UAAU,OAAO;IACf,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,IAAI,CAgCN"}
|