@pixerate/editor 0.140.4 → 0.142.1
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/canvasPlayback.d.cts +15 -0
- package/dist/agent/canvasPlayback.d.ts +15 -0
- package/dist/agent/index.cjs +173 -33
- package/dist/agent/index.d.cts +1 -0
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.js +147 -7
- package/dist/agent/providers.d.cts +12 -1
- package/dist/agent/providers.d.ts +12 -1
- package/dist/agent/types.d.cts +3 -0
- package/dist/agent/types.d.ts +3 -0
- package/dist/animation/index.cjs +2 -2
- package/dist/animation/index.js +1 -1
- package/dist/animation/presence.d.cts +1 -75
- package/dist/animation/presence.d.ts +1 -75
- package/dist/animation-editor/index.cjs +69 -19
- package/dist/animation-editor/index.d.cts +1 -0
- package/dist/animation-editor/index.d.ts +1 -0
- package/dist/animation-editor/index.js +54 -4
- package/dist/animation-editor/playback.d.cts +10 -0
- package/dist/animation-editor/playback.d.ts +10 -0
- package/dist/bridge/cli.cjs +3 -3
- package/dist/bridge/cli.js +2 -2
- package/dist/bridge/index.cjs +3 -3
- package/dist/bridge/index.js +2 -2
- package/dist/canvas/index.cjs +336 -646
- package/dist/canvas/index.d.cts +1 -0
- package/dist/canvas/index.d.ts +1 -0
- package/dist/canvas/index.js +44 -354
- package/dist/canvas/playback.d.cts +14 -0
- package/dist/canvas/playback.d.ts +14 -0
- package/dist/chart/index.cjs +255 -171
- package/dist/chart/index.d.cts +1 -0
- package/dist/chart/index.d.ts +1 -0
- package/dist/chart/index.js +244 -160
- package/dist/chart/playback.d.cts +22 -0
- package/dist/chart/playback.d.ts +22 -0
- package/dist/chunk-54GVEVXS.js +408 -0
- package/dist/{chunk-E747F3D5.js → chunk-CC6WKVIH.js} +86 -5
- package/dist/chunk-DW4CV5H4.js +591 -0
- package/dist/{chunk-UMS6YFA6.js → chunk-EAQ4BGNS.js} +1 -1
- package/dist/{chunk-AGCD3EHB.cjs → chunk-ENIZYNEF.cjs} +7 -7
- package/dist/{chunk-BSGPXPTW.js → chunk-PEEP2YR7.js} +1 -1
- package/dist/{chunk-VTY64I6H.cjs → chunk-QSM3MDDJ.cjs} +85 -85
- package/dist/{chunk-2RUNJYOX.cjs → chunk-QZFEX2N4.cjs} +86 -5
- package/dist/{chunk-RB62U6MS.js → chunk-RFBFTLVN.js} +27 -5
- package/dist/chunk-UBRYHNRU.cjs +591 -0
- package/dist/{chunk-GEY73RUW.cjs → chunk-UJGAA6AK.cjs} +1 -1
- package/dist/{chunk-LMSFXRAJ.js → chunk-VGJTUCWM.js} +1 -1
- package/dist/chunk-X2HQP7DF.cjs +408 -0
- package/dist/chunk-XH32BATE.cjs +68 -0
- package/dist/{chunk-HDK3T2QS.cjs → chunk-Y4BWZB6J.cjs} +29 -7
- package/dist/chunk-Y6SGC6KO.js +68 -0
- package/dist/commands/index.cjs +37 -1
- package/dist/commands/index.js +36 -0
- package/dist/commands/registry.d.cts +11 -0
- package/dist/commands/registry.d.ts +11 -0
- package/dist/diagram/index.cjs +7 -7
- package/dist/diagram/index.js +1 -1
- package/dist/image-editor/index.cjs +108 -16
- package/dist/image-editor/index.d.cts +1 -0
- package/dist/image-editor/index.d.ts +1 -0
- package/dist/image-editor/index.js +107 -15
- package/dist/image-editor/playback.d.cts +22 -0
- package/dist/image-editor/playback.d.ts +22 -0
- package/dist/index.cjs +7 -3
- package/dist/index.js +6 -2
- package/dist/paint-editor/index.cjs +73 -25
- package/dist/paint-editor/index.d.cts +1 -0
- package/dist/paint-editor/index.d.ts +1 -0
- package/dist/paint-editor/index.js +68 -20
- package/dist/paint-editor/playback.d.cts +16 -0
- package/dist/paint-editor/playback.d.ts +16 -0
- package/dist/parameters/index.cjs +32 -8
- package/dist/parameters/index.d.cts +1 -0
- package/dist/parameters/index.d.ts +1 -0
- package/dist/parameters/index.js +28 -4
- package/dist/parameters/playback.d.cts +10 -0
- package/dist/parameters/playback.d.ts +10 -0
- package/dist/spreadsheet/index.cjs +7 -3
- package/dist/spreadsheet/index.d.cts +1 -0
- package/dist/spreadsheet/index.d.ts +1 -0
- package/dist/spreadsheet/index.js +6 -2
- package/dist/spreadsheet/playback.d.cts +15 -0
- package/dist/spreadsheet/playback.d.ts +15 -0
- package/dist/tools/index.cjs +40 -3
- package/dist/tools/index.d.cts +3 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +39 -2
- package/dist/tools/playback.d.cts +205 -0
- package/dist/tools/playback.d.ts +205 -0
- package/dist/tools/presence.d.cts +82 -0
- package/dist/tools/presence.d.ts +82 -0
- package/dist/tools/registry.d.cts +45 -6
- package/dist/tools/registry.d.ts +45 -6
- package/dist/tools/script.d.cts +77 -0
- package/dist/tools/script.d.ts +77 -0
- package/dist/tools/view.d.cts +2 -4
- package/dist/tools/view.d.ts +2 -4
- package/dist/vector/index.cjs +217 -100
- package/dist/vector/index.d.cts +1 -0
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.js +140 -23
- package/dist/vector/playback.d.cts +13 -0
- package/dist/vector/playback.d.ts +13 -0
- package/dist/video-editor/index.cjs +81 -28
- package/dist/video-editor/index.d.cts +1 -0
- package/dist/video-editor/index.d.ts +1 -0
- package/dist/video-editor/index.js +58 -5
- package/dist/video-editor/playback.d.cts +20 -0
- package/dist/video-editor/playback.d.ts +20 -0
- package/package.json +1 -1
- package/skills/pixerate-agent-tools/SKILL.md +13 -0
- package/skills/pixerate-animation-editor/SKILL.md +1 -0
- package/skills/pixerate-canvas/SKILL.md +3 -0
- package/skills/pixerate-chart/SKILL.md +1 -0
- package/skills/pixerate-image-editor/SKILL.md +2 -2
- package/skills/pixerate-paint-editor/SKILL.md +1 -0
- package/skills/pixerate-parameters/SKILL.md +1 -0
- package/skills/pixerate-spreadsheet/SKILL.md +1 -0
- package/skills/pixerate-vector/SKILL.md +5 -0
- package/skills/pixerate-video-editor/SKILL.md +1 -0
- package/dist/chunk-BTZS3KZY.js +0 -221
- package/dist/chunk-K73HMKQP.js +0 -0
- package/dist/chunk-LACYURUW.cjs +0 -1
- package/dist/chunk-MRD3NXKR.cjs +0 -221
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type NodeRectOptions } from '../canvas/arrange.cjs';
|
|
2
|
+
import type { CanvasEdge, CanvasNode } from '../canvas/types.cjs';
|
|
3
|
+
import { type PlaybackStep } from '../tools/playback.cjs';
|
|
4
|
+
import { type planToolCall } from './planner.cjs';
|
|
5
|
+
import type { AgentStep, EditorSnapshot } from './types.cjs';
|
|
6
|
+
/**
|
|
7
|
+
* Turns the planner's model steps into cursor steps (flow coordinates), against the nodes as they
|
|
8
|
+
* are before the call. Steps after `commit` play once the change is on the canvas.
|
|
9
|
+
*/
|
|
10
|
+
export declare function planCanvasPlaybackSteps<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge>(steps: readonly AgentStep<TNode, TEdge>[], nodes: readonly TNode[], rectOptions?: NodeRectOptions): PlaybackStep[];
|
|
11
|
+
/**
|
|
12
|
+
* The cursor steps for one canvas edit tool call (`canvas_add_node`, `edit_canvas`, ...), or `null`
|
|
13
|
+
* when the call is invalid (the handler then reports the error) or is not a canvas edit.
|
|
14
|
+
*/
|
|
15
|
+
export declare function planCanvasToolPlayback<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge>(name: string, args: Record<string, any>, snapshot: EditorSnapshot<TNode, TEdge>, plannerOptions?: Parameters<typeof planToolCall>[3], rectOptions?: NodeRectOptions): PlaybackStep[] | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type NodeRectOptions } from '../canvas/arrange.js';
|
|
2
|
+
import type { CanvasEdge, CanvasNode } from '../canvas/types.js';
|
|
3
|
+
import { type PlaybackStep } from '../tools/playback.js';
|
|
4
|
+
import { type planToolCall } from './planner.js';
|
|
5
|
+
import type { AgentStep, EditorSnapshot } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Turns the planner's model steps into cursor steps (flow coordinates), against the nodes as they
|
|
8
|
+
* are before the call. Steps after `commit` play once the change is on the canvas.
|
|
9
|
+
*/
|
|
10
|
+
export declare function planCanvasPlaybackSteps<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge>(steps: readonly AgentStep<TNode, TEdge>[], nodes: readonly TNode[], rectOptions?: NodeRectOptions): PlaybackStep[];
|
|
11
|
+
/**
|
|
12
|
+
* The cursor steps for one canvas edit tool call (`canvas_add_node`, `edit_canvas`, ...), or `null`
|
|
13
|
+
* when the call is invalid (the handler then reports the error) or is not a canvas edit.
|
|
14
|
+
*/
|
|
15
|
+
export declare function planCanvasToolPlayback<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge>(name: string, args: Record<string, any>, snapshot: EditorSnapshot<TNode, TEdge>, plannerOptions?: Parameters<typeof planToolCall>[3], rectOptions?: NodeRectOptions): PlaybackStep[] | null;
|
package/dist/agent/index.cjs
CHANGED
|
@@ -10,9 +10,18 @@ var _chunkGLQQ2VILcjs = require('../chunk-GLQQ2VIL.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkUBRYHNRUcjs = require('../chunk-UBRYHNRU.cjs');
|
|
14
16
|
require('../chunk-4EFNS2HV.cjs');
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _chunkXH32BATEcjs = require('../chunk-XH32BATE.cjs');
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
16
25
|
|
|
17
26
|
|
|
18
27
|
|
|
@@ -35,10 +44,16 @@ require('../chunk-LACYURUW.cjs');
|
|
|
35
44
|
|
|
36
45
|
|
|
37
46
|
|
|
47
|
+
var _chunkY4BWZB6Jcjs = require('../chunk-Y4BWZB6J.cjs');
|
|
38
48
|
|
|
39
49
|
|
|
40
50
|
|
|
41
|
-
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var _chunkX2HQP7DFcjs = require('../chunk-X2HQP7DF.cjs');
|
|
42
57
|
|
|
43
58
|
|
|
44
59
|
|
|
@@ -121,7 +136,8 @@ var _chunk2BSBFBOAcjs = require('../chunk-2BSBFBOA.cjs');
|
|
|
121
136
|
|
|
122
137
|
|
|
123
138
|
|
|
124
|
-
|
|
139
|
+
|
|
140
|
+
var _chunkQZFEX2N4cjs = require('../chunk-QZFEX2N4.cjs');
|
|
125
141
|
|
|
126
142
|
|
|
127
143
|
|
|
@@ -130,6 +146,14 @@ var _chunk55AKPTLMcjs = require('../chunk-55AKPTLM.cjs');
|
|
|
130
146
|
require('../chunk-N3KJFGXT.cjs');
|
|
131
147
|
|
|
132
148
|
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
var _chunkUJGAA6AKcjs = require('../chunk-UJGAA6AK.cjs');
|
|
155
|
+
|
|
156
|
+
|
|
133
157
|
var _chunkWOFXZ3XUcjs = require('../chunk-WOFXZ3XU.cjs');
|
|
134
158
|
require('../chunk-FJ2MSI43.cjs');
|
|
135
159
|
|
|
@@ -170,10 +194,10 @@ function planAgentCommand(command, snapshot, options = {}) {
|
|
|
170
194
|
};
|
|
171
195
|
}
|
|
172
196
|
if (anchorId) {
|
|
173
|
-
pos =
|
|
197
|
+
pos = _chunkUBRYHNRUcjs.placeBeside.call(void 0, rects, defaultNodeSize, normalizeSide(command.side), anchorId);
|
|
174
198
|
} else if (nodes.length > 0) {
|
|
175
199
|
const lastNode = nodes[nodes.length - 1];
|
|
176
|
-
pos =
|
|
200
|
+
pos = _chunkUBRYHNRUcjs.placeBeside.call(void 0, rects, defaultNodeSize, "right", lastNode.id);
|
|
177
201
|
} else {
|
|
178
202
|
pos = { x: 100, y: 100 };
|
|
179
203
|
}
|
|
@@ -241,12 +265,12 @@ function planAgentCommand(command, snapshot, options = {}) {
|
|
|
241
265
|
stored[n.id] = { ...n.position };
|
|
242
266
|
}
|
|
243
267
|
}
|
|
244
|
-
layouted =
|
|
268
|
+
layouted = _chunkUBRYHNRUcjs.ensureLayout.call(void 0, nodes, edges, {
|
|
245
269
|
direction: dir,
|
|
246
270
|
storedPositions: stored
|
|
247
271
|
});
|
|
248
272
|
} else {
|
|
249
|
-
layouted =
|
|
273
|
+
layouted = _chunkUBRYHNRUcjs.getLayoutedNodes.call(void 0, nodes, edges, void 0, { direction: dir });
|
|
250
274
|
}
|
|
251
275
|
const positions = {};
|
|
252
276
|
for (const node of layouted) {
|
|
@@ -459,6 +483,87 @@ function planToolCall(name, args, snapshot, options) {
|
|
|
459
483
|
var _state = require('@tiptap/pm/state');
|
|
460
484
|
var _history = require('@tiptap/pm/history');
|
|
461
485
|
|
|
486
|
+
// src/agent/canvasPlayback.ts
|
|
487
|
+
var centre = (r) => ({ x: r.x + r.width / 2, y: r.y + r.height / 2 });
|
|
488
|
+
var labelOf = (data) => {
|
|
489
|
+
const label = _nullishCoalesce(_nullishCoalesce(_optionalChain([data, 'optionalAccess', _16 => _16.label]), () => ( _optionalChain([data, 'optionalAccess', _17 => _17.title]))), () => ( _optionalChain([data, 'optionalAccess', _18 => _18.text])));
|
|
490
|
+
return typeof label === "string" && label.trim() ? label : null;
|
|
491
|
+
};
|
|
492
|
+
function planCanvasPlaybackSteps(steps, nodes, rectOptions) {
|
|
493
|
+
const placed = new Map(_chunkUBRYHNRUcjs.createNodeLookup.call(void 0, nodes));
|
|
494
|
+
const rectOf = (id) => {
|
|
495
|
+
const node = placed.get(id);
|
|
496
|
+
return node ? _chunkUBRYHNRUcjs.getNodeRect.call(void 0, node, placed, rectOptions) : null;
|
|
497
|
+
};
|
|
498
|
+
const before = [];
|
|
499
|
+
const after = [];
|
|
500
|
+
const click = (rect) => rect ? [{ type: "move", to: centre(rect) }, { type: "focus", rect }, { type: "press" }, { type: "release" }] : [];
|
|
501
|
+
for (const step of steps) {
|
|
502
|
+
switch (step.type) {
|
|
503
|
+
case "step:canvas_add_node": {
|
|
504
|
+
placed.set(step.node.id, step.node);
|
|
505
|
+
const rect = rectOf(step.node.id);
|
|
506
|
+
const label = labelOf(step.node.data);
|
|
507
|
+
before.push(...click(rect), ...label ? [{ type: "type", text: label }] : []);
|
|
508
|
+
break;
|
|
509
|
+
}
|
|
510
|
+
case "step:canvas_add_edge": {
|
|
511
|
+
const a = rectOf(step.edge.source);
|
|
512
|
+
const b = rectOf(step.edge.target);
|
|
513
|
+
if (!a || !b) break;
|
|
514
|
+
const label = typeof step.edge.label === "string" ? step.edge.label : labelOf(step.edge.data);
|
|
515
|
+
before.push(
|
|
516
|
+
{ type: "move", to: { x: a.x + a.width, y: a.y + a.height / 2 } },
|
|
517
|
+
{ type: "press" },
|
|
518
|
+
{ type: "drag", to: { x: b.x, y: b.y + b.height / 2 } },
|
|
519
|
+
{ type: "release" },
|
|
520
|
+
...label ? [{ type: "type", text: label }] : []
|
|
521
|
+
);
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
case "step:canvas_update_node": {
|
|
525
|
+
const rect = rectOf(step.id);
|
|
526
|
+
const label = labelOf(step.data);
|
|
527
|
+
before.push(...click(rect), ...rect && label ? [{ type: "type", text: label }] : []);
|
|
528
|
+
break;
|
|
529
|
+
}
|
|
530
|
+
case "step:canvas_remove_nodes":
|
|
531
|
+
for (const id of step.nodeIds.slice(0, 8)) before.push(...click(rectOf(id)));
|
|
532
|
+
break;
|
|
533
|
+
case "step:canvas_select":
|
|
534
|
+
for (const id of step.nodeIds.slice(0, 8)) before.push(...click(rectOf(id)));
|
|
535
|
+
break;
|
|
536
|
+
case "step:canvas_highlight":
|
|
537
|
+
for (const id of step.nodeIds.slice(0, 8)) {
|
|
538
|
+
const rect = rectOf(id);
|
|
539
|
+
if (rect) before.push({ type: "move", to: centre(rect) }, { type: "focus", rect });
|
|
540
|
+
}
|
|
541
|
+
break;
|
|
542
|
+
case "step:canvas_move_nodes": {
|
|
543
|
+
const moved = Object.entries(step.positions);
|
|
544
|
+
for (const [id, position] of moved) {
|
|
545
|
+
const node = placed.get(id);
|
|
546
|
+
if (node) placed.set(id, { ...node, position });
|
|
547
|
+
}
|
|
548
|
+
const rect = _chunkX2HQP7DFcjs.unionRects.call(void 0, moved.map(([id]) => rectOf(id)));
|
|
549
|
+
if (rect) after.push({ type: "move", to: centre(rect) }, { type: "focus", rect }, { type: "wait", ms: 450 });
|
|
550
|
+
break;
|
|
551
|
+
}
|
|
552
|
+
default:
|
|
553
|
+
break;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
if (!before.length && !after.length) return [];
|
|
557
|
+
return [...before, { type: "commit" }, ...after];
|
|
558
|
+
}
|
|
559
|
+
function planCanvasToolPlayback(name, args, snapshot, plannerOptions, rectOptions) {
|
|
560
|
+
const command = toolCallToAgentCommand(name, args);
|
|
561
|
+
if (!command || !command.type.startsWith("canvas:") || validateAgentCommand(command, snapshot)) return null;
|
|
562
|
+
const steps = planAgentCommand(command, snapshot, plannerOptions);
|
|
563
|
+
const planned = planCanvasPlaybackSteps(steps, _nullishCoalesce(_optionalChain([snapshot, 'access', _19 => _19.canvas, 'optionalAccess', _20 => _20.nodes]), () => ( [])), rectOptions);
|
|
564
|
+
return planned.length ? planned : null;
|
|
565
|
+
}
|
|
566
|
+
|
|
462
567
|
// src/agent/documentChartTools.ts
|
|
463
568
|
|
|
464
569
|
var READ = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
|
|
@@ -573,7 +678,7 @@ function createDocumentChartTools(editor) {
|
|
|
573
678
|
const ed = editor();
|
|
574
679
|
checkPosition(ed, at);
|
|
575
680
|
const spec = checkedSpec(input);
|
|
576
|
-
const id = _nullishCoalesce(_optionalChain([ed, 'access',
|
|
681
|
+
const id = _nullishCoalesce(_optionalChain([ed, 'access', _21 => _21.extensionManager, 'access', _22 => _22.extensions, 'access', _23 => _23.find, 'call', _24 => _24((e) => e.name === "chart"), 'optionalAccess', _25 => _25.options, 'access', _26 => _26.generateId, 'optionalCall', _27 => _27()]), () => ( `chart-${Date.now().toString(36)}`));
|
|
577
682
|
const node = { type: "chart", attrs: { id, spec, width, ...height !== void 0 ? { height } : {} } };
|
|
578
683
|
const chain = ed.chain().command(({ tr }) => (_history.closeHistory.call(void 0, tr), true));
|
|
579
684
|
const ok = (at !== void 0 ? chain.insertContentAt(at, node) : chain.insertContent(node)).run();
|
|
@@ -788,7 +893,7 @@ function createDocumentFormatTools(editor, changed) {
|
|
|
788
893
|
const formatText = (ed) => {
|
|
789
894
|
const { schema } = ed;
|
|
790
895
|
const has = (name) => !!schema.marks[name];
|
|
791
|
-
const hasAttr = (mark, attr) => !!_optionalChain([schema, 'access',
|
|
896
|
+
const hasAttr = (mark, attr) => !!_optionalChain([schema, 'access', _28 => _28.marks, 'access', _29 => _29[mark], 'optionalAccess', _30 => _30.spec, 'access', _31 => _31.attrs, 'optionalAccess', _32 => _32[attr]]);
|
|
792
897
|
const properties = { ...RANGE_PROPERTIES };
|
|
793
898
|
for (const [arg, mark, what] of TOGGLE_MARKS) {
|
|
794
899
|
if (has(mark)) properties[arg] = { type: "boolean", description: `${what} true sets it, false clears it; omit to leave it.` };
|
|
@@ -863,7 +968,7 @@ function createDocumentFormatTools(editor, changed) {
|
|
|
863
968
|
const blockTypes = (ed) => BLOCK_TYPES.filter(([, node]) => !!ed.schema.nodes[node] && (!LIST_ITEMS[node] || !!ed.schema.nodes[LIST_ITEMS[node]]));
|
|
864
969
|
const headingLevels = (ed) => {
|
|
865
970
|
const ext = ed.extensionManager.extensions.find((e) => e.name === "heading");
|
|
866
|
-
return _nullishCoalesce(_optionalChain([ext, 'optionalAccess',
|
|
971
|
+
return _nullishCoalesce(_optionalChain([ext, 'optionalAccess', _33 => _33.options, 'optionalAccess', _34 => _34.levels]), () => ( [1, 2, 3, 4, 5, 6]));
|
|
867
972
|
};
|
|
868
973
|
const setBlockType = (ed) => {
|
|
869
974
|
const types = blockTypes(ed);
|
|
@@ -913,8 +1018,8 @@ function createDocumentFormatTools(editor, changed) {
|
|
|
913
1018
|
const setTextAlign = (ed) => {
|
|
914
1019
|
const ext = ed.extensionManager.extensions.find((e) => e.name === "textAlign");
|
|
915
1020
|
if (!ext) return null;
|
|
916
|
-
const alignments = (_nullishCoalesce(_optionalChain([ext, 'access',
|
|
917
|
-
const types = _nullishCoalesce(_optionalChain([ext, 'access',
|
|
1021
|
+
const alignments = (_nullishCoalesce(_optionalChain([ext, 'access', _35 => _35.options, 'optionalAccess', _36 => _36.alignments]), () => ( ["left", "center", "right", "justify"]))).slice();
|
|
1022
|
+
const types = _nullishCoalesce(_optionalChain([ext, 'access', _37 => _37.options, 'optionalAccess', _38 => _38.types]), () => ( ["heading", "paragraph"]));
|
|
918
1023
|
return {
|
|
919
1024
|
name: "set_text_align",
|
|
920
1025
|
title: "Align text",
|
|
@@ -981,13 +1086,13 @@ function textBlocks(editor) {
|
|
|
981
1086
|
function createTextPresence(editor, providerId, option) {
|
|
982
1087
|
const config = option === false ? null : option === true || option === void 0 ? {} : option;
|
|
983
1088
|
const caret = {
|
|
984
|
-
id: _nullishCoalesce(_optionalChain([config, 'optionalAccess',
|
|
985
|
-
name: _nullishCoalesce(_optionalChain([config, 'optionalAccess',
|
|
986
|
-
color: _nullishCoalesce(_optionalChain([config, 'optionalAccess',
|
|
1089
|
+
id: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _39 => _39.id]), () => ( providerId)),
|
|
1090
|
+
name: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _40 => _40.name]), () => ( _chunkL434J57Vcjs.DEFAULT_AGENT_CARET_NAME)),
|
|
1091
|
+
color: _nullishCoalesce(_optionalChain([config, 'optionalAccess', _41 => _41.color]), () => ( _chunkL434J57Vcjs.DEFAULT_AGENT_CARET_COLOR))
|
|
987
1092
|
};
|
|
988
|
-
const typing = !_optionalChain([config, 'optionalAccess',
|
|
989
|
-
const idleMs = _nullishCoalesce(_optionalChain([config, 'optionalAccess',
|
|
990
|
-
const changedMs = _nullishCoalesce(_optionalChain([config, 'optionalAccess',
|
|
1093
|
+
const typing = !_optionalChain([config, 'optionalAccess', _42 => _42.typing]) ? null : config.typing === true ? {} : config.typing;
|
|
1094
|
+
const idleMs = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _43 => _43.idleMs]), () => ( 12e3));
|
|
1095
|
+
const changedMs = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _44 => _44.changedMs]), () => ( 1500));
|
|
991
1096
|
let idleTimer;
|
|
992
1097
|
let tintTimer;
|
|
993
1098
|
const live = () => {
|
|
@@ -1065,6 +1170,13 @@ function findMatches(editor, query, args, replacement) {
|
|
|
1065
1170
|
function createRichTextToolProvider(target, options) {
|
|
1066
1171
|
const editor = () => toEditor(target);
|
|
1067
1172
|
const charts = createDocumentChartTools(editor);
|
|
1173
|
+
const withCaret = (tool) => tool.name !== "insert_chart" ? tool : {
|
|
1174
|
+
...tool,
|
|
1175
|
+
handler: (args, context) => {
|
|
1176
|
+
if (typeof args.at === "number") presence.show(args.at);
|
|
1177
|
+
return tool.handler(args, context);
|
|
1178
|
+
}
|
|
1179
|
+
};
|
|
1068
1180
|
const presence = createTextPresence(editor, options.id, options.presence);
|
|
1069
1181
|
const formatting = createDocumentFormatTools(editor, (ranges) => presence.changed(ranges.filter((r) => r.from < r.to)));
|
|
1070
1182
|
const getText = {
|
|
@@ -1366,7 +1478,7 @@ function createRichTextToolProvider(target, options) {
|
|
|
1366
1478
|
if (!ed || ed.isDestroyed) return [];
|
|
1367
1479
|
if (!ed.isEditable) return [getText, findText, ...charts.read()];
|
|
1368
1480
|
const tools = [getText, findText, insertText, replaceText, replaceRange, replaceSelection, setSelection, ...formatting.tools(ed)];
|
|
1369
|
-
return [...tools, ..._chunkL434J57Vcjs.isTableEnabled.call(void 0, ed) ? [editTable] : [], ...charts.read(), ...charts.write()];
|
|
1481
|
+
return [...tools, ..._chunkL434J57Vcjs.isTableEnabled.call(void 0, ed) ? [editTable] : [], ...charts.read(), ...charts.write().map(withCaret)];
|
|
1370
1482
|
},
|
|
1371
1483
|
subscribe: (notify) => {
|
|
1372
1484
|
const ed = editor();
|
|
@@ -1396,7 +1508,7 @@ function parseRange(ref) {
|
|
|
1396
1508
|
if (extra !== void 0) throw new Error(`Invalid range "${ref}". Use A1 notation, e.g. "A1:C5".`);
|
|
1397
1509
|
const start = parseCell(startRef);
|
|
1398
1510
|
const end = parseCell(endRef);
|
|
1399
|
-
return
|
|
1511
|
+
return _chunkQZFEX2N4cjs.normalizeRange.call(void 0, { startRow: start.row, startCol: start.col, endRow: end.row, endCol: end.col });
|
|
1400
1512
|
}
|
|
1401
1513
|
var formatRange = (r) => `${_chunk55AKPTLMcjs.indexToColName.call(void 0, r.startCol)}${r.startRow + 1}:${_chunk55AKPTLMcjs.indexToColName.call(void 0, r.endCol)}${r.endRow + 1}`;
|
|
1402
1514
|
var CELL_INPUT = { type: ["string", "number", "boolean", "null"] };
|
|
@@ -1458,7 +1570,7 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
1458
1570
|
values,
|
|
1459
1571
|
raw,
|
|
1460
1572
|
errors,
|
|
1461
|
-
merges: controller.getMerges().filter((m) =>
|
|
1573
|
+
merges: controller.getMerges().filter((m) => _chunkQZFEX2N4cjs.rangesIntersect.call(void 0, m, read)).map(formatRange),
|
|
1462
1574
|
sheet: { rows: rowCount, columns: colCount }
|
|
1463
1575
|
};
|
|
1464
1576
|
}
|
|
@@ -1653,8 +1765,8 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
1653
1765
|
({ range }) => {
|
|
1654
1766
|
const r = parseRange(range);
|
|
1655
1767
|
inSheet(r, range);
|
|
1656
|
-
if (
|
|
1657
|
-
const partial = controller.getMerges().find((m) =>
|
|
1768
|
+
if (_chunkQZFEX2N4cjs.isSingleCellRange.call(void 0, r)) throw new Error(`${range} is a single cell; give a range of at least two cells.`);
|
|
1769
|
+
const partial = controller.getMerges().find((m) => _chunkQZFEX2N4cjs.rangesIntersect.call(void 0, m, r) && !_chunkQZFEX2N4cjs.rangeContainsRange.call(void 0, r, m));
|
|
1658
1770
|
if (partial) throw new Error(`${range} partly overlaps the merged range ${formatRange(partial)}; include all of it or unmerge it first.`);
|
|
1659
1771
|
const readOnly = readOnlyIn(r);
|
|
1660
1772
|
if (readOnly.length) throw new Error(`Read-only cells: ${readOnly.slice(0, 20).join(", ")}. Nothing was merged.`);
|
|
@@ -1679,7 +1791,7 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
1679
1791
|
false,
|
|
1680
1792
|
({ range }) => {
|
|
1681
1793
|
const r = parseRange(range);
|
|
1682
|
-
const touched = controller.getMerges().filter((m) =>
|
|
1794
|
+
const touched = controller.getMerges().filter((m) => _chunkQZFEX2N4cjs.rangesIntersect.call(void 0, m, r));
|
|
1683
1795
|
if (!touched.length) throw new Error(`No merged cells in ${range}. get_range lists the merges in a range.`);
|
|
1684
1796
|
controller.unmergeCells(r);
|
|
1685
1797
|
return { unmerged: touched.map(formatRange) };
|
|
@@ -1695,14 +1807,14 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
1695
1807
|
({ range }) => {
|
|
1696
1808
|
const s = parseRange(range);
|
|
1697
1809
|
inSheet(s, range);
|
|
1698
|
-
if (
|
|
1810
|
+
if (_chunkQZFEX2N4cjs.isSingleCellRange.call(void 0, s)) throw new Error(`${range} is a single cell; give a range of at least two cells.`);
|
|
1699
1811
|
const t = {
|
|
1700
1812
|
startRow: s.startRow,
|
|
1701
1813
|
startCol: s.startCol,
|
|
1702
1814
|
endRow: s.startRow + (s.endCol - s.startCol),
|
|
1703
1815
|
endCol: s.startCol + (s.endRow - s.startRow)
|
|
1704
1816
|
};
|
|
1705
|
-
const merge = controller.getMerges().find((m) =>
|
|
1817
|
+
const merge = controller.getMerges().find((m) => _chunkQZFEX2N4cjs.rangesIntersect.call(void 0, m, s) || _chunkQZFEX2N4cjs.rangesIntersect.call(void 0, m, t));
|
|
1706
1818
|
if (merge) throw new Error(`Cannot transpose ${range}: the merged range ${formatRange(merge)} is in the way; unmerge it first.`);
|
|
1707
1819
|
const readOnly = [.../* @__PURE__ */ new Set([...readOnlyIn(s), ...readOnlyIn(t)])];
|
|
1708
1820
|
if (readOnly.length) throw new Error(`Read-only cells: ${readOnly.slice(0, 20).join(", ")}. Nothing was transposed.`);
|
|
@@ -1716,14 +1828,18 @@ function createSpreadsheetToolProvider(controller, options) {
|
|
|
1716
1828
|
title: "Spreadsheet",
|
|
1717
1829
|
description: "A spreadsheet: read and set cells and ranges, insert and delete rows and columns, merge and transpose.",
|
|
1718
1830
|
skill: "pixerate-spreadsheet",
|
|
1719
|
-
|
|
1831
|
+
// Agent playback: `<SpreadsheetEditor playback>` attaches as `spreadsheet` and finds the cells.
|
|
1832
|
+
playbackSurface: _nullishCoalesce(options.playbackSurface, () => ( "spreadsheet")),
|
|
1833
|
+
tools: [getRange, setCell, setRange, insertRows, deleteRows, insertColumns, deleteColumns, mergeCells, unmergeCells, transposeRange].map(
|
|
1834
|
+
(tool) => ({ ...tool, plan: (args) => _chunkQZFEX2N4cjs.planSpreadsheetToolPlayback.call(void 0, tool.name, args) })
|
|
1835
|
+
)
|
|
1720
1836
|
};
|
|
1721
1837
|
}
|
|
1722
1838
|
function missingArgumentsMessage(name, args) {
|
|
1723
1839
|
const required = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS[name][args.operation];
|
|
1724
1840
|
if (!required) return `Unknown operation "${args.operation}".`;
|
|
1725
1841
|
const missing = required.filter(
|
|
1726
|
-
(key) => key === "id" ? args.id === void 0 && _optionalChain([args, 'access',
|
|
1842
|
+
(key) => key === "id" ? args.id === void 0 && _optionalChain([args, 'access', _45 => _45.node, 'optionalAccess', _46 => _46.id]) === void 0 : args[key] === void 0
|
|
1727
1843
|
);
|
|
1728
1844
|
return missing.length ? `Operation "${args.operation}" requires ${required.join(", ")}; missing: ${missing.join(", ")}.` : `Operation "${args.operation}" has invalid arguments (expected ${required.join(", ")} with the types in the schema).`;
|
|
1729
1845
|
}
|
|
@@ -1755,8 +1871,8 @@ function createEditorMcpToolProvider(options) {
|
|
|
1755
1871
|
await options.applySteps(steps);
|
|
1756
1872
|
return describeSteps(steps);
|
|
1757
1873
|
};
|
|
1758
|
-
const canvas = _nullishCoalesce(_optionalChain([options, 'access',
|
|
1759
|
-
const prompt = _nullishCoalesce(_optionalChain([options, 'access',
|
|
1874
|
+
const canvas = _nullishCoalesce(_optionalChain([options, 'access', _47 => _47.surfaces, 'optionalAccess', _48 => _48.canvas]), () => ( true));
|
|
1875
|
+
const prompt = _nullishCoalesce(_optionalChain([options, 'access', _49 => _49.surfaces, 'optionalAccess', _50 => _50.prompt]), () => ( true));
|
|
1760
1876
|
const editTools = options.toolStyle === "combined" ? [...canvas ? [_chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS] : [], ...prompt ? [_chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT] : []] : [...canvas ? _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS : [], ...prompt ? _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS : []];
|
|
1761
1877
|
const tools = [
|
|
1762
1878
|
{
|
|
@@ -1769,7 +1885,12 @@ function createEditorMcpToolProvider(options) {
|
|
|
1769
1885
|
};
|
|
1770
1886
|
}
|
|
1771
1887
|
},
|
|
1772
|
-
...editTools.map((definition) => ({
|
|
1888
|
+
...editTools.map((definition) => ({
|
|
1889
|
+
...definition,
|
|
1890
|
+
handler: edit(definition.name),
|
|
1891
|
+
// The cursor goes where the planner puts the change (see `planCanvasToolPlayback`).
|
|
1892
|
+
plan: (args) => planCanvasToolPlayback(definition.name, args, options.getSnapshot(), options.plannerOptions, options.rectOptions)
|
|
1893
|
+
}))
|
|
1773
1894
|
];
|
|
1774
1895
|
if (options.captureView) {
|
|
1775
1896
|
const capture = options.captureView;
|
|
@@ -1787,6 +1908,7 @@ function createEditorMcpToolProvider(options) {
|
|
|
1787
1908
|
title: "Canvas and prompt editor",
|
|
1788
1909
|
description: "The node canvas and the prompt: editor state, nodes and edges, layout, prompt text, and a view of the editor.",
|
|
1789
1910
|
skill: "pixerate-canvas",
|
|
1911
|
+
...options.playbackSurface ? { playbackSurface: options.playbackSurface } : {},
|
|
1790
1912
|
tools
|
|
1791
1913
|
};
|
|
1792
1914
|
}
|
|
@@ -2065,4 +2187,22 @@ function createCanvasComponentToolProvider(controller, options = { id: "canvas-c
|
|
|
2065
2187
|
|
|
2066
2188
|
|
|
2067
2189
|
|
|
2068
|
-
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
|
|
2197
|
+
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
|
|
2201
|
+
|
|
2202
|
+
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
|
|
2206
|
+
|
|
2207
|
+
|
|
2208
|
+
exports.AgentPlayback = _chunkX2HQP7DFcjs.AgentPlayback; exports.CAPTURE_EXCLUDE_SELECTOR = _chunkSVFEVKLFcjs.CAPTURE_EXCLUDE_SELECTOR; exports.CAPTURE_OVERLAY_SELECTORS = _chunkSVFEVKLFcjs.CAPTURE_OVERLAY_SELECTORS; exports.EDITOR_CANVAS_TOOLS = _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkSVFEVKLFcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkSVFEVKLFcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkY4BWZB6Jcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkY4BWZB6Jcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkSVFEVKLFcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkSVFEVKLFcjs.MCP_TOOL_VIEW_EDITOR; exports.PRESENCE_COLORS = _chunkUJGAA6AKcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkUJGAA6AKcjs.PerformanceQueue; exports.PresenceStore = _chunkUJGAA6AKcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkY4BWZB6Jcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkY4BWZB6Jcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkY4BWZB6Jcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkY4BWZB6Jcjs.ToolRegistry; exports.ToolRegistryError = _chunkY4BWZB6Jcjs.ToolRegistryError; exports.ToolRegistryView = _chunkY4BWZB6Jcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkY4BWZB6Jcjs.baseToolName; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkY4BWZB6Jcjs.connectToolBridge; exports.createAgentPlayback = _chunkX2HQP7DFcjs.createAgentPlayback; exports.createCanvasComponentToolProvider = createCanvasComponentToolProvider; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createDocumentChartTools = createDocumentChartTools; exports.createEditorMcpToolProvider = createEditorMcpToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkUJGAA6AKcjs.createInstantPresenceClock; exports.createMcpServer = _chunkY4BWZB6Jcjs.createMcpServer; exports.createRichTextToolProvider = createRichTextToolProvider; exports.createSpreadsheetToolProvider = createSpreadsheetToolProvider; exports.createToolRegistry = _chunkY4BWZB6Jcjs.createToolRegistry; exports.derivePlaybackSteps = _chunkX2HQP7DFcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkY4BWZB6Jcjs.errorResult; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkills = _chunkY4BWZB6Jcjs.listSkills; exports.normalizeSide = normalizeSide; exports.parseSkillFrontmatter = _chunkY4BWZB6Jcjs.parseSkillFrontmatter; exports.planAgentCommand = planAgentCommand; exports.planCanvasPlaybackSteps = planCanvasPlaybackSteps; exports.planCanvasToolPlayback = planCanvasToolPlayback; exports.planToolCall = planToolCall; exports.playbackRefsFromArgs = _chunkX2HQP7DFcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunkX2HQP7DFcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkY4BWZB6Jcjs.readSkillFile; exports.readingTime = _chunkX2HQP7DFcjs.readingTime; exports.realPresenceClock = _chunkUJGAA6AKcjs.realPresenceClock; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.runToolScript = _chunkXH32BATEcjs.runToolScript; exports.searchTokens = _chunkY4BWZB6Jcjs.searchTokens; exports.searchTools = _chunkY4BWZB6Jcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkY4BWZB6Jcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkY4BWZB6Jcjs.toToolResult; exports.toolCallToAgentCommand = toolCallToAgentCommand; exports.toolResultError = _chunkXH32BATEcjs.toolResultError; exports.toolResultValue = _chunkXH32BATEcjs.toolResultValue; exports.toolsetInstructions = _chunkY4BWZB6Jcjs.toolsetInstructions; exports.toolsetName = _chunkY4BWZB6Jcjs.toolsetName; exports.tweenPresenceCursor = _chunkUJGAA6AKcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunkX2HQP7DFcjs.unionRects; exports.unknownToolMessage = _chunkY4BWZB6Jcjs.unknownToolMessage; exports.validateAgentCommand = validateAgentCommand; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
|
package/dist/agent/index.d.cts
CHANGED
package/dist/agent/index.d.ts
CHANGED