callman-mcp 0.2.0 → 0.4.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/CHANGELOG.md +56 -0
- package/README.md +4 -4
- package/dist/client/api.d.ts +16 -1
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +22 -0
- package/dist/client/api.js.map +1 -1
- package/dist/client/types.d.ts +14 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/domain/diagram/build.d.ts +122 -73
- package/dist/domain/diagram/build.d.ts.map +1 -1
- package/dist/domain/diagram/build.js +51 -167
- package/dist/domain/diagram/build.js.map +1 -1
- package/dist/domain/diagram/layout.d.ts +5 -4
- package/dist/domain/diagram/layout.d.ts.map +1 -1
- package/dist/domain/diagram/layout.js +18 -45
- package/dist/domain/diagram/layout.js.map +1 -1
- package/dist/domain/diagram/patch.d.ts +1011 -92
- package/dist/domain/diagram/patch.d.ts.map +1 -1
- package/dist/domain/diagram/patch.js +113 -273
- package/dist/domain/diagram/patch.js.map +1 -1
- package/dist/domain/diagram/style.d.ts +4 -12
- package/dist/domain/diagram/style.d.ts.map +1 -1
- package/dist/domain/diagram/style.js +8 -84
- package/dist/domain/diagram/style.js.map +1 -1
- package/dist/domain/diagram/summarize.d.ts +26 -24
- package/dist/domain/diagram/summarize.d.ts.map +1 -1
- package/dist/domain/diagram/summarize.js +21 -35
- package/dist/domain/diagram/summarize.js.map +1 -1
- package/dist/domain/requestIntegrations.d.ts +20 -20
- package/dist/domain/requestShape.d.ts +32 -32
- package/dist/resources/docs/diagramSchema.d.ts +1 -1
- package/dist/resources/docs/diagramSchema.d.ts.map +1 -1
- package/dist/resources/docs/diagramSchema.js +87 -10
- package/dist/resources/docs/diagramSchema.js.map +1 -1
- package/dist/resources/docs/overview.d.ts +1 -1
- package/dist/resources/docs/overview.d.ts.map +1 -1
- package/dist/resources/docs/overview.js +4 -1
- package/dist/resources/docs/overview.js.map +1 -1
- package/dist/resources/generated/aiPacks.d.ts +1 -1
- package/dist/resources/generated/aiPacks.js +2 -2
- package/dist/tools/catalog.d.ts.map +1 -1
- package/dist/tools/catalog.js +5 -0
- package/dist/tools/catalog.js.map +1 -1
- package/dist/tools/diagrams.d.ts.map +1 -1
- package/dist/tools/diagrams.js +547 -59
- package/dist/tools/diagrams.js.map +1 -1
- package/dist/tools/lookups.d.ts +5 -1
- package/dist/tools/lookups.d.ts.map +1 -1
- package/dist/tools/lookups.js +41 -0
- package/dist/tools/lookups.js.map +1 -1
- package/dist-cjs/client/api.js +22 -0
- package/dist-cjs/domain/diagram/build.js +55 -171
- package/dist-cjs/domain/diagram/layout.js +19 -45
- package/dist-cjs/domain/diagram/patch.js +111 -271
- package/dist-cjs/domain/diagram/style.js +11 -88
- package/dist-cjs/domain/diagram/summarize.js +23 -35
- package/dist-cjs/resources/docs/diagramSchema.js +87 -10
- package/dist-cjs/resources/docs/overview.js +4 -1
- package/dist-cjs/resources/generated/aiPacks.js +2 -2
- package/dist-cjs/tools/catalog.js +5 -0
- package/dist-cjs/tools/diagrams.js +539 -51
- package/dist-cjs/tools/lookups.js +46 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/domain/diagram/patch.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/domain/diagram/patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
7
|
-
import {
|
|
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.
|
|
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,47 @@ 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"]);
|
|
42
|
+
// ── Database diagrams: the schema edited by meaning ──────────────────────────
|
|
43
|
+
// Tables are named ("users", "public.users"), columns as "table.column".
|
|
44
|
+
export const dbColumnInputSchema = strictObject({
|
|
45
|
+
id: z.string().max(64).optional(),
|
|
46
|
+
name: z.string().min(1).max(120),
|
|
47
|
+
dataType: z.string().max(120).optional().describe('The database\'s own type name: "uuid", "varchar(255)", "timestamp", "objectId"'),
|
|
48
|
+
nullable: z.boolean().optional(),
|
|
49
|
+
primaryKey: z.boolean().optional(),
|
|
50
|
+
unique: z.boolean().optional(),
|
|
51
|
+
defaultValue: z.string().max(400).nullable().optional(),
|
|
52
|
+
autoIncrement: z.boolean().optional(),
|
|
53
|
+
comment: z.string().max(400).nullable().optional(),
|
|
54
|
+
}, "field", "column");
|
|
55
|
+
export const dbTableInputSchema = strictObject({
|
|
56
|
+
id: z.string().max(64).optional(),
|
|
57
|
+
name: z.string().min(1).max(120),
|
|
58
|
+
schema: z.string().max(120).optional(),
|
|
59
|
+
kind: z.enum(["table", "view", "collection"]).optional(),
|
|
60
|
+
columns: z.array(dbColumnInputSchema).max(500).optional(),
|
|
61
|
+
comment: z.string().max(400).optional(),
|
|
62
|
+
}, "field", "table");
|
|
63
|
+
export const dbEndSchema = z.union([
|
|
64
|
+
z.string().min(1).max(240).describe('"table.column" (the column of the relationship) or "table"'),
|
|
65
|
+
strictObject({ table: z.string().min(1).max(200), columns: z.array(z.string().min(1).max(120)).max(16).optional(), column: z.string().max(120).optional() }, "field", "relationship end"),
|
|
66
|
+
]);
|
|
67
|
+
export const dbCardinalitySchema = z.enum(["1:1", "1:N", "N:1", "N:M"]);
|
|
68
|
+
export const dbRelationshipInputSchema = strictObject({
|
|
69
|
+
id: z.string().max(64).optional(),
|
|
70
|
+
source: dbEndSchema.describe("The child / foreign-key side"),
|
|
71
|
+
target: dbEndSchema.describe("The parent / referenced side"),
|
|
72
|
+
cardinality: dbCardinalitySchema.optional().describe("source:target — default N:1"),
|
|
73
|
+
kind: z.enum(["foreignKey", "manual"]).optional(),
|
|
74
|
+
name: z.string().max(200).optional().describe("The constraint name"),
|
|
75
|
+
label: z.string().max(200).optional(),
|
|
76
|
+
}, "field", "relationship");
|
|
34
77
|
// Every op is strict: a field at the wrong level ({ op: "updateNode", id, label })
|
|
35
78
|
// is an error, not a silent no-op that still counts as "applied".
|
|
36
79
|
export const diagramPatchOpSchema = z.discriminatedUnion("op", [
|
|
@@ -41,276 +84,73 @@ export const diagramPatchOpSchema = z.discriminatedUnion("op", [
|
|
|
41
84
|
strictObject({ op: z.literal("updateEdge"), id: z.string().min(1), changes: edgeChangesSchema }, "field", "updateEdge ops"),
|
|
42
85
|
strictObject({ op: z.literal("removeEdge"), id: z.string().min(1) }, "field", "removeEdge ops"),
|
|
43
86
|
strictObject({ op: z.literal("setTitle"), title: z.string().min(1).max(200) }, "field", "setTitle ops"),
|
|
87
|
+
strictObject({ op: z.literal("moveNode"), id: z.string().min(1), position: pointSchema.describe("Parent-relative top-left") }, "field", "moveNode ops"),
|
|
88
|
+
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"),
|
|
89
|
+
strictObject({
|
|
90
|
+
op: z.literal("setEdgeRoute"),
|
|
91
|
+
id: z.string().min(1),
|
|
92
|
+
routing: z.enum(ROUTINGS).nullable().optional().describe("null = the canvas default"),
|
|
93
|
+
sourceSide: z.enum(SIDES).nullable().optional(),
|
|
94
|
+
targetSide: z.enum(SIDES).nullable().optional(),
|
|
95
|
+
waypoints: z.array(pointSchema).max(50).nullable().optional().describe("Manual bends (absolute); null clears. With nothing else set, the op resets the route"),
|
|
96
|
+
}, "field", "setEdgeRoute ops"),
|
|
97
|
+
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"),
|
|
98
|
+
strictObject({
|
|
99
|
+
op: z.literal("setCanvas"),
|
|
100
|
+
canvas: z
|
|
101
|
+
.object({
|
|
102
|
+
background: z.enum(["grid", "dots", "blank"]).nullable().optional(),
|
|
103
|
+
gridSize: z.number().int().positive().nullable().optional(),
|
|
104
|
+
defaultRouting: z.enum(ROUTINGS).nullable().optional(),
|
|
105
|
+
})
|
|
106
|
+
.strict(),
|
|
107
|
+
}, "field", "setCanvas ops"),
|
|
108
|
+
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"),
|
|
109
|
+
strictObject({ op: z.literal("ungroup"), id: z.string().min(1) }, "field", "ungroup ops"),
|
|
110
|
+
strictObject({ op: z.literal("relayout"), scope: z.enum(["new", "all"]), direction: directionSchema.optional() }, "field", "relayout ops"),
|
|
111
|
+
// Database diagrams
|
|
112
|
+
strictObject({ op: z.literal("addTable"), table: dbTableInputSchema, position: pointSchema.optional() }, "field", "addTable ops"),
|
|
113
|
+
strictObject({ op: z.literal("renameTable"), table: z.string().min(1), name: z.string().min(1).max(120), schema: z.string().max(120).nullable().optional() }, "field", "renameTable ops"),
|
|
114
|
+
strictObject({ op: z.literal("removeTable"), table: z.string().min(1) }, "field", "removeTable ops"),
|
|
115
|
+
strictObject({ op: z.literal("setTableComment"), table: z.string().min(1), comment: z.string().max(400).nullable() }, "field", "setTableComment ops"),
|
|
116
|
+
strictObject({ op: z.literal("addColumn"), table: z.string().min(1), column: dbColumnInputSchema, after: z.string().max(120).nullable().optional().describe("Insert after this column (default: last)") }, "field", "addColumn ops"),
|
|
117
|
+
strictObject({ op: z.literal("alterColumn"), table: z.string().min(1), column: z.string().min(1), changes: dbColumnInputSchema.partial() }, "field", "alterColumn ops"),
|
|
118
|
+
strictObject({ op: z.literal("removeColumn"), table: z.string().min(1), column: z.string().min(1) }, "field", "removeColumn ops"),
|
|
119
|
+
strictObject({ op: z.literal("setPrimaryKey"), table: z.string().min(1), columns: z.array(z.string().min(1)).max(16) }, "field", "setPrimaryKey ops"),
|
|
120
|
+
strictObject({ op: z.literal("addRelationship"), id: z.string().max(64).optional(), source: dbEndSchema, target: dbEndSchema, cardinality: dbCardinalitySchema.optional(), kind: z.enum(["foreignKey", "manual"]).optional(), name: z.string().max(200).optional(), label: z.string().max(200).optional() }, "field", "addRelationship ops"),
|
|
121
|
+
strictObject({
|
|
122
|
+
op: z.literal("updateRelationship"),
|
|
123
|
+
relationship: z.string().min(1),
|
|
124
|
+
changes: strictObject({ source: dbEndSchema.optional(), target: dbEndSchema.optional(), cardinality: dbCardinalitySchema.optional(), name: z.string().max(200).nullable().optional(), label: z.string().max(200).nullable().optional(), kind: z.enum(["foreignKey", "manual"]).optional() }, "field", "updateRelationship changes"),
|
|
125
|
+
}, "field", "updateRelationship ops"),
|
|
126
|
+
strictObject({ op: z.literal("removeRelationship"), relationship: z.string().min(1) }, "field", "removeRelationship ops"),
|
|
127
|
+
strictObject({ op: z.literal("hideTable"), table: z.string().min(1) }, "field", "hideTable ops"),
|
|
128
|
+
strictObject({ op: z.literal("showTable"), table: z.string().min(1) }, "field", "showTable ops"),
|
|
44
129
|
]);
|
|
45
130
|
export const applyDiagramPatch = (doc, ops, options = {}) => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
}
|
|
274
|
-
}
|
|
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
|
-
}
|
|
131
|
+
const taken = [...doc.nodes.map((node) => node.id), ...doc.edges.map((edge) => edge.id)];
|
|
132
|
+
try {
|
|
133
|
+
const lowered = lowerPatchOps(doc, ops, {
|
|
134
|
+
strictTypes: options.strictTypes !== false,
|
|
135
|
+
genNodeId: slugIdFactory(taken, "n"),
|
|
136
|
+
genEdgeId: slugIdFactory(taken, "e"),
|
|
137
|
+
});
|
|
138
|
+
// MCP keeps today's rule: a moved node loses the manual bends of every
|
|
139
|
+
// edge leaving it (the desktop keeps them — a person is watching there).
|
|
140
|
+
const applied = applyDiagramOps(doc, lowered.ops, { moveClearsWaypoints: true, now: new Date().toISOString() });
|
|
141
|
+
return {
|
|
142
|
+
document: applied.doc,
|
|
143
|
+
addedNodeIds: lowered.unpositionedNodeIds,
|
|
144
|
+
removedNodeIds: applied.removed.nodes,
|
|
145
|
+
removedEdgeIds: applied.removed.edges,
|
|
146
|
+
reroutedEdgeIds: applied.rerouted,
|
|
147
|
+
warnings: [...lowered.warnings, ...applied.warnings],
|
|
148
|
+
...(lowered.relayout ? { relayout: lowered.relayout } : {}),
|
|
149
|
+
idMap: lowered.idMap,
|
|
150
|
+
};
|
|
296
151
|
}
|
|
297
|
-
|
|
298
|
-
|
|
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 });
|
|
152
|
+
catch (error) {
|
|
153
|
+
return toToolError(error);
|
|
306
154
|
}
|
|
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
155
|
};
|
|
316
156
|
//# 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
|
|
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
|
-
|
|
305
|
-
export declare const
|
|
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,
|
|
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"}
|