@pixerate/editor 0.181.0 → 0.183.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 (42) hide show
  1. package/dist/agent/index.cjs +5 -5
  2. package/dist/agent/index.js +3 -3
  3. package/dist/animation/index.cjs +2 -2
  4. package/dist/animation/index.js +1 -1
  5. package/dist/chart/index.cjs +7 -7
  6. package/dist/chart/index.js +1 -1
  7. package/dist/{chunk-5EMS4BZG.cjs → chunk-3SLBXKAW.cjs} +15 -7
  8. package/dist/{chunk-WL4IN36A.js → chunk-EHTX34RE.js} +13 -5
  9. package/dist/{chunk-ZXTO6U7T.js → chunk-GI3AVES4.js} +1 -1
  10. package/dist/{chunk-O2ANJFUF.js → chunk-IVSWRVB4.js} +8 -1
  11. package/dist/{chunk-SWTUM32H.cjs → chunk-K7ENM55P.cjs} +8 -1
  12. package/dist/{chunk-NJGFSOPP.cjs → chunk-U4QN36YT.cjs} +2 -2
  13. package/dist/commands/index.cjs +3 -3
  14. package/dist/commands/index.js +2 -2
  15. package/dist/diagram/index.cjs +7 -7
  16. package/dist/diagram/index.js +1 -1
  17. package/dist/image-editor/controller.d.cts +2 -0
  18. package/dist/image-editor/controller.d.ts +2 -0
  19. package/dist/image-editor/index.cjs +135 -115
  20. package/dist/image-editor/index.js +28 -8
  21. package/dist/image-editor/playback.d.cts +14 -4
  22. package/dist/image-editor/playback.d.ts +14 -4
  23. package/dist/image-editor/selection/segmentation.d.cts +3 -0
  24. package/dist/image-editor/selection/segmentation.d.ts +3 -0
  25. package/dist/paint-editor/index.cjs +6 -6
  26. package/dist/paint-editor/index.js +1 -1
  27. package/dist/tools/index.cjs +4 -4
  28. package/dist/tools/index.js +3 -3
  29. package/dist/tools/playback.d.cts +4 -1
  30. package/dist/tools/playback.d.ts +4 -1
  31. package/dist/tools/presence.d.cts +15 -3
  32. package/dist/tools/presence.d.ts +15 -3
  33. package/dist/tools/registry.d.cts +7 -1
  34. package/dist/tools/registry.d.ts +7 -1
  35. package/dist/vector/controller.d.cts +13 -0
  36. package/dist/vector/controller.d.ts +13 -0
  37. package/dist/vector/index.cjs +20 -1
  38. package/dist/vector/index.js +19 -0
  39. package/package.json +1 -1
  40. package/skills/README.md +7 -0
  41. package/skills/pixerate-image-editor/SKILL.md +29 -29
  42. package/skills/pixerate-image-selection-masking/SKILL.md +172 -0
@@ -25,7 +25,7 @@ require('../chunk-4EFNS2HV.cjs');
25
25
 
26
26
 
27
27
 
28
- var _chunkNJGFSOPPcjs = require('../chunk-NJGFSOPP.cjs');
28
+ var _chunkU4QN36YTcjs = require('../chunk-U4QN36YT.cjs');
29
29
 
30
30
 
31
31
 
@@ -63,7 +63,7 @@ var _chunkAMX23CSNcjs = require('../chunk-AMX23CSN.cjs');
63
63
 
64
64
 
65
65
 
66
- var _chunk5EMS4BZGcjs = require('../chunk-5EMS4BZG.cjs');
66
+ var _chunk3SLBXKAWcjs = require('../chunk-3SLBXKAW.cjs');
67
67
 
68
68
 
69
69
 
@@ -159,7 +159,7 @@ require('../chunk-N3KJFGXT.cjs');
159
159
 
160
160
 
161
161
 
162
- var _chunkSWTUM32Hcjs = require('../chunk-SWTUM32H.cjs');
162
+ var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
163
163
 
164
164
 
165
165
  var _chunkWOFXZ3XUcjs = require('../chunk-WOFXZ3XU.cjs');
@@ -601,7 +601,7 @@ function planCanvasPlaybackSteps(steps, nodes, rectOptions) {
601
601
  const node = placed.get(id);
602
602
  if (node) placed.set(id, { ...node, position });
603
603
  }
604
- const rect = _chunk5EMS4BZGcjs.unionRects.call(void 0, moved.map(([id]) => rectOf(id)));
604
+ const rect = _chunk3SLBXKAWcjs.unionRects.call(void 0, moved.map(([id]) => rectOf(id)));
605
605
  if (rect) after.push({ type: "move", to: centre(rect) }, { type: "focus", rect }, { type: "wait", ms: 450 });
606
606
  break;
607
607
  }
@@ -2271,4 +2271,4 @@ function createCanvasComponentToolProvider(controller, options = { id: "canvas-c
2271
2271
 
2272
2272
 
2273
2273
 
2274
- exports.AgentPlayback = _chunk5EMS4BZGcjs.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 = _chunkAMX23CSNcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkAMX23CSNcjs.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 = _chunkSWTUM32Hcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkSWTUM32Hcjs.PerformanceQueue; exports.PresenceStore = _chunkSWTUM32Hcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkAMX23CSNcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkAMX23CSNcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkAMX23CSNcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkAMX23CSNcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkAMX23CSNcjs.ToolRegistry; exports.ToolRegistryError = _chunkAMX23CSNcjs.ToolRegistryError; exports.ToolRegistryView = _chunkAMX23CSNcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkAMX23CSNcjs.baseToolName; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkAMX23CSNcjs.connectToolBridge; exports.createAgentPlayback = _chunk5EMS4BZGcjs.createAgentPlayback; exports.createCanvasComponentToolProvider = createCanvasComponentToolProvider; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createDocumentChartTools = createDocumentChartTools; exports.createEditorMcpToolProvider = createEditorMcpToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkSWTUM32Hcjs.createInstantPresenceClock; exports.createMcpServer = _chunkAMX23CSNcjs.createMcpServer; exports.createPlaybackToolProvider = _chunk5EMS4BZGcjs.createPlaybackToolProvider; exports.createRichTextToolProvider = createRichTextToolProvider; exports.createSpreadsheetToolProvider = createSpreadsheetToolProvider; exports.createStyleResolver = _chunkNJGFSOPPcjs.createStyleResolver; exports.createStyleToolProvider = _chunkNJGFSOPPcjs.createStyleToolProvider; exports.createToolRegistry = _chunkAMX23CSNcjs.createToolRegistry; exports.derivePlaybackSteps = _chunk5EMS4BZGcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkAMX23CSNcjs.errorResult; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkills = _chunkAMX23CSNcjs.listSkills; exports.locatePlaybackChrome = _chunk5EMS4BZGcjs.locatePlaybackChrome; exports.memoryStyleStore = _chunkNJGFSOPPcjs.memoryStyleStore; exports.normalizeSide = normalizeSide; exports.parseSkillFrontmatter = _chunkAMX23CSNcjs.parseSkillFrontmatter; exports.parseStyleDomains = _chunkNJGFSOPPcjs.parseStyleDomains; exports.planAgentCommand = planAgentCommand; exports.planCanvasPlaybackSteps = planCanvasPlaybackSteps; exports.planCanvasToolPlayback = planCanvasToolPlayback; exports.planToolCall = planToolCall; exports.playbackRectFromClient = _chunk5EMS4BZGcjs.playbackRectFromClient; exports.playbackRefsFromArgs = _chunk5EMS4BZGcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunk5EMS4BZGcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkAMX23CSNcjs.readSkillFile; exports.readingTime = _chunk5EMS4BZGcjs.readingTime; exports.realPresenceClock = _chunkSWTUM32Hcjs.realPresenceClock; exports.renderStyle = _chunkNJGFSOPPcjs.renderStyle; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.runStyleChecks = _chunkNJGFSOPPcjs.runStyleChecks; exports.runToolScript = _chunkNJGFSOPPcjs.runToolScript; exports.searchTokens = _chunkAMX23CSNcjs.searchTokens; exports.searchTools = _chunkAMX23CSNcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkAMX23CSNcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkAMX23CSNcjs.toToolResult; exports.toolCallToAgentCommand = toolCallToAgentCommand; exports.toolResultError = _chunkNJGFSOPPcjs.toolResultError; exports.toolResultValue = _chunkNJGFSOPPcjs.toolResultValue; exports.toolsetInstructions = _chunkAMX23CSNcjs.toolsetInstructions; exports.toolsetName = _chunkAMX23CSNcjs.toolsetName; exports.trackPresenceDrag = _chunkSWTUM32Hcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkSWTUM32Hcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunk5EMS4BZGcjs.unionRects; exports.unknownToolMessage = _chunkAMX23CSNcjs.unknownToolMessage; exports.validateAgentCommand = validateAgentCommand; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
2274
+ exports.AgentPlayback = _chunk3SLBXKAWcjs.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 = _chunkAMX23CSNcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkAMX23CSNcjs.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 = _chunkK7ENM55Pcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkK7ENM55Pcjs.PerformanceQueue; exports.PresenceStore = _chunkK7ENM55Pcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkAMX23CSNcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkAMX23CSNcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkAMX23CSNcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkAMX23CSNcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkAMX23CSNcjs.ToolRegistry; exports.ToolRegistryError = _chunkAMX23CSNcjs.ToolRegistryError; exports.ToolRegistryView = _chunkAMX23CSNcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkAMX23CSNcjs.baseToolName; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkAMX23CSNcjs.connectToolBridge; exports.createAgentPlayback = _chunk3SLBXKAWcjs.createAgentPlayback; exports.createCanvasComponentToolProvider = createCanvasComponentToolProvider; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createDocumentChartTools = createDocumentChartTools; exports.createEditorMcpToolProvider = createEditorMcpToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkK7ENM55Pcjs.createInstantPresenceClock; exports.createMcpServer = _chunkAMX23CSNcjs.createMcpServer; exports.createPlaybackToolProvider = _chunk3SLBXKAWcjs.createPlaybackToolProvider; exports.createRichTextToolProvider = createRichTextToolProvider; exports.createSpreadsheetToolProvider = createSpreadsheetToolProvider; exports.createStyleResolver = _chunkU4QN36YTcjs.createStyleResolver; exports.createStyleToolProvider = _chunkU4QN36YTcjs.createStyleToolProvider; exports.createToolRegistry = _chunkAMX23CSNcjs.createToolRegistry; exports.derivePlaybackSteps = _chunk3SLBXKAWcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkAMX23CSNcjs.errorResult; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkills = _chunkAMX23CSNcjs.listSkills; exports.locatePlaybackChrome = _chunk3SLBXKAWcjs.locatePlaybackChrome; exports.memoryStyleStore = _chunkU4QN36YTcjs.memoryStyleStore; exports.normalizeSide = normalizeSide; exports.parseSkillFrontmatter = _chunkAMX23CSNcjs.parseSkillFrontmatter; exports.parseStyleDomains = _chunkU4QN36YTcjs.parseStyleDomains; exports.planAgentCommand = planAgentCommand; exports.planCanvasPlaybackSteps = planCanvasPlaybackSteps; exports.planCanvasToolPlayback = planCanvasToolPlayback; exports.planToolCall = planToolCall; exports.playbackRectFromClient = _chunk3SLBXKAWcjs.playbackRectFromClient; exports.playbackRefsFromArgs = _chunk3SLBXKAWcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunk3SLBXKAWcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkAMX23CSNcjs.readSkillFile; exports.readingTime = _chunk3SLBXKAWcjs.readingTime; exports.realPresenceClock = _chunkK7ENM55Pcjs.realPresenceClock; exports.renderStyle = _chunkU4QN36YTcjs.renderStyle; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.runStyleChecks = _chunkU4QN36YTcjs.runStyleChecks; exports.runToolScript = _chunkU4QN36YTcjs.runToolScript; exports.searchTokens = _chunkAMX23CSNcjs.searchTokens; exports.searchTools = _chunkAMX23CSNcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkAMX23CSNcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkAMX23CSNcjs.toToolResult; exports.toolCallToAgentCommand = toolCallToAgentCommand; exports.toolResultError = _chunkU4QN36YTcjs.toolResultError; exports.toolResultValue = _chunkU4QN36YTcjs.toolResultValue; exports.toolsetInstructions = _chunkAMX23CSNcjs.toolsetInstructions; exports.toolsetName = _chunkAMX23CSNcjs.toolsetName; exports.trackPresenceDrag = _chunkK7ENM55Pcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkK7ENM55Pcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunk3SLBXKAWcjs.unionRects; exports.unknownToolMessage = _chunkAMX23CSNcjs.unknownToolMessage; exports.validateAgentCommand = validateAgentCommand; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
@@ -25,7 +25,7 @@ import {
25
25
  runToolScript,
26
26
  toolResultError,
27
27
  toolResultValue
28
- } from "../chunk-ZXTO6U7T.js";
28
+ } from "../chunk-GI3AVES4.js";
29
29
  import {
30
30
  JSON_RPC_ERRORS,
31
31
  MCP_PROTOCOL_VERSIONS,
@@ -63,7 +63,7 @@ import {
63
63
  playbackRefsFromResult,
64
64
  readingTime,
65
65
  unionRects
66
- } from "../chunk-WL4IN36A.js";
66
+ } from "../chunk-EHTX34RE.js";
67
67
  import {
68
68
  CAPTURE_EXCLUDE_SELECTOR,
69
69
  CAPTURE_OVERLAY_SELECTORS,
@@ -159,7 +159,7 @@ import {
159
159
  realPresenceClock,
160
160
  trackPresenceDrag,
161
161
  tweenPresenceCursor
162
- } from "../chunk-O2ANJFUF.js";
162
+ } from "../chunk-IVSWRVB4.js";
163
163
  import {
164
164
  validateJsonSchema
165
165
  } from "../chunk-V2ZCJRDM.js";
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkSWTUM32Hcjs = require('../chunk-SWTUM32H.cjs');
9
+ var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
10
10
 
11
11
 
12
12
 
@@ -104,4 +104,4 @@ require('../chunk-IPJ3TEYR.cjs');
104
104
 
105
105
 
106
106
 
107
- exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkM5GLQQWGcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunk7B5GTJXBcjs.MOTION_BEHAVIORS; exports.ManualClock = _chunkM5GLQQWGcjs.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 = _chunkM5GLQQWGcjs.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 = _chunkM5GLQQWGcjs.evaluateTrack; exports.formatOklab = _chunk4ZC5QJE2cjs.formatOklab; exports.fractalWiggle = _chunk7B5GTJXBcjs.fractalWiggle; exports.interpolateAnimationValue = _chunkM5GLQQWGcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkM5GLQQWGcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunk7B5GTJXBcjs.isMotionBehavior; exports.mixColorsOklab = _chunk4ZC5QJE2cjs.mixColorsOklab; exports.motionSeedFromId = _chunk7B5GTJXBcjs.motionSeedFromId; exports.normalizeKeyframes = _chunkM5GLQQWGcjs.normalizeKeyframes; exports.oklabToRgb = _chunk4ZC5QJE2cjs.oklabToRgb; exports.pageHidden = _chunkM5GLQQWGcjs.pageHidden; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseOklab = _chunk4ZC5QJE2cjs.parseOklab; exports.quinticFade = _chunk7B5GTJXBcjs.quinticFade; exports.realClock = _chunkM5GLQQWGcjs.realClock; exports.realPresenceClock = _chunkSWTUM32Hcjs.realPresenceClock; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.rgbToOklab = _chunk4ZC5QJE2cjs.rgbToOklab; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.trackPresenceDrag = _chunkSWTUM32Hcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkSWTUM32Hcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunkM5GLQQWGcjs.wrapAnimationTime;
107
+ exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkM5GLQQWGcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunk7B5GTJXBcjs.MOTION_BEHAVIORS; exports.ManualClock = _chunkM5GLQQWGcjs.ManualClock; exports.PRESENCE_COLORS = _chunkK7ENM55Pcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkK7ENM55Pcjs.PerformanceQueue; exports.PresenceStore = _chunkK7ENM55Pcjs.PresenceStore; exports.SPRING_PRESETS = _chunkDWJJI6RTcjs.SPRING_PRESETS; exports.behaviorProgress = _chunk7B5GTJXBcjs.behaviorProgress; exports.createAnimationPlayer = _chunkM5GLQQWGcjs.createAnimationPlayer; exports.createInstantPresenceClock = _chunkK7ENM55Pcjs.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 = _chunkM5GLQQWGcjs.evaluateTrack; exports.formatOklab = _chunk4ZC5QJE2cjs.formatOklab; exports.fractalWiggle = _chunk7B5GTJXBcjs.fractalWiggle; exports.interpolateAnimationValue = _chunkM5GLQQWGcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkM5GLQQWGcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunk7B5GTJXBcjs.isMotionBehavior; exports.mixColorsOklab = _chunk4ZC5QJE2cjs.mixColorsOklab; exports.motionSeedFromId = _chunk7B5GTJXBcjs.motionSeedFromId; exports.normalizeKeyframes = _chunkM5GLQQWGcjs.normalizeKeyframes; exports.oklabToRgb = _chunk4ZC5QJE2cjs.oklabToRgb; exports.pageHidden = _chunkM5GLQQWGcjs.pageHidden; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseOklab = _chunk4ZC5QJE2cjs.parseOklab; exports.quinticFade = _chunk7B5GTJXBcjs.quinticFade; exports.realClock = _chunkM5GLQQWGcjs.realClock; exports.realPresenceClock = _chunkK7ENM55Pcjs.realPresenceClock; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.rgbToOklab = _chunk4ZC5QJE2cjs.rgbToOklab; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.trackPresenceDrag = _chunkK7ENM55Pcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkK7ENM55Pcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunkM5GLQQWGcjs.wrapAnimationTime;
@@ -6,7 +6,7 @@ import {
6
6
  realPresenceClock,
7
7
  trackPresenceDrag,
8
8
  tweenPresenceCursor
9
- } from "../chunk-O2ANJFUF.js";
9
+ } from "../chunk-IVSWRVB4.js";
10
10
  import {
11
11
  MOTION_BEHAVIORS,
12
12
  behaviorProgress,
@@ -207,7 +207,7 @@ var _chunkN3KJFGXTcjs = require('../chunk-N3KJFGXT.cjs');
207
207
 
208
208
 
209
209
 
210
- var _chunkSWTUM32Hcjs = require('../chunk-SWTUM32H.cjs');
210
+ var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
211
211
 
212
212
 
213
213
  var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
@@ -1407,11 +1407,11 @@ function sameChartTooltip(a, b) {
1407
1407
  }
1408
1408
 
1409
1409
  // src/chart/presence.ts
1410
- var ChartPresence = class extends _chunkSWTUM32Hcjs.PresenceStore {
1410
+ var ChartPresence = class extends _chunkK7ENM55Pcjs.PresenceStore {
1411
1411
  };
1412
- var CHART_PRESENCE_COLORS = _chunkSWTUM32Hcjs.PRESENCE_COLORS;
1413
- var realChartClock = _chunkSWTUM32Hcjs.realPresenceClock;
1414
- var createInstantChartClock = _chunkSWTUM32Hcjs.createInstantPresenceClock;
1412
+ var CHART_PRESENCE_COLORS = _chunkK7ENM55Pcjs.PRESENCE_COLORS;
1413
+ var realChartClock = _chunkK7ENM55Pcjs.realPresenceClock;
1414
+ var createInstantChartClock = _chunkK7ENM55Pcjs.createInstantPresenceClock;
1415
1415
  function chartPointAnchor(scene, seriesId, index) {
1416
1416
  const mark = scene.marks.find((m) => (m.role === "bar" || m.role === "point") && _optionalChain([m, 'access', _84 => _84.target, 'optionalAccess', _85 => _85.kind]) === "point" && m.target.seriesId === seriesId && m.target.index === index);
1417
1417
  if (!mark) return null;
@@ -1478,7 +1478,7 @@ var ChartDirector = class {
1478
1478
  this.presence = presence;
1479
1479
  this.options = options;
1480
1480
  this.clock = _nullishCoalesce(options.clock, () => ( realChartClock));
1481
- this.queue = new (0, _chunkSWTUM32Hcjs.PerformanceQueue)(presence, {
1481
+ this.queue = new (0, _chunkK7ENM55Pcjs.PerformanceQueue)(presence, {
1482
1482
  clock: this.clock,
1483
1483
  linger: options.linger,
1484
1484
  beginGesture: (key) => controller.beginGesture(key),
@@ -1509,7 +1509,7 @@ var ChartDirector = class {
1509
1509
  return null;
1510
1510
  }
1511
1511
  move(id, from, to, ms, each) {
1512
- return _chunkSWTUM32Hcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, from, to, ms, each);
1512
+ return _chunkK7ENM55Pcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, from, to, ms, each);
1513
1513
  }
1514
1514
  async performOne(id, command) {
1515
1515
  const stale = this.stale(command);
@@ -207,7 +207,7 @@ import {
207
207
  createInstantPresenceClock,
208
208
  realPresenceClock,
209
209
  tweenPresenceCursor
210
- } from "../chunk-O2ANJFUF.js";
210
+ } from "../chunk-IVSWRVB4.js";
211
211
  import {
212
212
  readZip
213
213
  } from "../chunk-CIQIM2IP.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
3
 
4
- var _chunkSWTUM32Hcjs = require('./chunk-SWTUM32H.cjs');
4
+ var _chunkK7ENM55Pcjs = require('./chunk-K7ENM55P.cjs');
5
5
 
6
6
  // src/tools/playback.ts
7
7
  var ARG_KINDS = {
@@ -143,7 +143,7 @@ var AgentPlayback = (_class = class {
143
143
  __init7() {this.running = 0}
144
144
  __init8() {this.calls = 0}
145
145
  constructor(options = {}) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);_class.prototype.__init4.call(this);_class.prototype.__init5.call(this);_class.prototype.__init6.call(this);_class.prototype.__init7.call(this);_class.prototype.__init8.call(this);_class.prototype.__init9.call(this);
146
- this.clock = _nullishCoalesce(options.clock, () => ( _chunkSWTUM32Hcjs.realPresenceClock));
146
+ this.clock = _nullishCoalesce(options.clock, () => ( _chunkK7ENM55Pcjs.realPresenceClock));
147
147
  this.speed = _nullishCoalesce(options.speed, () => ( 1));
148
148
  this.reads = _nullishCoalesce(options.reads, () => ( "skip"));
149
149
  this.linger = _nullishCoalesce(options.linger, () => ( 1500));
@@ -206,7 +206,7 @@ var AgentPlayback = (_class = class {
206
206
  const base = _nullishCoalesce(info, () => ( this.defaultActor));
207
207
  let actor = this.actors.get(base.id);
208
208
  if (!actor) {
209
- actor = { info: { ...base, color: _nullishCoalesce(base.color, () => ( _chunkSWTUM32Hcjs.PRESENCE_COLORS[this.actors.size % _chunkSWTUM32Hcjs.PRESENCE_COLORS.length])) }, queue: Promise.resolve(), version: 0 };
209
+ actor = { info: { ...base, color: _nullishCoalesce(base.color, () => ( _chunkK7ENM55Pcjs.PRESENCE_COLORS[this.actors.size % _chunkK7ENM55Pcjs.PRESENCE_COLORS.length])) }, queue: Promise.resolve(), version: 0 };
210
210
  this.actors.set(base.id, actor);
211
211
  } else if (_optionalChain([info, 'optionalAccess', _12 => _12.name]) && info.name !== actor.info.name) actor.info = { ...actor.info, name: info.name };
212
212
  return actor;
@@ -294,6 +294,13 @@ var AgentPlayback = (_class = class {
294
294
  let committed = false;
295
295
  const gate = run.steps.some((s) => s.type === "stage") ? createStageGate() : null;
296
296
  if (gate) call.context.stage = gate.wait;
297
+ call.context.perform = async (extra) => {
298
+ for (const step of extra) {
299
+ if (step.type === "commit" || step.type === "stage" || step.type === "open") continue;
300
+ record(step);
301
+ await this.step(presence, locate, id, step, wait, instant);
302
+ }
303
+ };
297
304
  let pending = null;
298
305
  try {
299
306
  for (const step of run.steps) {
@@ -338,12 +345,13 @@ var AgentPlayback = (_class = class {
338
345
  }
339
346
  } catch (error) {
340
347
  _optionalChain([gate, 'optionalAccess', _42 => _42.open, 'call', _43 => _43()]);
341
- presence.set({ id, pressed: false, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
348
+ presence.set({ id, pressed: false, gesture: void 0, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
342
349
  await wait(900);
343
350
  throw error;
344
351
  } finally {
345
352
  if (!readOnly) _optionalChain([surface, 'access', _44 => _44.endGesture, 'optionalCall', _45 => _45()]);
346
- presence.set({ id, pressed: false });
353
+ call.context.perform = void 0;
354
+ presence.set({ id, pressed: false, gesture: void 0 });
347
355
  }
348
356
  if (isErrorResult(result)) {
349
357
  const text = _nullishCoalesce(_optionalChain([result, 'access', _46 => _46.content, 'optionalAccess', _47 => _47.find, 'call', _48 => _48((c) => c.type === "text"), 'optionalAccess', _49 => _49.text]), () => ( "The tool failed."));
@@ -400,10 +408,10 @@ var AgentPlayback = (_class = class {
400
408
  presence.set({ id, message: step.text });
401
409
  return wait(_nullishCoalesce(step.ms, () => ( readingTime(step.text))));
402
410
  case "press":
403
- presence.set({ id, pressed: true });
411
+ presence.set({ id, pressed: true, gesture: step.gesture });
404
412
  return wait(90);
405
413
  case "release":
406
- presence.set({ id, pressed: false });
414
+ presence.set({ id, pressed: false, gesture: void 0 });
407
415
  return wait(60);
408
416
  case "type": {
409
417
  const total = _nullishCoalesce(step.ms, () => ( Math.min(900, 40 * step.text.length + 150)));
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  PRESENCE_COLORS,
3
3
  realPresenceClock
4
- } from "./chunk-O2ANJFUF.js";
4
+ } from "./chunk-IVSWRVB4.js";
5
5
 
6
6
  // src/tools/playback.ts
7
7
  var ARG_KINDS = {
@@ -294,6 +294,13 @@ var AgentPlayback = class {
294
294
  let committed = false;
295
295
  const gate = run.steps.some((s) => s.type === "stage") ? createStageGate() : null;
296
296
  if (gate) call.context.stage = gate.wait;
297
+ call.context.perform = async (extra) => {
298
+ for (const step of extra) {
299
+ if (step.type === "commit" || step.type === "stage" || step.type === "open") continue;
300
+ record(step);
301
+ await this.step(presence, locate, id, step, wait, instant);
302
+ }
303
+ };
297
304
  let pending = null;
298
305
  try {
299
306
  for (const step of run.steps) {
@@ -338,12 +345,13 @@ var AgentPlayback = class {
338
345
  }
339
346
  } catch (error) {
340
347
  gate?.open();
341
- presence.set({ id, pressed: false, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
348
+ presence.set({ id, pressed: false, gesture: void 0, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
342
349
  await wait(900);
343
350
  throw error;
344
351
  } finally {
345
352
  if (!readOnly) surface.endGesture?.();
346
- presence.set({ id, pressed: false });
353
+ call.context.perform = void 0;
354
+ presence.set({ id, pressed: false, gesture: void 0 });
347
355
  }
348
356
  if (isErrorResult(result)) {
349
357
  const text = result.content?.find((c) => c.type === "text")?.text ?? "The tool failed.";
@@ -400,10 +408,10 @@ var AgentPlayback = class {
400
408
  presence.set({ id, message: step.text });
401
409
  return wait(step.ms ?? readingTime(step.text));
402
410
  case "press":
403
- presence.set({ id, pressed: true });
411
+ presence.set({ id, pressed: true, gesture: step.gesture });
404
412
  return wait(90);
405
413
  case "release":
406
- presence.set({ id, pressed: false });
414
+ presence.set({ id, pressed: false, gesture: void 0 });
407
415
  return wait(60);
408
416
  case "type": {
409
417
  const total = step.ms ?? Math.min(900, 40 * step.text.length + 150);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XZB3TJ6K.js";
4
4
  import {
5
5
  readingTime
6
- } from "./chunk-WL4IN36A.js";
6
+ } from "./chunk-EHTX34RE.js";
7
7
  import {
8
8
  validateJsonSchema
9
9
  } from "./chunk-V2ZCJRDM.js";
@@ -86,22 +86,29 @@ var PerformanceQueue = class {
86
86
  };
87
87
  function trackPresenceDrag(handlers) {
88
88
  let start = null;
89
+ let path = [];
89
90
  return (state) => {
90
91
  const actor = start ? state.actors.find((a) => a.id === start.id) : state.actors.find((a) => a.pressed);
91
92
  if (!start) {
92
93
  if (!actor) return;
93
94
  start = { id: actor.id, x: actor.x, y: actor.y };
95
+ path = [{ x: actor.x, y: actor.y }];
94
96
  }
95
97
  if (!actor || !actor.pressed) {
96
98
  start = null;
99
+ path = [];
97
100
  handlers.onEnd();
98
101
  return;
99
102
  }
103
+ const last = path[path.length - 1];
104
+ if (last.x !== actor.x || last.y !== actor.y) path.push({ x: actor.x, y: actor.y });
100
105
  handlers.onDrag({
101
106
  x: Math.min(start.x, actor.x),
102
107
  y: Math.min(start.y, actor.y),
103
108
  width: Math.abs(actor.x - start.x),
104
- height: Math.abs(actor.y - start.y)
109
+ height: Math.abs(actor.y - start.y),
110
+ path: path.slice(),
111
+ ...actor.gesture ? { gesture: actor.gesture } : {}
105
112
  });
106
113
  };
107
114
  }
@@ -86,22 +86,29 @@ var PerformanceQueue = (_class2 = class {
86
86
  }, _class2);
87
87
  function trackPresenceDrag(handlers) {
88
88
  let start = null;
89
+ let path = [];
89
90
  return (state) => {
90
91
  const actor = start ? state.actors.find((a) => a.id === start.id) : state.actors.find((a) => a.pressed);
91
92
  if (!start) {
92
93
  if (!actor) return;
93
94
  start = { id: actor.id, x: actor.x, y: actor.y };
95
+ path = [{ x: actor.x, y: actor.y }];
94
96
  }
95
97
  if (!actor || !actor.pressed) {
96
98
  start = null;
99
+ path = [];
97
100
  handlers.onEnd();
98
101
  return;
99
102
  }
103
+ const last = path[path.length - 1];
104
+ if (last.x !== actor.x || last.y !== actor.y) path.push({ x: actor.x, y: actor.y });
100
105
  handlers.onDrag({
101
106
  x: Math.min(start.x, actor.x),
102
107
  y: Math.min(start.y, actor.y),
103
108
  width: Math.abs(actor.x - start.x),
104
- height: Math.abs(actor.y - start.y)
109
+ height: Math.abs(actor.y - start.y),
110
+ path: path.slice(),
111
+ ...actor.gesture ? { gesture: actor.gesture } : {}
105
112
  });
106
113
  };
107
114
  }
@@ -3,7 +3,7 @@
3
3
  var _chunkAMX23CSNcjs = require('./chunk-AMX23CSN.cjs');
4
4
 
5
5
 
6
- var _chunk5EMS4BZGcjs = require('./chunk-5EMS4BZG.cjs');
6
+ var _chunk3SLBXKAWcjs = require('./chunk-3SLBXKAW.cjs');
7
7
 
8
8
 
9
9
  var _chunkWOFXZ3XUcjs = require('./chunk-WOFXZ3XU.cjs');
@@ -46,7 +46,7 @@ async function runToolScript(source, script, options = {}) {
46
46
  if (step.say) {
47
47
  emit({ type: "say", step: i, text: step.say });
48
48
  _optionalChain([options, 'access', _6 => _6.playback, 'optionalAccess', _7 => _7.say, 'call', _8 => _8(step.say, options.actor ? { actor: options.actor } : {})]);
49
- await pause(_chunk5EMS4BZGcjs.readingTime.call(void 0, step.say));
49
+ await pause(_chunk3SLBXKAWcjs.readingTime.call(void 0, step.say));
50
50
  }
51
51
  if (!step.tool) continue;
52
52
  if (control.stopped) return finish(false);
@@ -29,12 +29,12 @@ var _chunkGLQQ2VILcjs = require('../chunk-GLQQ2VIL.cjs');
29
29
  var _chunk4EFNS2HVcjs = require('../chunk-4EFNS2HV.cjs');
30
30
 
31
31
 
32
- var _chunk5EMS4BZGcjs = require('../chunk-5EMS4BZG.cjs');
32
+ var _chunk3SLBXKAWcjs = require('../chunk-3SLBXKAW.cjs');
33
33
 
34
34
 
35
35
 
36
36
  var _chunkVCL7CB56cjs = require('../chunk-VCL7CB56.cjs');
37
- require('../chunk-SWTUM32H.cjs');
37
+ require('../chunk-K7ENM55P.cjs');
38
38
 
39
39
 
40
40
  var _chunkWOFXZ3XUcjs = require('../chunk-WOFXZ3XU.cjs');
@@ -612,7 +612,7 @@ function createCommandToolProvider(registry, options = {}) {
612
612
  const surface = _nullishCoalesce(_nullishCoalesce(spec.playbackSurface, () => ( spec.scope)), () => ( (id.includes(".") ? id.slice(0, id.indexOf(".")) : void 0)));
613
613
  const planned = _optionalChain([spec, 'access', _24 => _24.plan, 'optionalCall', _25 => _25(context(), _nullishCoalesce(params, () => ( {})))]);
614
614
  const own = !planned ? [] : Array.isArray(planned) ? planned : planned.steps;
615
- const steps = own.length ? own : _chunk5EMS4BZGcjs.derivePlaybackSteps.call(void 0, params);
615
+ const steps = own.length ? own : _chunk3SLBXKAWcjs.derivePlaybackSteps.call(void 0, params);
616
616
  return {
617
617
  steps,
618
618
  ...surface ? { surface } : {},
@@ -29,12 +29,12 @@ import {
29
29
  } from "../chunk-7KZ2HKKC.js";
30
30
  import {
31
31
  derivePlaybackSteps
32
- } from "../chunk-WL4IN36A.js";
32
+ } from "../chunk-EHTX34RE.js";
33
33
  import {
34
34
  createFormatCommands,
35
35
  formatCommandsFor
36
36
  } from "../chunk-NZ3CTY7K.js";
37
- import "../chunk-O2ANJFUF.js";
37
+ import "../chunk-IVSWRVB4.js";
38
38
  import {
39
39
  validateJsonSchema
40
40
  } from "../chunk-V2ZCJRDM.js";
@@ -130,7 +130,7 @@ var _chunkVU6WQSMBcjs = require('../chunk-VU6WQSMB.cjs');
130
130
 
131
131
 
132
132
 
133
- var _chunkSWTUM32Hcjs = require('../chunk-SWTUM32H.cjs');
133
+ var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
134
134
 
135
135
 
136
136
  var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
@@ -2124,8 +2124,8 @@ var DiagramDirector = class {
2124
2124
  this.controller = controller;
2125
2125
  this.options = options;
2126
2126
  this.presence = presence;
2127
- this.clock = _nullishCoalesce(options.clock, () => ( _chunkSWTUM32Hcjs.realPresenceClock));
2128
- this.queue = new (0, _chunkSWTUM32Hcjs.PerformanceQueue)(presence, {
2127
+ this.clock = _nullishCoalesce(options.clock, () => ( _chunkK7ENM55Pcjs.realPresenceClock));
2128
+ this.queue = new (0, _chunkK7ENM55Pcjs.PerformanceQueue)(presence, {
2129
2129
  clock: this.clock,
2130
2130
  linger: options.linger,
2131
2131
  beginGesture: (key) => controller.beginGesture(key),
@@ -2184,7 +2184,7 @@ var DiagramDirector = class {
2184
2184
  const fresh = changedItems(before, result.document.graph);
2185
2185
  const target = fresh.length ? center(this.options.placement(), fresh[fresh.length - 1]) : null;
2186
2186
  const actorNow = this.presence.get(actor.id);
2187
- if (target && actorNow) await _chunkSWTUM32Hcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, actor.id, actorNow, target, pause);
2187
+ if (target && actorNow) await _chunkK7ENM55Pcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, actor.id, actorNow, target, pause);
2188
2188
  else await this.clock.wait(pause);
2189
2189
  }
2190
2190
  return { ok: true, document: this.controller.getDocument() };
@@ -2221,7 +2221,7 @@ var DiagramDirector = class {
2221
2221
  return null;
2222
2222
  }
2223
2223
  case "move":
2224
- await _chunkSWTUM32Hcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, where(), step.to, step.ms);
2224
+ await _chunkK7ENM55Pcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, where(), step.to, step.ms);
2225
2225
  return null;
2226
2226
  case "press":
2227
2227
  this.presence.set({ id, pressed: true });
@@ -2232,7 +2232,7 @@ var DiagramDirector = class {
2232
2232
  case "drag": {
2233
2233
  const start = this.options.placement().positions[step.id];
2234
2234
  let problem = null;
2235
- await _chunkSWTUM32Hcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, where(), step.to, step.ms, (e) => {
2235
+ await _chunkK7ENM55Pcjs.tweenPresenceCursor.call(void 0, this.presence, this.clock, id, where(), step.to, step.ms, (e) => {
2236
2236
  if (problem || !start) return;
2237
2237
  const position = [start[0] + (step.position[0] - start[0]) * e, start[1] + (step.position[1] - start[1]) * e];
2238
2238
  const result = this.controller.apply({ type: "moveNodes", moves: [{ id: step.id, position }] }, label);
@@ -2421,4 +2421,4 @@ function planDiagramEdits(source, place, ops, speed = 1) {
2421
2421
 
2422
2422
 
2423
2423
 
2424
- exports.ARCH_METRICS = _chunk3FSUJIXNcjs.ARCH_METRICS; exports.C4_METRICS = _chunk3FSUJIXNcjs.C4_METRICS; exports.CLASS_RELATIONS = _chunk3FSUJIXNcjs.CLASS_RELATIONS; exports.DIRECTIONS = DIRECTIONS; exports.DiagramController = DiagramController; exports.DiagramDirector = DiagramDirector; exports.EDITABLE_DIAGRAM_FAMILIES = EDITABLE_DIAGRAM_FAMILIES; exports.ER_CARDINALITIES = _chunk3FSUJIXNcjs.ER_CARDINALITIES; exports.ER_PATTERNS = _chunk3FSUJIXNcjs.ER_PATTERNS; exports.FAMILY_BLANKS = FAMILY_BLANKS; exports.FAMILY_DESCRIPTIONS = FAMILY_DESCRIPTIONS; exports.FAMILY_TEMPLATES = FAMILY_TEMPLATES; exports.FAMILY_TITLES = FAMILY_TITLES; exports.FLOWCHART_SHAPES = _chunk3FSUJIXNcjs.FLOWCHART_SHAPES; exports.GANTT_CONFIG_KEYS = _chunk3FSUJIXNcjs.GANTT_CONFIG_KEYS; exports.GANTT_METRICS = _chunk3FSUJIXNcjs.GANTT_METRICS; exports.GANTT_TAGS = _chunk3FSUJIXNcjs.GANTT_TAGS; exports.META_COMMENT_PREFIX = _chunk3FSUJIXNcjs.META_COMMENT_PREFIX; exports.META_FRONTMATTER_KEY = _chunk3FSUJIXNcjs.META_FRONTMATTER_KEY; exports.POINT_BOX = _chunk3FSUJIXNcjs.POINT_BOX; exports.PRESENCE_COLORS = _chunkSWTUM32Hcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkSWTUM32Hcjs.PerformanceQueue; exports.PresenceStore = _chunkSWTUM32Hcjs.PresenceStore; exports.QUADRANT_METRICS = _chunk3FSUJIXNcjs.QUADRANT_METRICS; exports.RADAR_CHART_BOX = _chunk3FSUJIXNcjs.RADAR_CHART_BOX; exports.SEQUENCE_METRICS = _chunk3FSUJIXNcjs.SEQUENCE_METRICS; exports.STATE_SHAPES = _chunk3FSUJIXNcjs.STATE_SHAPES; exports.XY_CHART_BOX = _chunk3FSUJIXNcjs.XY_CHART_BOX; exports.afterIds = _chunk3FSUJIXNcjs.afterIds; exports.applyEdit = _chunk3FSUJIXNcjs.applyEdit; exports.applyEdits = _chunk3FSUJIXNcjs.applyEdits; exports.applyStatementEdit = _chunk3FSUJIXNcjs.applyStatementEdit; exports.architectureAdapter = _chunk3FSUJIXNcjs.architectureAdapter; exports.architectureArrow = _chunk3FSUJIXNcjs.architectureArrow; exports.architectureEdgeRoute = _chunk3FSUJIXNcjs.architectureEdgeRoute; exports.architectureGrammar = _chunk3FSUJIXNcjs.architectureGrammar; exports.architectureLayout = _chunk3FSUJIXNcjs.architectureLayout; exports.architectureUI = architectureUI; exports.c4Adapter = _chunk3FSUJIXNcjs.c4Adapter; exports.c4ArrowHead = _chunk3FSUJIXNcjs.c4ArrowHead; exports.c4BoundaryText = _chunk3FSUJIXNcjs.c4BoundaryText; exports.c4ElementGeometry = _chunk3FSUJIXNcjs.c4ElementGeometry; exports.c4ElementType = _chunk3FSUJIXNcjs.c4ElementType; exports.c4Grammar = _chunk3FSUJIXNcjs.c4Grammar; exports.c4Layout = _chunk3FSUJIXNcjs.c4Layout; exports.c4RelGeometry = _chunk3FSUJIXNcjs.c4RelGeometry; exports.c4Stereotype = _chunk3FSUJIXNcjs.c4Stereotype; exports.c4UI = c4UI; exports.canonicalShape = _chunk3FSUJIXNcjs.canonicalShape; exports.changedItems = changedItems; exports.checkFieldData = checkFieldData; exports.classGrammar = _chunk3FSUJIXNcjs.classGrammar; exports.classUI = classUI; exports.createDiagramEditorDocument = createDiagramEditorDocument; exports.createDiagramToolProvider = createDiagramToolProvider; exports.createInstantPresenceClock = _chunkSWTUM32Hcjs.createInstantPresenceClock; exports.createLineAdapter = _chunk3FSUJIXNcjs.createLineAdapter; exports.createPassthroughAdapter = _chunk3FSUJIXNcjs.createPassthroughAdapter; exports.createStatementAdapter = _chunk3FSUJIXNcjs.createStatementAdapter; exports.describeDiagram = describeDiagram; exports.describeFields = describeFields; exports.detectFamily = _chunk3FSUJIXNcjs.detectFamily; exports.detectFamilyFromHeader = _chunkVU6WQSMBcjs.detectFamilyFromHeader; exports.diagramShapes = diagramShapes; exports.diagramSupportsDirection = diagramSupportsDirection; exports.diagramSupportsGroups = diagramSupportsGroups; exports.draftFrames = draftFrames; exports.dropMetaKeys = _chunk3FSUJIXNcjs.dropMetaKeys; exports.emptyMeta = _chunk3FSUJIXNcjs.emptyMeta; exports.erGrammar = _chunk3FSUJIXNcjs.erGrammar; exports.erUI = erUI; exports.familyUI = familyUI; exports.filterInPlace = _chunk3FSUJIXNcjs.filterInPlace; exports.findMermaidSources = findMermaidSources; exports.flowchartAdapter = _chunk3FSUJIXNcjs.flowchartAdapter; exports.flowchartUI = flowchartUI; exports.formatAxis = _chunk3FSUJIXNcjs.formatAxis; exports.formatChain = _chunk3FSUJIXNcjs.formatChain; exports.formatGanttDate = _chunk3FSUJIXNcjs.formatGanttDate; exports.formatLink = _chunk3FSUJIXNcjs.formatLink; exports.formatNode = _chunk3FSUJIXNcjs.formatNode; exports.ganttAdapter = _chunk3FSUJIXNcjs.ganttAdapter; exports.ganttGeometry = _chunk3FSUJIXNcjs.ganttGeometry; exports.ganttGrammar = _chunk3FSUJIXNcjs.ganttGrammar; exports.ganttUI = ganttUI; exports.getDiagramAdapter = _chunk3FSUJIXNcjs.getDiagramAdapter; exports.getFamilyLayout = _chunk3FSUJIXNcjs.getFamilyLayout; exports.gitGraphAdapter = _chunk3FSUJIXNcjs.gitGraphAdapter; exports.gitGraphGrammar = _chunk3FSUJIXNcjs.gitGraphGrammar; exports.gitGraphUI = gitGraphUI; exports.indentOf = _chunk3FSUJIXNcjs.indentOf; exports.isMetaEmpty = _chunk3FSUJIXNcjs.isMetaEmpty; exports.journeyAdapter = _chunk3FSUJIXNcjs.journeyAdapter; exports.journeyGrammar = _chunk3FSUJIXNcjs.journeyGrammar; exports.journeyLayout = _chunk3FSUJIXNcjs.journeyLayout; exports.journeyUI = journeyUI; exports.mergeMeta = _chunk3FSUJIXNcjs.mergeMeta; exports.mindmapAdapter = _chunk3FSUJIXNcjs.mindmapAdapter; exports.mindmapGrammar = _chunk3FSUJIXNcjs.mindmapGrammar; exports.mindmapUI = mindmapUI; exports.parseAttributes = _chunk3FSUJIXNcjs.parseAttributes; exports.parseChain = _chunk3FSUJIXNcjs.parseChain; exports.parseFlowchartSource = _chunk3FSUJIXNcjs.parseFlowchartSource; exports.parseGanttDate = _chunk3FSUJIXNcjs.parseGanttDate; exports.parseLink = _chunk3FSUJIXNcjs.parseLink; exports.parseMembers = _chunk3FSUJIXNcjs.parseMembers; exports.parseMermaid = _chunk3FSUJIXNcjs.parseMermaid; exports.parseSankey = _chunkTTCJPX4Ucjs.parseSankey; exports.parseStatement = _chunk3FSUJIXNcjs.parseStatement; exports.parseStatementDocument = _chunk3FSUJIXNcjs.parseStatementDocument; exports.parseTreemap = _chunkTTCJPX4Ucjs.parseTreemap; exports.pickFieldData = pickFieldData; exports.pieAdapter = _chunk3FSUJIXNcjs.pieAdapter; exports.pieGrammar = _chunk3FSUJIXNcjs.pieGrammar; exports.pieUI = pieUI; exports.planDiagramEdit = planDiagramEdit; exports.planDiagramEdits = planDiagramEdits; exports.pointCentre = _chunk3FSUJIXNcjs.pointCentre; exports.pointPosition = _chunk3FSUJIXNcjs.pointPosition; exports.positionToData = _chunk3FSUJIXNcjs.positionToData; exports.quadrantAdapter = _chunk3FSUJIXNcjs.quadrantAdapter; exports.quadrantGeometry = _chunk3FSUJIXNcjs.quadrantGeometry; exports.quadrantGrammar = _chunk3FSUJIXNcjs.quadrantGrammar; exports.quadrantSpace = _chunk3FSUJIXNcjs.quadrantSpace; exports.quadrantUI = quadrantUI; exports.quote = _chunk3FSUJIXNcjs.quote; exports.quoteLabelIfNeeded = _chunk3FSUJIXNcjs.quoteLabelIfNeeded; exports.radarAdapter = _chunk3FSUJIXNcjs.radarAdapter; exports.radarGrammar = _chunk3FSUJIXNcjs.radarGrammar; exports.radarUI = radarUI; exports.realPresenceClock = _chunkSWTUM32Hcjs.realPresenceClock; exports.registerDiagramAdapter = _chunk3FSUJIXNcjs.registerDiagramAdapter; exports.registerFamilyLayout = _chunk3FSUJIXNcjs.registerFamilyLayout; exports.relationFor = _chunk3FSUJIXNcjs.relationFor; exports.renameMetaKey = _chunk3FSUJIXNcjs.renameMetaKey; exports.resolveShape = _chunk3FSUJIXNcjs.resolveShape; exports.sequenceAdapter = _chunk3FSUJIXNcjs.sequenceAdapter; exports.sequenceGeometry = _chunk3FSUJIXNcjs.sequenceGeometry; exports.sequenceGrammar = _chunk3FSUJIXNcjs.sequenceGrammar; exports.sequenceUI = sequenceUI; exports.serializeMermaid = _chunk3FSUJIXNcjs.serializeMermaid; exports.serializeMeta = _chunk3FSUJIXNcjs.serializeMeta; exports.serializeStatementDocument = _chunk3FSUJIXNcjs.serializeStatementDocument; exports.serviceLabelLines = _chunk3FSUJIXNcjs.serviceLabelLines; exports.sharedFrameLayout = _chunk3FSUJIXNcjs.sharedFrameLayout; exports.slugId = _chunk3FSUJIXNcjs.slugId; exports.spaceInput = _chunk3FSUJIXNcjs.spaceInput; exports.splitOutsideQuotes = _chunk3FSUJIXNcjs.splitOutsideQuotes; exports.splitSource = _chunkVU6WQSMBcjs.splitSource; exports.splitStatements = _chunkVU6WQSMBcjs.splitStatements; exports.stateGrammar = _chunk3FSUJIXNcjs.stateGrammar; exports.stateUI = stateUI; exports.supportTierOf = _chunk3FSUJIXNcjs.supportTierOf; exports.timelineAdapter = _chunk3FSUJIXNcjs.timelineAdapter; exports.timelineGrammar = _chunk3FSUJIXNcjs.timelineGrammar; exports.timelineLayout = _chunk3FSUJIXNcjs.timelineLayout; exports.timelineUI = timelineUI; exports.treemapValue = _chunkTTCJPX4Ucjs.treemapValue; exports.uniqueId = _chunk3FSUJIXNcjs.uniqueId; exports.unquote = _chunk3FSUJIXNcjs.unquote; exports.validateDiagramEdit = validateDiagramEdit; exports.xyChartAdapter = _chunk3FSUJIXNcjs.xyChartAdapter; exports.xyChartGrammar = _chunk3FSUJIXNcjs.xyChartGrammar; exports.xyChartUI = xyChartUI;
2424
+ exports.ARCH_METRICS = _chunk3FSUJIXNcjs.ARCH_METRICS; exports.C4_METRICS = _chunk3FSUJIXNcjs.C4_METRICS; exports.CLASS_RELATIONS = _chunk3FSUJIXNcjs.CLASS_RELATIONS; exports.DIRECTIONS = DIRECTIONS; exports.DiagramController = DiagramController; exports.DiagramDirector = DiagramDirector; exports.EDITABLE_DIAGRAM_FAMILIES = EDITABLE_DIAGRAM_FAMILIES; exports.ER_CARDINALITIES = _chunk3FSUJIXNcjs.ER_CARDINALITIES; exports.ER_PATTERNS = _chunk3FSUJIXNcjs.ER_PATTERNS; exports.FAMILY_BLANKS = FAMILY_BLANKS; exports.FAMILY_DESCRIPTIONS = FAMILY_DESCRIPTIONS; exports.FAMILY_TEMPLATES = FAMILY_TEMPLATES; exports.FAMILY_TITLES = FAMILY_TITLES; exports.FLOWCHART_SHAPES = _chunk3FSUJIXNcjs.FLOWCHART_SHAPES; exports.GANTT_CONFIG_KEYS = _chunk3FSUJIXNcjs.GANTT_CONFIG_KEYS; exports.GANTT_METRICS = _chunk3FSUJIXNcjs.GANTT_METRICS; exports.GANTT_TAGS = _chunk3FSUJIXNcjs.GANTT_TAGS; exports.META_COMMENT_PREFIX = _chunk3FSUJIXNcjs.META_COMMENT_PREFIX; exports.META_FRONTMATTER_KEY = _chunk3FSUJIXNcjs.META_FRONTMATTER_KEY; exports.POINT_BOX = _chunk3FSUJIXNcjs.POINT_BOX; exports.PRESENCE_COLORS = _chunkK7ENM55Pcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkK7ENM55Pcjs.PerformanceQueue; exports.PresenceStore = _chunkK7ENM55Pcjs.PresenceStore; exports.QUADRANT_METRICS = _chunk3FSUJIXNcjs.QUADRANT_METRICS; exports.RADAR_CHART_BOX = _chunk3FSUJIXNcjs.RADAR_CHART_BOX; exports.SEQUENCE_METRICS = _chunk3FSUJIXNcjs.SEQUENCE_METRICS; exports.STATE_SHAPES = _chunk3FSUJIXNcjs.STATE_SHAPES; exports.XY_CHART_BOX = _chunk3FSUJIXNcjs.XY_CHART_BOX; exports.afterIds = _chunk3FSUJIXNcjs.afterIds; exports.applyEdit = _chunk3FSUJIXNcjs.applyEdit; exports.applyEdits = _chunk3FSUJIXNcjs.applyEdits; exports.applyStatementEdit = _chunk3FSUJIXNcjs.applyStatementEdit; exports.architectureAdapter = _chunk3FSUJIXNcjs.architectureAdapter; exports.architectureArrow = _chunk3FSUJIXNcjs.architectureArrow; exports.architectureEdgeRoute = _chunk3FSUJIXNcjs.architectureEdgeRoute; exports.architectureGrammar = _chunk3FSUJIXNcjs.architectureGrammar; exports.architectureLayout = _chunk3FSUJIXNcjs.architectureLayout; exports.architectureUI = architectureUI; exports.c4Adapter = _chunk3FSUJIXNcjs.c4Adapter; exports.c4ArrowHead = _chunk3FSUJIXNcjs.c4ArrowHead; exports.c4BoundaryText = _chunk3FSUJIXNcjs.c4BoundaryText; exports.c4ElementGeometry = _chunk3FSUJIXNcjs.c4ElementGeometry; exports.c4ElementType = _chunk3FSUJIXNcjs.c4ElementType; exports.c4Grammar = _chunk3FSUJIXNcjs.c4Grammar; exports.c4Layout = _chunk3FSUJIXNcjs.c4Layout; exports.c4RelGeometry = _chunk3FSUJIXNcjs.c4RelGeometry; exports.c4Stereotype = _chunk3FSUJIXNcjs.c4Stereotype; exports.c4UI = c4UI; exports.canonicalShape = _chunk3FSUJIXNcjs.canonicalShape; exports.changedItems = changedItems; exports.checkFieldData = checkFieldData; exports.classGrammar = _chunk3FSUJIXNcjs.classGrammar; exports.classUI = classUI; exports.createDiagramEditorDocument = createDiagramEditorDocument; exports.createDiagramToolProvider = createDiagramToolProvider; exports.createInstantPresenceClock = _chunkK7ENM55Pcjs.createInstantPresenceClock; exports.createLineAdapter = _chunk3FSUJIXNcjs.createLineAdapter; exports.createPassthroughAdapter = _chunk3FSUJIXNcjs.createPassthroughAdapter; exports.createStatementAdapter = _chunk3FSUJIXNcjs.createStatementAdapter; exports.describeDiagram = describeDiagram; exports.describeFields = describeFields; exports.detectFamily = _chunk3FSUJIXNcjs.detectFamily; exports.detectFamilyFromHeader = _chunkVU6WQSMBcjs.detectFamilyFromHeader; exports.diagramShapes = diagramShapes; exports.diagramSupportsDirection = diagramSupportsDirection; exports.diagramSupportsGroups = diagramSupportsGroups; exports.draftFrames = draftFrames; exports.dropMetaKeys = _chunk3FSUJIXNcjs.dropMetaKeys; exports.emptyMeta = _chunk3FSUJIXNcjs.emptyMeta; exports.erGrammar = _chunk3FSUJIXNcjs.erGrammar; exports.erUI = erUI; exports.familyUI = familyUI; exports.filterInPlace = _chunk3FSUJIXNcjs.filterInPlace; exports.findMermaidSources = findMermaidSources; exports.flowchartAdapter = _chunk3FSUJIXNcjs.flowchartAdapter; exports.flowchartUI = flowchartUI; exports.formatAxis = _chunk3FSUJIXNcjs.formatAxis; exports.formatChain = _chunk3FSUJIXNcjs.formatChain; exports.formatGanttDate = _chunk3FSUJIXNcjs.formatGanttDate; exports.formatLink = _chunk3FSUJIXNcjs.formatLink; exports.formatNode = _chunk3FSUJIXNcjs.formatNode; exports.ganttAdapter = _chunk3FSUJIXNcjs.ganttAdapter; exports.ganttGeometry = _chunk3FSUJIXNcjs.ganttGeometry; exports.ganttGrammar = _chunk3FSUJIXNcjs.ganttGrammar; exports.ganttUI = ganttUI; exports.getDiagramAdapter = _chunk3FSUJIXNcjs.getDiagramAdapter; exports.getFamilyLayout = _chunk3FSUJIXNcjs.getFamilyLayout; exports.gitGraphAdapter = _chunk3FSUJIXNcjs.gitGraphAdapter; exports.gitGraphGrammar = _chunk3FSUJIXNcjs.gitGraphGrammar; exports.gitGraphUI = gitGraphUI; exports.indentOf = _chunk3FSUJIXNcjs.indentOf; exports.isMetaEmpty = _chunk3FSUJIXNcjs.isMetaEmpty; exports.journeyAdapter = _chunk3FSUJIXNcjs.journeyAdapter; exports.journeyGrammar = _chunk3FSUJIXNcjs.journeyGrammar; exports.journeyLayout = _chunk3FSUJIXNcjs.journeyLayout; exports.journeyUI = journeyUI; exports.mergeMeta = _chunk3FSUJIXNcjs.mergeMeta; exports.mindmapAdapter = _chunk3FSUJIXNcjs.mindmapAdapter; exports.mindmapGrammar = _chunk3FSUJIXNcjs.mindmapGrammar; exports.mindmapUI = mindmapUI; exports.parseAttributes = _chunk3FSUJIXNcjs.parseAttributes; exports.parseChain = _chunk3FSUJIXNcjs.parseChain; exports.parseFlowchartSource = _chunk3FSUJIXNcjs.parseFlowchartSource; exports.parseGanttDate = _chunk3FSUJIXNcjs.parseGanttDate; exports.parseLink = _chunk3FSUJIXNcjs.parseLink; exports.parseMembers = _chunk3FSUJIXNcjs.parseMembers; exports.parseMermaid = _chunk3FSUJIXNcjs.parseMermaid; exports.parseSankey = _chunkTTCJPX4Ucjs.parseSankey; exports.parseStatement = _chunk3FSUJIXNcjs.parseStatement; exports.parseStatementDocument = _chunk3FSUJIXNcjs.parseStatementDocument; exports.parseTreemap = _chunkTTCJPX4Ucjs.parseTreemap; exports.pickFieldData = pickFieldData; exports.pieAdapter = _chunk3FSUJIXNcjs.pieAdapter; exports.pieGrammar = _chunk3FSUJIXNcjs.pieGrammar; exports.pieUI = pieUI; exports.planDiagramEdit = planDiagramEdit; exports.planDiagramEdits = planDiagramEdits; exports.pointCentre = _chunk3FSUJIXNcjs.pointCentre; exports.pointPosition = _chunk3FSUJIXNcjs.pointPosition; exports.positionToData = _chunk3FSUJIXNcjs.positionToData; exports.quadrantAdapter = _chunk3FSUJIXNcjs.quadrantAdapter; exports.quadrantGeometry = _chunk3FSUJIXNcjs.quadrantGeometry; exports.quadrantGrammar = _chunk3FSUJIXNcjs.quadrantGrammar; exports.quadrantSpace = _chunk3FSUJIXNcjs.quadrantSpace; exports.quadrantUI = quadrantUI; exports.quote = _chunk3FSUJIXNcjs.quote; exports.quoteLabelIfNeeded = _chunk3FSUJIXNcjs.quoteLabelIfNeeded; exports.radarAdapter = _chunk3FSUJIXNcjs.radarAdapter; exports.radarGrammar = _chunk3FSUJIXNcjs.radarGrammar; exports.radarUI = radarUI; exports.realPresenceClock = _chunkK7ENM55Pcjs.realPresenceClock; exports.registerDiagramAdapter = _chunk3FSUJIXNcjs.registerDiagramAdapter; exports.registerFamilyLayout = _chunk3FSUJIXNcjs.registerFamilyLayout; exports.relationFor = _chunk3FSUJIXNcjs.relationFor; exports.renameMetaKey = _chunk3FSUJIXNcjs.renameMetaKey; exports.resolveShape = _chunk3FSUJIXNcjs.resolveShape; exports.sequenceAdapter = _chunk3FSUJIXNcjs.sequenceAdapter; exports.sequenceGeometry = _chunk3FSUJIXNcjs.sequenceGeometry; exports.sequenceGrammar = _chunk3FSUJIXNcjs.sequenceGrammar; exports.sequenceUI = sequenceUI; exports.serializeMermaid = _chunk3FSUJIXNcjs.serializeMermaid; exports.serializeMeta = _chunk3FSUJIXNcjs.serializeMeta; exports.serializeStatementDocument = _chunk3FSUJIXNcjs.serializeStatementDocument; exports.serviceLabelLines = _chunk3FSUJIXNcjs.serviceLabelLines; exports.sharedFrameLayout = _chunk3FSUJIXNcjs.sharedFrameLayout; exports.slugId = _chunk3FSUJIXNcjs.slugId; exports.spaceInput = _chunk3FSUJIXNcjs.spaceInput; exports.splitOutsideQuotes = _chunk3FSUJIXNcjs.splitOutsideQuotes; exports.splitSource = _chunkVU6WQSMBcjs.splitSource; exports.splitStatements = _chunkVU6WQSMBcjs.splitStatements; exports.stateGrammar = _chunk3FSUJIXNcjs.stateGrammar; exports.stateUI = stateUI; exports.supportTierOf = _chunk3FSUJIXNcjs.supportTierOf; exports.timelineAdapter = _chunk3FSUJIXNcjs.timelineAdapter; exports.timelineGrammar = _chunk3FSUJIXNcjs.timelineGrammar; exports.timelineLayout = _chunk3FSUJIXNcjs.timelineLayout; exports.timelineUI = timelineUI; exports.treemapValue = _chunkTTCJPX4Ucjs.treemapValue; exports.uniqueId = _chunk3FSUJIXNcjs.uniqueId; exports.unquote = _chunk3FSUJIXNcjs.unquote; exports.validateDiagramEdit = validateDiagramEdit; exports.xyChartAdapter = _chunk3FSUJIXNcjs.xyChartAdapter; exports.xyChartGrammar = _chunk3FSUJIXNcjs.xyChartGrammar; exports.xyChartUI = xyChartUI;
@@ -130,7 +130,7 @@ import {
130
130
  createInstantPresenceClock,
131
131
  realPresenceClock,
132
132
  tweenPresenceCursor
133
- } from "../chunk-O2ANJFUF.js";
133
+ } from "../chunk-IVSWRVB4.js";
134
134
  import {
135
135
  defineEditorDocument
136
136
  } from "../chunk-XBQX76CT.js";
@@ -1322,6 +1322,8 @@ export declare class ImageEditorController {
1322
1322
  selectSubject(target: string, options?: SelectionCommandOptions & {
1323
1323
  maxSegments?: number;
1324
1324
  signal?: AbortSignal;
1325
+ /** Called with the outlines found (image pixels; a mask-only result's bounds) before the selection changes, e.g. to trace them with an agent's cursor. */
1326
+ beforeApply?: (outlines: ImagePoint[][]) => void | Promise<void>;
1325
1327
  }): Promise<{
1326
1328
  segments: {
1327
1329
  label: string;
@@ -1322,6 +1322,8 @@ export declare class ImageEditorController {
1322
1322
  selectSubject(target: string, options?: SelectionCommandOptions & {
1323
1323
  maxSegments?: number;
1324
1324
  signal?: AbortSignal;
1325
+ /** Called with the outlines found (image pixels; a mask-only result's bounds) before the selection changes, e.g. to trace them with an agent's cursor. */
1326
+ beforeApply?: (outlines: ImagePoint[][]) => void | Promise<void>;
1325
1327
  }): Promise<{
1326
1328
  segments: {
1327
1329
  label: string;