@pixerate/editor 0.46.0 → 0.47.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/THIRD_PARTY_NOTICES.md +20 -0
- package/dist/agent/index.cjs +20 -19
- package/dist/agent/index.cjs.map +1 -1
- package/dist/agent/index.d.cts +2 -2
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +4 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/{builtins-DghNQbT-.d.ts → builtins-D2nMtw2W.d.ts} +1 -1
- package/dist/{builtins-CZW-aYKS.d.cts → builtins-xs7rK6ys.d.cts} +1 -1
- package/dist/chart/index.cjs +3965 -821
- package/dist/chart/index.cjs.map +1 -1
- package/dist/chart/index.d.cts +964 -240
- package/dist/chart/index.d.ts +964 -240
- package/dist/chart/index.js +3922 -778
- package/dist/chart/index.js.map +1 -1
- package/dist/{chunk-PQM5W7ZN.js → chunk-4FX5ACVG.js} +29 -2
- package/dist/{chunk-PQM5W7ZN.js.map → chunk-4FX5ACVG.js.map} +1 -1
- package/dist/{chunk-3RPOW4CS.js → chunk-5VXI5GED.js} +12 -10
- package/dist/{chunk-3RPOW4CS.js.map → chunk-5VXI5GED.js.map} +1 -1
- package/dist/{chunk-HHQ4XJWT.js → chunk-AMWXSYCI.js} +2 -2
- package/dist/{chunk-U7VGDSNY.cjs → chunk-BBRK6MOI.cjs} +101 -99
- package/dist/chunk-BBRK6MOI.cjs.map +1 -0
- package/dist/chunk-C3NWJE3K.js +1182 -0
- package/dist/chunk-C3NWJE3K.js.map +1 -0
- package/dist/{chunk-N4MLNJPO.cjs → chunk-H4PICYNL.cjs} +59 -12
- package/dist/chunk-H4PICYNL.cjs.map +1 -0
- package/dist/chunk-LYGEEDNR.cjs +1895 -0
- package/dist/chunk-LYGEEDNR.cjs.map +1 -0
- package/dist/chunk-NEOO6QJD.cjs +1182 -0
- package/dist/chunk-NEOO6QJD.cjs.map +1 -0
- package/dist/{chunk-Q25ZS4F7.js → chunk-PQFAHT5O.js} +53 -6
- package/dist/chunk-PQFAHT5O.js.map +1 -0
- package/dist/{chunk-ZRNHGAQT.js → chunk-REAGGLXS.js} +43 -1891
- package/dist/chunk-REAGGLXS.js.map +1 -0
- package/dist/{chunk-EFDCLENW.cjs → chunk-RIWPYSKU.cjs} +29 -2
- package/dist/chunk-RIWPYSKU.cjs.map +1 -0
- package/dist/{chunk-EWCOFSCQ.cjs → chunk-SQC26VQV.cjs} +252 -2100
- package/dist/chunk-SQC26VQV.cjs.map +1 -0
- package/dist/{chunk-K2LVZ4FA.cjs → chunk-XFYUFVAX.cjs} +3 -3
- package/dist/{chunk-K2LVZ4FA.cjs.map → chunk-XFYUFVAX.cjs.map} +1 -1
- package/dist/chunk-ZFBBVGCI.js +1895 -0
- package/dist/chunk-ZFBBVGCI.js.map +1 -0
- package/dist/commands/index.cjs +93 -11
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.d.cts +9 -7
- package/dist/commands/index.d.ts +9 -7
- package/dist/commands/index.js +92 -10
- package/dist/commands/index.js.map +1 -1
- package/dist/extensions/index.cjs +3 -2
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.d.cts +3 -2
- package/dist/extensions/index.d.ts +3 -2
- package/dist/extensions/index.js +2 -1
- package/dist/generation/index.cjs +2 -2
- package/dist/generation/index.js +1 -1
- package/dist/{index-jwJ_onWf.d.ts → index-CSUCQYAH.d.ts} +23 -2
- package/dist/{index-CfOQf70b.d.cts → index-QrqMmZ75.d.cts} +23 -2
- package/dist/index.cjs +12 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +26 -23
- package/dist/index.js.map +1 -1
- package/dist/parameters/index.d.cts +1 -1
- package/dist/parameters/index.d.ts +1 -1
- package/dist/{registry-vz6HOiiy.d.cts → registry-CaR7LC6W.d.cts} +2 -0
- package/dist/{registry-BfVD-vVg.d.ts → registry-rVtFJjRM.d.ts} +2 -0
- package/dist/spreadsheet/index.cjs +5 -3
- package/dist/spreadsheet/index.cjs.map +1 -1
- package/dist/spreadsheet/index.js +24 -22
- package/dist/tools/index.cjs +3 -3
- package/dist/tools/index.js +2 -2
- package/dist/types-BVqWm3d1.d.cts +320 -0
- package/dist/types-BVqWm3d1.d.ts +320 -0
- package/dist/vector/index.d.cts +1 -1
- package/dist/vector/index.d.ts +1 -1
- package/package.json +3 -2
- package/dist/chunk-EFDCLENW.cjs.map +0 -1
- package/dist/chunk-EWCOFSCQ.cjs.map +0 -1
- package/dist/chunk-N4MLNJPO.cjs.map +0 -1
- package/dist/chunk-Q25ZS4F7.js.map +0 -1
- package/dist/chunk-U7VGDSNY.cjs.map +0 -1
- package/dist/chunk-ZRNHGAQT.js.map +0 -1
- /package/dist/{chunk-HHQ4XJWT.js.map → chunk-AMWXSYCI.js.map} +0 -0
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -30,12 +30,15 @@ reproduced at the end of this file. Paths are relative to each source repository
|
|
|
30
30
|
© 2026 ArtCraft Team and the DeckCraft contributors.
|
|
31
31
|
|
|
32
32
|
- `crates/geom/src/morph.rs` (`contours`: every segment as a cubic, lines with handles at thirds; `align`: contours paired in order, one without a partner meeting a point at the same place relative to the other outline's box (`place`); `turn`: a closed contour restarted at another anchor; `match_pair`: the closed side of a pair turned, open paired with closed) → `subpathToMorphContour`, `turnMorphContour` and `correspondMorphContours` in `packages/core/src/vector/blend.ts`; anchors are inserted by arc length rather than split evenly per curve, and the winding of closed shapes follows their areas (effectcraft) instead of a cost comparison; test cases re-expressed → `packages/core/tests/vector-blend.test.ts`
|
|
33
|
+
- `crates/pptx/src/read/chart.rs` (DrawingML chart reading: group → type mapping, secondary value axis by axis id and position rather than file order, cached and literal data, data-label number-format precedence, point fills) → `chartFromOoxml` in `packages/core/src/chart/ooxml.ts`
|
|
33
34
|
|
|
34
35
|
## designcraft
|
|
35
36
|
|
|
36
37
|
© 2026 ArtCraft Team and the DesignCraft contributors.
|
|
37
38
|
|
|
38
39
|
- `crates/tools/src/snap.rs` (`pass_dimensions`: a resized or created object's side matches another object's width or height in its own frame, nearest within the zone, when nothing else snapped on that axis) → `VectorSnapTargets.snapScale` / `matchSize` in `packages/core/src/vector/snap.ts`
|
|
40
|
+
- `crates/color/src/cms/mod.rs` (`simulate_cvd`: Machado–Oliveira–Fernandes 2009 colour-vision matrices in linear RGB) → `simulateChartVision` and `checkChartColors` in `packages/core/src/chart/color.ts`
|
|
41
|
+
- `crates/mcp/src/tools.rs` (`key`: keys through the real keyboard path) → `press_chart_key` in `packages/core/src/chart/tools.ts`
|
|
39
42
|
|
|
40
43
|
## effectcraft
|
|
41
44
|
|
|
@@ -46,6 +49,7 @@ reproduced at the end of this file. Paths are relative to each source repository
|
|
|
46
49
|
- `crates/path/src/ops.rs` (`trim` / `trim_individually` with `trim_intervals` and `Measured::append`: start / end percentages swapped when reversed, an offset in degrees wrapping round, a piece that starts where the last ended continuing it; `pucker_bloat`; `round_corners`; `offset` with copies at `amount · (i + 1 + copy_offset)`; `twist` with subdivided segments and handles mapped through the warp's derivative; `resample` and `emit` (corner bisectors, smooth handles as a fraction of the pieces); `zigzag`; `WiggleParams`, `splitmix`, `hash`, the Catmull-Rom `noise` and `wiggle`; `MergeMode` and `merge`) → `trimPaths`, `trimPathsIndividually`, `puckerBloatPaths`, `offsetPaths`, `twistPaths`, `zigzagPaths`, `wigglePaths` and `mergePaths` in `packages/core/src/vector/pathEffects.ts`; arc lengths come from our `segmentLength` / `trimSegments`, offsets from `offsetPath`, booleans from `pathBoolean`, and Round Corners (`roundCornerPaths`) uses our live-corner maths (a true radius) instead of the port's setback arc; the wiggle's time is a plain parameter; test cases from `crates/path/src/ops/tests.rs` re-expressed → `packages/core/tests/vector-effects.test.ts`
|
|
47
50
|
- `crates/render/src/shapes.rs` (the module's stacking rule — an operator acts on every path above it in its group, nested groups included, and operators below a repeater act on its copies; the `"repeater"` branch of `collect()`: copy i transformed by `translate(position·k) · rotate(rotation·k) · scale^k` about the anchor with `k = i + offset`, opacity ramped from start to end, a fractional count fading the last copy, below / above composite order; Merge Paths painting with the paint below it) → `applyVectorEffects` / `vectorAppearanceShapes` in `packages/core/src/vector/appearance.ts` and `vectorRepeaterCopies` / `repeatPaths` in `packages/core/src/vector/pathEffects.ts`; effects live on path and group nodes rather than as items among paints, each shape painted in its source path's style (merged results in the bottom one's), and the repeater's anchor is an offset from the middle of the shapes' bounds
|
|
48
51
|
- `crates/render/src/shapes.rs` (`GradientRamp::new` / `t`: a radial gradient's focal point and t measured along the ray from it to the circle, the same as SVG `fx` / `fy`) → `vectorGradientFocalParam` in `packages/core/src/vector/gradient.ts`, generalised to SVG's focal circle (`fr`); test cases re-expressed → `packages/core/tests/vector-gradient.test.ts`
|
|
52
|
+
- `crates/ui-egui/src/panels/graph.rs` and `graph_tools.rs` (value range frozen while a key is dragged, Shift locks to the axis moved most, `snap_px` nearest candidate within a few screen pixels) → `startChartPointDrag` and `snapChartDragValue` in `packages/core/src/chart/interaction.ts`
|
|
49
53
|
|
|
50
54
|
## figcraft
|
|
51
55
|
|
|
@@ -89,6 +93,9 @@ reproduced at the end of this file. Paths are relative to each source repository
|
|
|
89
93
|
- `crates/project/src/keyframe.rs` (`Keyframe`, `Param::value_at` segment evaluation and hold, `set_at` inheriting the previous interpolation, `remove_keyframe_at` keeping the last value, `toggle_animation` keeping the value at a time, temporal influence easing, `cubic_bezier_y_for_x` Newton + bisection solver) → `packages/core/src/canvas/animation/{easing,model,evaluate,edit}.ts`
|
|
90
94
|
- `crates/engine/src/keyframe_move.rs` (`move_many`: one common delta across lanes clamped to the movement range, remove-all-originals-then-insert, validation without partial edits, at most 4096 keys) → `moveKeyframes` / `scaleKeyframes` in `packages/core/src/canvas/animation/edit.ts`, keyframe drags in `packages/core/src/canvas/animation/controller.ts`
|
|
91
95
|
- `crates/project/src/keyframe.rs` tests, `crates/engine/src/keyframe_move.rs` tests and `crates/ui-egui/tests/keyframes_ui.rs` (group move and undo as one step, snapping within a screen-space threshold, Escape cancelling a drag preview; test cases re-expressed) → `packages/core/tests/canvas-animation.test.ts`, `packages/react/tests/canvas-animation.test.tsx`, `packages/svelte/tests/canvas/canvas-animation.test.ts`
|
|
96
|
+
- `crates/ui-egui/src/panels/timeline.rs` (`ruler_steps`: the first step on a ladder that keeps labels apart) → `chartDateLabels` in `packages/core/src/chart/date.ts`, with calendar units
|
|
97
|
+
- `crates/scopes/src/summary.rs` (numeric summaries for agents that check visuals without looking) → `summarizeChart` in `packages/core/src/chart/summary.ts`
|
|
98
|
+
- `crates/golden` (committed reference renders with a regenerate mode) → `packages/core/tests/chart-golden.test.ts`
|
|
92
99
|
|
|
93
100
|
## gridcraft
|
|
94
101
|
|
|
@@ -113,6 +120,13 @@ reproduced at the end of this file. Paths are relative to each source repository
|
|
|
113
120
|
`TEXT()` result) come from Apache POI's `test-data/spreadsheet/NumberFormatApproxTests.xlsx`, as collected in
|
|
114
121
|
GridCraft. Apache POI is © The Apache Software Foundation, licensed under the Apache License, Version 2.0
|
|
115
122
|
(https://www.apache.org/licenses/LICENSE-2.0).
|
|
123
|
+
- `crates/chart/src/trend.rs` (least-squares trendlines on transformed data, polynomial normal equations on centred / scaled x, Gaussian elimination, fixed intercept with uncentred R², equation text, moving average, legend names) → `packages/core/src/chart/trend.ts`; test cases re-expressed → `packages/core/tests/chart-features.test.ts`
|
|
124
|
+
- `crates/chart/src/render.rs` (`histogram` binning, `quantile` and `box_whisker`, `squarify` treemap, `waterfall`, `funnel`, `radar`, `decimate`, marker de-duplication, `clip_segment`, label colour by fill, legend height cap, `finalize`) → `packages/core/src/chart/stats.ts`, `layout-families.ts`, `layout-cartesian.ts` and `layout.ts`
|
|
125
|
+
- `crates/chart/src/resolve.rs` (palette tint cycle after the base colours) → `cyclePaletteColor` in `packages/core/src/chart/color.ts`
|
|
126
|
+
- `crates/chart/src/sparkline.rs` → `layoutSparkline` in `packages/core/src/chart/sparkline.ts`
|
|
127
|
+
- `crates/engine/src/cmd/insert.rs` (`series_from_range`, `scatter_x_from_first`, `recommend_charts`) → `packages/core/src/chart/recommend.ts`
|
|
128
|
+
- `crates/engine/src/cmd/extra.rs` (`chart.quickLayout`, `chart.changeColors`) → `packages/core/src/chart/presets.ts`
|
|
129
|
+
- `crates/xlsx/src/chartex.rs` (chartex parts for waterfall, funnel, treemap, histogram and box charts) → `chartFromOoxml` in `packages/core/src/chart/ooxml.ts`
|
|
116
130
|
|
|
117
131
|
## lightcraft
|
|
118
132
|
|
|
@@ -124,6 +138,8 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
124
138
|
- `crates/pipeline/src/local.rs` (relative white balance with neutral-luminance normalisation) → `packages/core/src/image-editor/color.ts`
|
|
125
139
|
- `crates/develop/src/settings.rs` and `docs/process-versions.md` (process version semantics) → `packages/core/src/image-editor/color.ts`
|
|
126
140
|
- `crates/develop/src/controls.rs` (`ControlSpec` table: id, label, section, range, default, step, decimals, track style; clamping) → `packages/core/src/image-editor/controls.ts`
|
|
141
|
+
- `crates/ui-egui/src/tests_curve.rs` (Alt moves a point a tenth as far) → `ChartDragMoveOptions.fine` in `packages/core/src/chart/interaction.ts`
|
|
142
|
+
- `crates/mcp/src/tools.rs` (`pointer_gesture` in normalized coordinates) → `drag_chart_point` in `packages/core/src/chart/tools.ts`
|
|
127
143
|
|
|
128
144
|
## pdfcraft
|
|
129
145
|
|
|
@@ -205,6 +221,9 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
205
221
|
- `crates/svg/src/import/spread.rs` (`expand`, `whole_period`, `mirror`: `reflect` and `repeat` emulated by repeating the stops over the periods the painted area needs, every other one mirrored for reflect, capped at 64) → `periodicVectorGradientStops` / `expandVectorGradientSpread` in `packages/core/src/vector/gradient.ts`, used where SVG has no spread mode for the style (reflected gradients that pad or repeat); import keeps `spreadMethod` as the gradient's `spread`; test cases re-expressed → `packages/core/tests/vector-gradient.test.ts`
|
|
206
222
|
- `crates/effects/src/stroke/gradient.rs` (gradients along and across a stroke: ribs through the flattened path on the bisectors of gentle turns, square ribs and a fill in the corner's colour at sharp ones, slices between ribs painted with the part of the gradient between them — along — or from the stroke's left edge to its right — across — clipped to the stroke) → `vectorStrokeGradientDefs` in `packages/core/src/vector/gradientStroke.ts`, written as a `<pattern>` of slices the stroke paints through (no clip); a sharp corner gets one patch instead of a fan of ribs
|
|
207
223
|
- `crates/tools/src/xform/gradient.rs` (the Gradient tool's annotator: a bar from the start to the end handle with stop chips below it and midpoint diamonds above, a radial's extent ellipse with its aspect handle and focal point; click the bar to add a stop, drag a stop along it or off it to delete it; Shift constrains the vector) → `packages/core/src/vector/gradientTool.ts` and the `gradient` tool in `packages/core/src/vector/controller.ts`
|
|
224
|
+
- `crates/mcp/src/tools.rs` (`command_batch`: `$N.path` result references, atomic batches with a label; `render_preview`) → `run_commands` in `packages/core/src/commands/agentTools.ts` and `render_chart` in `packages/core/src/chart/tools.ts`
|
|
225
|
+
- `crates/testkit/src/strategies.rs` and `invariants.rs` (random command sequences with junk values, invariants, undo-all / redo-all) → `packages/core/tests/chart-property.test.ts`
|
|
226
|
+
- `crates/svg/src/export.rs` (`<title>` and `<desc>` in exported SVG) → `chartSceneToSvg` in `packages/core/src/chart/svg.ts`
|
|
208
227
|
|
|
209
228
|
## wordcraft
|
|
210
229
|
|
|
@@ -230,6 +249,7 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
230
249
|
- `crates/docx/src/read/mod.rs` (`read_comments`: comments keyed by the `w14:paraId` of their last paragraph, `commentEx` parents and `done`) and `crates/docx/src/read/story.rs` (tracked insertions, deletions and named move ranges) → `packages/core/src/import/docx.ts`
|
|
231
250
|
- Test cases from `crates/docx/tests/privacy.rs` (`remove_personal_information_and_dates_on_save`: the two-commenter fixture, no names or initials in any part, "Author" / "A"), `crates/docx/tests/roundtrip.rs` and `crates/docx/tests/fixtures.rs` (comments, replies, tracked changes and moves surviving a save and reload), re-expressed → `packages/core/tests/docx-export.test.ts`
|
|
232
251
|
- `crates/engine/src/cmd/ink_shape.rs` (`recognise`, `ellipse_rms`, `snap_square`, `corners`, `turning`, `rdp`, `upright`, `MIN_SIZE`, `MAX_CORNERS`) → `recognizeInkShape` in `packages/core/src/vector/ink.ts`; its test cases re-expressed → `packages/core/tests/vector-path-edit.test.ts`
|
|
252
|
+
- `crates/docx/src/chart_spec.rs` (a chart is editable only when it regenerates without loss) → `ChartOoxmlReadResult.lossless` and the DOCX chart import in `packages/core/src/import/docx.ts`
|
|
233
253
|
|
|
234
254
|
## MIT License
|
|
235
255
|
|
package/dist/agent/index.cjs
CHANGED
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkXFYUFVAXcjs = require('../chunk-XFYUFVAX.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
var _chunkHXDMZQTDcjs = require('../chunk-HXDMZQTD.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunkRIWPYSKUcjs = require('../chunk-RIWPYSKU.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
@@ -50,11 +50,12 @@ var _chunkJ3R2OWOEcjs = require('../chunk-J3R2OWOE.cjs');
|
|
|
50
50
|
var _chunk66IMF6ODcjs = require('../chunk-66IMF6OD.cjs');
|
|
51
51
|
require('../chunk-BVP3TSLH.cjs');
|
|
52
52
|
require('../chunk-IFHKKVXH.cjs');
|
|
53
|
+
require('../chunk-SQC26VQV.cjs');
|
|
53
54
|
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
|
|
57
|
-
var
|
|
58
|
+
var _chunkLYGEEDNRcjs = require('../chunk-LYGEEDNR.cjs');
|
|
58
59
|
|
|
59
60
|
|
|
60
61
|
|
|
@@ -739,12 +740,12 @@ var CELL_REF_REGEX = /^\$?([A-Za-z]{1,3})\$?(\d{1,7})$/;
|
|
|
739
740
|
function parseCell(ref) {
|
|
740
741
|
const match = CELL_REF_REGEX.exec(ref.trim());
|
|
741
742
|
if (!match) throw new Error(`Invalid cell reference "${ref}". Use A1 notation, e.g. "B3".`);
|
|
742
|
-
return { col:
|
|
743
|
+
return { col: _chunkLYGEEDNRcjs.colNameToIndex.call(void 0, match[1].toUpperCase()), row: parseInt(match[2], 10) - 1 };
|
|
743
744
|
}
|
|
744
745
|
var COLUMN_REGEX = /^[A-Za-z]{1,3}$/;
|
|
745
746
|
function parseColumn(name) {
|
|
746
747
|
if (!COLUMN_REGEX.test(name.trim())) throw new Error(`Invalid column "${name}". Use a letter name, e.g. "C".`);
|
|
747
|
-
return
|
|
748
|
+
return _chunkLYGEEDNRcjs.colNameToIndex.call(void 0, name.trim().toUpperCase());
|
|
748
749
|
}
|
|
749
750
|
var CELL_INPUT = { type: ["string", "number", "boolean", "null"] };
|
|
750
751
|
function createSpreadsheetToolProvider(controller, options) {
|
|
@@ -793,14 +794,14 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
793
794
|
const cell = controller.getCell(found.rowDef.id, found.colDef.id);
|
|
794
795
|
valueRow.push(_nullishCoalesce(cell.error, () => ( cell.value)));
|
|
795
796
|
rawRow.push(cell.raw);
|
|
796
|
-
const error = _nullishCoalesce(cell.error, () => ( (
|
|
797
|
-
if (error) errors.push({ cell: `${
|
|
797
|
+
const error = _nullishCoalesce(cell.error, () => ( (_chunkLYGEEDNRcjs.isFormulaError.call(void 0, cell.value) ? cell.value : void 0)));
|
|
798
|
+
if (error) errors.push({ cell: `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, c)}${r + 1}`, error });
|
|
798
799
|
}
|
|
799
800
|
values.push(valueRow);
|
|
800
801
|
raw.push(rawRow);
|
|
801
802
|
}
|
|
802
803
|
return {
|
|
803
|
-
range: values.length && values[0].length ? `${
|
|
804
|
+
range: values.length && values[0].length ? `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, c0)}${r0 + 1}:${_chunkLYGEEDNRcjs.indexToColName.call(void 0, c1)}${r1 + 1}` : null,
|
|
804
805
|
values,
|
|
805
806
|
raw,
|
|
806
807
|
errors,
|
|
@@ -879,7 +880,7 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
879
880
|
const readOnly = [];
|
|
880
881
|
rows.forEach(
|
|
881
882
|
(line, r) => line.forEach((_, c) => {
|
|
882
|
-
if (isReadOnly(row + r, col + c)) readOnly.push(`${
|
|
883
|
+
if (isReadOnly(row + r, col + c)) readOnly.push(`${_chunkLYGEEDNRcjs.indexToColName.call(void 0, col + c)}${row + r + 1}`);
|
|
883
884
|
})
|
|
884
885
|
);
|
|
885
886
|
if (readOnly.length) throw new Error(`Read-only cells: ${readOnly.slice(0, 20).join(", ")}. Nothing was written.`);
|
|
@@ -888,19 +889,19 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
888
889
|
{ startRow: row, startCol: col }
|
|
889
890
|
);
|
|
890
891
|
const width = Math.max(0, ...rows.map((line) => line.length));
|
|
891
|
-
const end = `${
|
|
892
|
+
const end = `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, col + Math.max(width, 1) - 1)}${row + rows.length}`;
|
|
892
893
|
const errors = [];
|
|
893
894
|
rows.forEach(
|
|
894
895
|
(line, r) => line.forEach((_, c) => {
|
|
895
896
|
const found = lookup(row + r, col + c);
|
|
896
897
|
if (!found) return;
|
|
897
898
|
const cell = controller.getCell(found.rowDef.id, found.colDef.id);
|
|
898
|
-
const error = _nullishCoalesce(cell.error, () => ( (
|
|
899
|
-
if (error) errors.push({ cell: `${
|
|
899
|
+
const error = _nullishCoalesce(cell.error, () => ( (_chunkLYGEEDNRcjs.isFormulaError.call(void 0, cell.value) ? cell.value : void 0)));
|
|
900
|
+
if (error) errors.push({ cell: `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, col + c)}${row + r + 1}`, error: String(error) });
|
|
900
901
|
})
|
|
901
902
|
);
|
|
902
903
|
return {
|
|
903
|
-
range: `${
|
|
904
|
+
range: `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, col)}${row + 1}:${end}`,
|
|
904
905
|
written: rows.reduce((n, line) => n + line.length, 0),
|
|
905
906
|
errors,
|
|
906
907
|
sheet: { rows: controller.document.rows.length, columns: controller.document.columns.length }
|
|
@@ -956,7 +957,7 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
956
957
|
const index = parseColumn(before);
|
|
957
958
|
if (index > controller.document.columns.length) throw new Error(`Column ${before} is past the end of the sheet (${controller.document.columns.length} columns).`);
|
|
958
959
|
for (let i = 0; i < count; i++) controller.insertColumn(index);
|
|
959
|
-
return { inserted: count, columns: `${
|
|
960
|
+
return { inserted: count, columns: `${_chunkLYGEEDNRcjs.indexToColName.call(void 0, index)}:${_chunkLYGEEDNRcjs.indexToColName.call(void 0, index + count - 1)}`, sheet: sheetSize() };
|
|
960
961
|
}
|
|
961
962
|
);
|
|
962
963
|
const deleteColumns = structural(
|
|
@@ -981,7 +982,7 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
981
982
|
};
|
|
982
983
|
}
|
|
983
984
|
function missingArgumentsMessage(name, args) {
|
|
984
|
-
const required =
|
|
985
|
+
const required = _chunkXFYUFVAXcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS[name][args.operation];
|
|
985
986
|
if (!required) return `Unknown operation "${args.operation}".`;
|
|
986
987
|
const missing = required.filter(
|
|
987
988
|
(key) => key === "id" ? args.id === void 0 && _optionalChain([args, 'access', _16 => _16.node, 'optionalAccess', _17 => _17.id]) === void 0 : args[key] === void 0
|
|
@@ -1018,10 +1019,10 @@ function createEditorMcpToolProvider(options) {
|
|
|
1018
1019
|
};
|
|
1019
1020
|
const canvas = _nullishCoalesce(_optionalChain([options, 'access', _18 => _18.surfaces, 'optionalAccess', _19 => _19.canvas]), () => ( true));
|
|
1020
1021
|
const prompt = _nullishCoalesce(_optionalChain([options, 'access', _20 => _20.surfaces, 'optionalAccess', _21 => _21.prompt]), () => ( true));
|
|
1021
|
-
const editTools = options.toolStyle === "combined" ? [...canvas ? [
|
|
1022
|
+
const editTools = options.toolStyle === "combined" ? [...canvas ? [_chunkXFYUFVAXcjs.MCP_TOOL_EDIT_CANVAS] : [], ...prompt ? [_chunkXFYUFVAXcjs.MCP_TOOL_EDIT_PROMPT] : []] : [...canvas ? _chunkXFYUFVAXcjs.EDITOR_CANVAS_TOOLS : [], ...prompt ? _chunkXFYUFVAXcjs.EDITOR_PROMPT_TOOLS : []];
|
|
1022
1023
|
const tools = [
|
|
1023
1024
|
{
|
|
1024
|
-
...
|
|
1025
|
+
..._chunkXFYUFVAXcjs.MCP_TOOL_GET_EDITOR_STATE,
|
|
1025
1026
|
handler: ({ includeDocument = true, includeCanvas = true }) => {
|
|
1026
1027
|
const snapshot = options.getSnapshot();
|
|
1027
1028
|
return {
|
|
@@ -1035,7 +1036,7 @@ function createEditorMcpToolProvider(options) {
|
|
|
1035
1036
|
if (options.captureView) {
|
|
1036
1037
|
const capture = options.captureView;
|
|
1037
1038
|
tools.push({
|
|
1038
|
-
...
|
|
1039
|
+
..._chunkXFYUFVAXcjs.MCP_TOOL_VIEW_EDITOR,
|
|
1039
1040
|
handler: async (args) => {
|
|
1040
1041
|
const image = await capture(args);
|
|
1041
1042
|
return { content: [{ type: "image", data: image.data, mimeType: image.mimeType }] };
|
|
@@ -1279,5 +1280,5 @@ function createCanvasComponentToolProvider(controller, options = { id: "canvas-c
|
|
|
1279
1280
|
|
|
1280
1281
|
|
|
1281
1282
|
|
|
1282
|
-
exports.EDITOR_CANVAS_TOOLS =
|
|
1283
|
+
exports.EDITOR_CANVAS_TOOLS = _chunkXFYUFVAXcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkXFYUFVAXcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkXFYUFVAXcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkXFYUFVAXcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkXFYUFVAXcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkXFYUFVAXcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkXFYUFVAXcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkXFYUFVAXcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkXFYUFVAXcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkXFYUFVAXcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkXFYUFVAXcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkXFYUFVAXcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkXFYUFVAXcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkXFYUFVAXcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkXFYUFVAXcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkXFYUFVAXcjs.MCP_TOOL_VIEW_EDITOR; exports.TOOL_NAMESPACE_SEPARATOR = _chunkXFYUFVAXcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkXFYUFVAXcjs.ToolRegistry; exports.ToolRegistryError = _chunkXFYUFVAXcjs.ToolRegistryError; exports.createCanvasComponentToolProvider = createCanvasComponentToolProvider; exports.createEditorMcpToolProvider = createEditorMcpToolProvider; exports.createMcpServer = _chunkXFYUFVAXcjs.createMcpServer; exports.createRichTextToolProvider = createRichTextToolProvider; exports.createSpreadsheetToolProvider = createSpreadsheetToolProvider; exports.createToolRegistry = _chunkXFYUFVAXcjs.createToolRegistry; exports.normalizeSide = normalizeSide; exports.planAgentCommand = planAgentCommand; exports.planToolCall = planToolCall; exports.toToolResult = _chunkXFYUFVAXcjs.toToolResult; exports.toolCallToAgentCommand = toolCallToAgentCommand; exports.validateAgentCommand = validateAgentCommand; exports.validateJsonSchema = _chunkRIWPYSKUcjs.validateJsonSchema;
|
|
1283
1284
|
//# sourceMappingURL=index.cjs.map
|