@pixerate/editor 0.141.0 → 0.143.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 (75) hide show
  1. package/dist/agent/index.cjs +107 -48
  2. package/dist/agent/index.js +76 -17
  3. package/dist/agent/planner.d.cts +7 -2
  4. package/dist/agent/planner.d.ts +7 -2
  5. package/dist/agent/providers.d.cts +4 -1
  6. package/dist/agent/providers.d.ts +4 -1
  7. package/dist/animation-editor/index.cjs +69 -19
  8. package/dist/animation-editor/index.d.cts +1 -0
  9. package/dist/animation-editor/index.d.ts +1 -0
  10. package/dist/animation-editor/index.js +54 -4
  11. package/dist/animation-editor/playback.d.cts +10 -0
  12. package/dist/animation-editor/playback.d.ts +10 -0
  13. package/dist/canvas/index.cjs +103 -101
  14. package/dist/canvas/index.js +3 -1
  15. package/dist/canvas/layout.d.cts +15 -2
  16. package/dist/canvas/layout.d.ts +15 -2
  17. package/dist/chart/index.cjs +254 -170
  18. package/dist/chart/index.d.cts +1 -0
  19. package/dist/chart/index.d.ts +1 -0
  20. package/dist/chart/index.js +243 -159
  21. package/dist/chart/playback.d.cts +22 -0
  22. package/dist/chart/playback.d.ts +22 -0
  23. package/dist/{chunk-MFFE55CS.js → chunk-54GVEVXS.js} +6 -4
  24. package/dist/{chunk-E747F3D5.js → chunk-CC6WKVIH.js} +86 -5
  25. package/dist/{chunk-UBRYHNRU.cjs → chunk-EL4PSKFT.cjs} +46 -4
  26. package/dist/{chunk-VTY64I6H.cjs → chunk-QSM3MDDJ.cjs} +85 -85
  27. package/dist/{chunk-2RUNJYOX.cjs → chunk-QZFEX2N4.cjs} +86 -5
  28. package/dist/{chunk-DW4CV5H4.js → chunk-U4VE4UI2.js} +45 -3
  29. package/dist/{chunk-LMSFXRAJ.js → chunk-VGJTUCWM.js} +1 -1
  30. package/dist/{chunk-6SFREX6H.cjs → chunk-X2HQP7DF.cjs} +6 -4
  31. package/dist/chunk-XH32BATE.cjs +68 -0
  32. package/dist/chunk-Y6SGC6KO.js +68 -0
  33. package/dist/commands/index.cjs +2 -2
  34. package/dist/commands/index.js +1 -1
  35. package/dist/index.cjs +7 -3
  36. package/dist/index.js +6 -2
  37. package/dist/paint-editor/index.cjs +67 -19
  38. package/dist/paint-editor/index.d.cts +1 -0
  39. package/dist/paint-editor/index.d.ts +1 -0
  40. package/dist/paint-editor/index.js +67 -19
  41. package/dist/paint-editor/playback.d.cts +16 -0
  42. package/dist/paint-editor/playback.d.ts +16 -0
  43. package/dist/parameters/index.cjs +32 -8
  44. package/dist/parameters/index.d.cts +1 -0
  45. package/dist/parameters/index.d.ts +1 -0
  46. package/dist/parameters/index.js +28 -4
  47. package/dist/parameters/playback.d.cts +10 -0
  48. package/dist/parameters/playback.d.ts +10 -0
  49. package/dist/spreadsheet/index.cjs +7 -3
  50. package/dist/spreadsheet/index.d.cts +1 -0
  51. package/dist/spreadsheet/index.d.ts +1 -0
  52. package/dist/spreadsheet/index.js +6 -2
  53. package/dist/spreadsheet/playback.d.cts +15 -0
  54. package/dist/spreadsheet/playback.d.ts +15 -0
  55. package/dist/tools/index.cjs +10 -3
  56. package/dist/tools/index.d.cts +1 -0
  57. package/dist/tools/index.d.ts +1 -0
  58. package/dist/tools/index.js +9 -2
  59. package/dist/tools/script.d.cts +77 -0
  60. package/dist/tools/script.d.ts +77 -0
  61. package/dist/video-editor/index.cjs +81 -28
  62. package/dist/video-editor/index.d.cts +1 -0
  63. package/dist/video-editor/index.d.ts +1 -0
  64. package/dist/video-editor/index.js +58 -5
  65. package/dist/video-editor/playback.d.cts +20 -0
  66. package/dist/video-editor/playback.d.ts +20 -0
  67. package/package.json +1 -1
  68. package/skills/pixerate-animation-editor/SKILL.md +1 -0
  69. package/skills/pixerate-chart/SKILL.md +1 -0
  70. package/skills/pixerate-paint-editor/SKILL.md +1 -0
  71. package/skills/pixerate-parameters/SKILL.md +1 -0
  72. package/skills/pixerate-spreadsheet/SKILL.md +1 -0
  73. package/skills/pixerate-video-editor/SKILL.md +1 -0
  74. package/dist/chunk-PLKIYNJZ.js +0 -0
  75. package/dist/chunk-TNCWKC5M.cjs +0 -1
@@ -154,9 +154,9 @@ function getParameterVisibility(schema, values) {
154
154
  const visible = {};
155
155
  const walk = (items, parentVisible) => {
156
156
  for (const item of items) {
157
- const shown = parentVisible && evaluateParameterCondition(item.showIf, values);
158
- visible[item.id] = shown;
159
- if (isParameterGroup(item)) walk(item.fields, shown);
157
+ const shown2 = parentVisible && evaluateParameterCondition(item.showIf, values);
158
+ visible[item.id] = shown2;
159
+ if (isParameterGroup(item)) walk(item.fields, shown2);
160
160
  }
161
161
  };
162
162
  walk(schema.fields, true);
@@ -1004,6 +1004,28 @@ function randomValue(field, current, rand) {
1004
1004
  }
1005
1005
  }
1006
1006
 
1007
+ // src/parameters/playback.ts
1008
+ var shown = (v) => {
1009
+ const text = typeof v === "string" ? v : JSON.stringify(v);
1010
+ return text.length > 32 ? `${text.slice(0, 31)}\u2026` : text;
1011
+ };
1012
+ function planParameterSetPlayback(values) {
1013
+ if (!values || typeof values !== "object" || Array.isArray(values)) return null;
1014
+ const steps = [];
1015
+ for (const [id, value] of Object.entries(values).slice(0, 6)) {
1016
+ steps.push({ type: "target", ref: { kind: "parameter", id } }, { type: "press" }, { type: "release" }, { type: "type", text: shown(value) });
1017
+ }
1018
+ return steps.length ? steps : null;
1019
+ }
1020
+ function withParameterPlayback(prefix, commands) {
1021
+ for (const spec of commands) {
1022
+ if (!spec.id.startsWith(prefix)) continue;
1023
+ spec.playbackSurface ??= _nullishCoalesce(spec.scope, () => ( "parameters"));
1024
+ if (spec.id === `${prefix}set` && !spec.plan) spec.plan = (_ctx, params) => planParameterSetPlayback(_optionalChain([params, 'optionalAccess', _17 => _17.values]));
1025
+ }
1026
+ return commands;
1027
+ }
1028
+
1007
1029
  // src/parameters/commands.ts
1008
1030
  var fail = (message) => {
1009
1031
  throw new Error(message);
@@ -1073,9 +1095,9 @@ function createParameterCommands(controller, options = {}) {
1073
1095
  keywords: ["default", "revert", "clear"],
1074
1096
  description: "Puts parameters back to their defaults.",
1075
1097
  params: { type: "object", properties: { ids: IDS } },
1076
- enabled: (_ctx, params) => _optionalChain([params, 'optionalAccess', _17 => _17.ids]) || controller.getState().modified ? true : "Every parameter is already at its default.",
1098
+ enabled: (_ctx, params) => _optionalChain([params, 'optionalAccess', _18 => _18.ids]) || controller.getState().modified ? true : "Every parameter is already at its default.",
1077
1099
  run: (_ctx, params) => {
1078
- const result = controller.reset(_optionalChain([params, 'optionalAccess', _18 => _18.ids]));
1100
+ const result = controller.reset(_optionalChain([params, 'optionalAccess', _19 => _19.ids]));
1079
1101
  if (!result.ok) fail(result.message);
1080
1102
  return { values: controller.getValues() };
1081
1103
  }
@@ -1091,7 +1113,7 @@ function createParameterCommands(controller, options = {}) {
1091
1113
  properties: { ids: IDS, seed: { type: "integer", description: "Seed for a repeatable result." } }
1092
1114
  },
1093
1115
  run: (_ctx, params) => {
1094
- const result = controller.randomize({ ids: _optionalChain([params, 'optionalAccess', _19 => _19.ids]), seed: _optionalChain([params, 'optionalAccess', _20 => _20.seed]) });
1116
+ const result = controller.randomize({ ids: _optionalChain([params, 'optionalAccess', _20 => _20.ids]), seed: _optionalChain([params, 'optionalAccess', _21 => _21.seed]) });
1095
1117
  if (!result.ok) fail(result.message);
1096
1118
  return { changed: result.ok ? result.changed : [], values: controller.getValues() };
1097
1119
  }
@@ -1179,7 +1201,7 @@ function createParameterCommands(controller, options = {}) {
1179
1201
  run: () => controller.redo()
1180
1202
  }
1181
1203
  ];
1182
- return commands;
1204
+ return withParameterPlayback(prefix, commands);
1183
1205
  }
1184
1206
 
1185
1207
  // src/parameters/shader.ts
@@ -1316,4 +1338,6 @@ function mapRange(value, from, to, options) {
1316
1338
 
1317
1339
 
1318
1340
 
1319
- exports.PARAMETER_KEY_TOLERANCE = PARAMETER_KEY_TOLERANCE; exports.ParameterSchemaError = ParameterSchemaError; exports.ParametersController = ParametersController; exports.checkParameterSchema = checkParameterSchema; exports.choiceOptionLabel = choiceOptionLabel; exports.clampParameterNumber = clampParameterNumber; exports.cloneValue = cloneValue; exports.coerceParameterValue = coerceParameterValue; exports.createParameterCommands = createParameterCommands; exports.createParameterKeyframeStore = createParameterKeyframeStore; exports.createParametersController = createParametersController; exports.createRangeMapper = createRangeMapper; exports.evaluateParameterCondition = evaluateParameterCondition; exports.findParameterKeyframe = findParameterKeyframe; exports.formatParameterNumber = formatParameterNumber; exports.formatParameterValue = formatParameterValue; exports.getChoiceOptions = getChoiceOptions; exports.getParameterDefaults = getParameterDefaults; exports.getParameterFields = getParameterFields; exports.getParameterGroups = getParameterGroups; exports.getParameterKeyState = getParameterKeyState; exports.getParameterVisibility = getParameterVisibility; exports.hexToRgba01 = hexToRgba01; exports.humanizeParameterId = humanizeParameterId; exports.isParameterGroup = isParameterGroup; exports.isSliderField = isSliderField; exports.mapRange = mapRange; exports.normalizeHexColor = normalizeHexColor; exports.parameterDecimals = parameterDecimals; exports.parameterFieldFromShaderControl = parameterFieldFromShaderControl; exports.parameterFieldToJsonSchema = parameterFieldToJsonSchema; exports.parameterLabel = parameterLabel; exports.parameterSchemaFromShaderControls = parameterSchemaFromShaderControls; exports.parameterSchemaToJsonSchema = parameterSchemaToJsonSchema; exports.parameterStep = parameterStep; exports.parameterValueFromShaderControl = parameterValueFromShaderControl; exports.parameterValuesEqual = parameterValuesEqual; exports.parseParameterNumberInput = parseParameterNumberInput; exports.rgba01ToHex = rgba01ToHex; exports.seededRandom = seededRandom; exports.shaderControlValue = shaderControlValue; exports.validateParameterValue = validateParameterValue; exports.validateParameterValues = validateParameterValues; exports.vectorComponentField = vectorComponentField; exports.vectorSize = vectorSize; exports.withParameterKeyframe = withParameterKeyframe; exports.withoutParameterKeyframe = withoutParameterKeyframe;
1341
+
1342
+
1343
+ exports.PARAMETER_KEY_TOLERANCE = PARAMETER_KEY_TOLERANCE; exports.ParameterSchemaError = ParameterSchemaError; exports.ParametersController = ParametersController; exports.checkParameterSchema = checkParameterSchema; exports.choiceOptionLabel = choiceOptionLabel; exports.clampParameterNumber = clampParameterNumber; exports.cloneValue = cloneValue; exports.coerceParameterValue = coerceParameterValue; exports.createParameterCommands = createParameterCommands; exports.createParameterKeyframeStore = createParameterKeyframeStore; exports.createParametersController = createParametersController; exports.createRangeMapper = createRangeMapper; exports.evaluateParameterCondition = evaluateParameterCondition; exports.findParameterKeyframe = findParameterKeyframe; exports.formatParameterNumber = formatParameterNumber; exports.formatParameterValue = formatParameterValue; exports.getChoiceOptions = getChoiceOptions; exports.getParameterDefaults = getParameterDefaults; exports.getParameterFields = getParameterFields; exports.getParameterGroups = getParameterGroups; exports.getParameterKeyState = getParameterKeyState; exports.getParameterVisibility = getParameterVisibility; exports.hexToRgba01 = hexToRgba01; exports.humanizeParameterId = humanizeParameterId; exports.isParameterGroup = isParameterGroup; exports.isSliderField = isSliderField; exports.mapRange = mapRange; exports.normalizeHexColor = normalizeHexColor; exports.parameterDecimals = parameterDecimals; exports.parameterFieldFromShaderControl = parameterFieldFromShaderControl; exports.parameterFieldToJsonSchema = parameterFieldToJsonSchema; exports.parameterLabel = parameterLabel; exports.parameterSchemaFromShaderControls = parameterSchemaFromShaderControls; exports.parameterSchemaToJsonSchema = parameterSchemaToJsonSchema; exports.parameterStep = parameterStep; exports.parameterValueFromShaderControl = parameterValueFromShaderControl; exports.parameterValuesEqual = parameterValuesEqual; exports.parseParameterNumberInput = parseParameterNumberInput; exports.planParameterSetPlayback = planParameterSetPlayback; exports.rgba01ToHex = rgba01ToHex; exports.seededRandom = seededRandom; exports.shaderControlValue = shaderControlValue; exports.validateParameterValue = validateParameterValue; exports.validateParameterValues = validateParameterValues; exports.vectorComponentField = vectorComponentField; exports.vectorSize = vectorSize; exports.withParameterKeyframe = withParameterKeyframe; exports.withParameterPlayback = withParameterPlayback; exports.withoutParameterKeyframe = withoutParameterKeyframe;
@@ -5,3 +5,4 @@ export * from './controller.cjs';
5
5
  export * from './commands.cjs';
6
6
  export * from './shader.cjs';
7
7
  export * from './rangeMapper.cjs';
8
+ export * from './playback.cjs';
@@ -5,3 +5,4 @@ export * from './controller.js';
5
5
  export * from './commands.js';
6
6
  export * from './shader.js';
7
7
  export * from './rangeMapper.js';
8
+ export * from './playback.js';
@@ -154,9 +154,9 @@ function getParameterVisibility(schema, values) {
154
154
  const visible = {};
155
155
  const walk = (items, parentVisible) => {
156
156
  for (const item of items) {
157
- const shown = parentVisible && evaluateParameterCondition(item.showIf, values);
158
- visible[item.id] = shown;
159
- if (isParameterGroup(item)) walk(item.fields, shown);
157
+ const shown2 = parentVisible && evaluateParameterCondition(item.showIf, values);
158
+ visible[item.id] = shown2;
159
+ if (isParameterGroup(item)) walk(item.fields, shown2);
160
160
  }
161
161
  };
162
162
  walk(schema.fields, true);
@@ -1004,6 +1004,28 @@ function randomValue(field, current, rand) {
1004
1004
  }
1005
1005
  }
1006
1006
 
1007
+ // src/parameters/playback.ts
1008
+ var shown = (v) => {
1009
+ const text = typeof v === "string" ? v : JSON.stringify(v);
1010
+ return text.length > 32 ? `${text.slice(0, 31)}\u2026` : text;
1011
+ };
1012
+ function planParameterSetPlayback(values) {
1013
+ if (!values || typeof values !== "object" || Array.isArray(values)) return null;
1014
+ const steps = [];
1015
+ for (const [id, value] of Object.entries(values).slice(0, 6)) {
1016
+ steps.push({ type: "target", ref: { kind: "parameter", id } }, { type: "press" }, { type: "release" }, { type: "type", text: shown(value) });
1017
+ }
1018
+ return steps.length ? steps : null;
1019
+ }
1020
+ function withParameterPlayback(prefix, commands) {
1021
+ for (const spec of commands) {
1022
+ if (!spec.id.startsWith(prefix)) continue;
1023
+ spec.playbackSurface ??= spec.scope ?? "parameters";
1024
+ if (spec.id === `${prefix}set` && !spec.plan) spec.plan = (_ctx, params) => planParameterSetPlayback(params?.values);
1025
+ }
1026
+ return commands;
1027
+ }
1028
+
1007
1029
  // src/parameters/commands.ts
1008
1030
  var fail = (message) => {
1009
1031
  throw new Error(message);
@@ -1179,7 +1201,7 @@ function createParameterCommands(controller, options = {}) {
1179
1201
  run: () => controller.redo()
1180
1202
  }
1181
1203
  ];
1182
- return commands;
1204
+ return withParameterPlayback(prefix, commands);
1183
1205
  }
1184
1206
 
1185
1207
  // src/parameters/shader.ts
@@ -1307,6 +1329,7 @@ export {
1307
1329
  parameterValueFromShaderControl,
1308
1330
  parameterValuesEqual,
1309
1331
  parseParameterNumberInput,
1332
+ planParameterSetPlayback,
1310
1333
  rgba01ToHex,
1311
1334
  seededRandom,
1312
1335
  shaderControlValue,
@@ -1315,5 +1338,6 @@ export {
1315
1338
  vectorComponentField,
1316
1339
  vectorSize,
1317
1340
  withParameterKeyframe,
1341
+ withParameterPlayback,
1318
1342
  withoutParameterKeyframe
1319
1343
  };
@@ -0,0 +1,10 @@
1
+ import type { CommandSpec } from '../commands/registry.cjs';
2
+ import type { PlaybackStep } from '../tools/playback.cjs';
3
+ /** The cursor steps for `parameters.set { values }`: each control (at most 6), clicked, its value typed. */
4
+ export declare function planParameterSetPlayback(values: unknown): PlaybackStep[] | null;
5
+ /**
6
+ * Gives parameter commands agent playback on the `parameters` surface (where `ParametersPanel`
7
+ * attaches): `<prefix>set` plans its controls; the others visit the `ids` they name. Mutates the
8
+ * specs (their `params` may be getters, which a copy would freeze).
9
+ */
10
+ export declare function withParameterPlayback(prefix: string, commands: CommandSpec[]): CommandSpec[];
@@ -0,0 +1,10 @@
1
+ import type { CommandSpec } from '../commands/registry.js';
2
+ import type { PlaybackStep } from '../tools/playback.js';
3
+ /** The cursor steps for `parameters.set { values }`: each control (at most 6), clicked, its value typed. */
4
+ export declare function planParameterSetPlayback(values: unknown): PlaybackStep[] | null;
5
+ /**
6
+ * Gives parameter commands agent playback on the `parameters` surface (where `ParametersPanel`
7
+ * attaches): `<prefix>set` plans its controls; the others visit the `ids` they name. Mutates the
8
+ * specs (their `params` may be getters, which a copy would freeze).
9
+ */
10
+ export declare function withParameterPlayback(prefix: string, commands: CommandSpec[]): CommandSpec[];
@@ -125,7 +125,7 @@
125
125
 
126
126
 
127
127
 
128
- var _chunkVTY64I6Hcjs = require('../chunk-VTY64I6H.cjs');
128
+ var _chunkQSM3MDDJcjs = require('../chunk-QSM3MDDJ.cjs');
129
129
 
130
130
 
131
131
 
@@ -164,7 +164,9 @@ var _chunkVTY64I6Hcjs = require('../chunk-VTY64I6H.cjs');
164
164
 
165
165
 
166
166
 
167
- var _chunk2RUNJYOXcjs = require('../chunk-2RUNJYOX.cjs');
167
+
168
+
169
+ var _chunkQZFEX2N4cjs = require('../chunk-QZFEX2N4.cjs');
168
170
 
169
171
 
170
172
 
@@ -385,4 +387,6 @@ var _chunkN3KJFGXTcjs = require('../chunk-N3KJFGXT.cjs');
385
387
 
386
388
 
387
389
 
388
- exports.CONDITIONAL_FORMAT_ICON_SETS = _chunkVTY64I6Hcjs.CONDITIONAL_FORMAT_ICON_SETS; exports.CONDITIONAL_FORMAT_PRESETS = _chunkVTY64I6Hcjs.CONDITIONAL_FORMAT_PRESETS; exports.CONDITIONAL_FORMAT_STYLE_PRESETS = _chunkVTY64I6Hcjs.CONDITIONAL_FORMAT_STYLE_PRESETS; exports.CONDITIONAL_FORMAT_TIME_PERIODS = _chunkVTY64I6Hcjs.CONDITIONAL_FORMAT_TIME_PERIODS; exports.ConditionalFormatEngine = _chunkVTY64I6Hcjs.ConditionalFormatEngine; exports.DATA_VALIDATION_ERROR_STYLE_OPTIONS = _chunkVTY64I6Hcjs.DATA_VALIDATION_ERROR_STYLE_OPTIONS; exports.DATA_VALIDATION_OPERATOR_OPTIONS = _chunkVTY64I6Hcjs.DATA_VALIDATION_OPERATOR_OPTIONS; exports.DATA_VALIDATION_TYPE_OPTIONS = _chunkVTY64I6Hcjs.DATA_VALIDATION_TYPE_OPTIONS; exports.DEFAULT_COLUMN_WIDTH = _chunkVTY64I6Hcjs.DEFAULT_COLUMN_WIDTH; exports.DEFAULT_CONDITIONAL_FORMAT_STYLE = _chunkVTY64I6Hcjs.DEFAULT_CONDITIONAL_FORMAT_STYLE; exports.DEFAULT_DATA_VALIDATION_MESSAGE = _chunkVTY64I6Hcjs.DEFAULT_DATA_VALIDATION_MESSAGE; exports.DEFAULT_DATA_VALIDATION_TITLE = _chunkVTY64I6Hcjs.DEFAULT_DATA_VALIDATION_TITLE; exports.DEFAULT_ROW_HEIGHT = _chunkVTY64I6Hcjs.DEFAULT_ROW_HEIGHT; exports.DataSourceBinder = _chunkVTY64I6Hcjs.DataSourceBinder; exports.DependencyGraph = _chunkVTY64I6Hcjs.DependencyGraph; exports.EMPTY_CONDITIONAL_FORMAT_OVERLAY = _chunkVTY64I6Hcjs.EMPTY_CONDITIONAL_FORMAT_OVERLAY; exports.FORMULA_ERRORS = _chunk55AKPTLMcjs.FORMULA_ERRORS; exports.FormulaEvaluator = _chunk2RUNJYOXcjs.FormulaEvaluator; exports.FormulaLambda = _chunk2RUNJYOXcjs.FormulaLambda; exports.FormulaParser = _chunk2RUNJYOXcjs.FormulaParser; exports.IntervalIndex = _chunkVTY64I6Hcjs.IntervalIndex; exports.MAX_DEFINED_NAME_LENGTH = _chunkVTY64I6Hcjs.MAX_DEFINED_NAME_LENGTH; exports.MAX_FORMULA_ARRAY_SIZE = _chunk2RUNJYOXcjs.MAX_FORMULA_ARRAY_SIZE; exports.MAX_LAMBDA_DEPTH = _chunk2RUNJYOXcjs.MAX_LAMBDA_DEPTH; exports.MAX_NUMBER_FORMAT_CODE_CHARS = _chunk55AKPTLMcjs.MAX_NUMBER_FORMAT_CODE_CHARS; exports.MAX_SHEET_NAME_LENGTH = _chunkVTY64I6Hcjs.MAX_SHEET_NAME_LENGTH; exports.NUMBER_FORMAT_PRESETS = _chunkVTY64I6Hcjs.NUMBER_FORMAT_PRESETS; exports.NumberFormat = _chunk55AKPTLMcjs.NumberFormat; exports.SPREADSHEET_CLIPBOARD_MIME = _chunkVTY64I6Hcjs.SPREADSHEET_CLIPBOARD_MIME; exports.SPREADSHEET_COLUMN_HEADER_HEIGHT = _chunkVTY64I6Hcjs.SPREADSHEET_COLUMN_HEADER_HEIGHT; exports.SPREADSHEET_DEFAULT_VIEWPORT = _chunkVTY64I6Hcjs.SPREADSHEET_DEFAULT_VIEWPORT; exports.SPREADSHEET_GROUP_ROW_HEIGHT = _chunkVTY64I6Hcjs.SPREADSHEET_GROUP_ROW_HEIGHT; exports.SPREADSHEET_IMPORT_ADAPTERS = _chunkVTY64I6Hcjs.SPREADSHEET_IMPORT_ADAPTERS; exports.SPREADSHEET_ROW_HEADER_WIDTH = _chunkVTY64I6Hcjs.SPREADSHEET_ROW_HEADER_WIDTH; exports.SPREADSHEET_TABLE_ACTIONS = _chunkVTY64I6Hcjs.SPREADSHEET_TABLE_ACTIONS; exports.SPREADSHEET_VIRTUAL_COLUMN_THRESHOLD = _chunkVTY64I6Hcjs.SPREADSHEET_VIRTUAL_COLUMN_THRESHOLD; exports.SPREADSHEET_VIRTUAL_ROW_THRESHOLD = _chunkVTY64I6Hcjs.SPREADSHEET_VIRTUAL_ROW_THRESHOLD; exports.SpreadsheetController = _chunkVTY64I6Hcjs.SpreadsheetController; exports.WHOLE_COLUMN_END_ROW = _chunk2RUNJYOXcjs.WHOLE_COLUMN_END_ROW; exports.adjustRangeForStructuralChange = _chunkVTY64I6Hcjs.adjustRangeForStructuralChange; exports.adjustRangesForStructuralChange = _chunkVTY64I6Hcjs.adjustRangesForStructuralChange; exports.aggregateValues = _chunk2RUNJYOXcjs.aggregateValues; exports.applyFormulaSuggestion = _chunkVTY64I6Hcjs.applyFormulaSuggestion; exports.bindSpreadsheetTableActions = _chunkVTY64I6Hcjs.bindSpreadsheetTableActions; exports.blendConditionalFormatColors = _chunkVTY64I6Hcjs.blendConditionalFormatColors; exports.buildSpreadsheetView = _chunkVTY64I6Hcjs.buildSpreadsheetView; exports.builtinNumberFormat = _chunk55AKPTLMcjs.builtinNumberFormat; exports.builtinNumberFormatId = _chunk55AKPTLMcjs.builtinNumberFormatId; exports.cellFormatForNumberFormat = _chunkVTY64I6Hcjs.cellFormatForNumberFormat; exports.checkFormulaArgumentCount = _chunk2RUNJYOXcjs.checkFormulaArgumentCount; exports.clampMenuPosition = _chunkVTY64I6Hcjs.clampMenuPosition; exports.clearNumberFormatCache = _chunk55AKPTLMcjs.clearNumberFormatCache; exports.colNameToIndex = _chunk55AKPTLMcjs.colNameToIndex; exports.columnDependencyKey = _chunkVTY64I6Hcjs.columnDependencyKey; exports.compareCellValues = _chunk2RUNJYOXcjs.compareCellValues; exports.compareNumbers = _chunk55AKPTLMcjs.compareNumbers; exports.compareValues = _chunk55AKPTLMcjs.compareValues; exports.computeFillTarget = _chunk2RUNJYOXcjs.computeFillTarget; exports.computeRowGroups = _chunkVTY64I6Hcjs.computeRowGroups; exports.conditionalFormatContrastColor = _chunkVTY64I6Hcjs.conditionalFormatContrastColor; exports.conditionalFormatIconCount = _chunkVTY64I6Hcjs.conditionalFormatIconCount; exports.conditionalFormatNumber = _chunkVTY64I6Hcjs.conditionalFormatNumber; exports.conditionalFormatStyleString = _chunkVTY64I6Hcjs.conditionalFormatStyleString; exports.copySheetName = _chunkVTY64I6Hcjs.copySheetName; exports.createConditionalFormatRule = _chunkVTY64I6Hcjs.createConditionalFormatRule; exports.createSpreadsheetClipboardData = _chunkVTY64I6Hcjs.createSpreadsheetClipboardData; exports.csvImportAdapter = _chunkVTY64I6Hcjs.csvImportAdapter; exports.dateValueToSerial = _chunk55AKPTLMcjs.dateValueToSerial; exports.defaultIconThresholds = _chunkVTY64I6Hcjs.defaultIconThresholds; exports.deleteSheetInFormula = _chunkVTY64I6Hcjs.deleteSheetInFormula; exports.describeConditionalFormat = _chunkVTY64I6Hcjs.describeConditionalFormat; exports.describeDataValidation = _chunkVTY64I6Hcjs.describeDataValidation; exports.describeFormulaError = _chunk2RUNJYOXcjs.describeFormulaError; exports.escapeCsvField = _chunkN3KJFGXTcjs.escapeCsvField; exports.evaluateConditionalFormats = _chunkVTY64I6Hcjs.evaluateConditionalFormats; exports.extractCellDependencies = _chunkVTY64I6Hcjs.extractCellDependencies; exports.extractNameDependencies = _chunkVTY64I6Hcjs.extractNameDependencies; exports.extractReferenceDependencies = _chunkVTY64I6Hcjs.extractReferenceDependencies; exports.fillSeries = _chunk2RUNJYOXcjs.fillSeries; exports.findDataValidation = _chunkVTY64I6Hcjs.findDataValidation; exports.findInvalidCells = _chunkVTY64I6Hcjs.findInvalidCells; exports.forEachRangeCell = _chunkVTY64I6Hcjs.forEachRangeCell; exports.formatCellDisplay = _chunkVTY64I6Hcjs.formatCellDisplay; exports.formatCellForDisplay = _chunkVTY64I6Hcjs.formatCellForDisplay; exports.formatGeneralFit = _chunk55AKPTLMcjs.formatGeneralFit; exports.formatNumberFormatValue = _chunk55AKPTLMcjs.formatNumberFormatValue; exports.formatRuleRanges = _chunkVTY64I6Hcjs.formatRuleRanges; exports.formatSheetPrefix = _chunkVTY64I6Hcjs.formatSheetPrefix; exports.formatTextFunction = _chunk55AKPTLMcjs.formatTextFunction; exports.formatValueWithCode = _chunkVTY64I6Hcjs.formatValueWithCode; exports.formulaIdentifiers = _chunkVTY64I6Hcjs.formulaIdentifiers; exports.fullSpreadsheetViewWindow = _chunkVTY64I6Hcjs.fullSpreadsheetViewWindow; exports.getConditionalFormatCss = _chunkVTY64I6Hcjs.getConditionalFormatCss; exports.getConditionalFormatIcon = _chunkVTY64I6Hcjs.getConditionalFormatIcon; exports.getDataBarCss = _chunkVTY64I6Hcjs.getDataBarCss; exports.getFillDirection = _chunk2RUNJYOXcjs.getFillDirection; exports.getFormulaArgumentSpecIndex = _chunk2RUNJYOXcjs.getFormulaArgumentSpecIndex; exports.getFormulaCaretContext = _chunkVTY64I6Hcjs.getFormulaCaretContext; exports.getFormulaFunction = _chunk2RUNJYOXcjs.getFormulaFunction; exports.getFormulaHints = _chunkVTY64I6Hcjs.getFormulaHints; exports.getFormulaSignature = _chunk2RUNJYOXcjs.getFormulaSignature; exports.getFormulaSignatureParts = _chunk2RUNJYOXcjs.getFormulaSignatureParts; exports.getNameManagerRows = _chunkVTY64I6Hcjs.getNameManagerRows; exports.getRowSection = _chunkVTY64I6Hcjs.getRowSection; exports.getSheetTabMenuItems = _chunkVTY64I6Hcjs.getSheetTabMenuItems; exports.getSpreadsheetMenuItems = _chunkVTY64I6Hcjs.getSpreadsheetMenuItems; exports.getSpreadsheetScrollToCell = _chunkVTY64I6Hcjs.getSpreadsheetScrollToCell; exports.getSpreadsheetViewWindow = _chunkVTY64I6Hcjs.getSpreadsheetViewWindow; exports.getTableSections = _chunkVTY64I6Hcjs.getTableSections; exports.getValidationListValues = _chunkVTY64I6Hcjs.getValidationListValues; exports.importFileIntoSpreadsheet = _chunkVTY64I6Hcjs.importFileIntoSpreadsheet; exports.indexToColName = _chunk55AKPTLMcjs.indexToColName; exports.isBlankValue = _chunk2RUNJYOXcjs.isBlankValue; exports.isFormulaError = _chunk55AKPTLMcjs.isFormulaError; exports.isFormulaLambda = _chunk2RUNJYOXcjs.isFormulaLambda; exports.isGeneralNumberFormat = _chunkVTY64I6Hcjs.isGeneralNumberFormat; exports.isLambdaDefinition = _chunkVTY64I6Hcjs.isLambdaDefinition; exports.isSingleCellRange = _chunk2RUNJYOXcjs.isSingleCellRange; exports.listFormulaFunctions = _chunk2RUNJYOXcjs.listFormulaFunctions; exports.mapConditionalFormatFormulas = _chunkVTY64I6Hcjs.mapConditionalFormatFormulas; exports.mapDataValidationFormulas = _chunkVTY64I6Hcjs.mapDataValidationFormulas; exports.mapFormulaReferences = _chunkVTY64I6Hcjs.mapFormulaReferences; exports.matchesFilterRule = _chunk2RUNJYOXcjs.matchesFilterRule; exports.matchesTimePeriod = _chunkVTY64I6Hcjs.matchesTimePeriod; exports.measureSpreadsheetView = _chunkVTY64I6Hcjs.measureSpreadsheetView; exports.mergeRuleRanges = _chunkVTY64I6Hcjs.mergeRuleRanges; exports.nextSheetName = _chunkVTY64I6Hcjs.nextSheetName; exports.normalizeRange = _chunk2RUNJYOXcjs.normalizeRange; exports.numberFormatColorToCss = _chunk55AKPTLMcjs.numberFormatColorToCss; exports.numberFormatForCellFormat = _chunkVTY64I6Hcjs.numberFormatForCellFormat; exports.numberToText = _chunk55AKPTLMcjs.numberToText; exports.offsetFormulaReferences = _chunkVTY64I6Hcjs.offsetFormulaReferences; exports.parseCellInput = _chunk55AKPTLMcjs.parseCellInput; exports.parseCellReference = _chunk2RUNJYOXcjs.parseCellReference; exports.parseCriteria = _chunk2RUNJYOXcjs.parseCriteria; exports.parseCsv = _chunkN3KJFGXTcjs.parseCsv; exports.parseFormula = _chunk2RUNJYOXcjs.parseFormula; exports.parseHtmlTable = _chunkVTY64I6Hcjs.parseHtmlTable; exports.parseNumberText = _chunk55AKPTLMcjs.parseNumberText; exports.parseRange = _chunk2RUNJYOXcjs.parseRange; exports.parseRuleRanges = _chunkVTY64I6Hcjs.parseRuleRanges; exports.parseTsv = _chunkN3KJFGXTcjs.parseTsv; exports.quoteSheetName = _chunkVTY64I6Hcjs.quoteSheetName; exports.rangeContains = _chunk2RUNJYOXcjs.rangeContains; exports.rangeContainsRange = _chunk2RUNJYOXcjs.rangeContainsRange; exports.rangeDependencyKey = _chunkVTY64I6Hcjs.rangeDependencyKey; exports.rangesContain = _chunkVTY64I6Hcjs.rangesContain; exports.rangesIntersect = _chunk2RUNJYOXcjs.rangesIntersect; exports.readSpreadsheetClipboard = _chunkVTY64I6Hcjs.readSpreadsheetClipboard; exports.reanchorRuleFormula = _chunkVTY64I6Hcjs.reanchorRuleFormula; exports.rebaseClipboardRows = _chunkVTY64I6Hcjs.rebaseClipboardRows; exports.registerFormulaFunction = _chunk2RUNJYOXcjs.registerFormulaFunction; exports.registerSpreadsheetImportAdapters = _chunkVTY64I6Hcjs.registerSpreadsheetImportAdapters; exports.remapFormulaReferences = _chunkVTY64I6Hcjs.remapFormulaReferences; exports.renameNameInFormula = _chunkVTY64I6Hcjs.renameNameInFormula; exports.renameSheetInFormula = _chunkVTY64I6Hcjs.renameSheetInFormula; exports.roundFloat = _chunk2RUNJYOXcjs.roundFloat; exports.rowPassesFilters = _chunkVTY64I6Hcjs.rowPassesFilters; exports.ruleAnchor = _chunkVTY64I6Hcjs.ruleAnchor; exports.ruleFormulaAt = _chunkVTY64I6Hcjs.ruleFormulaAt; exports.runSpreadsheetMenuItem = _chunkVTY64I6Hcjs.runSpreadsheetMenuItem; exports.sameSpreadsheetViewWindow = _chunkVTY64I6Hcjs.sameSpreadsheetViewWindow; exports.searchFormulaFunctions = _chunk2RUNJYOXcjs.searchFormulaFunctions; exports.serialFromYmd = _chunk55AKPTLMcjs.serialFromYmd; exports.serializeCsv = _chunkN3KJFGXTcjs.serializeCsv; exports.serializeHtmlTable = _chunkVTY64I6Hcjs.serializeHtmlTable; exports.serializeTsv = _chunkN3KJFGXTcjs.serializeTsv; exports.sheetDropIndex = _chunkVTY64I6Hcjs.sheetDropIndex; exports.sheetNameNeedsQuotes = _chunkVTY64I6Hcjs.sheetNameNeedsQuotes; exports.shiftFormulaReferences = _chunkVTY64I6Hcjs.shiftFormulaReferences; exports.shiftRuleFormula = _chunkVTY64I6Hcjs.shiftRuleFormula; exports.shouldVirtualizeSpreadsheet = _chunkVTY64I6Hcjs.shouldVirtualizeSpreadsheet; exports.sortCompareValues = _chunk55AKPTLMcjs.sortCompareValues; exports.sortRuleRanges = _chunkVTY64I6Hcjs.sortRuleRanges; exports.sortRules = _chunkVTY64I6Hcjs.sortRules; exports.subtractRange = _chunkVTY64I6Hcjs.subtractRange; exports.subtractRangeFromRanges = _chunkVTY64I6Hcjs.subtractRangeFromRanges; exports.toNumber = _chunk2RUNJYOXcjs.toNumber; exports.tokenizeFormula = _chunk2RUNJYOXcjs.tokenizeFormula; exports.transposeFormulaReferences = _chunkVTY64I6Hcjs.transposeFormulaReferences; exports.transposeRuleFormula = _chunkVTY64I6Hcjs.transposeRuleFormula; exports.transposeRuleRanges = _chunkVTY64I6Hcjs.transposeRuleRanges; exports.transposeRules = _chunkVTY64I6Hcjs.transposeRules; exports.tsvImportAdapter = _chunkVTY64I6Hcjs.tsvImportAdapter; exports.unregisterFormulaFunction = _chunk2RUNJYOXcjs.unregisterFormulaFunction; exports.validateCellInput = _chunkVTY64I6Hcjs.validateCellInput; exports.validateDefinedName = _chunkVTY64I6Hcjs.validateDefinedName; exports.validateSheetName = _chunkVTY64I6Hcjs.validateSheetName; exports.wildcardToRegExp = _chunk2RUNJYOXcjs.wildcardToRegExp;
390
+
391
+
392
+ exports.CONDITIONAL_FORMAT_ICON_SETS = _chunkQSM3MDDJcjs.CONDITIONAL_FORMAT_ICON_SETS; exports.CONDITIONAL_FORMAT_PRESETS = _chunkQSM3MDDJcjs.CONDITIONAL_FORMAT_PRESETS; exports.CONDITIONAL_FORMAT_STYLE_PRESETS = _chunkQSM3MDDJcjs.CONDITIONAL_FORMAT_STYLE_PRESETS; exports.CONDITIONAL_FORMAT_TIME_PERIODS = _chunkQSM3MDDJcjs.CONDITIONAL_FORMAT_TIME_PERIODS; exports.ConditionalFormatEngine = _chunkQSM3MDDJcjs.ConditionalFormatEngine; exports.DATA_VALIDATION_ERROR_STYLE_OPTIONS = _chunkQSM3MDDJcjs.DATA_VALIDATION_ERROR_STYLE_OPTIONS; exports.DATA_VALIDATION_OPERATOR_OPTIONS = _chunkQSM3MDDJcjs.DATA_VALIDATION_OPERATOR_OPTIONS; exports.DATA_VALIDATION_TYPE_OPTIONS = _chunkQSM3MDDJcjs.DATA_VALIDATION_TYPE_OPTIONS; exports.DEFAULT_COLUMN_WIDTH = _chunkQSM3MDDJcjs.DEFAULT_COLUMN_WIDTH; exports.DEFAULT_CONDITIONAL_FORMAT_STYLE = _chunkQSM3MDDJcjs.DEFAULT_CONDITIONAL_FORMAT_STYLE; exports.DEFAULT_DATA_VALIDATION_MESSAGE = _chunkQSM3MDDJcjs.DEFAULT_DATA_VALIDATION_MESSAGE; exports.DEFAULT_DATA_VALIDATION_TITLE = _chunkQSM3MDDJcjs.DEFAULT_DATA_VALIDATION_TITLE; exports.DEFAULT_ROW_HEIGHT = _chunkQSM3MDDJcjs.DEFAULT_ROW_HEIGHT; exports.DataSourceBinder = _chunkQSM3MDDJcjs.DataSourceBinder; exports.DependencyGraph = _chunkQSM3MDDJcjs.DependencyGraph; exports.EMPTY_CONDITIONAL_FORMAT_OVERLAY = _chunkQSM3MDDJcjs.EMPTY_CONDITIONAL_FORMAT_OVERLAY; exports.FORMULA_ERRORS = _chunk55AKPTLMcjs.FORMULA_ERRORS; exports.FormulaEvaluator = _chunkQZFEX2N4cjs.FormulaEvaluator; exports.FormulaLambda = _chunkQZFEX2N4cjs.FormulaLambda; exports.FormulaParser = _chunkQZFEX2N4cjs.FormulaParser; exports.IntervalIndex = _chunkQSM3MDDJcjs.IntervalIndex; exports.MAX_DEFINED_NAME_LENGTH = _chunkQSM3MDDJcjs.MAX_DEFINED_NAME_LENGTH; exports.MAX_FORMULA_ARRAY_SIZE = _chunkQZFEX2N4cjs.MAX_FORMULA_ARRAY_SIZE; exports.MAX_LAMBDA_DEPTH = _chunkQZFEX2N4cjs.MAX_LAMBDA_DEPTH; exports.MAX_NUMBER_FORMAT_CODE_CHARS = _chunk55AKPTLMcjs.MAX_NUMBER_FORMAT_CODE_CHARS; exports.MAX_SHEET_NAME_LENGTH = _chunkQSM3MDDJcjs.MAX_SHEET_NAME_LENGTH; exports.NUMBER_FORMAT_PRESETS = _chunkQSM3MDDJcjs.NUMBER_FORMAT_PRESETS; exports.NumberFormat = _chunk55AKPTLMcjs.NumberFormat; exports.SPREADSHEET_CLIPBOARD_MIME = _chunkQSM3MDDJcjs.SPREADSHEET_CLIPBOARD_MIME; exports.SPREADSHEET_COLUMN_HEADER_HEIGHT = _chunkQSM3MDDJcjs.SPREADSHEET_COLUMN_HEADER_HEIGHT; exports.SPREADSHEET_DEFAULT_VIEWPORT = _chunkQSM3MDDJcjs.SPREADSHEET_DEFAULT_VIEWPORT; exports.SPREADSHEET_GROUP_ROW_HEIGHT = _chunkQSM3MDDJcjs.SPREADSHEET_GROUP_ROW_HEIGHT; exports.SPREADSHEET_IMPORT_ADAPTERS = _chunkQSM3MDDJcjs.SPREADSHEET_IMPORT_ADAPTERS; exports.SPREADSHEET_ROW_HEADER_WIDTH = _chunkQSM3MDDJcjs.SPREADSHEET_ROW_HEADER_WIDTH; exports.SPREADSHEET_TABLE_ACTIONS = _chunkQSM3MDDJcjs.SPREADSHEET_TABLE_ACTIONS; exports.SPREADSHEET_VIRTUAL_COLUMN_THRESHOLD = _chunkQSM3MDDJcjs.SPREADSHEET_VIRTUAL_COLUMN_THRESHOLD; exports.SPREADSHEET_VIRTUAL_ROW_THRESHOLD = _chunkQSM3MDDJcjs.SPREADSHEET_VIRTUAL_ROW_THRESHOLD; exports.SpreadsheetController = _chunkQSM3MDDJcjs.SpreadsheetController; exports.WHOLE_COLUMN_END_ROW = _chunkQZFEX2N4cjs.WHOLE_COLUMN_END_ROW; exports.adjustRangeForStructuralChange = _chunkQSM3MDDJcjs.adjustRangeForStructuralChange; exports.adjustRangesForStructuralChange = _chunkQSM3MDDJcjs.adjustRangesForStructuralChange; exports.aggregateValues = _chunkQZFEX2N4cjs.aggregateValues; exports.applyFormulaSuggestion = _chunkQSM3MDDJcjs.applyFormulaSuggestion; exports.bindSpreadsheetTableActions = _chunkQSM3MDDJcjs.bindSpreadsheetTableActions; exports.blendConditionalFormatColors = _chunkQSM3MDDJcjs.blendConditionalFormatColors; exports.buildSpreadsheetView = _chunkQSM3MDDJcjs.buildSpreadsheetView; exports.builtinNumberFormat = _chunk55AKPTLMcjs.builtinNumberFormat; exports.builtinNumberFormatId = _chunk55AKPTLMcjs.builtinNumberFormatId; exports.cellFormatForNumberFormat = _chunkQSM3MDDJcjs.cellFormatForNumberFormat; exports.checkFormulaArgumentCount = _chunkQZFEX2N4cjs.checkFormulaArgumentCount; exports.clampMenuPosition = _chunkQSM3MDDJcjs.clampMenuPosition; exports.clearNumberFormatCache = _chunk55AKPTLMcjs.clearNumberFormatCache; exports.colNameToIndex = _chunk55AKPTLMcjs.colNameToIndex; exports.columnDependencyKey = _chunkQSM3MDDJcjs.columnDependencyKey; exports.compareCellValues = _chunkQZFEX2N4cjs.compareCellValues; exports.compareNumbers = _chunk55AKPTLMcjs.compareNumbers; exports.compareValues = _chunk55AKPTLMcjs.compareValues; exports.computeFillTarget = _chunkQZFEX2N4cjs.computeFillTarget; exports.computeRowGroups = _chunkQSM3MDDJcjs.computeRowGroups; exports.conditionalFormatContrastColor = _chunkQSM3MDDJcjs.conditionalFormatContrastColor; exports.conditionalFormatIconCount = _chunkQSM3MDDJcjs.conditionalFormatIconCount; exports.conditionalFormatNumber = _chunkQSM3MDDJcjs.conditionalFormatNumber; exports.conditionalFormatStyleString = _chunkQSM3MDDJcjs.conditionalFormatStyleString; exports.copySheetName = _chunkQSM3MDDJcjs.copySheetName; exports.createConditionalFormatRule = _chunkQSM3MDDJcjs.createConditionalFormatRule; exports.createSpreadsheetClipboardData = _chunkQSM3MDDJcjs.createSpreadsheetClipboardData; exports.csvImportAdapter = _chunkQSM3MDDJcjs.csvImportAdapter; exports.dateValueToSerial = _chunk55AKPTLMcjs.dateValueToSerial; exports.defaultIconThresholds = _chunkQSM3MDDJcjs.defaultIconThresholds; exports.deleteSheetInFormula = _chunkQSM3MDDJcjs.deleteSheetInFormula; exports.describeConditionalFormat = _chunkQSM3MDDJcjs.describeConditionalFormat; exports.describeDataValidation = _chunkQSM3MDDJcjs.describeDataValidation; exports.describeFormulaError = _chunkQZFEX2N4cjs.describeFormulaError; exports.escapeCsvField = _chunkN3KJFGXTcjs.escapeCsvField; exports.evaluateConditionalFormats = _chunkQSM3MDDJcjs.evaluateConditionalFormats; exports.extractCellDependencies = _chunkQSM3MDDJcjs.extractCellDependencies; exports.extractNameDependencies = _chunkQSM3MDDJcjs.extractNameDependencies; exports.extractReferenceDependencies = _chunkQSM3MDDJcjs.extractReferenceDependencies; exports.fillSeries = _chunkQZFEX2N4cjs.fillSeries; exports.findDataValidation = _chunkQSM3MDDJcjs.findDataValidation; exports.findInvalidCells = _chunkQSM3MDDJcjs.findInvalidCells; exports.forEachRangeCell = _chunkQSM3MDDJcjs.forEachRangeCell; exports.formatCellDisplay = _chunkQSM3MDDJcjs.formatCellDisplay; exports.formatCellForDisplay = _chunkQSM3MDDJcjs.formatCellForDisplay; exports.formatGeneralFit = _chunk55AKPTLMcjs.formatGeneralFit; exports.formatNumberFormatValue = _chunk55AKPTLMcjs.formatNumberFormatValue; exports.formatRuleRanges = _chunkQSM3MDDJcjs.formatRuleRanges; exports.formatSheetPrefix = _chunkQSM3MDDJcjs.formatSheetPrefix; exports.formatTextFunction = _chunk55AKPTLMcjs.formatTextFunction; exports.formatValueWithCode = _chunkQSM3MDDJcjs.formatValueWithCode; exports.formulaIdentifiers = _chunkQSM3MDDJcjs.formulaIdentifiers; exports.fullSpreadsheetViewWindow = _chunkQSM3MDDJcjs.fullSpreadsheetViewWindow; exports.getConditionalFormatCss = _chunkQSM3MDDJcjs.getConditionalFormatCss; exports.getConditionalFormatIcon = _chunkQSM3MDDJcjs.getConditionalFormatIcon; exports.getDataBarCss = _chunkQSM3MDDJcjs.getDataBarCss; exports.getFillDirection = _chunkQZFEX2N4cjs.getFillDirection; exports.getFormulaArgumentSpecIndex = _chunkQZFEX2N4cjs.getFormulaArgumentSpecIndex; exports.getFormulaCaretContext = _chunkQSM3MDDJcjs.getFormulaCaretContext; exports.getFormulaFunction = _chunkQZFEX2N4cjs.getFormulaFunction; exports.getFormulaHints = _chunkQSM3MDDJcjs.getFormulaHints; exports.getFormulaSignature = _chunkQZFEX2N4cjs.getFormulaSignature; exports.getFormulaSignatureParts = _chunkQZFEX2N4cjs.getFormulaSignatureParts; exports.getNameManagerRows = _chunkQSM3MDDJcjs.getNameManagerRows; exports.getRowSection = _chunkQSM3MDDJcjs.getRowSection; exports.getSheetTabMenuItems = _chunkQSM3MDDJcjs.getSheetTabMenuItems; exports.getSpreadsheetMenuItems = _chunkQSM3MDDJcjs.getSpreadsheetMenuItems; exports.getSpreadsheetScrollToCell = _chunkQSM3MDDJcjs.getSpreadsheetScrollToCell; exports.getSpreadsheetViewWindow = _chunkQSM3MDDJcjs.getSpreadsheetViewWindow; exports.getTableSections = _chunkQSM3MDDJcjs.getTableSections; exports.getValidationListValues = _chunkQSM3MDDJcjs.getValidationListValues; exports.importFileIntoSpreadsheet = _chunkQSM3MDDJcjs.importFileIntoSpreadsheet; exports.indexToColName = _chunk55AKPTLMcjs.indexToColName; exports.isBlankValue = _chunkQZFEX2N4cjs.isBlankValue; exports.isFormulaError = _chunk55AKPTLMcjs.isFormulaError; exports.isFormulaLambda = _chunkQZFEX2N4cjs.isFormulaLambda; exports.isGeneralNumberFormat = _chunkQSM3MDDJcjs.isGeneralNumberFormat; exports.isLambdaDefinition = _chunkQSM3MDDJcjs.isLambdaDefinition; exports.isSingleCellRange = _chunkQZFEX2N4cjs.isSingleCellRange; exports.listFormulaFunctions = _chunkQZFEX2N4cjs.listFormulaFunctions; exports.mapConditionalFormatFormulas = _chunkQSM3MDDJcjs.mapConditionalFormatFormulas; exports.mapDataValidationFormulas = _chunkQSM3MDDJcjs.mapDataValidationFormulas; exports.mapFormulaReferences = _chunkQSM3MDDJcjs.mapFormulaReferences; exports.matchesFilterRule = _chunkQZFEX2N4cjs.matchesFilterRule; exports.matchesTimePeriod = _chunkQSM3MDDJcjs.matchesTimePeriod; exports.measureSpreadsheetView = _chunkQSM3MDDJcjs.measureSpreadsheetView; exports.mergeRuleRanges = _chunkQSM3MDDJcjs.mergeRuleRanges; exports.nextSheetName = _chunkQSM3MDDJcjs.nextSheetName; exports.normalizeRange = _chunkQZFEX2N4cjs.normalizeRange; exports.numberFormatColorToCss = _chunk55AKPTLMcjs.numberFormatColorToCss; exports.numberFormatForCellFormat = _chunkQSM3MDDJcjs.numberFormatForCellFormat; exports.numberToText = _chunk55AKPTLMcjs.numberToText; exports.offsetFormulaReferences = _chunkQSM3MDDJcjs.offsetFormulaReferences; exports.parseCellInput = _chunk55AKPTLMcjs.parseCellInput; exports.parseCellReference = _chunkQZFEX2N4cjs.parseCellReference; exports.parseCriteria = _chunkQZFEX2N4cjs.parseCriteria; exports.parseCsv = _chunkN3KJFGXTcjs.parseCsv; exports.parseFormula = _chunkQZFEX2N4cjs.parseFormula; exports.parseHtmlTable = _chunkQSM3MDDJcjs.parseHtmlTable; exports.parseNumberText = _chunk55AKPTLMcjs.parseNumberText; exports.parseRange = _chunkQZFEX2N4cjs.parseRange; exports.parseRuleRanges = _chunkQSM3MDDJcjs.parseRuleRanges; exports.parseSpreadsheetPlaybackRef = _chunkQZFEX2N4cjs.parseSpreadsheetPlaybackRef; exports.parseTsv = _chunkN3KJFGXTcjs.parseTsv; exports.planSpreadsheetToolPlayback = _chunkQZFEX2N4cjs.planSpreadsheetToolPlayback; exports.quoteSheetName = _chunkQSM3MDDJcjs.quoteSheetName; exports.rangeContains = _chunkQZFEX2N4cjs.rangeContains; exports.rangeContainsRange = _chunkQZFEX2N4cjs.rangeContainsRange; exports.rangeDependencyKey = _chunkQSM3MDDJcjs.rangeDependencyKey; exports.rangesContain = _chunkQSM3MDDJcjs.rangesContain; exports.rangesIntersect = _chunkQZFEX2N4cjs.rangesIntersect; exports.readSpreadsheetClipboard = _chunkQSM3MDDJcjs.readSpreadsheetClipboard; exports.reanchorRuleFormula = _chunkQSM3MDDJcjs.reanchorRuleFormula; exports.rebaseClipboardRows = _chunkQSM3MDDJcjs.rebaseClipboardRows; exports.registerFormulaFunction = _chunkQZFEX2N4cjs.registerFormulaFunction; exports.registerSpreadsheetImportAdapters = _chunkQSM3MDDJcjs.registerSpreadsheetImportAdapters; exports.remapFormulaReferences = _chunkQSM3MDDJcjs.remapFormulaReferences; exports.renameNameInFormula = _chunkQSM3MDDJcjs.renameNameInFormula; exports.renameSheetInFormula = _chunkQSM3MDDJcjs.renameSheetInFormula; exports.roundFloat = _chunkQZFEX2N4cjs.roundFloat; exports.rowPassesFilters = _chunkQSM3MDDJcjs.rowPassesFilters; exports.ruleAnchor = _chunkQSM3MDDJcjs.ruleAnchor; exports.ruleFormulaAt = _chunkQSM3MDDJcjs.ruleFormulaAt; exports.runSpreadsheetMenuItem = _chunkQSM3MDDJcjs.runSpreadsheetMenuItem; exports.sameSpreadsheetViewWindow = _chunkQSM3MDDJcjs.sameSpreadsheetViewWindow; exports.searchFormulaFunctions = _chunkQZFEX2N4cjs.searchFormulaFunctions; exports.serialFromYmd = _chunk55AKPTLMcjs.serialFromYmd; exports.serializeCsv = _chunkN3KJFGXTcjs.serializeCsv; exports.serializeHtmlTable = _chunkQSM3MDDJcjs.serializeHtmlTable; exports.serializeTsv = _chunkN3KJFGXTcjs.serializeTsv; exports.sheetDropIndex = _chunkQSM3MDDJcjs.sheetDropIndex; exports.sheetNameNeedsQuotes = _chunkQSM3MDDJcjs.sheetNameNeedsQuotes; exports.shiftFormulaReferences = _chunkQSM3MDDJcjs.shiftFormulaReferences; exports.shiftRuleFormula = _chunkQSM3MDDJcjs.shiftRuleFormula; exports.shouldVirtualizeSpreadsheet = _chunkQSM3MDDJcjs.shouldVirtualizeSpreadsheet; exports.sortCompareValues = _chunk55AKPTLMcjs.sortCompareValues; exports.sortRuleRanges = _chunkQSM3MDDJcjs.sortRuleRanges; exports.sortRules = _chunkQSM3MDDJcjs.sortRules; exports.subtractRange = _chunkQSM3MDDJcjs.subtractRange; exports.subtractRangeFromRanges = _chunkQSM3MDDJcjs.subtractRangeFromRanges; exports.toNumber = _chunkQZFEX2N4cjs.toNumber; exports.tokenizeFormula = _chunkQZFEX2N4cjs.tokenizeFormula; exports.transposeFormulaReferences = _chunkQSM3MDDJcjs.transposeFormulaReferences; exports.transposeRuleFormula = _chunkQSM3MDDJcjs.transposeRuleFormula; exports.transposeRuleRanges = _chunkQSM3MDDJcjs.transposeRuleRanges; exports.transposeRules = _chunkQSM3MDDJcjs.transposeRules; exports.tsvImportAdapter = _chunkQSM3MDDJcjs.tsvImportAdapter; exports.unregisterFormulaFunction = _chunkQZFEX2N4cjs.unregisterFormulaFunction; exports.validateCellInput = _chunkQSM3MDDJcjs.validateCellInput; exports.validateDefinedName = _chunkQSM3MDDJcjs.validateDefinedName; exports.validateSheetName = _chunkQSM3MDDJcjs.validateSheetName; exports.wildcardToRegExp = _chunkQZFEX2N4cjs.wildcardToRegExp;
@@ -17,3 +17,4 @@ export * from './conditional-format/index.cjs';
17
17
  export * from './validation/index.cjs';
18
18
  export * from './rule-ranges.cjs';
19
19
  export * from './viewport.cjs';
20
+ export * from './playback.cjs';
@@ -17,3 +17,4 @@ export * from './conditional-format/index.js';
17
17
  export * from './validation/index.js';
18
18
  export * from './rule-ranges.js';
19
19
  export * from './viewport.js';
20
+ export * from './playback.js';
@@ -125,7 +125,7 @@ import {
125
125
  validateCellInput,
126
126
  validateDefinedName,
127
127
  validateSheetName
128
- } from "../chunk-LMSFXRAJ.js";
128
+ } from "../chunk-VGJTUCWM.js";
129
129
  import {
130
130
  FormulaEvaluator,
131
131
  FormulaLambda,
@@ -154,6 +154,8 @@ import {
154
154
  parseCriteria,
155
155
  parseFormula,
156
156
  parseRange,
157
+ parseSpreadsheetPlaybackRef,
158
+ planSpreadsheetToolPlayback,
157
159
  rangeContains,
158
160
  rangeContainsRange,
159
161
  rangesIntersect,
@@ -164,7 +166,7 @@ import {
164
166
  tokenizeFormula,
165
167
  unregisterFormulaFunction,
166
168
  wildcardToRegExp
167
- } from "../chunk-E747F3D5.js";
169
+ } from "../chunk-CC6WKVIH.js";
168
170
  import {
169
171
  FORMULA_ERRORS,
170
172
  MAX_NUMBER_FORMAT_CODE_CHARS,
@@ -337,7 +339,9 @@ export {
337
339
  parseNumberText,
338
340
  parseRange,
339
341
  parseRuleRanges,
342
+ parseSpreadsheetPlaybackRef,
340
343
  parseTsv,
344
+ planSpreadsheetToolPlayback,
341
345
  quoteSheetName,
342
346
  rangeContains,
343
347
  rangeContainsRange,
@@ -0,0 +1,15 @@
1
+ import type { PlaybackRef, PlaybackStep } from '../tools/playback.cjs';
2
+ /** Rows and columns (0-based, inclusive) a playback ref covers; `null` ends mean the whole sheet. */
3
+ export interface SpreadsheetPlaybackRange {
4
+ startRow: number | null;
5
+ endRow: number | null;
6
+ startCol: number | null;
7
+ endCol: number | null;
8
+ }
9
+ /**
10
+ * Parses a playback ref to the rows and columns it covers: `{ kind: 'cell', id: 'B2' | 'B2:D5' }`,
11
+ * `{ kind: 'row', id: '5' | '5:7' }` (1-based) or `{ kind: 'column', id: 'C' | 'C:E' }`. Null otherwise.
12
+ */
13
+ export declare function parseSpreadsheetPlaybackRef(ref: PlaybackRef): SpreadsheetPlaybackRange | null;
14
+ /** The cursor steps for one spreadsheet tool call (by bare name), or null to visit its `range` / `cell`. */
15
+ export declare function planSpreadsheetToolPlayback(tool: string, args: Record<string, any>): PlaybackStep[] | null;
@@ -0,0 +1,15 @@
1
+ import type { PlaybackRef, PlaybackStep } from '../tools/playback.js';
2
+ /** Rows and columns (0-based, inclusive) a playback ref covers; `null` ends mean the whole sheet. */
3
+ export interface SpreadsheetPlaybackRange {
4
+ startRow: number | null;
5
+ endRow: number | null;
6
+ startCol: number | null;
7
+ endCol: number | null;
8
+ }
9
+ /**
10
+ * Parses a playback ref to the rows and columns it covers: `{ kind: 'cell', id: 'B2' | 'B2:D5' }`,
11
+ * `{ kind: 'row', id: '5' | '5:7' }` (1-based) or `{ kind: 'column', id: 'C' | 'C:E' }`. Null otherwise.
12
+ */
13
+ export declare function parseSpreadsheetPlaybackRef(ref: PlaybackRef): SpreadsheetPlaybackRange | null;
14
+ /** The cursor steps for one spreadsheet tool call (by bare name), or null to visit its `range` / `cell`. */
15
+ export declare function planSpreadsheetToolPlayback(tool: string, args: Record<string, any>): PlaybackStep[] | null;
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-TNCWKC5M.cjs');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkXH32BATEcjs = require('../chunk-XH32BATE.cjs');
2
6
 
3
7
 
4
8
 
@@ -33,7 +37,7 @@ var _chunkY4BWZB6Jcjs = require('../chunk-Y4BWZB6J.cjs');
33
37
 
34
38
 
35
39
 
36
- var _chunk6SFREX6Hcjs = require('../chunk-6SFREX6H.cjs');
40
+ var _chunkX2HQP7DFcjs = require('../chunk-X2HQP7DF.cjs');
37
41
 
38
42
 
39
43
 
@@ -162,4 +166,7 @@ var _chunkWOFXZ3XUcjs = require('../chunk-WOFXZ3XU.cjs');
162
166
 
163
167
 
164
168
 
165
- exports.AgentPlayback = _chunk6SFREX6Hcjs.AgentPlayback; exports.CAPTURE_EXCLUDE_SELECTOR = _chunkSVFEVKLFcjs.CAPTURE_EXCLUDE_SELECTOR; exports.CAPTURE_OVERLAY_SELECTORS = _chunkSVFEVKLFcjs.CAPTURE_OVERLAY_SELECTORS; exports.EDITOR_CANVAS_TOOLS = _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkSVFEVKLFcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkSVFEVKLFcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkY4BWZB6Jcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkY4BWZB6Jcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkSVFEVKLFcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkSVFEVKLFcjs.MCP_TOOL_VIEW_EDITOR; exports.PRESENCE_COLORS = _chunkUJGAA6AKcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkUJGAA6AKcjs.PerformanceQueue; exports.PresenceStore = _chunkUJGAA6AKcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkY4BWZB6Jcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkY4BWZB6Jcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkY4BWZB6Jcjs.ToolRegistry; exports.ToolRegistryError = _chunkY4BWZB6Jcjs.ToolRegistryError; exports.ToolRegistryView = _chunkY4BWZB6Jcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkY4BWZB6Jcjs.baseToolName; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkY4BWZB6Jcjs.connectToolBridge; exports.createAgentPlayback = _chunk6SFREX6Hcjs.createAgentPlayback; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkUJGAA6AKcjs.createInstantPresenceClock; exports.createMcpServer = _chunkY4BWZB6Jcjs.createMcpServer; exports.createToolRegistry = _chunkY4BWZB6Jcjs.createToolRegistry; exports.derivePlaybackSteps = _chunk6SFREX6Hcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkY4BWZB6Jcjs.errorResult; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkills = _chunkY4BWZB6Jcjs.listSkills; exports.parseSkillFrontmatter = _chunkY4BWZB6Jcjs.parseSkillFrontmatter; exports.playbackRefsFromArgs = _chunk6SFREX6Hcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunk6SFREX6Hcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkY4BWZB6Jcjs.readSkillFile; exports.readingTime = _chunk6SFREX6Hcjs.readingTime; exports.realPresenceClock = _chunkUJGAA6AKcjs.realPresenceClock; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.searchTokens = _chunkY4BWZB6Jcjs.searchTokens; exports.searchTools = _chunkY4BWZB6Jcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkY4BWZB6Jcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkY4BWZB6Jcjs.toToolResult; exports.toolsetInstructions = _chunkY4BWZB6Jcjs.toolsetInstructions; exports.toolsetName = _chunkY4BWZB6Jcjs.toolsetName; exports.tweenPresenceCursor = _chunkUJGAA6AKcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunk6SFREX6Hcjs.unionRects; exports.unknownToolMessage = _chunkY4BWZB6Jcjs.unknownToolMessage; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
169
+
170
+
171
+
172
+ exports.AgentPlayback = _chunkX2HQP7DFcjs.AgentPlayback; exports.CAPTURE_EXCLUDE_SELECTOR = _chunkSVFEVKLFcjs.CAPTURE_EXCLUDE_SELECTOR; exports.CAPTURE_OVERLAY_SELECTORS = _chunkSVFEVKLFcjs.CAPTURE_OVERLAY_SELECTORS; exports.EDITOR_CANVAS_TOOLS = _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkSVFEVKLFcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkSVFEVKLFcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkY4BWZB6Jcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkY4BWZB6Jcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkSVFEVKLFcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkSVFEVKLFcjs.MCP_TOOL_VIEW_EDITOR; exports.PRESENCE_COLORS = _chunkUJGAA6AKcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkUJGAA6AKcjs.PerformanceQueue; exports.PresenceStore = _chunkUJGAA6AKcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkY4BWZB6Jcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkY4BWZB6Jcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkY4BWZB6Jcjs.ToolRegistry; exports.ToolRegistryError = _chunkY4BWZB6Jcjs.ToolRegistryError; exports.ToolRegistryView = _chunkY4BWZB6Jcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkY4BWZB6Jcjs.baseToolName; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkY4BWZB6Jcjs.connectToolBridge; exports.createAgentPlayback = _chunkX2HQP7DFcjs.createAgentPlayback; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkUJGAA6AKcjs.createInstantPresenceClock; exports.createMcpServer = _chunkY4BWZB6Jcjs.createMcpServer; exports.createToolRegistry = _chunkY4BWZB6Jcjs.createToolRegistry; exports.derivePlaybackSteps = _chunkX2HQP7DFcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkY4BWZB6Jcjs.errorResult; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkills = _chunkY4BWZB6Jcjs.listSkills; exports.parseSkillFrontmatter = _chunkY4BWZB6Jcjs.parseSkillFrontmatter; exports.playbackRefsFromArgs = _chunkX2HQP7DFcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunkX2HQP7DFcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkY4BWZB6Jcjs.readSkillFile; exports.readingTime = _chunkX2HQP7DFcjs.readingTime; exports.realPresenceClock = _chunkUJGAA6AKcjs.realPresenceClock; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.runToolScript = _chunkXH32BATEcjs.runToolScript; exports.searchTokens = _chunkY4BWZB6Jcjs.searchTokens; exports.searchTools = _chunkY4BWZB6Jcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkY4BWZB6Jcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkY4BWZB6Jcjs.toToolResult; exports.toolResultError = _chunkXH32BATEcjs.toolResultError; exports.toolResultValue = _chunkXH32BATEcjs.toolResultValue; exports.toolsetInstructions = _chunkY4BWZB6Jcjs.toolsetInstructions; exports.toolsetName = _chunkY4BWZB6Jcjs.toolsetName; exports.tweenPresenceCursor = _chunkUJGAA6AKcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunkX2HQP7DFcjs.unionRects; exports.unknownToolMessage = _chunkY4BWZB6Jcjs.unknownToolMessage; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
@@ -20,3 +20,4 @@ export * from './skills.cjs';
20
20
  export * from './safe-json.cjs';
21
21
  export * from './presence.cjs';
22
22
  export * from './playback.cjs';
23
+ export * from './script.cjs';
@@ -20,3 +20,4 @@ export * from './skills.js';
20
20
  export * from './safe-json.js';
21
21
  export * from './presence.js';
22
22
  export * from './playback.js';
23
+ export * from './script.js';
@@ -1,4 +1,8 @@
1
- import "../chunk-PLKIYNJZ.js";
1
+ import {
2
+ runToolScript,
3
+ toolResultError,
4
+ toolResultValue
5
+ } from "../chunk-Y6SGC6KO.js";
2
6
  import {
3
7
  JSON_RPC_ERRORS,
4
8
  MCP_PROTOCOL_VERSIONS,
@@ -33,7 +37,7 @@ import {
33
37
  playbackRefsFromResult,
34
38
  readingTime,
35
39
  unionRects
36
- } from "../chunk-MFFE55CS.js";
40
+ } from "../chunk-54GVEVXS.js";
37
41
  import {
38
42
  CAPTURE_EXCLUDE_SELECTOR,
39
43
  CAPTURE_OVERLAY_SELECTORS,
@@ -149,12 +153,15 @@ export {
149
153
  readingTime,
150
154
  realPresenceClock,
151
155
  resolveCaptureRequest,
156
+ runToolScript,
152
157
  searchTokens,
153
158
  searchTools,
154
159
  stripPrototypeKeys,
155
160
  summarize,
156
161
  toCapturedImageData,
157
162
  toToolResult,
163
+ toolResultError,
164
+ toolResultValue,
158
165
  toolsetInstructions,
159
166
  toolsetName,
160
167
  tweenPresenceCursor,
@@ -0,0 +1,77 @@
1
+ import type { AgentPlayback } from './playback.cjs';
2
+ import type { PresenceActorInfo } from './presence.cjs';
3
+ import type { McpToolResult, ToolSource } from './registry.cjs';
4
+ /** What earlier steps returned, for the arguments of later ones. */
5
+ export interface ToolScriptContext {
6
+ /** Results kept with `as`, by name (a tool's `structuredContent`, or its JSON text). */
7
+ results: Record<string, any>;
8
+ /** The result of the step before. */
9
+ last: any;
10
+ }
11
+ export interface ToolScriptStep {
12
+ /** What the agent tells the user before it acts (the transcript and the cursor's bubble). */
13
+ say?: string;
14
+ /** Tool to call (an exposed registry name such as `sheet__set_range`). */
15
+ tool?: string;
16
+ /** The tool's arguments, or a function of earlier results that returns them. */
17
+ args?: Record<string, unknown> | ((ctx: ToolScriptContext) => Record<string, unknown>);
18
+ /** Keep the result under this name in `ctx.results`. */
19
+ as?: string;
20
+ }
21
+ export interface ToolScript {
22
+ id: string;
23
+ /** The user's request, as they would type it. */
24
+ prompt: string;
25
+ steps: ToolScriptStep[];
26
+ }
27
+ export type ToolScriptEvent = {
28
+ type: 'say';
29
+ step: number;
30
+ text: string;
31
+ } | {
32
+ type: 'call';
33
+ step: number;
34
+ tool: string;
35
+ args: Record<string, unknown>;
36
+ } | {
37
+ type: 'result';
38
+ step: number;
39
+ tool: string;
40
+ result: McpToolResult;
41
+ } | {
42
+ type: 'error';
43
+ step: number;
44
+ message: string;
45
+ } | {
46
+ type: 'done';
47
+ ok: boolean;
48
+ stopped: boolean;
49
+ };
50
+ /** Speed and stop for a run in progress (`speed: Infinity` finishes without pauses). */
51
+ export interface ToolScriptControl {
52
+ speed: number;
53
+ stopped: boolean;
54
+ }
55
+ export interface RunToolScriptOptions {
56
+ /** Shows each note on the agent's cursor (`playback.say`) and stops its performance on stop. */
57
+ playback?: AgentPlayback | null;
58
+ /** The actor the calls are made as (its own cursor and queue). */
59
+ actor?: PresenceActorInfo;
60
+ onEvent?: (event: ToolScriptEvent) => void;
61
+ control?: ToolScriptControl;
62
+ /** Waits `ms` (already scaled by the speed); real timers by default. */
63
+ wait?: (ms: number) => Promise<void>;
64
+ }
65
+ /** A tool result as a plain value: its `structuredContent`, else its first text block (parsed when JSON). */
66
+ export declare function toolResultValue(result: McpToolResult): any;
67
+ /** The error message of a failed tool result. */
68
+ export declare function toolResultError(result: McpToolResult): string;
69
+ /**
70
+ * Plays `script` against `source` (a `ToolRegistry` or a view of one): each step's note, then its
71
+ * tool call. Stops at the first failure (a tool error or arguments that cannot be built), like an
72
+ * agent that has to rethink, and resolves with the results kept so far.
73
+ */
74
+ export declare function runToolScript(source: ToolSource, script: ToolScript, options?: RunToolScriptOptions): Promise<{
75
+ ok: boolean;
76
+ ctx: ToolScriptContext;
77
+ }>;
@@ -0,0 +1,77 @@
1
+ import type { AgentPlayback } from './playback.js';
2
+ import type { PresenceActorInfo } from './presence.js';
3
+ import type { McpToolResult, ToolSource } from './registry.js';
4
+ /** What earlier steps returned, for the arguments of later ones. */
5
+ export interface ToolScriptContext {
6
+ /** Results kept with `as`, by name (a tool's `structuredContent`, or its JSON text). */
7
+ results: Record<string, any>;
8
+ /** The result of the step before. */
9
+ last: any;
10
+ }
11
+ export interface ToolScriptStep {
12
+ /** What the agent tells the user before it acts (the transcript and the cursor's bubble). */
13
+ say?: string;
14
+ /** Tool to call (an exposed registry name such as `sheet__set_range`). */
15
+ tool?: string;
16
+ /** The tool's arguments, or a function of earlier results that returns them. */
17
+ args?: Record<string, unknown> | ((ctx: ToolScriptContext) => Record<string, unknown>);
18
+ /** Keep the result under this name in `ctx.results`. */
19
+ as?: string;
20
+ }
21
+ export interface ToolScript {
22
+ id: string;
23
+ /** The user's request, as they would type it. */
24
+ prompt: string;
25
+ steps: ToolScriptStep[];
26
+ }
27
+ export type ToolScriptEvent = {
28
+ type: 'say';
29
+ step: number;
30
+ text: string;
31
+ } | {
32
+ type: 'call';
33
+ step: number;
34
+ tool: string;
35
+ args: Record<string, unknown>;
36
+ } | {
37
+ type: 'result';
38
+ step: number;
39
+ tool: string;
40
+ result: McpToolResult;
41
+ } | {
42
+ type: 'error';
43
+ step: number;
44
+ message: string;
45
+ } | {
46
+ type: 'done';
47
+ ok: boolean;
48
+ stopped: boolean;
49
+ };
50
+ /** Speed and stop for a run in progress (`speed: Infinity` finishes without pauses). */
51
+ export interface ToolScriptControl {
52
+ speed: number;
53
+ stopped: boolean;
54
+ }
55
+ export interface RunToolScriptOptions {
56
+ /** Shows each note on the agent's cursor (`playback.say`) and stops its performance on stop. */
57
+ playback?: AgentPlayback | null;
58
+ /** The actor the calls are made as (its own cursor and queue). */
59
+ actor?: PresenceActorInfo;
60
+ onEvent?: (event: ToolScriptEvent) => void;
61
+ control?: ToolScriptControl;
62
+ /** Waits `ms` (already scaled by the speed); real timers by default. */
63
+ wait?: (ms: number) => Promise<void>;
64
+ }
65
+ /** A tool result as a plain value: its `structuredContent`, else its first text block (parsed when JSON). */
66
+ export declare function toolResultValue(result: McpToolResult): any;
67
+ /** The error message of a failed tool result. */
68
+ export declare function toolResultError(result: McpToolResult): string;
69
+ /**
70
+ * Plays `script` against `source` (a `ToolRegistry` or a view of one): each step's note, then its
71
+ * tool call. Stops at the first failure (a tool error or arguments that cannot be built), like an
72
+ * agent that has to rethink, and resolves with the results kept so far.
73
+ */
74
+ export declare function runToolScript(source: ToolSource, script: ToolScript, options?: RunToolScriptOptions): Promise<{
75
+ ok: boolean;
76
+ ctx: ToolScriptContext;
77
+ }>;