@pixerate/editor 0.160.0 → 0.162.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 (146) hide show
  1. package/dist/agent/index.cjs +36 -35
  2. package/dist/agent/index.js +7 -6
  3. package/dist/animation/index.cjs +5 -4
  4. package/dist/animation/index.js +4 -3
  5. package/dist/animation-editor/index.cjs +62 -61
  6. package/dist/animation-editor/index.js +6 -5
  7. package/dist/canvas/index.cjs +33 -32
  8. package/dist/canvas/index.js +6 -5
  9. package/dist/chart/index.cjs +88 -87
  10. package/dist/chart/index.js +7 -6
  11. package/dist/{chunk-QMI5HZWA.cjs → chunk-236TKNUR.cjs} +3 -3
  12. package/dist/{chunk-6UPGM3JB.js → chunk-2TKHLX6H.js} +1 -1
  13. package/dist/{chunk-3YDQLQH2.cjs → chunk-32MMQYCQ.cjs} +81 -81
  14. package/dist/{chunk-MHEXLG3M.cjs → chunk-3GJH2MGH.cjs} +37 -37
  15. package/dist/{chunk-AKDWAWSY.cjs → chunk-3IHNXRUV.cjs} +45 -45
  16. package/dist/{chunk-VKF3PWKR.cjs → chunk-3OSXHLIT.cjs} +259 -28
  17. package/dist/{chunk-TVO6W2Q6.cjs → chunk-4NGVHHJB.cjs} +17 -17
  18. package/dist/chunk-4VU4CP7R.js +769 -0
  19. package/dist/chunk-6DM3PUQD.cjs +767 -0
  20. package/dist/{chunk-DBIVICAO.js → chunk-7CKPUUN4.js} +1 -1
  21. package/dist/{chunk-57JLBGJ5.cjs → chunk-7YBDRJXT.cjs} +8 -8
  22. package/dist/{chunk-KY3FYKP3.js → chunk-BQWGN5WH.js} +1 -1
  23. package/dist/{chunk-LEUZ4FRC.cjs → chunk-CIPIESX4.cjs} +3 -3
  24. package/dist/chunk-CJE5MOIS.js +347 -0
  25. package/dist/{chunk-5QBRAIVK.js → chunk-CX6JLDFC.js} +3 -3
  26. package/dist/{chunk-R3QY7PPL.js → chunk-DTSTNRPH.js} +1 -1
  27. package/dist/{chunk-6LUYFHHN.cjs → chunk-EQ46F75O.cjs} +51 -51
  28. package/dist/{chunk-UKCJ43YL.cjs → chunk-ES3UEVUT.cjs} +130 -898
  29. package/dist/{chunk-UM3RPYC5.js → chunk-EVPZ5IKN.js} +1 -1
  30. package/dist/{chunk-XNQ5EFB4.cjs → chunk-EY22AY6R.cjs} +16 -16
  31. package/dist/chunk-FKUKJ3XA.cjs +347 -0
  32. package/dist/{chunk-YABNLNY7.js → chunk-GLMP22FT.js} +3 -3
  33. package/dist/{chunk-SUF6WRXR.cjs → chunk-GTELFJRE.cjs} +2 -2
  34. package/dist/{chunk-72BGL3I2.js → chunk-GWV4T5NZ.js} +1 -1
  35. package/dist/{chunk-AY65VQSU.js → chunk-H3OEM3Q2.js} +1 -1
  36. package/dist/{chunk-4YWAEV4W.cjs → chunk-HDGBM7EA.cjs} +26 -26
  37. package/dist/{chunk-H5XX4KHB.js → chunk-HLOKB7WW.js} +5 -3
  38. package/dist/{chunk-WNAAWLZ5.js → chunk-KGTF55R3.js} +2 -2
  39. package/dist/{chunk-WPPJH6X4.cjs → chunk-LL3H5XUH.cjs} +6 -4
  40. package/dist/{chunk-4T44CJ5K.cjs → chunk-NA4UVVJ4.cjs} +15 -15
  41. package/dist/{chunk-Q6PA362P.js → chunk-NO5QQDHZ.js} +2 -2
  42. package/dist/{chunk-AA34BA7G.js → chunk-QYZGBVNC.js} +30 -798
  43. package/dist/chunk-S6X2QRVU.cjs +769 -0
  44. package/dist/{chunk-SSCL7QQ4.js → chunk-XDCFJEU7.js} +2 -2
  45. package/dist/{chunk-IQ6KKXOU.js → chunk-YN4AYYBJ.js} +243 -12
  46. package/dist/chunk-ZGOHKS3X.js +767 -0
  47. package/dist/color/index.cjs +6 -2
  48. package/dist/color/index.d.cts +1 -0
  49. package/dist/color/index.d.ts +1 -0
  50. package/dist/color/index.js +28 -24
  51. package/dist/color/suggest.d.cts +12 -0
  52. package/dist/color/suggest.d.ts +12 -0
  53. package/dist/effects/index.cjs +44 -771
  54. package/dist/effects/index.js +34 -761
  55. package/dist/effects/ui.d.cts +20 -3
  56. package/dist/effects/ui.d.ts +20 -3
  57. package/dist/export/index.cjs +6 -5
  58. package/dist/export/index.js +5 -4
  59. package/dist/extensions/index.cjs +9 -8
  60. package/dist/extensions/index.js +8 -7
  61. package/dist/gradient/index.cjs +28 -26
  62. package/dist/gradient/index.js +7 -5
  63. package/dist/image-editor/index.cjs +638 -637
  64. package/dist/image-editor/index.js +5 -4
  65. package/dist/index.cjs +15 -14
  66. package/dist/index.js +9 -8
  67. package/dist/paint-editor/index.cjs +17 -16
  68. package/dist/paint-editor/index.js +6 -5
  69. package/dist/typography/accessibility.d.cts +44 -0
  70. package/dist/typography/accessibility.d.ts +44 -0
  71. package/dist/typography/catalog.d.cts +98 -0
  72. package/dist/typography/catalog.d.ts +98 -0
  73. package/dist/typography/index.cjs +1099 -0
  74. package/dist/typography/index.d.cts +16 -0
  75. package/dist/typography/index.d.ts +16 -0
  76. package/dist/typography/index.js +1099 -0
  77. package/dist/typography/metrics.d.cts +31 -0
  78. package/dist/typography/metrics.d.ts +31 -0
  79. package/dist/typography/picker.d.cts +132 -0
  80. package/dist/typography/picker.d.ts +132 -0
  81. package/dist/typography/registry.d.cts +66 -0
  82. package/dist/typography/registry.d.ts +66 -0
  83. package/dist/typography/scale.d.cts +62 -0
  84. package/dist/typography/scale.d.ts +62 -0
  85. package/dist/typography/segment.d.cts +26 -0
  86. package/dist/typography/segment.d.ts +26 -0
  87. package/dist/typography/stack.d.cts +26 -0
  88. package/dist/typography/stack.d.ts +26 -0
  89. package/dist/typography/tools.d.cts +34 -0
  90. package/dist/typography/tools.d.ts +34 -0
  91. package/dist/typography/types.d.cts +96 -0
  92. package/dist/typography/types.d.ts +96 -0
  93. package/dist/typography/weight.d.cts +13 -0
  94. package/dist/typography/weight.d.ts +13 -0
  95. package/dist/vector/index.cjs +950 -949
  96. package/dist/vector/index.js +5 -4
  97. package/dist/video-editor/audio.d.cts +9 -0
  98. package/dist/video-editor/audio.d.ts +9 -0
  99. package/dist/video-editor/check.d.cts +1 -1
  100. package/dist/video-editor/check.d.ts +1 -1
  101. package/dist/video-editor/controller.d.cts +47 -0
  102. package/dist/video-editor/controller.d.ts +47 -0
  103. package/dist/video-editor/dialogue-tools.d.cts +19 -0
  104. package/dist/video-editor/dialogue-tools.d.ts +19 -0
  105. package/dist/video-editor/effect-authoring.d.cts +54 -0
  106. package/dist/video-editor/effect-authoring.d.ts +54 -0
  107. package/dist/video-editor/evaluate.d.cts +11 -0
  108. package/dist/video-editor/evaluate.d.ts +11 -0
  109. package/dist/video-editor/export.d.cts +7 -1
  110. package/dist/video-editor/export.d.ts +7 -1
  111. package/dist/video-editor/index.cjs +1857 -531
  112. package/dist/video-editor/index.d.cts +7 -0
  113. package/dist/video-editor/index.d.ts +7 -0
  114. package/dist/video-editor/index.js +1516 -190
  115. package/dist/video-editor/lut.d.cts +12 -2
  116. package/dist/video-editor/lut.d.ts +12 -2
  117. package/dist/video-editor/mask.d.cts +48 -0
  118. package/dist/video-editor/mask.d.ts +48 -0
  119. package/dist/video-editor/mix.d.cts +107 -0
  120. package/dist/video-editor/mix.d.ts +107 -0
  121. package/dist/video-editor/music-tools.d.cts +19 -0
  122. package/dist/video-editor/music-tools.d.ts +19 -0
  123. package/dist/video-editor/parse.d.cts +3 -1
  124. package/dist/video-editor/parse.d.ts +3 -1
  125. package/dist/video-editor/plan.d.cts +75 -0
  126. package/dist/video-editor/plan.d.ts +75 -0
  127. package/dist/video-editor/render.d.cts +1 -1
  128. package/dist/video-editor/render.d.ts +1 -1
  129. package/dist/video-editor/timeline.d.cts +2 -0
  130. package/dist/video-editor/timeline.d.ts +2 -0
  131. package/dist/video-editor/tools.d.cts +90 -0
  132. package/dist/video-editor/tools.d.ts +90 -0
  133. package/dist/video-editor/transcript-controller.d.cts +106 -0
  134. package/dist/video-editor/transcript-controller.d.ts +106 -0
  135. package/dist/video-editor/transcript.d.cts +40 -0
  136. package/dist/video-editor/transcript.d.ts +40 -0
  137. package/dist/video-editor/types.d.cts +62 -2
  138. package/dist/video-editor/types.d.ts +62 -2
  139. package/dist/video-editor/ui.d.cts +21 -1
  140. package/dist/video-editor/ui.d.ts +21 -1
  141. package/package.json +11 -1
  142. package/skills/README.md +3 -0
  143. package/skills/pixerate-bgm-alignment/SKILL.md +82 -0
  144. package/skills/pixerate-talking-head-edit/SKILL.md +80 -0
  145. package/skills/pixerate-typography/SKILL.md +91 -0
  146. package/skills/pixerate-video-editor/SKILL.md +40 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkTVO6W2Q6cjs = require('../chunk-TVO6W2Q6.cjs');
5
+ var _chunk4NGVHHJBcjs = require('../chunk-4NGVHHJB.cjs');
6
6
 
7
7
 
8
8
  var _chunkGLQQ2VILcjs = require('../chunk-GLQQ2VIL.cjs');
@@ -115,15 +115,15 @@ var _chunkN2FGYZ4Qcjs = require('../chunk-N2FGYZ4Q.cjs');
115
115
 
116
116
 
117
117
 
118
- var _chunkXNQ5EFB4cjs = require('../chunk-XNQ5EFB4.cjs');
118
+ var _chunkEY22AY6Rcjs = require('../chunk-EY22AY6R.cjs');
119
119
 
120
120
 
121
- var _chunkAKDWAWSYcjs = require('../chunk-AKDWAWSY.cjs');
122
- require('../chunk-4YWAEV4W.cjs');
121
+ var _chunk3IHNXRUVcjs = require('../chunk-3IHNXRUV.cjs');
122
+ require('../chunk-HDGBM7EA.cjs');
123
123
 
124
124
 
125
125
 
126
- var _chunkWPPJH6X4cjs = require('../chunk-WPPJH6X4.cjs');
126
+ var _chunkLL3H5XUHcjs = require('../chunk-LL3H5XUH.cjs');
127
127
 
128
128
 
129
129
 
@@ -161,7 +161,8 @@ var _chunkWOFXZ3XUcjs = require('../chunk-WOFXZ3XU.cjs');
161
161
 
162
162
  var _chunk2BSBFBOAcjs = require('../chunk-2BSBFBOA.cjs');
163
163
  require('../chunk-FJ2MSI43.cjs');
164
- require('../chunk-UKCJ43YL.cjs');
164
+ require('../chunk-ES3UEVUT.cjs');
165
+ require('../chunk-S6X2QRVU.cjs');
165
166
  require('../chunk-IPJ3TEYR.cjs');
166
167
 
167
168
  // src/agent/planner.ts
@@ -623,14 +624,14 @@ var SIZE_WIDTH = {
623
624
  };
624
625
  var SIZE_HEIGHT = { type: "number", minimum: 50, maximum: 4096, description: "Height in pixels (default 320)." };
625
626
  var SPEC_PROPERTIES = {
626
- ..._chunkTVO6W2Q6cjs.CHART_UPDATE_PROPERTIES,
627
+ ..._chunk4NGVHHJBcjs.CHART_UPDATE_PROPERTIES,
627
628
  categories: { type: "array", items: { type: "string" }, description: "Category labels in order (x axis labels, or pie slices)." },
628
629
  series: {
629
630
  type: "array",
630
631
  description: "The series, each with one value per category (padded with gaps).",
631
632
  items: {
632
633
  type: "object",
633
- properties: { id: { type: "string", description: "Stable id (default: from the name)." }, ..._chunkTVO6W2Q6cjs.SERIES_PROPS },
634
+ properties: { id: { type: "string", description: "Stable id (default: from the name)." }, ..._chunk4NGVHHJBcjs.SERIES_PROPS },
634
635
  required: ["name", "values"],
635
636
  additionalProperties: false
636
637
  }
@@ -641,7 +642,7 @@ function cleanSeries(series) {
641
642
  return series.map((s) => s && typeof s === "object" ? Object.fromEntries(Object.entries(s).filter(([, v]) => v !== null)) : s);
642
643
  }
643
644
  function checkedSpec(input) {
644
- const { spec, issues } = _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, { ...input, ...input.series !== void 0 ? { series: cleanSeries(input.series) } : {} });
645
+ const { spec, issues } = _chunkLL3H5XUHcjs.normalizeChartSpec.call(void 0, { ...input, ...input.series !== void 0 ? { series: cleanSeries(input.series) } : {} });
645
646
  if (issues.length) throw new Error(`The chart was not changed: ${issues.map((i) => i.message).join(" ")}`);
646
647
  return spec;
647
648
  }
@@ -656,14 +657,14 @@ function describe(chart, includeSpec) {
656
657
  series: spec.series.map((s) => ({ id: s.id, name: s.name })),
657
658
  width: _nullishCoalesce(node.attrs.width, () => ( null)),
658
659
  height: node.attrs.height,
659
- description: _chunkAKDWAWSYcjs.describeChart.call(void 0, spec),
660
+ description: _chunk3IHNXRUVcjs.describeChart.call(void 0, spec),
660
661
  ...includeSpec ? { spec } : {}
661
662
  };
662
663
  }
663
664
  function sparklines(doc) {
664
665
  const found = [];
665
666
  doc.descendants((node, pos) => {
666
- if (node.type.name === "sparkline") found.push({ pos, kind: node.attrs.kind, values: node.attrs.values, label: _chunkXNQ5EFB4cjs.sparklineLabel.call(void 0, node) });
667
+ if (node.type.name === "sparkline") found.push({ pos, kind: node.attrs.kind, values: node.attrs.values, label: _chunkEY22AY6Rcjs.sparklineLabel.call(void 0, node) });
667
668
  });
668
669
  return found;
669
670
  }
@@ -674,7 +675,7 @@ function checkPosition(editor, at) {
674
675
  function createDocumentChartTools(editor) {
675
676
  const chartType = () => editor().schema.nodes.chart;
676
677
  const findChart = (args) => {
677
- const charts = _chunkXNQ5EFB4cjs.getDocumentCharts.call(void 0, editor().state.doc);
678
+ const charts = _chunkEY22AY6Rcjs.getDocumentCharts.call(void 0, editor().state.doc);
678
679
  const list = charts.map((c) => `"${c.id}" at ${c.pos}`).join(", ") || "none; add one with insert_chart";
679
680
  if (args.chartId !== void 0) {
680
681
  const chart = charts.find((c) => c.id === args.chartId);
@@ -701,7 +702,7 @@ function createDocumentChartTools(editor) {
701
702
  annotations: { title: "List charts in the document", ...READ },
702
703
  handler: ({ includeSpec = false }) => {
703
704
  const doc = editor().state.doc;
704
- return { charts: _chunkXNQ5EFB4cjs.getDocumentCharts.call(void 0, doc).map((c) => describe(c, includeSpec)), sparklines: editor().schema.nodes.sparkline ? sparklines(doc) : [] };
705
+ return { charts: _chunkEY22AY6Rcjs.getDocumentCharts.call(void 0, doc).map((c) => describe(c, includeSpec)), sparklines: editor().schema.nodes.sparkline ? sparklines(doc) : [] };
705
706
  }
706
707
  };
707
708
  const insertChart = {
@@ -728,7 +729,7 @@ function createDocumentChartTools(editor) {
728
729
  const node = { type: "chart", attrs: { id, spec, width, ...height !== void 0 ? { height } : {} } };
729
730
  const chain = ed.chain().command(({ tr }) => (_history.closeHistory.call(void 0, tr), true));
730
731
  const ok = (at !== void 0 ? chain.insertContentAt(at, node) : chain.insertContent(node)).run();
731
- const chart = _chunkXNQ5EFB4cjs.getDocumentCharts.call(void 0, ed.state.doc).find((c) => c.id === id);
732
+ const chart = _chunkEY22AY6Rcjs.getDocumentCharts.call(void 0, ed.state.doc).find((c) => c.id === id);
732
733
  if (!ok || !chart) throw new Error(`A chart cannot go at ${_nullishCoalesce(at, () => ( ed.state.selection.from))}; pass a position between blocks or inside a paragraph.`);
733
734
  return { id: chart.id, pos: chart.pos, spec: chart.spec, width: chart.node.attrs.width, height: chart.node.attrs.height };
734
735
  }
@@ -775,8 +776,8 @@ function createDocumentChartTools(editor) {
775
776
  inputSchema: {
776
777
  type: "object",
777
778
  properties: {
778
- values: { type: "array", items: _chunkTVO6W2Q6cjs.VALUE, minItems: 1, maxItems: _chunkXNQ5EFB4cjs.MAX_SPARKLINE_VALUES, description: "Values in order (null for a gap)." },
779
- kind: { type: "string", enum: [..._chunkXNQ5EFB4cjs.SPARKLINE_KINDS], description: "line (default), column, or win-loss (sign only)." },
779
+ values: { type: "array", items: _chunk4NGVHHJBcjs.VALUE, minItems: 1, maxItems: _chunkEY22AY6Rcjs.MAX_SPARKLINE_VALUES, description: "Values in order (null for a gap)." },
780
+ kind: { type: "string", enum: [..._chunkEY22AY6Rcjs.SPARKLINE_KINDS], description: "line (default), column, or win-loss (sign only)." },
780
781
  at: { type: "integer", minimum: 0, description: "Document position inside a paragraph (default: the selection)." },
781
782
  width: { type: "number", minimum: 4, maximum: 1e3, description: "Width in pixels (default 80)." },
782
783
  height: { type: "number", minimum: 4, maximum: 200, description: "Height in pixels (default 18)." },
@@ -790,12 +791,12 @@ function createDocumentChartTools(editor) {
790
791
  handler: ({ values, kind = "line", at, width = 80, height = 18, color = null, label = null }) => {
791
792
  const ed = editor();
792
793
  checkPosition(ed, at);
793
- const parsed = values.map((v) => _chunkWPPJH6X4cjs.parseChartValue.call(void 0, v));
794
+ const parsed = values.map((v) => _chunkLL3H5XUHcjs.parseChartValue.call(void 0, v));
794
795
  const bad = parsed.findIndex((v) => v === void 0);
795
796
  if (bad >= 0) throw new Error(`values[${bad}] ("${String(values[bad])}") is not a number; pass numbers, numeric text or null. Nothing was inserted.`);
796
797
  const pos = _nullishCoalesce(at, () => ( ed.state.selection.from));
797
798
  if (!ed.state.doc.resolve(pos).parent.inlineContent) throw new Error(`Position ${pos} is between blocks; a sparkline goes inside a paragraph (use a position from get_text {blocks: true}).`);
798
- const stored = _chunkXNQ5EFB4cjs.normalizeSparklineValues.call(void 0, parsed);
799
+ const stored = _chunkEY22AY6Rcjs.normalizeSparklineValues.call(void 0, parsed);
799
800
  ed.chain().command(({ tr }) => (_history.closeHistory.call(void 0, tr), true)).insertContentAt(pos, { type: "sparkline", attrs: { values: stored, kind, width, height, color, label } }).run();
800
801
  return { pos, kind, values: stored };
801
802
  }
@@ -1133,8 +1134,8 @@ function createTextPresence(editor, providerId, option) {
1133
1134
  const config = option === false ? null : option === true || option === void 0 ? {} : option;
1134
1135
  const caret = {
1135
1136
  id: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _43 => _43.id]), () => ( providerId)),
1136
- name: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _44 => _44.name]), () => ( _chunkXNQ5EFB4cjs.DEFAULT_AGENT_CARET_NAME)),
1137
- color: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _45 => _45.color]), () => ( _chunkXNQ5EFB4cjs.DEFAULT_AGENT_CARET_COLOR))
1137
+ name: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _44 => _44.name]), () => ( _chunkEY22AY6Rcjs.DEFAULT_AGENT_CARET_NAME)),
1138
+ color: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _45 => _45.color]), () => ( _chunkEY22AY6Rcjs.DEFAULT_AGENT_CARET_COLOR))
1138
1139
  };
1139
1140
  const typing = !_optionalChain([config, 'optionalAccess', _46 => _46.typing]) ? null : config.typing === true ? {} : config.typing;
1140
1141
  const idleMs = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _47 => _47.idleMs]), () => ( 12e3));
@@ -1147,19 +1148,19 @@ function createTextPresence(editor, providerId, option) {
1147
1148
  };
1148
1149
  const touch = () => {
1149
1150
  clearTimeout(idleTimer);
1150
- if (idleMs > 0) idleTimer = setTimeout(() => live() && _chunkXNQ5EFB4cjs.clearAgentCaret.call(void 0, live(), caret.id), idleMs);
1151
+ if (idleMs > 0) idleTimer = setTimeout(() => live() && _chunkEY22AY6Rcjs.clearAgentCaret.call(void 0, live(), caret.id), idleMs);
1151
1152
  };
1152
1153
  const tint = (ed, ranges) => {
1153
1154
  clearTimeout(tintTimer);
1154
- _chunkXNQ5EFB4cjs.markAgentChanges.call(void 0, ed, caret.id, ranges);
1155
- if (changedMs > 0 && ranges.length) tintTimer = setTimeout(() => live() && _chunkXNQ5EFB4cjs.markAgentChanges.call(void 0, live(), caret.id, []), changedMs);
1155
+ _chunkEY22AY6Rcjs.markAgentChanges.call(void 0, ed, caret.id, ranges);
1156
+ if (changedMs > 0 && ranges.length) tintTimer = setTimeout(() => live() && _chunkEY22AY6Rcjs.markAgentChanges.call(void 0, live(), caret.id, []), changedMs);
1156
1157
  };
1157
1158
  return {
1158
1159
  /** Puts the caret at `head`, selecting from `anchor`. */
1159
1160
  show(anchor, head = anchor) {
1160
1161
  const ed = live();
1161
1162
  if (!ed) return;
1162
- _chunkXNQ5EFB4cjs.setAgentCaret.call(void 0, ed, { ...caret, from: anchor, to: head });
1163
+ _chunkEY22AY6Rcjs.setAgentCaret.call(void 0, ed, { ...caret, from: anchor, to: head });
1163
1164
  touch();
1164
1165
  },
1165
1166
  /** Shows the caret after ranges just changed by a tool, tinting them. */
@@ -1167,7 +1168,7 @@ function createTextPresence(editor, providerId, option) {
1167
1168
  const ed = live();
1168
1169
  if (!ed || !ranges.length) return;
1169
1170
  const last = ranges[ranges.length - 1];
1170
- _chunkXNQ5EFB4cjs.setAgentCaret.call(void 0, ed, { ...caret, from: last.to });
1171
+ _chunkEY22AY6Rcjs.setAgentCaret.call(void 0, ed, { ...caret, from: last.to });
1171
1172
  tint(ed, ranges);
1172
1173
  touch();
1173
1174
  },
@@ -1175,12 +1176,12 @@ function createTextPresence(editor, providerId, option) {
1175
1176
  async write(ed, from, to, text, signal) {
1176
1177
  if (live() && typing) {
1177
1178
  clearTimeout(tintTimer);
1178
- const range2 = await _chunkXNQ5EFB4cjs.typeAgentText.call(void 0, ed, { ...typing, from, to, text, caret, signal });
1179
- if (changedMs > 0) tintTimer = setTimeout(() => live() && _chunkXNQ5EFB4cjs.markAgentChanges.call(void 0, live(), caret.id, []), changedMs);
1179
+ const range2 = await _chunkEY22AY6Rcjs.typeAgentText.call(void 0, ed, { ...typing, from, to, text, caret, signal });
1180
+ if (changedMs > 0) tintTimer = setTimeout(() => live() && _chunkEY22AY6Rcjs.markAgentChanges.call(void 0, live(), caret.id, []), changedMs);
1180
1181
  touch();
1181
1182
  return range2;
1182
1183
  }
1183
- const tr = _history.closeHistory.call(void 0, _chunkXNQ5EFB4cjs.replaceWithTextTransaction.call(void 0, ed.state, from, to, text));
1184
+ const tr = _history.closeHistory.call(void 0, _chunkEY22AY6Rcjs.replaceWithTextTransaction.call(void 0, ed.state, from, to, text));
1184
1185
  const end = tr.mapping.map(to, 1);
1185
1186
  const range = { from: Math.min(tr.mapping.map(from, -1), end), to: end };
1186
1187
  ed.view.dispatch(tr.scrollIntoView());
@@ -1209,7 +1210,7 @@ function findMatches(editor, query, args, replacement) {
1209
1210
  wholeWord: !!args.wholeWord,
1210
1211
  ...args.regex ? { regex: true } : { literal: true }
1211
1212
  };
1212
- const result = _chunkXNQ5EFB4cjs.searchDocument.call(void 0, editor.state.doc, query, options, replacement !== void 0 ? { replacement } : {});
1213
+ const result = _chunkEY22AY6Rcjs.searchDocument.call(void 0, editor.state.doc, query, options, replacement !== void 0 ? { replacement } : {});
1213
1214
  if (result.error) throw new Error(`Invalid search pattern: ${result.error.message}`);
1214
1215
  return { matches: result.matches, truncated: result.truncated };
1215
1216
  }
@@ -1371,7 +1372,7 @@ function createRichTextToolProvider(target, options) {
1371
1372
  replacement: String(replace).replace(/\r\n?|\n/g, "\r")
1372
1373
  }));
1373
1374
  const tr = _history.closeHistory.call(void 0, ed.state.tr);
1374
- const ends = _chunkXNQ5EFB4cjs.applyReplacements.call(void 0, tr, chosen);
1375
+ const ends = _chunkEY22AY6Rcjs.applyReplacements.call(void 0, tr, chosen);
1375
1376
  ed.view.dispatch(tr.scrollIntoView());
1376
1377
  const ranges = chosen.map((m, i) => ({ from: tr.mapping.map(m.from, -1), to: ends[i] }));
1377
1378
  presence.changed(ranges.filter((r) => r.from < r.to));
@@ -1472,7 +1473,7 @@ function createRichTextToolProvider(target, options) {
1472
1473
  inputSchema: {
1473
1474
  type: "object",
1474
1475
  properties: {
1475
- operation: { type: "string", enum: _chunkXNQ5EFB4cjs.TABLE_ACTIONS.map((a) => a.action), description: "Table operation." },
1476
+ operation: { type: "string", enum: _chunkEY22AY6Rcjs.TABLE_ACTIONS.map((a) => a.action), description: "Table operation." },
1476
1477
  at: { type: "integer", minimum: 0, description: "Document position to place the cursor first (e.g. inside a cell)." },
1477
1478
  rows: { type: "integer", minimum: 1, maximum: 100, description: "insertTable: rows (default 3)." },
1478
1479
  cols: { type: "integer", minimum: 1, maximum: 50, description: "insertTable: columns (default 3)." },
@@ -1502,10 +1503,10 @@ function createRichTextToolProvider(target, options) {
1502
1503
  ed.view.dispatch(ed.state.tr.setSelection(_state.TextSelection.near(ed.state.doc.resolve(at))));
1503
1504
  }
1504
1505
  const action = operation;
1505
- const state = _chunkXNQ5EFB4cjs.getTableActionState.call(void 0, ed, action, params);
1506
+ const state = _chunkEY22AY6Rcjs.getTableActionState.call(void 0, ed, action, params);
1506
1507
  if (state !== true) throw new Error(state);
1507
- _chunkXNQ5EFB4cjs.runTableAction.call(void 0, ed, action, params);
1508
- const table = _chunkXNQ5EFB4cjs.getTableState.call(void 0, ed);
1508
+ _chunkEY22AY6Rcjs.runTableAction.call(void 0, ed, action, params);
1509
+ const table = _chunkEY22AY6Rcjs.getTableState.call(void 0, ed);
1509
1510
  return {
1510
1511
  operation,
1511
1512
  table: table.inTable ? { rows: table.rows, columns: table.columns, row: table.row, column: table.column } : null,
@@ -1524,7 +1525,7 @@ function createRichTextToolProvider(target, options) {
1524
1525
  if (!ed || ed.isDestroyed) return [];
1525
1526
  if (!ed.isEditable) return [getText, findText, ...charts.read()];
1526
1527
  const tools = [getText, findText, insertText, replaceText, replaceRange, replaceSelection, setSelection, ...formatting.tools(ed)];
1527
- return [...tools, ..._chunkXNQ5EFB4cjs.isTableEnabled.call(void 0, ed) ? [editTable] : [], ...charts.read(), ...charts.write().map(withCaret)];
1528
+ return [...tools, ..._chunkEY22AY6Rcjs.isTableEnabled.call(void 0, ed) ? [editTable] : [], ...charts.read(), ...charts.write().map(withCaret)];
1528
1529
  },
1529
1530
  subscribe: (notify) => {
1530
1531
  const ed = editor();
@@ -2,7 +2,7 @@ import {
2
2
  CHART_UPDATE_PROPERTIES,
3
3
  SERIES_PROPS,
4
4
  VALUE
5
- } from "../chunk-UM3RPYC5.js";
5
+ } from "../chunk-EVPZ5IKN.js";
6
6
  import {
7
7
  hasVariantCommands
8
8
  } from "../chunk-3TNA7JKI.js";
@@ -115,15 +115,15 @@ import {
115
115
  setAgentCaret,
116
116
  sparklineLabel,
117
117
  typeAgentText
118
- } from "../chunk-5QBRAIVK.js";
118
+ } from "../chunk-CX6JLDFC.js";
119
119
  import {
120
120
  describeChart
121
- } from "../chunk-SSCL7QQ4.js";
122
- import "../chunk-R3QY7PPL.js";
121
+ } from "../chunk-XDCFJEU7.js";
122
+ import "../chunk-DTSTNRPH.js";
123
123
  import {
124
124
  normalizeChartSpec,
125
125
  parseChartValue
126
- } from "../chunk-H5XX4KHB.js";
126
+ } from "../chunk-HLOKB7WW.js";
127
127
  import {
128
128
  getEditorMarkdown,
129
129
  getEditorText
@@ -161,7 +161,8 @@ import {
161
161
  stripPrototypeKeys
162
162
  } from "../chunk-HF5QZS7Z.js";
163
163
  import "../chunk-RNSANXPT.js";
164
- import "../chunk-AA34BA7G.js";
164
+ import "../chunk-QYZGBVNC.js";
165
+ import "../chunk-4VU4CP7R.js";
165
166
  import "../chunk-6ONMQ6WF.js";
166
167
 
167
168
  // src/agent/planner.ts
@@ -27,7 +27,7 @@ var _chunk7B5GTJXBcjs = require('../chunk-7B5GTJXB.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkSUF6WRXRcjs = require('../chunk-SUF6WRXR.cjs');
30
+ var _chunkGTELFJREcjs = require('../chunk-GTELFJRE.cjs');
31
31
 
32
32
 
33
33
 
@@ -52,9 +52,10 @@ var _chunkDWJJI6RTcjs = require('../chunk-DWJJI6RT.cjs');
52
52
 
53
53
 
54
54
 
55
- var _chunkLEUZ4FRCcjs = require('../chunk-LEUZ4FRC.cjs');
55
+ var _chunkCIPIESX4cjs = require('../chunk-CIPIESX4.cjs');
56
56
  require('../chunk-A6QWKBJP.cjs');
57
- require('../chunk-UKCJ43YL.cjs');
57
+ require('../chunk-ES3UEVUT.cjs');
58
+ require('../chunk-S6X2QRVU.cjs');
58
59
  require('../chunk-IPJ3TEYR.cjs');
59
60
 
60
61
 
@@ -102,4 +103,4 @@ require('../chunk-IPJ3TEYR.cjs');
102
103
 
103
104
 
104
105
 
105
- exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkSUF6WRXRcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkSUF6WRXRcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunk7B5GTJXBcjs.MOTION_BEHAVIORS; exports.ManualClock = _chunkSUF6WRXRcjs.ManualClock; exports.PRESENCE_COLORS = _chunkSWTUM32Hcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkSWTUM32Hcjs.PerformanceQueue; exports.PresenceStore = _chunkSWTUM32Hcjs.PresenceStore; exports.SPRING_PRESETS = _chunkDWJJI6RTcjs.SPRING_PRESETS; exports.behaviorProgress = _chunk7B5GTJXBcjs.behaviorProgress; exports.createAnimationPlayer = _chunkSUF6WRXRcjs.createAnimationPlayer; exports.createInstantPresenceClock = _chunkSWTUM32Hcjs.createInstantPresenceClock; exports.cubicBezierAt = _chunkDWJJI6RTcjs.cubicBezierAt; exports.easingFromInfluence = _chunkDWJJI6RTcjs.easingFromInfluence; exports.easingLabel = _chunkDWJJI6RTcjs.easingLabel; exports.easingToCss = _chunkDWJJI6RTcjs.easingToCss; exports.elasticAt = _chunkDWJJI6RTcjs.elasticAt; exports.evaluateEasing = _chunkDWJJI6RTcjs.evaluateEasing; exports.evaluateTrack = _chunkSUF6WRXRcjs.evaluateTrack; exports.formatOklab = _chunkLEUZ4FRCcjs.formatOklab; exports.fractalWiggle = _chunk7B5GTJXBcjs.fractalWiggle; exports.interpolateAnimationValue = _chunkSUF6WRXRcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkSUF6WRXRcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunk7B5GTJXBcjs.isMotionBehavior; exports.mixColorsOklab = _chunkLEUZ4FRCcjs.mixColorsOklab; exports.motionSeedFromId = _chunk7B5GTJXBcjs.motionSeedFromId; exports.normalizeKeyframes = _chunkSUF6WRXRcjs.normalizeKeyframes; exports.oklabToRgb = _chunkLEUZ4FRCcjs.oklabToRgb; exports.pageHidden = _chunkSUF6WRXRcjs.pageHidden; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseOklab = _chunkLEUZ4FRCcjs.parseOklab; exports.quinticFade = _chunk7B5GTJXBcjs.quinticFade; exports.realClock = _chunkSUF6WRXRcjs.realClock; exports.realPresenceClock = _chunkSWTUM32Hcjs.realPresenceClock; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.rgbToOklab = _chunkLEUZ4FRCcjs.rgbToOklab; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.trackPresenceDrag = _chunkSWTUM32Hcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkSWTUM32Hcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunkSUF6WRXRcjs.wrapAnimationTime;
106
+ exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkGTELFJREcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkGTELFJREcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunk7B5GTJXBcjs.MOTION_BEHAVIORS; exports.ManualClock = _chunkGTELFJREcjs.ManualClock; exports.PRESENCE_COLORS = _chunkSWTUM32Hcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkSWTUM32Hcjs.PerformanceQueue; exports.PresenceStore = _chunkSWTUM32Hcjs.PresenceStore; exports.SPRING_PRESETS = _chunkDWJJI6RTcjs.SPRING_PRESETS; exports.behaviorProgress = _chunk7B5GTJXBcjs.behaviorProgress; exports.createAnimationPlayer = _chunkGTELFJREcjs.createAnimationPlayer; exports.createInstantPresenceClock = _chunkSWTUM32Hcjs.createInstantPresenceClock; exports.cubicBezierAt = _chunkDWJJI6RTcjs.cubicBezierAt; exports.easingFromInfluence = _chunkDWJJI6RTcjs.easingFromInfluence; exports.easingLabel = _chunkDWJJI6RTcjs.easingLabel; exports.easingToCss = _chunkDWJJI6RTcjs.easingToCss; exports.elasticAt = _chunkDWJJI6RTcjs.elasticAt; exports.evaluateEasing = _chunkDWJJI6RTcjs.evaluateEasing; exports.evaluateTrack = _chunkGTELFJREcjs.evaluateTrack; exports.formatOklab = _chunkCIPIESX4cjs.formatOklab; exports.fractalWiggle = _chunk7B5GTJXBcjs.fractalWiggle; exports.interpolateAnimationValue = _chunkGTELFJREcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkGTELFJREcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunk7B5GTJXBcjs.isMotionBehavior; exports.mixColorsOklab = _chunkCIPIESX4cjs.mixColorsOklab; exports.motionSeedFromId = _chunk7B5GTJXBcjs.motionSeedFromId; exports.normalizeKeyframes = _chunkGTELFJREcjs.normalizeKeyframes; exports.oklabToRgb = _chunkCIPIESX4cjs.oklabToRgb; exports.pageHidden = _chunkGTELFJREcjs.pageHidden; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseOklab = _chunkCIPIESX4cjs.parseOklab; exports.quinticFade = _chunk7B5GTJXBcjs.quinticFade; exports.realClock = _chunkGTELFJREcjs.realClock; exports.realPresenceClock = _chunkSWTUM32Hcjs.realPresenceClock; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.rgbToOklab = _chunkCIPIESX4cjs.rgbToOklab; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.trackPresenceDrag = _chunkSWTUM32Hcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkSWTUM32Hcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunkGTELFJREcjs.wrapAnimationTime;
@@ -27,7 +27,7 @@ import {
27
27
  pageHidden,
28
28
  realClock,
29
29
  wrapAnimationTime
30
- } from "../chunk-AY65VQSU.js";
30
+ } from "../chunk-H3OEM3Q2.js";
31
31
  import {
32
32
  ANIMATION_EASING_LABELS,
33
33
  ANIMATION_EASING_PRESETS,
@@ -52,9 +52,10 @@ import {
52
52
  oklabToRgb,
53
53
  parseOklab,
54
54
  rgbToOklab
55
- } from "../chunk-KY3FYKP3.js";
55
+ } from "../chunk-BQWGN5WH.js";
56
56
  import "../chunk-2WPNAGHI.js";
57
- import "../chunk-AA34BA7G.js";
57
+ import "../chunk-QYZGBVNC.js";
58
+ import "../chunk-4VU4CP7R.js";
58
59
  import "../chunk-6ONMQ6WF.js";
59
60
  export {
60
61
  ANIMATION_EASING_LABELS,