callman-mcp 0.1.1 → 0.3.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 (115) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +20 -6
  3. package/dist/client/api.d.ts +1 -0
  4. package/dist/client/api.d.ts.map +1 -1
  5. package/dist/client/api.js +2 -0
  6. package/dist/client/api.js.map +1 -1
  7. package/dist/context.d.ts +2 -0
  8. package/dist/context.d.ts.map +1 -1
  9. package/dist/context.js +7 -2
  10. package/dist/context.js.map +1 -1
  11. package/dist/domain/diagram/build.d.ts +112 -63
  12. package/dist/domain/diagram/build.d.ts.map +1 -1
  13. package/dist/domain/diagram/build.js +49 -165
  14. package/dist/domain/diagram/build.js.map +1 -1
  15. package/dist/domain/diagram/layout.d.ts +3 -4
  16. package/dist/domain/diagram/layout.d.ts.map +1 -1
  17. package/dist/domain/diagram/layout.js +12 -45
  18. package/dist/domain/diagram/layout.js.map +1 -1
  19. package/dist/domain/diagram/patch.d.ts +298 -80
  20. package/dist/domain/diagram/patch.d.ts.map +1 -1
  21. package/dist/domain/diagram/patch.js +60 -273
  22. package/dist/domain/diagram/patch.js.map +1 -1
  23. package/dist/domain/diagram/style.d.ts +4 -12
  24. package/dist/domain/diagram/style.d.ts.map +1 -1
  25. package/dist/domain/diagram/style.js +8 -84
  26. package/dist/domain/diagram/style.js.map +1 -1
  27. package/dist/domain/diagram/summarize.d.ts +25 -24
  28. package/dist/domain/diagram/summarize.d.ts.map +1 -1
  29. package/dist/domain/diagram/summarize.js +20 -35
  30. package/dist/domain/diagram/summarize.js.map +1 -1
  31. package/dist/domain/requestIntegrations.d.ts +20 -20
  32. package/dist/domain/requestShape.d.ts +32 -32
  33. package/dist/resources/docs/diagramSchema.d.ts +1 -1
  34. package/dist/resources/docs/diagramSchema.d.ts.map +1 -1
  35. package/dist/resources/docs/diagramSchema.js +55 -10
  36. package/dist/resources/docs/diagramSchema.js.map +1 -1
  37. package/dist/resources/docs/overview.d.ts +1 -1
  38. package/dist/resources/docs/overview.d.ts.map +1 -1
  39. package/dist/resources/docs/overview.js +15 -2
  40. package/dist/resources/docs/overview.js.map +1 -1
  41. package/dist/resources/generated/aiPacks.d.ts +1 -1
  42. package/dist/resources/generated/aiPacks.js +2 -2
  43. package/dist/resources/index.d.ts.map +1 -1
  44. package/dist/resources/index.js +10 -13
  45. package/dist/resources/index.js.map +1 -1
  46. package/dist/server.d.ts +1 -1
  47. package/dist/server.d.ts.map +1 -1
  48. package/dist/server.js +1 -1
  49. package/dist/server.js.map +1 -1
  50. package/dist/tools/catalog.d.ts.map +1 -1
  51. package/dist/tools/catalog.js +1 -0
  52. package/dist/tools/catalog.js.map +1 -1
  53. package/dist/tools/collections.d.ts.map +1 -1
  54. package/dist/tools/collections.js +27 -30
  55. package/dist/tools/collections.js.map +1 -1
  56. package/dist/tools/contracts.d.ts.map +1 -1
  57. package/dist/tools/contracts.js +35 -26
  58. package/dist/tools/contracts.js.map +1 -1
  59. package/dist/tools/diagrams.d.ts.map +1 -1
  60. package/dist/tools/diagrams.js +244 -42
  61. package/dist/tools/diagrams.js.map +1 -1
  62. package/dist/tools/environments.d.ts.map +1 -1
  63. package/dist/tools/environments.js +32 -31
  64. package/dist/tools/environments.js.map +1 -1
  65. package/dist/tools/import.d.ts.map +1 -1
  66. package/dist/tools/import.js +9 -5
  67. package/dist/tools/import.js.map +1 -1
  68. package/dist/tools/lookups.d.ts +26 -1
  69. package/dist/tools/lookups.d.ts.map +1 -1
  70. package/dist/tools/lookups.js +95 -2
  71. package/dist/tools/lookups.js.map +1 -1
  72. package/dist/tools/meta.d.ts.map +1 -1
  73. package/dist/tools/meta.js +9 -4
  74. package/dist/tools/meta.js.map +1 -1
  75. package/dist/tools/requests.d.ts.map +1 -1
  76. package/dist/tools/requests.js +49 -29
  77. package/dist/tools/requests.js.map +1 -1
  78. package/dist/tools/run.d.ts.map +1 -1
  79. package/dist/tools/run.js +9 -6
  80. package/dist/tools/run.js.map +1 -1
  81. package/dist/tools/scenarios.d.ts.map +1 -1
  82. package/dist/tools/scenarios.js +8 -3
  83. package/dist/tools/scenarios.js.map +1 -1
  84. package/dist/tools/shared.d.ts.map +1 -1
  85. package/dist/tools/shared.js +1 -1
  86. package/dist/tools/shared.js.map +1 -1
  87. package/dist/tools/workspaces.d.ts.map +1 -1
  88. package/dist/tools/workspaces.js +18 -2
  89. package/dist/tools/workspaces.js.map +1 -1
  90. package/dist-cjs/client/api.js +2 -0
  91. package/dist-cjs/context.js +7 -2
  92. package/dist-cjs/domain/diagram/build.js +53 -169
  93. package/dist-cjs/domain/diagram/layout.js +11 -44
  94. package/dist-cjs/domain/diagram/patch.js +57 -270
  95. package/dist-cjs/domain/diagram/style.js +11 -88
  96. package/dist-cjs/domain/diagram/summarize.js +22 -35
  97. package/dist-cjs/resources/docs/diagramSchema.js +55 -10
  98. package/dist-cjs/resources/docs/overview.js +15 -2
  99. package/dist-cjs/resources/generated/aiPacks.js +2 -2
  100. package/dist-cjs/resources/index.js +9 -12
  101. package/dist-cjs/server.js +1 -1
  102. package/dist-cjs/tools/catalog.js +1 -0
  103. package/dist-cjs/tools/collections.js +26 -29
  104. package/dist-cjs/tools/contracts.js +34 -25
  105. package/dist-cjs/tools/diagrams.js +240 -38
  106. package/dist-cjs/tools/environments.js +31 -30
  107. package/dist-cjs/tools/import.js +8 -4
  108. package/dist-cjs/tools/lookups.js +103 -3
  109. package/dist-cjs/tools/meta.js +9 -4
  110. package/dist-cjs/tools/requests.js +48 -28
  111. package/dist-cjs/tools/run.js +8 -5
  112. package/dist-cjs/tools/scenarios.js +8 -3
  113. package/dist-cjs/tools/shared.js +1 -1
  114. package/dist-cjs/tools/workspaces.js +18 -2
  115. package/package.json +2 -2
@@ -1,12 +1,14 @@
1
- import { getDiagramComponent, isBusComponentType, normalizeDiagramStyles, safeParseDiagramDocument, semanticStyle, } from "callman-core";
1
+ import { applyDiagramOps, lowerPatchOps, slugIdFactory } from "callman-core";
2
2
  import { z } from "zod";
3
- import { ToolInputError } from "../../client/errors.js";
4
- import { sequentialIds } from "../../lib/ids.js";
5
3
  import { strictObject } from "../../lib/strict.js";
6
- import { assertNotConnector, diagramEdgeInputSchema, diagramNodeInputSchema, edgeStyleFor, parentWarning, suggestComponentTypes } from "./build.js";
7
- import { applyStyleInput, colorInputSchema, nodeStylePatchSchema, toTokenRef } from "./style.js";
4
+ import { diagramEdgeInputSchema, diagramNodeInputSchema, ROUTINGS, SIDES, toToolError } from "./build.js";
5
+ import { colorInputSchema, nodeStylePatchSchema } from "./style.js";
8
6
  // Incremental edits to a stored diagram — the model sends operations, not a
9
- // 200-node document. Removing a node drops the edges attached to it.
7
+ // 200-node document. The vocabulary is callman-core's authoring ops (the
8
+ // same list the desktop's AI edits use and callman://docs/diagram-schema
9
+ // documents); this module only adds the strict zod contract and maps the
10
+ // result. Removing a node drops the edges attached to it and lifts its
11
+ // children out; moving a node drops the saved routes of its edges.
10
12
  const nodeShape = diagramNodeInputSchema.shape;
11
13
  const edgeShape = diagramEdgeInputSchema.shape;
12
14
  const nodeChangesSchema = strictObject({
@@ -19,6 +21,7 @@ const nodeChangesSchema = strictObject({
19
21
  rotation: nodeShape.rotation.unwrap().nullable().optional().describe("Degrees, clockwise; null resets"),
20
22
  locked: nodeShape.locked,
21
23
  hidden: nodeShape.hidden,
24
+ collapsed: nodeShape.collapsed,
22
25
  data: z.record(z.unknown()).nullable().optional().describe("MERGED shallowly into the node's data; a key set to null is removed, data: null clears it"),
23
26
  }, "field", "updateNode changes");
24
27
  const edgeChangesSchema = strictObject({
@@ -30,7 +33,12 @@ const edgeChangesSchema = strictObject({
30
33
  routing: edgeShape.routing,
31
34
  markerEnd: edgeShape.markerEnd,
32
35
  markerStart: edgeShape.markerStart,
36
+ sourceSide: z.enum(SIDES).nullable().optional().describe("Fixed side at the source; null = floating"),
37
+ targetSide: z.enum(SIDES).nullable().optional().describe("Fixed side at the target; null = floating"),
38
+ data: z.record(z.unknown()).nullable().optional().describe("MERGED shallowly into the edge's data (BPMN: { bpmn: { conditionExpression, isDefault } }); a key set to null is removed, data: null clears it"),
33
39
  }, "field", "updateEdge changes");
40
+ const pointSchema = z.object({ x: z.number(), y: z.number() }).strict();
41
+ const directionSchema = z.enum(["DOWN", "RIGHT", "UP", "LEFT"]);
34
42
  // Every op is strict: a field at the wrong level ({ op: "updateNode", id, label })
35
43
  // is an error, not a silent no-op that still counts as "applied".
36
44
  export const diagramPatchOpSchema = z.discriminatedUnion("op", [
@@ -41,276 +49,55 @@ export const diagramPatchOpSchema = z.discriminatedUnion("op", [
41
49
  strictObject({ op: z.literal("updateEdge"), id: z.string().min(1), changes: edgeChangesSchema }, "field", "updateEdge ops"),
42
50
  strictObject({ op: z.literal("removeEdge"), id: z.string().min(1) }, "field", "removeEdge ops"),
43
51
  strictObject({ op: z.literal("setTitle"), title: z.string().min(1).max(200) }, "field", "setTitle ops"),
52
+ strictObject({ op: z.literal("moveNode"), id: z.string().min(1), position: pointSchema.describe("Parent-relative top-left") }, "field", "moveNode ops"),
53
+ strictObject({ op: z.literal("reparent"), id: z.string().min(1), parent: z.string().max(64).nullable().describe("Container id, or null for the top level"), position: pointSchema.optional().describe("Position in the new parent; omitted keeps the canvas spot") }, "field", "reparent ops"),
54
+ strictObject({
55
+ op: z.literal("setEdgeRoute"),
56
+ id: z.string().min(1),
57
+ routing: z.enum(ROUTINGS).nullable().optional().describe("null = the canvas default"),
58
+ sourceSide: z.enum(SIDES).nullable().optional(),
59
+ targetSide: z.enum(SIDES).nullable().optional(),
60
+ waypoints: z.array(pointSchema).max(50).nullable().optional().describe("Manual bends (absolute); null clears. With nothing else set, the op resets the route"),
61
+ }, "field", "setEdgeRoute ops"),
62
+ strictObject({ op: z.literal("reorder"), id: z.string().min(1), index: z.union([z.number().int().nonnegative(), z.literal("front"), z.literal("back")]).describe("Stacking order among siblings") }, "field", "reorder ops"),
63
+ strictObject({
64
+ op: z.literal("setCanvas"),
65
+ canvas: z
66
+ .object({
67
+ background: z.enum(["grid", "dots", "blank"]).nullable().optional(),
68
+ gridSize: z.number().int().positive().nullable().optional(),
69
+ defaultRouting: z.enum(ROUTINGS).nullable().optional(),
70
+ })
71
+ .strict(),
72
+ }, "field", "setCanvas ops"),
73
+ strictObject({ op: z.literal("group"), ids: z.array(z.string().min(1)).min(1).max(200), type: z.string().max(80).optional().describe("frame (default), pool.horizontal or pool.vertical"), label: z.string().max(200).optional(), id: z.string().max(64).optional() }, "field", "group ops"),
74
+ strictObject({ op: z.literal("ungroup"), id: z.string().min(1) }, "field", "ungroup ops"),
75
+ strictObject({ op: z.literal("relayout"), scope: z.enum(["new", "all"]), direction: directionSchema.optional() }, "field", "relayout ops"),
44
76
  ]);
45
77
  export const applyDiagramPatch = (doc, ops, options = {}) => {
46
- const strict = options.strictTypes !== false;
47
- const nodes = new Map(doc.nodes.map((node) => [node.id, { ...node }]));
48
- const edges = new Map(doc.edges.map((edge) => [edge.id, { ...edge }]));
49
- let title = doc.meta.title;
50
- const addedNodeIds = [];
51
- const removedNodeIds = [];
52
- const removedEdgeIds = [];
53
- const warnings = [];
54
- const moved = new Set();
55
- const nextNodeId = sequentialIds("n", nodes.keys());
56
- const nextEdgeId = sequentialIds("e", edges.keys());
57
- const resolveType = (type, id) => {
58
- if (getDiagramComponent(type)) {
59
- assertNotConnector(type, id);
60
- return type;
61
- }
62
- const suggestions = suggestComponentTypes(type);
63
- if (strict) {
64
- throw new ToolInputError("DIAGRAM_UNKNOWN_COMPONENT_TYPE", `Unknown component type "${type}" on ${id}.`, {
65
- unknownTypes: [{ type, suggestions }],
66
- });
67
- }
68
- warnings.push(`Unknown component type "${type}" on ${id} → rect (suggestions: ${suggestions.join(", ") || "none"})`);
69
- return "rect";
70
- };
71
- for (const op of ops) {
72
- switch (op.op) {
73
- case "setTitle":
74
- title = op.title.trim();
75
- break;
76
- case "addNode": {
77
- const id = op.node.id ?? nextNodeId();
78
- if (nodes.has(id))
79
- throw new ToolInputError("DIAGRAM_DUPLICATE_NODE_ID", `A node with id "${id}" already exists.`);
80
- if (op.node.parent && !nodes.has(op.node.parent)) {
81
- throw new ToolInputError("DIAGRAM_PARENT_NOT_FOUND", `Parent "${op.node.parent}" does not exist.`);
82
- }
83
- const type = resolveType(op.node.type, id);
84
- const def = getDiagramComponent(type);
85
- nodes.set(id, {
86
- id,
87
- type,
88
- position: op.node.position ?? { x: 0, y: 0 },
89
- size: op.node.size ?? def?.defaultSize ?? { width: 140, height: 60 },
90
- label: op.node.label ?? (type === "rect" && op.node.type !== "rect" ? op.node.type : def?.defaultLabel),
91
- ...(op.node.parent ? { parentId: op.node.parent } : {}),
92
- ...(op.node.style ? { style: applyStyleInput(undefined, op.node.style) } : {}),
93
- ...(op.node.rotation ? { rotation: op.node.rotation } : {}),
94
- ...(op.node.locked ? { locked: true } : {}),
95
- ...(op.node.hidden ? { hidden: true } : {}),
96
- ...(op.node.data ? { data: op.node.data } : {}),
97
- });
98
- if (op.node.parent) {
99
- const warning = parentWarning(id, op.node.parent, nodes.get(op.node.parent)?.type);
100
- if (warning)
101
- warnings.push(warning);
102
- }
103
- if (!op.node.position)
104
- addedNodeIds.push(id);
105
- break;
106
- }
107
- case "updateNode": {
108
- const node = nodes.get(op.id);
109
- if (!node)
110
- throw new ToolInputError("DIAGRAM_NODE_NOT_FOUND", `Node "${op.id}" does not exist.`);
111
- const changes = op.changes;
112
- if (changes.parent && !nodes.has(changes.parent)) {
113
- throw new ToolInputError("DIAGRAM_PARENT_NOT_FOUND", `Parent "${changes.parent}" does not exist.`);
114
- }
115
- if (changes.parent && changes.parent === op.id)
116
- throw new ToolInputError("DIAGRAM_PARENT_CYCLE", `Node "${op.id}" cannot contain itself.`);
117
- const next = { ...node };
118
- if (changes.type !== undefined)
119
- next.type = resolveType(changes.type, op.id);
120
- if (changes.label !== undefined)
121
- next.label = changes.label;
122
- if (changes.position !== undefined)
123
- next.position = changes.position;
124
- if (changes.size !== undefined)
125
- next.size = changes.size;
126
- if (changes.parent !== undefined) {
127
- if (changes.parent)
128
- next.parentId = changes.parent;
129
- else
130
- delete next.parentId;
131
- }
132
- if (changes.style !== undefined) {
133
- const style = changes.style === null ? undefined : applyStyleInput(node.style, changes.style);
134
- if (style)
135
- next.style = style;
136
- else
137
- delete next.style;
138
- }
139
- if (changes.rotation !== undefined) {
140
- if (changes.rotation)
141
- next.rotation = changes.rotation;
142
- else
143
- delete next.rotation;
144
- }
145
- if (changes.locked !== undefined) {
146
- if (changes.locked)
147
- next.locked = true;
148
- else
149
- delete next.locked;
150
- }
151
- if (changes.hidden !== undefined) {
152
- if (changes.hidden)
153
- next.hidden = true;
154
- else
155
- delete next.hidden;
156
- }
157
- if (changes.data !== undefined) {
158
- const data = changes.data === null ? {} : { ...(node.data ?? {}) };
159
- for (const [key, value] of Object.entries(changes.data ?? {})) {
160
- if (value === null)
161
- delete data[key];
162
- else
163
- data[key] = value;
164
- }
165
- if (Object.keys(data).length > 0)
166
- next.data = data;
167
- else
168
- delete next.data;
169
- }
170
- if (changes.position !== undefined || changes.size !== undefined || changes.parent !== undefined)
171
- moved.add(op.id);
172
- if (changes.parent) {
173
- const warning = parentWarning(op.id, changes.parent, nodes.get(changes.parent)?.type);
174
- if (warning)
175
- warnings.push(warning);
176
- }
177
- nodes.set(op.id, next);
178
- break;
179
- }
180
- case "removeNode": {
181
- if (!nodes.delete(op.id))
182
- throw new ToolInputError("DIAGRAM_NODE_NOT_FOUND", `Node "${op.id}" does not exist.`);
183
- removedNodeIds.push(op.id);
184
- for (const [edgeId, edge] of [...edges]) {
185
- if (edge.source === op.id || edge.target === op.id) {
186
- edges.delete(edgeId);
187
- removedEdgeIds.push(edgeId);
188
- }
189
- }
190
- // Children of a removed container become top-level.
191
- for (const node of nodes.values())
192
- if (node.parentId === op.id)
193
- delete node.parentId;
194
- break;
195
- }
196
- case "addEdge": {
197
- const id = op.edge.id ?? nextEdgeId();
198
- if (edges.has(id))
199
- throw new ToolInputError("DIAGRAM_DUPLICATE_EDGE_ID", `An edge with id "${id}" already exists.`);
200
- for (const endpoint of [op.edge.source, op.edge.target]) {
201
- if (!nodes.has(endpoint) && !edges.has(endpoint)) {
202
- throw new ToolInputError("DIAGRAM_EDGE_ENDPOINT_NOT_FOUND", `Edge endpoint "${endpoint}" does not exist.`);
203
- }
204
- }
205
- const semantic = op.edge.semantic ??
206
- (isBusComponentType(nodes.get(op.edge.source)?.type) || isBusComponentType(nodes.get(op.edge.target)?.type) ? "bus" : undefined);
207
- edges.set(id, {
208
- id,
209
- source: op.edge.source,
210
- target: op.edge.target,
211
- ...(op.edge.label ? { label: op.edge.label } : {}),
212
- routing: op.edge.routing ?? "orthogonal",
213
- markerEnd: op.edge.markerEnd ?? "classicThin",
214
- ...(op.edge.markerStart && op.edge.markerStart !== "none" ? { markerStart: op.edge.markerStart } : {}),
215
- ...(semantic || op.edge.color ? { style: edgeStyleFor(semantic, op.edge.color) } : {}),
216
- });
217
- break;
218
- }
219
- case "updateEdge": {
220
- const edge = edges.get(op.id);
221
- if (!edge)
222
- throw new ToolInputError("DIAGRAM_EDGE_NOT_FOUND", `Edge "${op.id}" does not exist.`);
223
- const changes = op.changes;
224
- const next = { ...edge };
225
- if (changes.source !== undefined)
226
- next.source = changes.source;
227
- if (changes.target !== undefined)
228
- next.target = changes.target;
229
- if (changes.label !== undefined) {
230
- if (changes.label)
231
- next.label = changes.label;
232
- else
233
- delete next.label;
234
- }
235
- if (changes.routing !== undefined)
236
- next.routing = changes.routing;
237
- if (changes.markerEnd !== undefined)
238
- next.markerEnd = changes.markerEnd;
239
- if (changes.markerStart !== undefined) {
240
- if (changes.markerStart === "none")
241
- delete next.markerStart;
242
- else
243
- next.markerStart = changes.markerStart;
244
- }
245
- // The semantic owns the line tuple (dash + width); the color is kept
246
- // unless it is changed explicitly.
247
- if (changes.semantic !== undefined || changes.color !== undefined) {
248
- const stroke = changes.color === null ? undefined : changes.color !== undefined ? toTokenRef(changes.color) : edge.style?.stroke;
249
- const line = changes.semantic !== undefined ? semanticStyle(changes.semantic) : { ...(edge.style ?? {}) };
250
- delete line.stroke;
251
- const style = { ...line, ...(stroke ? { stroke } : {}) };
252
- if (Object.keys(style).length > 0)
253
- next.style = style;
254
- else
255
- delete next.style;
256
- }
257
- for (const endpoint of [next.source, next.target]) {
258
- if (endpoint && !nodes.has(endpoint) && !edges.has(endpoint)) {
259
- throw new ToolInputError("DIAGRAM_EDGE_ENDPOINT_NOT_FOUND", `Edge endpoint "${endpoint}" does not exist.`);
260
- }
261
- }
262
- if (changes.source !== undefined || changes.target !== undefined)
263
- clearRoute(next);
264
- edges.set(op.id, next);
265
- break;
266
- }
267
- case "removeEdge": {
268
- if (!edges.delete(op.id))
269
- throw new ToolInputError("DIAGRAM_EDGE_NOT_FOUND", `Edge "${op.id}" does not exist.`);
270
- removedEdgeIds.push(op.id);
271
- break;
272
- }
273
- }
78
+ const taken = [...doc.nodes.map((node) => node.id), ...doc.edges.map((edge) => edge.id)];
79
+ try {
80
+ const lowered = lowerPatchOps(doc, ops, {
81
+ strictTypes: options.strictTypes !== false,
82
+ genNodeId: slugIdFactory(taken, "n"),
83
+ genEdgeId: slugIdFactory(taken, "e"),
84
+ });
85
+ // MCP keeps today's rule: a moved node loses the manual bends of every
86
+ // edge leaving it (the desktop keeps them — a person is watching there).
87
+ const applied = applyDiagramOps(doc, lowered.ops, { moveClearsWaypoints: true, now: new Date().toISOString() });
88
+ return {
89
+ document: applied.doc,
90
+ addedNodeIds: lowered.unpositionedNodeIds,
91
+ removedNodeIds: applied.removed.nodes,
92
+ removedEdgeIds: applied.removed.edges,
93
+ reroutedEdgeIds: applied.rerouted,
94
+ warnings: [...lowered.warnings, ...applied.warnings],
95
+ ...(lowered.relayout ? { relayout: lowered.relayout } : {}),
96
+ idMap: lowered.idMap,
97
+ };
274
98
  }
275
- const reroutedEdgeIds = [];
276
- if (moved.size > 0) {
277
- // A moved container carries its children: their edges are stale too.
278
- const affected = new Set(moved);
279
- let grew = true;
280
- while (grew) {
281
- grew = false;
282
- for (const node of nodes.values()) {
283
- if (node.parentId && affected.has(node.parentId) && !affected.has(node.id)) {
284
- affected.add(node.id);
285
- grew = true;
286
- }
287
- }
288
- }
289
- for (const edge of edges.values()) {
290
- const touches = (edge.source && affected.has(edge.source)) || (edge.target && affected.has(edge.target));
291
- if (touches && (edge.waypoints || edge.sourceAnchor || edge.targetAnchor || edge.routing === "straight")) {
292
- clearRoute(edge);
293
- reroutedEdgeIds.push(edge.id);
294
- }
295
- }
99
+ catch (error) {
100
+ return toToolError(error);
296
101
  }
297
- const document = normalizeDiagramStyles({
298
- ...doc,
299
- meta: { ...doc.meta, title, updatedAt: new Date().toISOString() },
300
- nodes: [...nodes.values()],
301
- edges: [...edges.values()],
302
- });
303
- const parsed = safeParseDiagramDocument(document);
304
- if (!parsed.ok) {
305
- throw new ToolInputError("DIAGRAM_DOCUMENT_INVALID", `The patched document is invalid: ${parsed.errors.join("; ")}`, { errors: parsed.errors });
306
- }
307
- return { document: parsed.document, addedNodeIds, removedNodeIds, removedEdgeIds, reroutedEdgeIds, warnings };
308
- };
309
- // Drop a saved route so the studio re-routes the edge orthogonally.
310
- const clearRoute = (edge) => {
311
- delete edge.waypoints;
312
- delete edge.sourceAnchor;
313
- delete edge.targetAnchor;
314
- edge.routing = "orthogonal";
315
102
  };
316
103
  //# sourceMappingURL=patch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/domain/diagram/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/domain/diagram/patch.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DiagramStyle, TokenRef } from "callman-core";
1
+ import { fromTokenRef, styleView, toTokenRef, type DiagramStyle } from "callman-core";
2
2
  import { z } from "zod";
3
3
  export declare const colorInputSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
4
4
  raw: z.ZodString;
@@ -69,6 +69,7 @@ declare const styleFields: {
69
69
  opacity: z.ZodNumber;
70
70
  };
71
71
  export declare const STYLE_KEYS: Array<keyof typeof styleFields>;
72
+ export declare const CORE_STYLE_KEYS: readonly string[];
72
73
  export declare const nodeStyleInputSchema: z.ZodObject<{
73
74
  fill: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
74
75
  raw: z.ZodString;
@@ -301,15 +302,6 @@ export declare const nodeStylePatchSchema: z.ZodNullable<z.ZodObject<{
301
302
  }>>;
302
303
  export type NodeStyleInput = z.infer<typeof nodeStyleInputSchema>;
303
304
  export type NodeStylePatch = z.infer<typeof nodeStylePatchSchema>;
304
- type ColorInput = z.infer<typeof colorInputSchema>;
305
- export declare const toTokenRef: (color: ColorInput) => TokenRef;
306
- export declare const fromTokenRef: (ref: TokenRef | undefined) => string | {
307
- token: string;
308
- } | undefined;
309
- type StyleValues = {
310
- [K in keyof NodeStyleInput]?: NodeStyleInput[K] | null;
311
- };
312
- export declare const applyStyleInput: (base: DiagramStyle | undefined, input: StyleValues) => DiagramStyle | undefined;
313
- export declare const styleView: (style: DiagramStyle | undefined) => Record<string, unknown> | undefined;
314
- export {};
305
+ export { fromTokenRef, styleView, toTokenRef };
306
+ export declare const applyStyleInput: (base: DiagramStyle | undefined, input: NonNullable<NodeStylePatch>) => DiagramStyle | undefined;
315
307
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/domain/diagram/style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;IAM0E,CAAC;AAMxG,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAEF,eAAO,MAAM,UAAU,EAA+B,KAAK,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKkD,CAAC;AAGpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOsJ,CAAC;AAExL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEnD,eAAO,MAAM,UAAU,GAAI,OAAO,UAAU,KAAG,QAAuE,CAAC;AAEvH,eAAO,MAAM,YAAY,GAAI,KAAK,QAAQ,GAAG,SAAS,KAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAGrF,CAAC;AAEF,KAAK,WAAW,GAAG;KAAG,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;CAAE,CAAC;AAI9E,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,WAAW,KAAG,YAAY,GAAG,SAyCnG,CAAC;AAIF,eAAO,MAAM,SAAS,GAAI,OAAO,YAAY,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAerF,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/domain/diagram/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,YAAY,EAAoB,SAAS,EAAE,UAAU,EAAE,KAAK,YAAY,EAA6C,MAAM,cAAc,CAAC;AAC3L,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;IAM0E,CAAC;AAExG,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAEF,eAAO,MAAM,UAAU,EAA+B,KAAK,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAGtF,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAqB,CAAC;AAEnE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKkD,CAAC;AAGpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOsJ,CAAC;AAExL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAE/C,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,WAAW,CAAC,cAAc,CAAC,KAAG,YAAY,GAAG,SAC5D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { applyStyleInput as applyStyleInputCore, fromTokenRef, STYLE_INPUT_KEYS, styleView, toTokenRef } from "callman-core";
1
2
  import { z } from "zod";
2
3
  import { strictObject } from "../../lib/strict.js";
3
4
  // The visual style a model may set on a node — exactly the DiagramStyle
@@ -5,7 +6,9 @@ import { strictObject } from "../../lib/strict.js";
5
6
  // ("strokeColor", "borderColor", "fontWeight") is REJECTED with the list of
6
7
  // valid keys instead of being dropped by core's normalizer while the tool
7
8
  // reports success. Colors are plain CSS strings on the way in and on the way
8
- // out; the stored form is core's TokenRef (`{ raw: "#3B82F6" }`).
9
+ // out; the stored form is core's TokenRef (`{ raw: "#3B82F6" }`). The
10
+ // conversion itself lives in callman-core (styleInput.ts) — shared with the
11
+ // desktop's AI edits — so the two never disagree.
9
12
  export const colorInputSchema = z
10
13
  .union([
11
14
  z.string().trim().min(1).max(64),
@@ -13,9 +16,6 @@ export const colorInputSchema = z
13
16
  z.object({ token: z.string().trim().min(1).max(64) }).strict(),
14
17
  ])
15
18
  .describe('CSS color: "#3B82F6", "rgb(59,130,246)", "rgba(59,130,246,0.08)" or a name like "tomato"');
16
- const FONT_BOLD = 1;
17
- const FONT_ITALIC = 2;
18
- const FONT_UNDERLINE = 4;
19
19
  const styleFields = {
20
20
  fill: colorInputSchema.describe('Background CSS color, e.g. "#EFF6FF". A translucent "rgba(59,130,246,0.08)" tints a container without hiding its children'),
21
21
  stroke: colorInputSchema.describe('Border CSS color, e.g. "#3B82F6"'),
@@ -36,89 +36,13 @@ const styleFields = {
36
36
  opacity: z.number().min(0).max(100).describe("0 (invisible) – 100 (opaque)"),
37
37
  };
38
38
  export const STYLE_KEYS = Object.keys(styleFields);
39
+ // The schema and core must agree on the key list; a drift is a test failure.
40
+ export const CORE_STYLE_KEYS = STYLE_INPUT_KEYS;
39
41
  export const nodeStyleInputSchema = strictObject(Object.fromEntries(Object.entries(styleFields).map(([key, schema]) => [key, schema.optional()])), "style key").describe(`Visual style. Keys: ${STYLE_KEYS.join(", ")}. Colors are CSS strings.`);
40
42
  // On updateNode a key set to null removes it; `style: null` clears the style.
41
43
  export const nodeStylePatchSchema = strictObject(Object.fromEntries(Object.entries(styleFields).map(([key, schema]) => [key, schema.nullable().optional()])), "style key")
42
44
  .nullable()
43
45
  .describe(`Style changes, MERGED into the node's current style: only the keys you pass change, a key set to null is removed, style: null clears it. Keys: ${STYLE_KEYS.join(", ")}.`);
44
- export const toTokenRef = (color) => (typeof color === "string" ? { raw: color.trim() } : color);
45
- export const fromTokenRef = (ref) => {
46
- if (!ref)
47
- return undefined;
48
- return "raw" in ref ? ref.raw : { token: ref.token };
49
- };
50
- // Input (plain colors, bold/italic/underline flags) → stored DiagramStyle.
51
- // `base` is the node's current style for a merge; null values delete.
52
- export const applyStyleInput = (base, input) => {
53
- const out = { ...(base ?? {}) };
54
- const assign = (key, value) => {
55
- if (value === undefined)
56
- return;
57
- if (value === null)
58
- delete out[key];
59
- else
60
- out[key] = value;
61
- };
62
- for (const key of ["fill", "stroke", "textColor"]) {
63
- const value = input[key];
64
- assign(key, value === undefined || value === null ? value : toTokenRef(value));
65
- }
66
- assign("strokeWidth", input.strokeWidth);
67
- assign("dashed", input.dashed);
68
- assign("dashPattern", input.dashPattern);
69
- assign("radius", input.radius);
70
- assign("rounded", input.rounded);
71
- assign("fontSize", input.fontSize);
72
- assign("fontFamily", input.fontFamily);
73
- assign("align", input.align);
74
- assign("verticalAlign", input.verticalAlign);
75
- assign("shadow", input.shadow);
76
- assign("opacity", input.opacity);
77
- // The studio stores bold/italic/underline as ONE maxGraph bitmask.
78
- const flags = [
79
- [input.bold, FONT_BOLD],
80
- [input.italic, FONT_ITALIC],
81
- [input.underline, FONT_UNDERLINE],
82
- ];
83
- if (flags.some(([value]) => value !== undefined)) {
84
- let mask = out.fontStyle ?? 0;
85
- for (const [value, bit] of flags) {
86
- if (value === true)
87
- mask |= bit;
88
- else if (value === false || value === null)
89
- mask &= ~bit;
90
- }
91
- if (mask === 0)
92
- delete out.fontStyle;
93
- else
94
- out.fontStyle = mask;
95
- }
96
- // fontWeight is not rendered by the studio (bold lives in fontStyle).
97
- delete out.fontWeight;
98
- return Object.keys(out).length > 0 ? out : undefined;
99
- };
100
- // Stored DiagramStyle → the same compact shape a model writes, so what
101
- // get_diagram returns can be sent straight back in a patch.
102
- export const styleView = (style) => {
103
- if (!style)
104
- return undefined;
105
- const out = {};
106
- for (const key of ["fill", "stroke", "textColor"]) {
107
- const value = fromTokenRef(style[key]);
108
- if (value !== undefined)
109
- out[key] = value;
110
- }
111
- for (const key of ["strokeWidth", "dashed", "dashPattern", "radius", "rounded", "fontSize", "fontFamily", "align", "verticalAlign", "shadow", "opacity"]) {
112
- if (style[key] !== undefined)
113
- out[key] = style[key];
114
- }
115
- const mask = style.fontStyle ?? 0;
116
- if (mask & FONT_BOLD)
117
- out.bold = true;
118
- if (mask & FONT_ITALIC)
119
- out.italic = true;
120
- if (mask & FONT_UNDERLINE)
121
- out.underline = true;
122
- return Object.keys(out).length > 0 ? out : undefined;
123
- };
46
+ export { fromTokenRef, styleView, toTokenRef };
47
+ export const applyStyleInput = (base, input) => applyStyleInputCore(base, input);
124
48
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/domain/diagram/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/domain/diagram/style.ts"],"names":[],"mappings":"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"}