@pixerate/editor 0.168.0 → 0.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.cjs +4 -4
- package/dist/agent/index.js +2 -2
- package/dist/{chunk-GMWNBSBS.cjs → chunk-5EMS4BZG.cjs} +46 -5
- package/dist/{chunk-Z2UQYMPS.cjs → chunk-NJGFSOPP.cjs} +2 -2
- package/dist/{chunk-6DXDUVSL.js → chunk-WL4IN36A.js} +44 -3
- package/dist/{chunk-HIDFL5LQ.js → chunk-ZXTO6U7T.js} +1 -1
- package/dist/commands/index.cjs +2 -2
- package/dist/commands/index.js +1 -1
- package/dist/image-editor/index.cjs +25 -31
- package/dist/image-editor/index.js +25 -31
- package/dist/image-editor/renderer.d.cts +0 -4
- package/dist/image-editor/renderer.d.ts +0 -4
- package/dist/tools/index.cjs +3 -3
- package/dist/tools/index.js +2 -2
- package/dist/tools/playback.d.cts +8 -0
- package/dist/tools/playback.d.ts +8 -0
- package/dist/tools/registry.d.cts +6 -0
- package/dist/tools/registry.d.ts +6 -0
- package/package.json +1 -1
package/dist/agent/index.cjs
CHANGED
|
@@ -25,7 +25,7 @@ require('../chunk-4EFNS2HV.cjs');
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkNJGFSOPPcjs = require('../chunk-NJGFSOPP.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
|
|
66
|
+
var _chunk5EMS4BZGcjs = require('../chunk-5EMS4BZG.cjs');
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
@@ -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 =
|
|
604
|
+
const rect = _chunk5EMS4BZGcjs.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 =
|
|
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;
|
package/dist/agent/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
runToolScript,
|
|
26
26
|
toolResultError,
|
|
27
27
|
toolResultValue
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-ZXTO6U7T.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-
|
|
66
|
+
} from "../chunk-WL4IN36A.js";
|
|
67
67
|
import {
|
|
68
68
|
CAPTURE_EXCLUDE_SELECTOR,
|
|
69
69
|
CAPTURE_OVERLAY_SELECTORS,
|
|
@@ -102,7 +102,31 @@ function normalizePlan(plan) {
|
|
|
102
102
|
var isErrorResult = (value) => !!value && typeof value === "object" && value.isError === true;
|
|
103
103
|
var center = (r) => ({ x: r.x + r.width / 2, y: r.y + r.height / 2 });
|
|
104
104
|
var finiteRect = (r) => r && [r.x, r.y, r.width, r.height].every(Number.isFinite) ? r : null;
|
|
105
|
-
var GLANCE_STEPS = /* @__PURE__ */ new Set(["move", "target", "focus", "say", "wait", "commit"]);
|
|
105
|
+
var GLANCE_STEPS = /* @__PURE__ */ new Set(["move", "target", "focus", "say", "wait", "commit", "stage"]);
|
|
106
|
+
function createStageGate() {
|
|
107
|
+
let credits = 0;
|
|
108
|
+
let opened = false;
|
|
109
|
+
const waiting = [];
|
|
110
|
+
return {
|
|
111
|
+
wait: () => {
|
|
112
|
+
if (opened) return Promise.resolve();
|
|
113
|
+
if (credits > 0) {
|
|
114
|
+
credits--;
|
|
115
|
+
return Promise.resolve();
|
|
116
|
+
}
|
|
117
|
+
return new Promise((resolve) => waiting.push(resolve));
|
|
118
|
+
},
|
|
119
|
+
release() {
|
|
120
|
+
const next = waiting.shift();
|
|
121
|
+
if (next) next();
|
|
122
|
+
else credits++;
|
|
123
|
+
},
|
|
124
|
+
open() {
|
|
125
|
+
opened = true;
|
|
126
|
+
waiting.splice(0).forEach((resolve) => resolve());
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
106
130
|
var AgentPlayback = (_class = class {
|
|
107
131
|
/** 1 = natural pace; `Infinity` plays nothing (calls run instantly). Takes effect on the next step. */
|
|
108
132
|
|
|
@@ -268,13 +292,25 @@ var AgentPlayback = (_class = class {
|
|
|
268
292
|
if (!readOnly) _optionalChain([surface, 'access', _36 => _36.beginGesture, 'optionalCall', _37 => _37(`agent:${id}:${++this.calls}`)]);
|
|
269
293
|
let result;
|
|
270
294
|
let committed = false;
|
|
295
|
+
const gate = run.steps.some((s) => s.type === "stage") ? createStageGate() : null;
|
|
296
|
+
if (gate) call.context.stage = gate.wait;
|
|
297
|
+
let pending = null;
|
|
271
298
|
try {
|
|
272
299
|
for (const step of run.steps) {
|
|
273
300
|
record(step);
|
|
274
301
|
if (step.type === "commit") {
|
|
275
302
|
if (committed) continue;
|
|
276
303
|
committed = true;
|
|
277
|
-
|
|
304
|
+
if (gate) {
|
|
305
|
+
pending = next();
|
|
306
|
+
pending.catch(() => {
|
|
307
|
+
});
|
|
308
|
+
} else result = await next();
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
311
|
+
if (step.type === "stage") {
|
|
312
|
+
_optionalChain([gate, 'optionalAccess', _38 => _38.release, 'call', _39 => _39()]);
|
|
313
|
+
await wait(120);
|
|
278
314
|
continue;
|
|
279
315
|
}
|
|
280
316
|
if (step.type === "open") {
|
|
@@ -294,18 +330,23 @@ var AgentPlayback = (_class = class {
|
|
|
294
330
|
}
|
|
295
331
|
if (!committed) {
|
|
296
332
|
record({ type: "commit" });
|
|
297
|
-
|
|
333
|
+
pending = next();
|
|
334
|
+
}
|
|
335
|
+
if (pending) {
|
|
336
|
+
_optionalChain([gate, 'optionalAccess', _40 => _40.open, 'call', _41 => _41()]);
|
|
337
|
+
result = await pending;
|
|
298
338
|
}
|
|
299
339
|
} catch (error) {
|
|
340
|
+
_optionalChain([gate, 'optionalAccess', _42 => _42.open, 'call', _43 => _43()]);
|
|
300
341
|
presence.set({ id, pressed: false, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
|
|
301
342
|
await wait(900);
|
|
302
343
|
throw error;
|
|
303
344
|
} finally {
|
|
304
|
-
if (!readOnly) _optionalChain([surface, 'access',
|
|
345
|
+
if (!readOnly) _optionalChain([surface, 'access', _44 => _44.endGesture, 'optionalCall', _45 => _45()]);
|
|
305
346
|
presence.set({ id, pressed: false });
|
|
306
347
|
}
|
|
307
348
|
if (isErrorResult(result)) {
|
|
308
|
-
const text = _nullishCoalesce(_optionalChain([result, 'access',
|
|
349
|
+
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."));
|
|
309
350
|
presence.set({ id, message: `\u2717 ${text}`.slice(0, 140) });
|
|
310
351
|
await wait(900);
|
|
311
352
|
} else if (!readOnly) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkAMX23CSNcjs = require('./chunk-AMX23CSN.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk5EMS4BZGcjs = require('./chunk-5EMS4BZG.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(
|
|
49
|
+
await pause(_chunk5EMS4BZGcjs.readingTime.call(void 0, step.say));
|
|
50
50
|
}
|
|
51
51
|
if (!step.tool) continue;
|
|
52
52
|
if (control.stopped) return finish(false);
|
|
@@ -102,7 +102,31 @@ function normalizePlan(plan) {
|
|
|
102
102
|
var isErrorResult = (value) => !!value && typeof value === "object" && value.isError === true;
|
|
103
103
|
var center = (r) => ({ x: r.x + r.width / 2, y: r.y + r.height / 2 });
|
|
104
104
|
var finiteRect = (r) => r && [r.x, r.y, r.width, r.height].every(Number.isFinite) ? r : null;
|
|
105
|
-
var GLANCE_STEPS = /* @__PURE__ */ new Set(["move", "target", "focus", "say", "wait", "commit"]);
|
|
105
|
+
var GLANCE_STEPS = /* @__PURE__ */ new Set(["move", "target", "focus", "say", "wait", "commit", "stage"]);
|
|
106
|
+
function createStageGate() {
|
|
107
|
+
let credits = 0;
|
|
108
|
+
let opened = false;
|
|
109
|
+
const waiting = [];
|
|
110
|
+
return {
|
|
111
|
+
wait: () => {
|
|
112
|
+
if (opened) return Promise.resolve();
|
|
113
|
+
if (credits > 0) {
|
|
114
|
+
credits--;
|
|
115
|
+
return Promise.resolve();
|
|
116
|
+
}
|
|
117
|
+
return new Promise((resolve) => waiting.push(resolve));
|
|
118
|
+
},
|
|
119
|
+
release() {
|
|
120
|
+
const next = waiting.shift();
|
|
121
|
+
if (next) next();
|
|
122
|
+
else credits++;
|
|
123
|
+
},
|
|
124
|
+
open() {
|
|
125
|
+
opened = true;
|
|
126
|
+
waiting.splice(0).forEach((resolve) => resolve());
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
106
130
|
var AgentPlayback = class {
|
|
107
131
|
/** 1 = natural pace; `Infinity` plays nothing (calls run instantly). Takes effect on the next step. */
|
|
108
132
|
speed;
|
|
@@ -268,13 +292,25 @@ var AgentPlayback = class {
|
|
|
268
292
|
if (!readOnly) surface.beginGesture?.(`agent:${id}:${++this.calls}`);
|
|
269
293
|
let result;
|
|
270
294
|
let committed = false;
|
|
295
|
+
const gate = run.steps.some((s) => s.type === "stage") ? createStageGate() : null;
|
|
296
|
+
if (gate) call.context.stage = gate.wait;
|
|
297
|
+
let pending = null;
|
|
271
298
|
try {
|
|
272
299
|
for (const step of run.steps) {
|
|
273
300
|
record(step);
|
|
274
301
|
if (step.type === "commit") {
|
|
275
302
|
if (committed) continue;
|
|
276
303
|
committed = true;
|
|
277
|
-
|
|
304
|
+
if (gate) {
|
|
305
|
+
pending = next();
|
|
306
|
+
pending.catch(() => {
|
|
307
|
+
});
|
|
308
|
+
} else result = await next();
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
311
|
+
if (step.type === "stage") {
|
|
312
|
+
gate?.release();
|
|
313
|
+
await wait(120);
|
|
278
314
|
continue;
|
|
279
315
|
}
|
|
280
316
|
if (step.type === "open") {
|
|
@@ -294,9 +330,14 @@ var AgentPlayback = class {
|
|
|
294
330
|
}
|
|
295
331
|
if (!committed) {
|
|
296
332
|
record({ type: "commit" });
|
|
297
|
-
|
|
333
|
+
pending = next();
|
|
334
|
+
}
|
|
335
|
+
if (pending) {
|
|
336
|
+
gate?.open();
|
|
337
|
+
result = await pending;
|
|
298
338
|
}
|
|
299
339
|
} catch (error) {
|
|
340
|
+
gate?.open();
|
|
300
341
|
presence.set({ id, pressed: false, message: `\u2717 ${error instanceof Error ? error.message : String(error)}`.slice(0, 140) });
|
|
301
342
|
await wait(900);
|
|
302
343
|
throw error;
|
package/dist/commands/index.cjs
CHANGED
|
@@ -29,7 +29,7 @@ var _chunkGLQQ2VILcjs = require('../chunk-GLQQ2VIL.cjs');
|
|
|
29
29
|
var _chunk4EFNS2HVcjs = require('../chunk-4EFNS2HV.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunk5EMS4BZGcjs = require('../chunk-5EMS4BZG.cjs');
|
|
33
33
|
require('../chunk-SWTUM32H.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
@@ -608,7 +608,7 @@ function createCommandToolProvider(registry, options = {}) {
|
|
|
608
608
|
const surface = _nullishCoalesce(_nullishCoalesce(spec.playbackSurface, () => ( spec.scope)), () => ( (id.includes(".") ? id.slice(0, id.indexOf(".")) : void 0)));
|
|
609
609
|
const planned = _optionalChain([spec, 'access', _24 => _24.plan, 'optionalCall', _25 => _25(context(), _nullishCoalesce(params, () => ( {})))]);
|
|
610
610
|
const own = !planned ? [] : Array.isArray(planned) ? planned : planned.steps;
|
|
611
|
-
const steps = own.length ? own :
|
|
611
|
+
const steps = own.length ? own : _chunk5EMS4BZGcjs.derivePlaybackSteps.call(void 0, params);
|
|
612
612
|
return {
|
|
613
613
|
steps,
|
|
614
614
|
...surface ? { surface } : {},
|
package/dist/commands/index.js
CHANGED
|
@@ -1168,6 +1168,17 @@ var ImageCache = (_class = class {constructor() { _class.prototype.__init.call(t
|
|
|
1168
1168
|
}
|
|
1169
1169
|
}, _class);
|
|
1170
1170
|
var globalImageCache = new ImageCache();
|
|
1171
|
+
var OVERLAY_HANDLE_EDGE = "#0284c7";
|
|
1172
|
+
function drawOverlayHandles(ctx, points) {
|
|
1173
|
+
const size = 10;
|
|
1174
|
+
ctx.fillStyle = "#ffffff";
|
|
1175
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1176
|
+
ctx.lineWidth = 1.5;
|
|
1177
|
+
for (const h of points) {
|
|
1178
|
+
ctx.fillRect(h.x - size / 2, h.y - size / 2, size, size);
|
|
1179
|
+
ctx.strokeRect(h.x - size / 2, h.y - size / 2, size, size);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1171
1182
|
var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__init2.call(this);_class2.prototype.__init3.call(this);_class2.prototype.__init4.call(this);_class2.prototype.__init5.call(this);_class2.prototype.__init6.call(this);_class2.prototype.__init7.call(this);_class2.prototype.__init8.call(this);_class2.prototype.__init9.call(this);_class2.prototype.__init10.call(this);_class2.prototype.__init11.call(this);_class2.prototype.__init12.call(this);_class2.prototype.__init13.call(this);_class2.prototype.__init14.call(this);_class2.prototype.__init15.call(this);_class2.prototype.__init16.call(this);_class2.prototype.__init17.call(this);_class2.prototype.__init18.call(this);_class2.prototype.__init19.call(this);_class2.prototype.__init20.call(this);_class2.prototype.__init21.call(this);_class2.prototype.__init22.call(this); }
|
|
1172
1183
|
__init2() {this.imageCache = globalImageCache}
|
|
1173
1184
|
__init3() {this.cachedBaseCanvas = null}
|
|
@@ -1447,38 +1458,29 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
1447
1458
|
outline.forEach((p, i) => i ? ctx.lineTo(p.x, p.y) : ctx.moveTo(p.x, p.y));
|
|
1448
1459
|
ctx.closePath();
|
|
1449
1460
|
}
|
|
1450
|
-
ctx.lineWidth =
|
|
1451
|
-
ctx.strokeStyle = "rgba(0,0,0,0.
|
|
1461
|
+
ctx.lineWidth = 4;
|
|
1462
|
+
ctx.strokeStyle = "rgba(0,0,0,0.25)";
|
|
1452
1463
|
ctx.stroke();
|
|
1453
|
-
ctx.lineWidth =
|
|
1464
|
+
ctx.lineWidth = 2;
|
|
1454
1465
|
ctx.strokeStyle = "#ffffff";
|
|
1455
1466
|
ctx.stroke();
|
|
1456
|
-
|
|
1457
|
-
ctx.fillStyle = "#ffffff";
|
|
1458
|
-
ctx.strokeStyle = "#1e293b";
|
|
1459
|
-
ctx.fillRect(h.x - 4, h.y - 4, 8, 8);
|
|
1460
|
-
ctx.strokeRect(h.x - 4, h.y - 4, 8, 8);
|
|
1461
|
-
}
|
|
1467
|
+
drawOverlayHandles(ctx, [...t.handles, ..._nullishCoalesce(_optionalChain([t, 'access', _25 => _25.warp, 'optionalAccess', _26 => _26.anchors]), () => ( []))].map(scr));
|
|
1462
1468
|
for (const h of (_nullishCoalesce(_optionalChain([t, 'access', _27 => _27.warp, 'optionalAccess', _28 => _28.handles]), () => ( []))).map((w) => scr(w.point))) {
|
|
1463
1469
|
ctx.beginPath();
|
|
1464
|
-
ctx.arc(h.x, h.y, 3, 0, Math.PI * 2);
|
|
1470
|
+
ctx.arc(h.x, h.y, 3.5, 0, Math.PI * 2);
|
|
1465
1471
|
ctx.fillStyle = "#ffffff";
|
|
1466
1472
|
ctx.fill();
|
|
1467
|
-
ctx.
|
|
1473
|
+
ctx.lineWidth = 1.5;
|
|
1474
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1468
1475
|
ctx.stroke();
|
|
1469
1476
|
}
|
|
1470
1477
|
const r = scr(t.reference);
|
|
1471
1478
|
ctx.beginPath();
|
|
1472
|
-
ctx.arc(r.x, r.y, 5, 0, Math.PI * 2);
|
|
1473
|
-
ctx.
|
|
1474
|
-
ctx.
|
|
1475
|
-
ctx.
|
|
1476
|
-
ctx.
|
|
1477
|
-
ctx.lineWidth = 3;
|
|
1478
|
-
ctx.strokeStyle = "rgba(0,0,0,0.5)";
|
|
1479
|
-
ctx.stroke();
|
|
1480
|
-
ctx.lineWidth = 1;
|
|
1481
|
-
ctx.strokeStyle = "#ffffff";
|
|
1479
|
+
ctx.arc(r.x, r.y, 3.5, 0, Math.PI * 2);
|
|
1480
|
+
ctx.fillStyle = "rgba(255,255,255,0.9)";
|
|
1481
|
+
ctx.fill();
|
|
1482
|
+
ctx.lineWidth = 1.5;
|
|
1483
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1482
1484
|
ctx.stroke();
|
|
1483
1485
|
} catch (e7) {
|
|
1484
1486
|
}
|
|
@@ -2040,11 +2042,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
2040
2042
|
ctx.moveTo(startX, startY + cropBoxH * 2 / 3);
|
|
2041
2043
|
ctx.lineTo(startX + cropBoxW, startY + cropBoxH * 2 / 3);
|
|
2042
2044
|
ctx.stroke();
|
|
2043
|
-
ctx
|
|
2044
|
-
ctx.strokeStyle = "#0284c7";
|
|
2045
|
-
ctx.lineWidth = 1.5;
|
|
2046
|
-
const handleSize = 10;
|
|
2047
|
-
const handles = [
|
|
2045
|
+
drawOverlayHandles(ctx, [
|
|
2048
2046
|
// Corners
|
|
2049
2047
|
{ x: startX, y: startY },
|
|
2050
2048
|
{ x: startX + cropBoxW, y: startY },
|
|
@@ -2055,11 +2053,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
2055
2053
|
{ x: startX + cropBoxW / 2, y: startY + cropBoxH },
|
|
2056
2054
|
{ x: startX, y: startY + cropBoxH / 2 },
|
|
2057
2055
|
{ x: startX + cropBoxW, y: startY + cropBoxH / 2 }
|
|
2058
|
-
];
|
|
2059
|
-
for (const h of handles) {
|
|
2060
|
-
ctx.fillRect(h.x - handleSize / 2, h.y - handleSize / 2, handleSize, handleSize);
|
|
2061
|
-
ctx.strokeRect(h.x - handleSize / 2, h.y - handleSize / 2, handleSize, handleSize);
|
|
2062
|
-
}
|
|
2056
|
+
]);
|
|
2063
2057
|
ctx.restore();
|
|
2064
2058
|
}
|
|
2065
2059
|
drawFittedImage(ctx, img, imgW, imgH, vpW, vpH, zoom, pan, fit = "margin") {
|
|
@@ -1168,6 +1168,17 @@ var ImageCache = class {
|
|
|
1168
1168
|
}
|
|
1169
1169
|
};
|
|
1170
1170
|
var globalImageCache = new ImageCache();
|
|
1171
|
+
var OVERLAY_HANDLE_EDGE = "#0284c7";
|
|
1172
|
+
function drawOverlayHandles(ctx, points) {
|
|
1173
|
+
const size = 10;
|
|
1174
|
+
ctx.fillStyle = "#ffffff";
|
|
1175
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1176
|
+
ctx.lineWidth = 1.5;
|
|
1177
|
+
for (const h of points) {
|
|
1178
|
+
ctx.fillRect(h.x - size / 2, h.y - size / 2, size, size);
|
|
1179
|
+
ctx.strokeRect(h.x - size / 2, h.y - size / 2, size, size);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1171
1182
|
var ImageEditorRenderer = class {
|
|
1172
1183
|
imageCache = globalImageCache;
|
|
1173
1184
|
cachedBaseCanvas = null;
|
|
@@ -1447,38 +1458,29 @@ var ImageEditorRenderer = class {
|
|
|
1447
1458
|
outline.forEach((p, i) => i ? ctx.lineTo(p.x, p.y) : ctx.moveTo(p.x, p.y));
|
|
1448
1459
|
ctx.closePath();
|
|
1449
1460
|
}
|
|
1450
|
-
ctx.lineWidth =
|
|
1451
|
-
ctx.strokeStyle = "rgba(0,0,0,0.
|
|
1461
|
+
ctx.lineWidth = 4;
|
|
1462
|
+
ctx.strokeStyle = "rgba(0,0,0,0.25)";
|
|
1452
1463
|
ctx.stroke();
|
|
1453
|
-
ctx.lineWidth =
|
|
1464
|
+
ctx.lineWidth = 2;
|
|
1454
1465
|
ctx.strokeStyle = "#ffffff";
|
|
1455
1466
|
ctx.stroke();
|
|
1456
|
-
|
|
1457
|
-
ctx.fillStyle = "#ffffff";
|
|
1458
|
-
ctx.strokeStyle = "#1e293b";
|
|
1459
|
-
ctx.fillRect(h.x - 4, h.y - 4, 8, 8);
|
|
1460
|
-
ctx.strokeRect(h.x - 4, h.y - 4, 8, 8);
|
|
1461
|
-
}
|
|
1467
|
+
drawOverlayHandles(ctx, [...t.handles, ...t.warp?.anchors ?? []].map(scr));
|
|
1462
1468
|
for (const h of (t.warp?.handles ?? []).map((w) => scr(w.point))) {
|
|
1463
1469
|
ctx.beginPath();
|
|
1464
|
-
ctx.arc(h.x, h.y, 3, 0, Math.PI * 2);
|
|
1470
|
+
ctx.arc(h.x, h.y, 3.5, 0, Math.PI * 2);
|
|
1465
1471
|
ctx.fillStyle = "#ffffff";
|
|
1466
1472
|
ctx.fill();
|
|
1467
|
-
ctx.
|
|
1473
|
+
ctx.lineWidth = 1.5;
|
|
1474
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1468
1475
|
ctx.stroke();
|
|
1469
1476
|
}
|
|
1470
1477
|
const r = scr(t.reference);
|
|
1471
1478
|
ctx.beginPath();
|
|
1472
|
-
ctx.arc(r.x, r.y, 5, 0, Math.PI * 2);
|
|
1473
|
-
ctx.
|
|
1474
|
-
ctx.
|
|
1475
|
-
ctx.
|
|
1476
|
-
ctx.
|
|
1477
|
-
ctx.lineWidth = 3;
|
|
1478
|
-
ctx.strokeStyle = "rgba(0,0,0,0.5)";
|
|
1479
|
-
ctx.stroke();
|
|
1480
|
-
ctx.lineWidth = 1;
|
|
1481
|
-
ctx.strokeStyle = "#ffffff";
|
|
1479
|
+
ctx.arc(r.x, r.y, 3.5, 0, Math.PI * 2);
|
|
1480
|
+
ctx.fillStyle = "rgba(255,255,255,0.9)";
|
|
1481
|
+
ctx.fill();
|
|
1482
|
+
ctx.lineWidth = 1.5;
|
|
1483
|
+
ctx.strokeStyle = OVERLAY_HANDLE_EDGE;
|
|
1482
1484
|
ctx.stroke();
|
|
1483
1485
|
} catch {
|
|
1484
1486
|
}
|
|
@@ -2040,11 +2042,7 @@ var ImageEditorRenderer = class {
|
|
|
2040
2042
|
ctx.moveTo(startX, startY + cropBoxH * 2 / 3);
|
|
2041
2043
|
ctx.lineTo(startX + cropBoxW, startY + cropBoxH * 2 / 3);
|
|
2042
2044
|
ctx.stroke();
|
|
2043
|
-
ctx
|
|
2044
|
-
ctx.strokeStyle = "#0284c7";
|
|
2045
|
-
ctx.lineWidth = 1.5;
|
|
2046
|
-
const handleSize = 10;
|
|
2047
|
-
const handles = [
|
|
2045
|
+
drawOverlayHandles(ctx, [
|
|
2048
2046
|
// Corners
|
|
2049
2047
|
{ x: startX, y: startY },
|
|
2050
2048
|
{ x: startX + cropBoxW, y: startY },
|
|
@@ -2055,11 +2053,7 @@ var ImageEditorRenderer = class {
|
|
|
2055
2053
|
{ x: startX + cropBoxW / 2, y: startY + cropBoxH },
|
|
2056
2054
|
{ x: startX, y: startY + cropBoxH / 2 },
|
|
2057
2055
|
{ x: startX + cropBoxW, y: startY + cropBoxH / 2 }
|
|
2058
|
-
];
|
|
2059
|
-
for (const h of handles) {
|
|
2060
|
-
ctx.fillRect(h.x - handleSize / 2, h.y - handleSize / 2, handleSize, handleSize);
|
|
2061
|
-
ctx.strokeRect(h.x - handleSize / 2, h.y - handleSize / 2, handleSize, handleSize);
|
|
2062
|
-
}
|
|
2056
|
+
]);
|
|
2063
2057
|
ctx.restore();
|
|
2064
2058
|
}
|
|
2065
2059
|
drawFittedImage(ctx, img, imgW, imgH, vpW, vpH, zoom, pan, fit = "margin") {
|
|
@@ -84,10 +84,6 @@ declare class ImageCache {
|
|
|
84
84
|
clear(): void;
|
|
85
85
|
}
|
|
86
86
|
export declare const globalImageCache: ImageCache;
|
|
87
|
-
/**
|
|
88
|
-
* Renders an image with all its transformations, filters, depth masks, and annotations
|
|
89
|
-
* to a target HTMLCanvasElement.
|
|
90
|
-
*/
|
|
91
87
|
export declare class ImageEditorRenderer {
|
|
92
88
|
imageCache: ImageCache;
|
|
93
89
|
private cachedBaseCanvas;
|
|
@@ -84,10 +84,6 @@ declare class ImageCache {
|
|
|
84
84
|
clear(): void;
|
|
85
85
|
}
|
|
86
86
|
export declare const globalImageCache: ImageCache;
|
|
87
|
-
/**
|
|
88
|
-
* Renders an image with all its transformations, filters, depth masks, and annotations
|
|
89
|
-
* to a target HTMLCanvasElement.
|
|
90
|
-
*/
|
|
91
87
|
export declare class ImageEditorRenderer {
|
|
92
88
|
imageCache: ImageCache;
|
|
93
89
|
private cachedBaseCanvas;
|
package/dist/tools/index.cjs
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkNJGFSOPPcjs = require('../chunk-NJGFSOPP.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -46,7 +46,7 @@ var _chunkAMX23CSNcjs = require('../chunk-AMX23CSN.cjs');
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
var
|
|
49
|
+
var _chunk5EMS4BZGcjs = require('../chunk-5EMS4BZG.cjs');
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
@@ -189,4 +189,4 @@ var _chunk2BSBFBOAcjs = require('../chunk-2BSBFBOA.cjs');
|
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
|
|
192
|
-
exports.AgentPlayback =
|
|
192
|
+
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.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkSWTUM32Hcjs.createInstantPresenceClock; exports.createMcpServer = _chunkAMX23CSNcjs.createMcpServer; exports.createPlaybackToolProvider = _chunk5EMS4BZGcjs.createPlaybackToolProvider; 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.parseSkillFrontmatter = _chunkAMX23CSNcjs.parseSkillFrontmatter; exports.parseStyleDomains = _chunkNJGFSOPPcjs.parseStyleDomains; 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.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.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
|
package/dist/tools/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
runToolScript,
|
|
9
9
|
toolResultError,
|
|
10
10
|
toolResultValue
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-ZXTO6U7T.js";
|
|
12
12
|
import {
|
|
13
13
|
JSON_RPC_ERRORS,
|
|
14
14
|
MCP_PROTOCOL_VERSIONS,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
playbackRefsFromResult,
|
|
47
47
|
readingTime,
|
|
48
48
|
unionRects
|
|
49
|
-
} from "../chunk-
|
|
49
|
+
} from "../chunk-WL4IN36A.js";
|
|
50
50
|
import {
|
|
51
51
|
CAPTURE_EXCLUDE_SELECTOR,
|
|
52
52
|
CAPTURE_OVERLAY_SELECTORS,
|
|
@@ -66,6 +66,14 @@ export type PlaybackStep = {
|
|
|
66
66
|
/** The handler runs here, exactly once (appended when a plan leaves it out). */
|
|
67
67
|
| {
|
|
68
68
|
type: 'commit';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One part of a staged change lands here. A plan with `stage` steps starts the handler at
|
|
72
|
+
* `commit` and keeps playing; each `stage` lets one `await context.stage()` in the handler
|
|
73
|
+
* through, so a call that adds several things adds them one by one under the cursor.
|
|
74
|
+
*/
|
|
75
|
+
| {
|
|
76
|
+
type: 'stage';
|
|
69
77
|
};
|
|
70
78
|
export interface PlaybackPlanResult {
|
|
71
79
|
steps: PlaybackStep[];
|
package/dist/tools/playback.d.ts
CHANGED
|
@@ -66,6 +66,14 @@ export type PlaybackStep = {
|
|
|
66
66
|
/** The handler runs here, exactly once (appended when a plan leaves it out). */
|
|
67
67
|
| {
|
|
68
68
|
type: 'commit';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One part of a staged change lands here. A plan with `stage` steps starts the handler at
|
|
72
|
+
* `commit` and keeps playing; each `stage` lets one `await context.stage()` in the handler
|
|
73
|
+
* through, so a call that adds several things adds them one by one under the cursor.
|
|
74
|
+
*/
|
|
75
|
+
| {
|
|
76
|
+
type: 'stage';
|
|
69
77
|
};
|
|
70
78
|
export interface PlaybackPlanResult {
|
|
71
79
|
steps: PlaybackStep[];
|
|
@@ -51,6 +51,12 @@ export interface ToolCallContext {
|
|
|
51
51
|
signal?: AbortSignal;
|
|
52
52
|
/** Who is calling (an MCP client, a scripted agent), for agent playback's cursors and queues. */
|
|
53
53
|
actor?: PresenceActorInfo;
|
|
54
|
+
/**
|
|
55
|
+
* Set by agent playback when the tool's plan has `stage` steps: resolves when the cursor
|
|
56
|
+
* reaches the next one. A handler that adds several things awaits it before each
|
|
57
|
+
* (`await context.stage?.()`), so they appear one by one; without playback it is absent.
|
|
58
|
+
*/
|
|
59
|
+
stage?: () => Promise<void>;
|
|
54
60
|
}
|
|
55
61
|
/** Options for `callTool`. */
|
|
56
62
|
export interface ToolCallOptions {
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -51,6 +51,12 @@ export interface ToolCallContext {
|
|
|
51
51
|
signal?: AbortSignal;
|
|
52
52
|
/** Who is calling (an MCP client, a scripted agent), for agent playback's cursors and queues. */
|
|
53
53
|
actor?: PresenceActorInfo;
|
|
54
|
+
/**
|
|
55
|
+
* Set by agent playback when the tool's plan has `stage` steps: resolves when the cursor
|
|
56
|
+
* reaches the next one. A handler that adds several things awaits it before each
|
|
57
|
+
* (`await context.stage?.()`), so they appear one by one; without playback it is absent.
|
|
58
|
+
*/
|
|
59
|
+
stage?: () => Promise<void>;
|
|
54
60
|
}
|
|
55
61
|
/** Options for `callTool`. */
|
|
56
62
|
export interface ToolCallOptions {
|