@pixerate/editor 0.150.1 → 0.152.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.
Files changed (78) hide show
  1. package/dist/agent/index.cjs +34 -34
  2. package/dist/agent/index.js +8 -8
  3. package/dist/animation-editor/editorDocument.d.cts +9 -0
  4. package/dist/animation-editor/editorDocument.d.ts +9 -0
  5. package/dist/animation-editor/index.cjs +33 -1
  6. package/dist/animation-editor/index.d.cts +1 -0
  7. package/dist/animation-editor/index.d.ts +1 -0
  8. package/dist/animation-editor/index.js +32 -0
  9. package/dist/bridge/cli.cjs +4 -4
  10. package/dist/bridge/cli.js +3 -3
  11. package/dist/bridge/index.cjs +4 -4
  12. package/dist/bridge/index.js +3 -3
  13. package/dist/chart/controller.d.cts +5 -0
  14. package/dist/chart/controller.d.ts +5 -0
  15. package/dist/chart/editorDocument.d.cts +10 -0
  16. package/dist/chart/editorDocument.d.ts +10 -0
  17. package/dist/chart/index.cjs +54 -18
  18. package/dist/chart/index.d.cts +1 -0
  19. package/dist/chart/index.d.ts +1 -0
  20. package/dist/chart/index.js +37 -1
  21. package/dist/{chunk-ENIZYNEF.cjs → chunk-24M7VD6M.cjs} +7 -7
  22. package/dist/{chunk-OET45HIR.js → chunk-4RF2H3N3.js} +10 -0
  23. package/dist/{chunk-KC7HB5GF.cjs → chunk-5H2C3QSF.cjs} +4 -3
  24. package/dist/{chunk-HRLT5BYO.js → chunk-GNV54DLO.js} +2 -1
  25. package/dist/{chunk-EAQ4BGNS.js → chunk-MKTDELCD.js} +1 -1
  26. package/dist/{chunk-X35BV5YT.cjs → chunk-ML2II3Y3.cjs} +10 -0
  27. package/dist/{chunk-DVLMW3GB.cjs → chunk-R3PECGTQ.cjs} +44 -44
  28. package/dist/{chunk-2AQL4JHM.js → chunk-R6HNWN7B.js} +1 -1
  29. package/dist/{chunk-6QTON3VW.cjs → chunk-RZJCYJWO.cjs} +8 -8
  30. package/dist/{chunk-O5ML2I6O.js → chunk-SVINJIGK.js} +1 -1
  31. package/dist/diagram/index.cjs +6 -6
  32. package/dist/diagram/index.js +5 -5
  33. package/dist/export/index.cjs +1 -1
  34. package/dist/export/index.js +1 -1
  35. package/dist/extensions/index.cjs +5 -5
  36. package/dist/extensions/index.js +4 -4
  37. package/dist/image-editor/index.cjs +4 -4
  38. package/dist/image-editor/index.js +4 -4
  39. package/dist/index.cjs +14 -14
  40. package/dist/index.js +8 -8
  41. package/dist/paint-editor/controller.d.cts +8 -2
  42. package/dist/paint-editor/controller.d.ts +8 -2
  43. package/dist/paint-editor/index.cjs +8 -4
  44. package/dist/paint-editor/index.js +8 -4
  45. package/dist/parameters/controller.d.cts +6 -0
  46. package/dist/parameters/controller.d.ts +6 -0
  47. package/dist/parameters/editorDocument.d.cts +9 -0
  48. package/dist/parameters/editorDocument.d.ts +9 -0
  49. package/dist/parameters/index.cjs +71 -1
  50. package/dist/parameters/index.d.cts +1 -0
  51. package/dist/parameters/index.d.ts +1 -0
  52. package/dist/parameters/index.js +70 -0
  53. package/dist/persistence/editorDocument.d.cts +6 -3
  54. package/dist/persistence/editorDocument.d.ts +6 -3
  55. package/dist/persistence/index.cjs +7 -7
  56. package/dist/persistence/index.js +1 -1
  57. package/dist/tools/index.cjs +5 -5
  58. package/dist/tools/index.js +6 -6
  59. package/dist/vector/editorDocument.d.cts +9 -0
  60. package/dist/vector/editorDocument.d.ts +9 -0
  61. package/dist/vector/index.cjs +45 -1
  62. package/dist/vector/index.d.cts +1 -0
  63. package/dist/vector/index.d.ts +1 -0
  64. package/dist/vector/index.js +44 -0
  65. package/dist/video-editor/editorDocument.d.cts +9 -0
  66. package/dist/video-editor/editorDocument.d.ts +9 -0
  67. package/dist/video-editor/index.cjs +33 -1
  68. package/dist/video-editor/index.d.cts +1 -0
  69. package/dist/video-editor/index.d.ts +1 -0
  70. package/dist/video-editor/index.js +32 -0
  71. package/package.json +1 -1
  72. package/skills/pixerate-animation-editor/SKILL.md +12 -0
  73. package/skills/pixerate-chart/SKILL.md +12 -0
  74. package/skills/pixerate-parameters/SKILL.md +12 -0
  75. package/skills/pixerate-vector/SKILL.md +14 -0
  76. package/skills/pixerate-video-editor/SKILL.md +12 -0
  77. package/dist/{chunk-Y4BWZB6J.cjs → chunk-462WGGXX.cjs} +2 -2
  78. package/dist/{chunk-RFBFTLVN.js → chunk-EVXQNQND.js} +3 -3
@@ -37,7 +37,7 @@ var _chunk2WDZI6QDcjs = require('../chunk-2WDZI6QD.cjs');
37
37
 
38
38
 
39
39
 
40
- var _chunkX35BV5YTcjs = require('../chunk-X35BV5YT.cjs');
40
+ var _chunkML2II3Y3cjs = require('../chunk-ML2II3Y3.cjs');
41
41
 
42
42
 
43
43
 
@@ -152,7 +152,12 @@ var _chunkN3KJFGXTcjs = require('../chunk-N3KJFGXT.cjs');
152
152
  var _chunkSWTUM32Hcjs = require('../chunk-SWTUM32H.cjs');
153
153
 
154
154
 
155
+ var _chunk5H2C3QSFcjs = require('../chunk-5H2C3QSF.cjs');
156
+ require('../chunk-L5OWG2NA.cjs');
157
+
158
+
155
159
  var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
160
+ require('../chunk-2BSBFBOA.cjs');
156
161
  require('../chunk-FJ2MSI43.cjs');
157
162
  require('../chunk-UKCJ43YL.cjs');
158
163
  require('../chunk-IPJ3TEYR.cjs');
@@ -265,7 +270,7 @@ function chartFileName(spec, extension) {
265
270
  }
266
271
  async function downloadChartPng(spec, options = {}) {
267
272
  const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
268
- const svg = _chunkX35BV5YTcjs.chartToSvg.call(void 0, spec, { width, height, theme });
273
+ const svg = _chunkML2II3Y3cjs.chartToSvg.call(void 0, spec, { width, height, theme });
269
274
  const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
270
275
  const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
271
276
  const link = doc.createElement("a");
@@ -433,7 +438,7 @@ function createChartCommands(controller, options = {}) {
433
438
  params: object({ width: _chunkTLMRGLQQcjs.WIDTH, height: _chunkTLMRGLQQcjs.HEIGHT }),
434
439
  run: (_ctx, params = {}) => {
435
440
  const spec = controller.getSpec();
436
- return { spec: controller.toJSON(), table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, spec), summary: _chunkX35BV5YTcjs.summarizeChart.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _25 => _25.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _26 => _26.height]), () => ( 400)) }), issues: controller.getState().issues };
441
+ return { spec: controller.toJSON(), table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, spec), summary: _chunkML2II3Y3cjs.summarizeChart.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _25 => _25.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _26 => _26.height]), () => ( 400)) }), issues: controller.getState().issues };
437
442
  }
438
443
  },
439
444
  {
@@ -571,8 +576,8 @@ function createChartCommands(controller, options = {}) {
571
576
  keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
572
577
  description: "Applies a quick layout and / or colour scheme as one undo step.",
573
578
  params: object({
574
- layout: { type: "string", enum: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
575
- colors: { type: "string", enum: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
579
+ layout: { type: "string", enum: _chunkML2II3Y3cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
580
+ colors: { type: "string", enum: _chunkML2II3Y3cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
576
581
  }),
577
582
  run: (_ctx, params = {}) => {
578
583
  check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
@@ -618,7 +623,7 @@ function createChartCommands(controller, options = {}) {
618
623
  description: "Replaces the chart with Mermaid xychart-beta, pie or radar-beta text (one undo step). Unreadable lines are listed with line numbers.",
619
624
  params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
620
625
  run: (_ctx, params) => {
621
- const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, params.mermaid);
626
+ const read = _chunkML2II3Y3cjs.chartFromMermaid.call(void 0, params.mermaid);
622
627
  if (!read.family) fail(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie or radar-beta.");
623
628
  check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
624
629
  return { spec: controller.toJSON(), issues: read.issues };
@@ -632,7 +637,7 @@ function createChartCommands(controller, options = {}) {
632
637
  keywords: ["chart", "mermaid", "markdown", "export"],
633
638
  description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
634
639
  params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
635
- run: (_ctx, params = {}) => ({ mermaid: _chunkX35BV5YTcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _32 => _32.meta]) }) })
640
+ run: (_ctx, params = {}) => ({ mermaid: _chunkML2II3Y3cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _32 => _32.meta]) }) })
636
641
  },
637
642
  {
638
643
  ...base,
@@ -652,7 +657,7 @@ function createChartCommands(controller, options = {}) {
652
657
  description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
653
658
  params: object({ width: _chunkTLMRGLQQcjs.WIDTH, height: _chunkTLMRGLQQcjs.HEIGHT }),
654
659
  run: (_ctx, params = {}) => ({
655
- svg: _chunkX35BV5YTcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _33 => _33.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _34 => _34.height]), () => ( 400)) })
660
+ svg: _chunkML2II3Y3cjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _33 => _33.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _34 => _34.height]), () => ( 400)) })
656
661
  })
657
662
  },
658
663
  {
@@ -1210,7 +1215,7 @@ function createChartToolProvider(controller, options = {}) {
1210
1215
  spec: controller.toJSON(),
1211
1216
  table: table(),
1212
1217
  selection: controller.getState().selection,
1213
- summary: _chunkX35BV5YTcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1218
+ summary: _chunkML2II3Y3cjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1214
1219
  issues: controller.getState().issues,
1215
1220
  ...reason ? { readOnly: reason } : {}
1216
1221
  };
@@ -1233,7 +1238,7 @@ function createChartToolProvider(controller, options = {}) {
1233
1238
  handler: async ({ width = size.width, height = size.height, format = "svg" }) => {
1234
1239
  const json = controller.toJSON();
1235
1240
  const scene = _chunkXTU6QO2Wcjs.layoutChart.call(void 0, json, { width, height, selection: null });
1236
- const svg = _chunkX35BV5YTcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkX35BV5YTcjs.describeChart.call(void 0, json) });
1241
+ const svg = _chunkML2II3Y3cjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkML2II3Y3cjs.describeChart.call(void 0, json) });
1237
1242
  const warnings = scene.warnings;
1238
1243
  if (format === "png") {
1239
1244
  if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
@@ -1312,8 +1317,8 @@ function createChartToolProvider(controller, options = {}) {
1312
1317
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
1313
1318
  annotations: { title: "List chart presets", ...READ },
1314
1319
  handler: () => ({
1315
- layouts: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1316
- colorSchemes: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1320
+ layouts: _chunkML2II3Y3cjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1321
+ colorSchemes: _chunkML2II3Y3cjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1317
1322
  })
1318
1323
  };
1319
1324
  const exportMermaid = {
@@ -1322,7 +1327,7 @@ function createChartToolProvider(controller, options = {}) {
1322
1327
  description: 'Returns the chart as Mermaid text (xychart-beta, pie or radar-beta) for Markdown or chat. With meta (default true) one "%% @pixerate {\u2026}" comment keeps what Mermaid cannot express, so import_chart_mermaid gets the chart back exactly.',
1323
1328
  inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
1324
1329
  annotations: { title: "Export chart as Mermaid", ...READ },
1325
- handler: ({ meta = true }) => ({ mermaid: _chunkX35BV5YTcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1330
+ handler: ({ meta = true }) => ({ mermaid: _chunkML2II3Y3cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1326
1331
  };
1327
1332
  const exportOoxml = {
1328
1333
  name: "export_chart_ooxml",
@@ -1511,7 +1516,7 @@ function createChartToolProvider(controller, options = {}) {
1511
1516
  annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
1512
1517
  handler: ({ mermaid }) => {
1513
1518
  const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
1514
- const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
1519
+ const read = _chunkML2II3Y3cjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
1515
1520
  if (!read.family) fail2(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie or radar-beta.");
1516
1521
  resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
1517
1522
  return { spec: controller.toJSON(), issues: read.issues };
@@ -1566,8 +1571,8 @@ function createChartToolProvider(controller, options = {}) {
1566
1571
  inputSchema: {
1567
1572
  type: "object",
1568
1573
  properties: {
1569
- layout: { type: "string", enum: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
1570
- colors: { type: "string", enum: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
1574
+ layout: { type: "string", enum: _chunkML2II3Y3cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
1575
+ colors: { type: "string", enum: _chunkML2II3Y3cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
1571
1576
  },
1572
1577
  additionalProperties: false
1573
1578
  },
@@ -1809,7 +1814,7 @@ var ChartStream = (_class = class {
1809
1814
  issues = complete ? read.issues : [];
1810
1815
  }
1811
1816
  } else {
1812
- const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
1817
+ const read = _chunkML2II3Y3cjs.chartFromMermaid.call(void 0, text, { partial: !complete });
1813
1818
  if (read.family) {
1814
1819
  spec = read.spec;
1815
1820
  issues = complete ? read.issues : [];
@@ -2184,6 +2189,37 @@ function createOfficeChartToolProvider(options = {}) {
2184
2189
  };
2185
2190
  }
2186
2191
 
2192
+ // src/chart/editorDocument.ts
2193
+ function createChartEditorDocument(controller) {
2194
+ return _chunk5H2C3QSFcjs.defineEditorDocument.call(void 0, {
2195
+ kind: "chart",
2196
+ get: () => controller.toJSON(),
2197
+ load: (document, { history }) => {
2198
+ if (history === "record") {
2199
+ const result = controller.replace(document);
2200
+ if (!result.ok) throw new Error(result.message);
2201
+ return;
2202
+ }
2203
+ const issues = controller.load(document, { clearHistory: true });
2204
+ return { problems: issues.map((i) => ({ section: i.path || "chart", message: i.message })) };
2205
+ },
2206
+ subscribe: (listener) => {
2207
+ let spec = controller.getSpec();
2208
+ return controller.subscribe(() => {
2209
+ if (controller.getSpec() === spec) return;
2210
+ spec = controller.getSpec();
2211
+ listener();
2212
+ });
2213
+ },
2214
+ history: {
2215
+ undo: () => controller.undo(),
2216
+ redo: () => controller.redo(),
2217
+ getState: () => controller.history.getState()
2218
+ }
2219
+ });
2220
+ }
2221
+
2222
+
2187
2223
 
2188
2224
 
2189
2225
 
@@ -2349,4 +2385,4 @@ function createOfficeChartToolProvider(options = {}) {
2349
2385
 
2350
2386
 
2351
2387
 
2352
- exports.CHART_AXIS_KINDS = _chunkI4AHLP7Fcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkI4AHLP7Fcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkI4AHLP7Fcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkXTU6QO2Wcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LEGEND_POSITIONS; exports.CHART_MARKERS = _chunkI4AHLP7Fcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkX35BV5YTcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkI4AHLP7Fcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunk2WDZI6QDcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunk2WDZI6QDcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunk2WDZI6QDcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkI4AHLP7Fcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkI4AHLP7Fcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_SERIES_TYPES = _chunkI4AHLP7Fcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkI4AHLP7Fcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkI4AHLP7Fcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkI4AHLP7Fcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkI4AHLP7Fcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkI4AHLP7Fcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkX35BV5YTcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkI4AHLP7Fcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkI4AHLP7Fcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkXTU6QO2Wcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkXTU6QO2Wcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_MARKERS = _chunkXTU6QO2Wcjs.MAX_CHART_MARKERS; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkXTU6QO2Wcjs.chartBoxStats; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkI4AHLP7Fcjs.chartColorDistance; exports.chartColorInputValue = _chunkI4AHLP7Fcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkI4AHLP7Fcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkI4AHLP7Fcjs.chartContrastRatio; exports.chartDataFromTable = _chunkI4AHLP7Fcjs.chartDataFromTable; exports.chartDataToTable = _chunkI4AHLP7Fcjs.chartDataToTable; exports.chartDateLabels = _chunkXTU6QO2Wcjs.chartDateLabels; exports.chartDateToSerial = _chunkXTU6QO2Wcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkI4AHLP7Fcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkI4AHLP7Fcjs.chartErrorBarsOfType; exports.chartFamily = _chunkI4AHLP7Fcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunk2WDZI6QDcjs.chartFormatToCode; exports.chartFromMermaid = _chunkX35BV5YTcjs.chartFromMermaid; exports.chartFromOoxml = _chunk2WDZI6QDcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkXTU6QO2Wcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLuminance = _chunkI4AHLP7Fcjs.chartLuminance; exports.chartMermaidFamily = _chunkX35BV5YTcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkXTU6QO2Wcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkI4AHLP7Fcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkX35BV5YTcjs.chartPresetPatch; exports.chartQuantile = _chunkXTU6QO2Wcjs.chartQuantile; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkI4AHLP7Fcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkI4AHLP7Fcjs.chartRgbToOklab; exports.chartScaleFromPixel = _chunkXTU6QO2Wcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkXTU6QO2Wcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkX35BV5YTcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkX35BV5YTcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkXTU6QO2Wcjs.chartSerialToDate; exports.chartSeriesColor = _chunkI4AHLP7Fcjs.chartSeriesColor; exports.chartSeriesType = _chunkI4AHLP7Fcjs.chartSeriesType; exports.chartSliceColor = _chunkI4AHLP7Fcjs.chartSliceColor; exports.chartSquarify = _chunkXTU6QO2Wcjs.chartSquarify; exports.chartSupportsTrendlines = _chunkXTU6QO2Wcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkX35BV5YTcjs.chartTextBaseline; exports.chartTextOn = _chunkI4AHLP7Fcjs.chartTextOn; exports.chartTextTransform = _chunkX35BV5YTcjs.chartTextTransform; exports.chartToMermaid = _chunkX35BV5YTcjs.chartToMermaid; exports.chartToOoxml = _chunk2WDZI6QDcjs.chartToOoxml; exports.chartToSvg = _chunkX35BV5YTcjs.chartToSvg; exports.chartTrendlineName = _chunkXTU6QO2Wcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkXTU6QO2Wcjs.chartValueAtPoint; exports.chartXAtPoint = _chunkXTU6QO2Wcjs.chartXAtPoint; exports.checkChartColors = _chunkI4AHLP7Fcjs.checkChartColors; exports.cloneChartSeries = _chunkI4AHLP7Fcjs.cloneChartSeries; exports.cloneChartSpec = _chunkI4AHLP7Fcjs.cloneChartSpec; exports.compileChartFormatCode = _chunkXTU6QO2Wcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkXTU6QO2Wcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkX35BV5YTcjs.createChartController; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkI4AHLP7Fcjs.createChartSpec; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkI4AHLP7Fcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkXTU6QO2Wcjs.decimateChartPoints; exports.defaultChartAxis = _chunkI4AHLP7Fcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkI4AHLP7Fcjs.defaultChartErrorBarValue; exports.describeChart = _chunkX35BV5YTcjs.describeChart; exports.describeChartErrorBars = _chunkI4AHLP7Fcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkXTU6QO2Wcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findMermaidCharts = _chunkX35BV5YTcjs.findMermaidCharts; exports.fitChartTrendline = _chunkXTU6QO2Wcjs.fitChartTrendline; exports.formatChartAmountList = _chunkI4AHLP7Fcjs.formatChartAmountList; exports.formatChartDate = _chunkXTU6QO2Wcjs.formatChartDate; exports.formatChartNumber = _chunkXTU6QO2Wcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkXTU6QO2Wcjs.formatChartValueWithCode; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkI4AHLP7Fcjs.isCartesianChart; exports.isXyChart = _chunkI4AHLP7Fcjs.isXyChart; exports.layoutChart = _chunkXTU6QO2Wcjs.layoutChart; exports.layoutSparkline = _chunkX35BV5YTcjs.layoutSparkline; exports.linearMap = _chunkXTU6QO2Wcjs.linearMap; exports.locateChartPoint = locateChartPoint; exports.monochromeChartPalette = _chunkX35BV5YTcjs.monochromeChartPalette; exports.niceLogScale = _chunkXTU6QO2Wcjs.niceLogScale; exports.niceScale = _chunkXTU6QO2Wcjs.niceScale; exports.niceStep = _chunkXTU6QO2Wcjs.niceStep; exports.normalizeChartAxis = _chunkI4AHLP7Fcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkI4AHLP7Fcjs.normalizeChartErrorBars; exports.normalizeChartSpec = _chunkI4AHLP7Fcjs.normalizeChartSpec; exports.normalizeChartTrendline = _chunkI4AHLP7Fcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkI4AHLP7Fcjs.normalizeChartValues; exports.parseChartAmountList = _chunkI4AHLP7Fcjs.parseChartAmountList; exports.parseChartColor = _chunkI4AHLP7Fcjs.parseChartColor; exports.parseChartDate = _chunkXTU6QO2Wcjs.parseChartDate; exports.parseChartValue = _chunkI4AHLP7Fcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkXTU6QO2Wcjs.sameChartSelection; exports.shadeChartColor = _chunkI4AHLP7Fcjs.shadeChartColor; exports.simulateChartVision = _chunkI4AHLP7Fcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkXTU6QO2Wcjs.snapChartValue; exports.sparklineToSvg = _chunkX35BV5YTcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkXTU6QO2Wcjs.stepDecimals; exports.summarizeChart = _chunkX35BV5YTcjs.summarizeChart; exports.summarizeChartSeries = _chunkXTU6QO2Wcjs.summarizeChartSeries; exports.trendNumberText = _chunkXTU6QO2Wcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkI4AHLP7Fcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
2388
+ exports.CHART_AXIS_KINDS = _chunkI4AHLP7Fcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkI4AHLP7Fcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkML2II3Y3cjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkI4AHLP7Fcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkXTU6QO2Wcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkML2II3Y3cjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LEGEND_POSITIONS; exports.CHART_MARKERS = _chunkI4AHLP7Fcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkML2II3Y3cjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkI4AHLP7Fcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunk2WDZI6QDcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunk2WDZI6QDcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunk2WDZI6QDcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkI4AHLP7Fcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkI4AHLP7Fcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_SERIES_TYPES = _chunkI4AHLP7Fcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkI4AHLP7Fcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkI4AHLP7Fcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkI4AHLP7Fcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkI4AHLP7Fcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkI4AHLP7Fcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkML2II3Y3cjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkI4AHLP7Fcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkI4AHLP7Fcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkXTU6QO2Wcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkXTU6QO2Wcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_MARKERS = _chunkXTU6QO2Wcjs.MAX_CHART_MARKERS; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkXTU6QO2Wcjs.chartBoxStats; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkI4AHLP7Fcjs.chartColorDistance; exports.chartColorInputValue = _chunkI4AHLP7Fcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkI4AHLP7Fcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkI4AHLP7Fcjs.chartContrastRatio; exports.chartDataFromTable = _chunkI4AHLP7Fcjs.chartDataFromTable; exports.chartDataToTable = _chunkI4AHLP7Fcjs.chartDataToTable; exports.chartDateLabels = _chunkXTU6QO2Wcjs.chartDateLabels; exports.chartDateToSerial = _chunkXTU6QO2Wcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkI4AHLP7Fcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkI4AHLP7Fcjs.chartErrorBarsOfType; exports.chartFamily = _chunkI4AHLP7Fcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunk2WDZI6QDcjs.chartFormatToCode; exports.chartFromMermaid = _chunkML2II3Y3cjs.chartFromMermaid; exports.chartFromOoxml = _chunk2WDZI6QDcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkXTU6QO2Wcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLuminance = _chunkI4AHLP7Fcjs.chartLuminance; exports.chartMermaidFamily = _chunkML2II3Y3cjs.chartMermaidFamily; exports.chartMovingAverage = _chunkXTU6QO2Wcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkI4AHLP7Fcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkML2II3Y3cjs.chartPresetPatch; exports.chartQuantile = _chunkXTU6QO2Wcjs.chartQuantile; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkI4AHLP7Fcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkI4AHLP7Fcjs.chartRgbToOklab; exports.chartScaleFromPixel = _chunkXTU6QO2Wcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkXTU6QO2Wcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkML2II3Y3cjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkML2II3Y3cjs.chartSceneToSvg; exports.chartSerialToDate = _chunkXTU6QO2Wcjs.chartSerialToDate; exports.chartSeriesColor = _chunkI4AHLP7Fcjs.chartSeriesColor; exports.chartSeriesType = _chunkI4AHLP7Fcjs.chartSeriesType; exports.chartSliceColor = _chunkI4AHLP7Fcjs.chartSliceColor; exports.chartSquarify = _chunkXTU6QO2Wcjs.chartSquarify; exports.chartSupportsTrendlines = _chunkXTU6QO2Wcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkML2II3Y3cjs.chartTextBaseline; exports.chartTextOn = _chunkI4AHLP7Fcjs.chartTextOn; exports.chartTextTransform = _chunkML2II3Y3cjs.chartTextTransform; exports.chartToMermaid = _chunkML2II3Y3cjs.chartToMermaid; exports.chartToOoxml = _chunk2WDZI6QDcjs.chartToOoxml; exports.chartToSvg = _chunkML2II3Y3cjs.chartToSvg; exports.chartTrendlineName = _chunkXTU6QO2Wcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkXTU6QO2Wcjs.chartValueAtPoint; exports.chartXAtPoint = _chunkXTU6QO2Wcjs.chartXAtPoint; exports.checkChartColors = _chunkI4AHLP7Fcjs.checkChartColors; exports.cloneChartSeries = _chunkI4AHLP7Fcjs.cloneChartSeries; exports.cloneChartSpec = _chunkI4AHLP7Fcjs.cloneChartSpec; exports.compileChartFormatCode = _chunkXTU6QO2Wcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkXTU6QO2Wcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkML2II3Y3cjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkI4AHLP7Fcjs.createChartSpec; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkI4AHLP7Fcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkXTU6QO2Wcjs.decimateChartPoints; exports.defaultChartAxis = _chunkI4AHLP7Fcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkI4AHLP7Fcjs.defaultChartErrorBarValue; exports.describeChart = _chunkML2II3Y3cjs.describeChart; exports.describeChartErrorBars = _chunkI4AHLP7Fcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkXTU6QO2Wcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findMermaidCharts = _chunkML2II3Y3cjs.findMermaidCharts; exports.fitChartTrendline = _chunkXTU6QO2Wcjs.fitChartTrendline; exports.formatChartAmountList = _chunkI4AHLP7Fcjs.formatChartAmountList; exports.formatChartDate = _chunkXTU6QO2Wcjs.formatChartDate; exports.formatChartNumber = _chunkXTU6QO2Wcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkXTU6QO2Wcjs.formatChartValueWithCode; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkI4AHLP7Fcjs.isCartesianChart; exports.isXyChart = _chunkI4AHLP7Fcjs.isXyChart; exports.layoutChart = _chunkXTU6QO2Wcjs.layoutChart; exports.layoutSparkline = _chunkML2II3Y3cjs.layoutSparkline; exports.linearMap = _chunkXTU6QO2Wcjs.linearMap; exports.locateChartPoint = locateChartPoint; exports.monochromeChartPalette = _chunkML2II3Y3cjs.monochromeChartPalette; exports.niceLogScale = _chunkXTU6QO2Wcjs.niceLogScale; exports.niceScale = _chunkXTU6QO2Wcjs.niceScale; exports.niceStep = _chunkXTU6QO2Wcjs.niceStep; exports.normalizeChartAxis = _chunkI4AHLP7Fcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkI4AHLP7Fcjs.normalizeChartErrorBars; exports.normalizeChartSpec = _chunkI4AHLP7Fcjs.normalizeChartSpec; exports.normalizeChartTrendline = _chunkI4AHLP7Fcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkI4AHLP7Fcjs.normalizeChartValues; exports.parseChartAmountList = _chunkI4AHLP7Fcjs.parseChartAmountList; exports.parseChartColor = _chunkI4AHLP7Fcjs.parseChartColor; exports.parseChartDate = _chunkXTU6QO2Wcjs.parseChartDate; exports.parseChartValue = _chunkI4AHLP7Fcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkXTU6QO2Wcjs.sameChartSelection; exports.shadeChartColor = _chunkI4AHLP7Fcjs.shadeChartColor; exports.simulateChartVision = _chunkI4AHLP7Fcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkXTU6QO2Wcjs.snapChartValue; exports.sparklineToSvg = _chunkML2II3Y3cjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkXTU6QO2Wcjs.stepDecimals; exports.summarizeChart = _chunkML2II3Y3cjs.summarizeChart; exports.summarizeChartSeries = _chunkXTU6QO2Wcjs.summarizeChartSeries; exports.trendNumberText = _chunkXTU6QO2Wcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkI4AHLP7Fcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
@@ -26,3 +26,4 @@ export * from './presence.cjs';
26
26
  export * from './office-files.cjs';
27
27
  export * from './file-tools.cjs';
28
28
  export * from './playback.cjs';
29
+ export * from './editorDocument.cjs';
@@ -26,3 +26,4 @@ export * from './presence.js';
26
26
  export * from './office-files.js';
27
27
  export * from './file-tools.js';
28
28
  export * from './playback.js';
29
+ export * from './editorDocument.js';
@@ -37,7 +37,7 @@ import {
37
37
  monochromeChartPalette,
38
38
  sparklineToSvg,
39
39
  summarizeChart
40
- } from "../chunk-OET45HIR.js";
40
+ } from "../chunk-4RF2H3N3.js";
41
41
  import {
42
42
  CHART_DATE_STEPS,
43
43
  MAX_CHART_DATA_LABELS,
@@ -150,9 +150,14 @@ import {
150
150
  realPresenceClock,
151
151
  tweenPresenceCursor
152
152
  } from "../chunk-O2ANJFUF.js";
153
+ import {
154
+ defineEditorDocument
155
+ } from "../chunk-GNV54DLO.js";
156
+ import "../chunk-WHKNYFM2.js";
153
157
  import {
154
158
  readZip
155
159
  } from "../chunk-CIQIM2IP.js";
160
+ import "../chunk-HF5QZS7Z.js";
156
161
  import "../chunk-RNSANXPT.js";
157
162
  import "../chunk-AA34BA7G.js";
158
163
  import "../chunk-6ONMQ6WF.js";
@@ -2183,6 +2188,36 @@ function createOfficeChartToolProvider(options = {}) {
2183
2188
  tools: () => [...options.files ? [listOpenFiles] : [], listCharts, getChart, ...options.controller && !readOnlyReason() ? [loadChart] : []]
2184
2189
  };
2185
2190
  }
2191
+
2192
+ // src/chart/editorDocument.ts
2193
+ function createChartEditorDocument(controller) {
2194
+ return defineEditorDocument({
2195
+ kind: "chart",
2196
+ get: () => controller.toJSON(),
2197
+ load: (document, { history }) => {
2198
+ if (history === "record") {
2199
+ const result = controller.replace(document);
2200
+ if (!result.ok) throw new Error(result.message);
2201
+ return;
2202
+ }
2203
+ const issues = controller.load(document, { clearHistory: true });
2204
+ return { problems: issues.map((i) => ({ section: i.path || "chart", message: i.message })) };
2205
+ },
2206
+ subscribe: (listener) => {
2207
+ let spec = controller.getSpec();
2208
+ return controller.subscribe(() => {
2209
+ if (controller.getSpec() === spec) return;
2210
+ spec = controller.getSpec();
2211
+ listener();
2212
+ });
2213
+ },
2214
+ history: {
2215
+ undo: () => controller.undo(),
2216
+ redo: () => controller.redo(),
2217
+ getState: () => controller.history.getState()
2218
+ }
2219
+ });
2220
+ }
2186
2221
  export {
2187
2222
  CHART_AXIS_KINDS,
2188
2223
  CHART_AXIS_SCALES,
@@ -2282,6 +2317,7 @@ export {
2282
2317
  contrastingTextColor,
2283
2318
  createChartCommands,
2284
2319
  createChartController,
2320
+ createChartEditorDocument,
2285
2321
  createChartRasterizer,
2286
2322
  createChartSpec,
2287
2323
  createChartToolProvider,
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkY4BWZB6Jcjs = require('./chunk-Y4BWZB6J.cjs');
6
+ var _chunk462WGGXXcjs = require('./chunk-462WGGXX.cjs');
7
7
 
8
8
  // src/bridge/index.ts
9
9
  var _http = require('http');
@@ -197,7 +197,7 @@ var SKILL_INSTRUCTIONS = "Each editor's tools are documented by an agent skill (
197
197
  async function createToolBridge(options) {
198
198
  const log = _nullishCoalesce(options.log, () => ( ((message) => process.stderr.write(`[${options.name}] ${message}
199
199
  `))));
200
- const port = _nullishCoalesce(options.port, () => ( _chunkY4BWZB6Jcjs.TOOL_BRIDGE_DEFAULT_PORT));
200
+ const port = _nullishCoalesce(options.port, () => ( _chunk462WGGXXcjs.TOOL_BRIDGE_DEFAULT_PORT));
201
201
  const retryMs = _nullishCoalesce(options.retryMs, () => ( 2e3));
202
202
  const timeoutMs = _nullishCoalesce(options.timeoutMs, () => ( 6e4));
203
203
  const extraOrigins = new Set(_nullishCoalesce(options.origins, () => ( [])));
@@ -211,7 +211,7 @@ async function createToolBridge(options) {
211
211
  let closed = false;
212
212
  let retry;
213
213
  const send = (editor, message) => editor.socket.send(JSON.stringify(message));
214
- const registry = new (0, _chunkY4BWZB6Jcjs.ToolRegistry)();
214
+ const registry = new (0, _chunk462WGGXXcjs.ToolRegistry)();
215
215
  const listeners = /* @__PURE__ */ new Set();
216
216
  const toolsChanged = () => listeners.forEach((l) => l());
217
217
  const describeEditors = () => [...editors.values()].map((e) => `${e.id} (${e.name})`).join(", ");
@@ -319,13 +319,13 @@ async function createToolBridge(options) {
319
319
  return;
320
320
  }
321
321
  if (message.t === "hello") {
322
- if (message.v !== _chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL) {
322
+ if (message.v !== _chunk462WGGXXcjs.TOOL_BRIDGE_PROTOCOL) {
323
323
  log(`refused an editor speaking protocol v${String(message.v)}`);
324
- return ws.close(1008, `This bridge speaks protocol v${_chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL}; update @pixerate/editor.`);
324
+ return ws.close(1008, `This bridge speaks protocol v${_chunk462WGGXXcjs.TOOL_BRIDGE_PROTOCOL}; update @pixerate/editor.`);
325
325
  }
326
326
  editor = { id: `e${++editorCounter}`, name: String(message.name || "Editor"), ...message.kind ? { kind: message.kind } : {}, socket: ws, tools: Array.isArray(message.tools) ? message.tools : [], activeAt: Date.now(), activeSeq: ++activity };
327
327
  editors.set(editor.id, editor);
328
- ws.send(JSON.stringify({ t: "welcome", v: _chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL, id: editor.id }));
328
+ ws.send(JSON.stringify({ t: "welcome", v: _chunk462WGGXXcjs.TOOL_BRIDGE_PROTOCOL, id: editor.id }));
329
329
  log(`editor ${editor.id} connected: ${editor.name} (${editor.tools.length} tools)`);
330
330
  toolsChanged();
331
331
  } else if (message.t === "tools" && editor) {
@@ -381,7 +381,7 @@ async function createToolBridge(options) {
381
381
  `)]);
382
382
  const skills = options.skills === false ? {} : _nullishCoalesce(options.skills, () => ( loadSkillFiles()));
383
383
  const hasSkills = Object.keys(skills).length > 0;
384
- const mcp = _chunkY4BWZB6Jcjs.createMcpServer.call(void 0, registry, {
384
+ const mcp = _chunk462WGGXXcjs.createMcpServer.call(void 0, registry, {
385
385
  name: options.name,
386
386
  version: _nullishCoalesce(options.version, () => ( "0.1.0")),
387
387
  instructions: [options.instructions, BRIDGE_INSTRUCTIONS, hasSkills ? SKILL_INSTRUCTIONS : ""].filter(Boolean).join("\n\n"),
@@ -1288,6 +1288,16 @@ var ChartController = class {
1288
1288
  this.notify(true);
1289
1289
  return issues;
1290
1290
  }
1291
+ /**
1292
+ * Replaces the whole chart as one undo step. All-or-nothing: if `input` has any problem,
1293
+ * nothing changes and every problem is returned (and shown in `state.issues`).
1294
+ */
1295
+ replace(input, options = {}) {
1296
+ const { spec, issues } = normalizeChartSpec(input);
1297
+ if (issues.length) return this.reject(issues.map((i) => i.message).join(" "), issues);
1298
+ this.commit(options.label ?? "Replace chart", spec, this.validSelection(this.selection, spec));
1299
+ return { ok: true };
1300
+ }
1291
1301
  undo() {
1292
1302
  this.endGesture();
1293
1303
  return this.history.undo();
@@ -95,7 +95,8 @@ function defineEditorDocument(spec) {
95
95
  const { document, report } = unwrap(input);
96
96
  if (document === void 0 || document === null) throw new EditorDocumentLoadError(`No ${spec.kind} document was given.`);
97
97
  try {
98
- spec.load(document, { history: _nullishCoalesce(options.history, () => ( "reset")) });
98
+ const result = spec.load(document, { history: _nullishCoalesce(options.history, () => ( "reset")) });
99
+ if (_optionalChain([result, 'optionalAccess', _ => _.problems, 'optionalAccess', _2 => _2.length])) report.problems.push(...result.problems);
99
100
  } catch (error) {
100
101
  if (error instanceof EditorDocumentLoadError) throw error;
101
102
  throw new EditorDocumentLoadError(error instanceof Error ? error.message : String(error));
@@ -114,9 +115,9 @@ function defineEditorDocument(spec) {
114
115
  };
115
116
  },
116
117
  history: spec.history,
117
- readOnly: () => _nullishCoalesce(_optionalChain([spec, 'access', _ => _.readOnly, 'optionalCall', _2 => _2()]), () => ( false)),
118
+ readOnly: () => _nullishCoalesce(_optionalChain([spec, 'access', _3 => _3.readOnly, 'optionalCall', _4 => _4()]), () => ( false)),
118
119
  destroy() {
119
- _optionalChain([unsubscribe, 'optionalCall', _3 => _3()]);
120
+ _optionalChain([unsubscribe, 'optionalCall', _5 => _5()]);
120
121
  unsubscribe = null;
121
122
  }
122
123
  };
@@ -95,7 +95,8 @@ function defineEditorDocument(spec) {
95
95
  const { document, report } = unwrap(input);
96
96
  if (document === void 0 || document === null) throw new EditorDocumentLoadError(`No ${spec.kind} document was given.`);
97
97
  try {
98
- spec.load(document, { history: options.history ?? "reset" });
98
+ const result = spec.load(document, { history: options.history ?? "reset" });
99
+ if (result?.problems?.length) report.problems.push(...result.problems);
99
100
  } catch (error) {
100
101
  if (error instanceof EditorDocumentLoadError) throw error;
101
102
  throw new EditorDocumentLoadError(error instanceof Error ? error.message : String(error));
@@ -3,7 +3,7 @@ import {
3
3
  TOOL_BRIDGE_PROTOCOL,
4
4
  ToolRegistry,
5
5
  createMcpServer
6
- } from "./chunk-RFBFTLVN.js";
6
+ } from "./chunk-EVXQNQND.js";
7
7
 
8
8
  // src/bridge/index.ts
9
9
  import { createServer } from "http";
@@ -1288,6 +1288,16 @@ var ChartController = (_class = class {
1288
1288
  this.notify(true);
1289
1289
  return issues;
1290
1290
  }
1291
+ /**
1292
+ * Replaces the whole chart as one undo step. All-or-nothing: if `input` has any problem,
1293
+ * nothing changes and every problem is returned (and shown in `state.issues`).
1294
+ */
1295
+ replace(input, options = {}) {
1296
+ const { spec, issues } = _chunkI4AHLP7Fcjs.normalizeChartSpec.call(void 0, input);
1297
+ if (issues.length) return this.reject(issues.map((i) => i.message).join(" "), issues);
1298
+ this.commit(_nullishCoalesce(options.label, () => ( "Replace chart")), spec, this.validSelection(this.selection, spec));
1299
+ return { ok: true };
1300
+ }
1291
1301
  undo() {
1292
1302
  this.endGesture();
1293
1303
  return this.history.undo();