callman-core 1.28.1 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/outputSchemas.d.ts +3 -0
- package/dist/ai/outputSchemas.d.ts.map +1 -1
- package/dist/ai/outputSchemas.js +1 -0
- package/dist/ai/outputSchemas.js.map +1 -1
- package/dist/ai/parse/diagram.d.ts.map +1 -1
- package/dist/ai/parse/diagram.js +6 -3
- package/dist/ai/parse/diagram.js.map +1 -1
- package/dist/ai/prompts/diagram.d.ts +7 -3
- package/dist/ai/prompts/diagram.d.ts.map +1 -1
- package/dist/ai/prompts/diagram.js +44 -5
- package/dist/ai/prompts/diagram.js.map +1 -1
- package/dist/ai/types.d.ts +6 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/diagram/bpmn/derive.d.ts +74 -0
- package/dist/diagram/bpmn/derive.d.ts.map +1 -0
- package/dist/diagram/bpmn/derive.js +392 -0
- package/dist/diagram/bpmn/derive.js.map +1 -0
- package/dist/diagram/bpmn/index.d.ts +7 -0
- package/dist/diagram/bpmn/index.d.ts.map +1 -0
- package/dist/diagram/bpmn/index.js +12 -0
- package/dist/diagram/bpmn/index.js.map +1 -0
- package/dist/diagram/bpmn/patch.d.ts +14 -0
- package/dist/diagram/bpmn/patch.d.ts.map +1 -0
- package/dist/diagram/bpmn/patch.js +770 -0
- package/dist/diagram/bpmn/patch.js.map +1 -0
- package/dist/diagram/bpmn/place.d.ts +4 -0
- package/dist/diagram/bpmn/place.d.ts.map +1 -0
- package/dist/diagram/bpmn/place.js +65 -0
- package/dist/diagram/bpmn/place.js.map +1 -0
- package/dist/diagram/bpmn/serialize.d.ts +12 -0
- package/dist/diagram/bpmn/serialize.d.ts.map +1 -0
- package/dist/diagram/bpmn/serialize.js +292 -0
- package/dist/diagram/bpmn/serialize.js.map +1 -0
- package/dist/diagram/bpmn/types.d.ts +42 -0
- package/dist/diagram/bpmn/types.d.ts.map +1 -0
- package/dist/diagram/bpmn/types.js +84 -0
- package/dist/diagram/bpmn/types.js.map +1 -0
- package/dist/diagram/bpmn/xml.d.ts +60 -0
- package/dist/diagram/bpmn/xml.d.ts.map +1 -0
- package/dist/diagram/bpmn/xml.js +342 -0
- package/dist/diagram/bpmn/xml.js.map +1 -0
- package/dist/diagram/elkGraph.d.ts +1 -3
- package/dist/diagram/elkGraph.d.ts.map +1 -1
- package/dist/diagram/elkGraph.js +1 -0
- package/dist/diagram/elkGraph.js.map +1 -1
- package/dist/diagram/fixtures.d.ts +10 -0
- package/dist/diagram/fixtures.d.ts.map +1 -0
- package/dist/diagram/fixtures.js +113 -0
- package/dist/diagram/fixtures.js.map +1 -0
- package/dist/diagram/geometry.d.ts +27 -0
- package/dist/diagram/geometry.d.ts.map +1 -0
- package/dist/diagram/geometry.js +122 -0
- package/dist/diagram/geometry.js.map +1 -0
- package/dist/diagram/history.d.ts +36 -0
- package/dist/diagram/history.d.ts.map +1 -0
- package/dist/diagram/history.js +54 -0
- package/dist/diagram/history.js.map +1 -0
- package/dist/diagram/ids.d.ts +5 -0
- package/dist/diagram/ids.d.ts.map +1 -0
- package/dist/diagram/ids.js +52 -0
- package/dist/diagram/ids.js.map +1 -0
- package/dist/diagram/index.d.ts +14 -2
- package/dist/diagram/index.d.ts.map +1 -1
- package/dist/diagram/index.js +20 -8
- package/dist/diagram/index.js.map +1 -1
- package/dist/diagram/layout.d.ts +107 -0
- package/dist/diagram/layout.d.ts.map +1 -0
- package/dist/diagram/layout.js +356 -0
- package/dist/diagram/layout.js.map +1 -0
- package/dist/diagram/mermaid/derive.d.ts +55 -0
- package/dist/diagram/mermaid/derive.d.ts.map +1 -0
- package/dist/diagram/mermaid/derive.js +343 -0
- package/dist/diagram/mermaid/derive.js.map +1 -0
- package/dist/diagram/mermaid/index.d.ts +8 -0
- package/dist/diagram/mermaid/index.d.ts.map +1 -0
- package/dist/diagram/mermaid/index.js +24 -0
- package/dist/diagram/mermaid/index.js.map +1 -0
- package/dist/diagram/mermaid/parse.d.ts +96 -0
- package/dist/diagram/mermaid/parse.d.ts.map +1 -0
- package/dist/diagram/mermaid/parse.js +672 -0
- package/dist/diagram/mermaid/parse.js.map +1 -0
- package/dist/diagram/mermaid/patch.d.ts +16 -0
- package/dist/diagram/mermaid/patch.d.ts.map +1 -0
- package/dist/diagram/mermaid/patch.js +463 -0
- package/dist/diagram/mermaid/patch.js.map +1 -0
- package/dist/diagram/mermaid/serialize.d.ts +14 -0
- package/dist/diagram/mermaid/serialize.d.ts.map +1 -0
- package/dist/diagram/mermaid/serialize.js +125 -0
- package/dist/diagram/mermaid/serialize.js.map +1 -0
- package/dist/diagram/mermaid/shapes.d.ts +11 -0
- package/dist/diagram/mermaid/shapes.d.ts.map +1 -0
- package/dist/diagram/mermaid/shapes.js +320 -0
- package/dist/diagram/mermaid/shapes.js.map +1 -0
- package/dist/diagram/migrations.d.ts +1 -0
- package/dist/diagram/migrations.d.ts.map +1 -1
- package/dist/diagram/migrations.js +7 -2
- package/dist/diagram/migrations.js.map +1 -1
- package/dist/diagram/normalize.d.ts +9 -1
- package/dist/diagram/normalize.d.ts.map +1 -1
- package/dist/diagram/normalize.js +194 -0
- package/dist/diagram/normalize.js.map +1 -1
- package/dist/diagram/ops.d.ts +146 -0
- package/dist/diagram/ops.d.ts.map +1 -0
- package/dist/diagram/ops.js +823 -0
- package/dist/diagram/ops.js.map +1 -0
- package/dist/diagram/opsReference.d.ts +3 -0
- package/dist/diagram/opsReference.d.ts.map +1 -0
- package/dist/diagram/opsReference.js +51 -0
- package/dist/diagram/opsReference.js.map +1 -0
- package/dist/diagram/patchInput.d.ts +193 -0
- package/dist/diagram/patchInput.d.ts.map +1 -0
- package/dist/diagram/patchInput.js +621 -0
- package/dist/diagram/patchInput.js.map +1 -0
- package/dist/diagram/routing/batch.d.ts +45 -0
- package/dist/diagram/routing/batch.d.ts.map +1 -0
- package/dist/diagram/routing/batch.js +136 -0
- package/dist/diagram/routing/batch.js.map +1 -0
- package/dist/diagram/routing/curves.d.ts +7 -0
- package/dist/diagram/routing/curves.d.ts.map +1 -0
- package/dist/diagram/routing/curves.js +120 -0
- package/dist/diagram/routing/curves.js.map +1 -0
- package/dist/diagram/routing/grid.d.ts +15 -0
- package/dist/diagram/routing/grid.d.ts.map +1 -0
- package/dist/diagram/routing/grid.js +245 -0
- package/dist/diagram/routing/grid.js.map +1 -0
- package/dist/diagram/routing/index.d.ts +10 -0
- package/dist/diagram/routing/index.d.ts.map +1 -0
- package/dist/diagram/routing/index.js +10 -0
- package/dist/diagram/routing/index.js.map +1 -0
- package/dist/diagram/routing/legacy.d.ts +6 -0
- package/dist/diagram/routing/legacy.d.ts.map +1 -0
- package/dist/diagram/routing/legacy.js +27 -0
- package/dist/diagram/routing/legacy.js.map +1 -0
- package/dist/diagram/routing/nudge.d.ts +4 -0
- package/dist/diagram/routing/nudge.d.ts.map +1 -0
- package/dist/diagram/routing/nudge.js +96 -0
- package/dist/diagram/routing/nudge.js.map +1 -0
- package/dist/diagram/routing/orthogonal.d.ts +6 -0
- package/dist/diagram/routing/orthogonal.d.ts.map +1 -0
- package/dist/diagram/routing/orthogonal.js +56 -0
- package/dist/diagram/routing/orthogonal.js.map +1 -0
- package/dist/diagram/routing/path.d.ts +16 -0
- package/dist/diagram/routing/path.d.ts.map +1 -0
- package/dist/diagram/routing/path.js +128 -0
- package/dist/diagram/routing/path.js.map +1 -0
- package/dist/diagram/routing/sides.d.ts +22 -0
- package/dist/diagram/routing/sides.d.ts.map +1 -0
- package/dist/diagram/routing/sides.js +74 -0
- package/dist/diagram/routing/sides.js.map +1 -0
- package/dist/diagram/routing/types.d.ts +46 -0
- package/dist/diagram/routing/types.d.ts.map +1 -0
- package/dist/diagram/routing/types.js +11 -0
- package/dist/diagram/routing/types.js.map +1 -0
- package/dist/diagram/schema.d.ts +70 -37
- package/dist/diagram/schema.d.ts.map +1 -1
- package/dist/diagram/schema.js +62 -8
- package/dist/diagram/schema.js.map +1 -1
- package/dist/diagram/styleInput.d.ts +41 -0
- package/dist/diagram/styleInput.d.ts.map +1 -0
- package/dist/diagram/styleInput.js +105 -0
- package/dist/diagram/styleInput.js.map +1 -0
- package/dist/diagram/views.d.ts +9 -0
- package/dist/diagram/views.d.ts.map +1 -0
- package/dist/diagram/views.js +42 -0
- package/dist/diagram/views.js.map +1 -0
- package/dist-cjs/ai/index.js.map +1 -1
- package/dist-cjs/ai/outputSchemas.js +1 -0
- package/dist-cjs/ai/outputSchemas.js.map +1 -1
- package/dist-cjs/ai/parse/diagram.js +6 -3
- package/dist-cjs/ai/parse/diagram.js.map +1 -1
- package/dist-cjs/ai/prompts/diagram.js +44 -5
- package/dist-cjs/ai/prompts/diagram.js.map +1 -1
- package/dist-cjs/diagram/bpmn/derive.js +398 -0
- package/dist-cjs/diagram/bpmn/derive.js.map +1 -0
- package/dist-cjs/diagram/bpmn/index.js +31 -0
- package/dist-cjs/diagram/bpmn/index.js.map +1 -0
- package/dist-cjs/diagram/bpmn/patch.js +774 -0
- package/dist-cjs/diagram/bpmn/patch.js.map +1 -0
- package/dist-cjs/diagram/bpmn/place.js +69 -0
- package/dist-cjs/diagram/bpmn/place.js.map +1 -0
- package/dist-cjs/diagram/bpmn/serialize.js +299 -0
- package/dist-cjs/diagram/bpmn/serialize.js.map +1 -0
- package/dist-cjs/diagram/bpmn/types.js +99 -0
- package/dist-cjs/diagram/bpmn/types.js.map +1 -0
- package/dist-cjs/diagram/bpmn/xml.js +367 -0
- package/dist-cjs/diagram/bpmn/xml.js.map +1 -0
- package/dist-cjs/diagram/elkGraph.js +1 -0
- package/dist-cjs/diagram/elkGraph.js.map +1 -1
- package/dist-cjs/diagram/fixtures.js +117 -0
- package/dist-cjs/diagram/fixtures.js.map +1 -0
- package/dist-cjs/diagram/geometry.js +143 -0
- package/dist-cjs/diagram/geometry.js.map +1 -0
- package/dist-cjs/diagram/history.js +65 -0
- package/dist-cjs/diagram/history.js.map +1 -0
- package/dist-cjs/diagram/ids.js +58 -0
- package/dist-cjs/diagram/ids.js.map +1 -0
- package/dist-cjs/diagram/index.js +23 -8
- package/dist-cjs/diagram/index.js.map +1 -1
- package/dist-cjs/diagram/layout.js +364 -0
- package/dist-cjs/diagram/layout.js.map +1 -0
- package/dist-cjs/diagram/mermaid/derive.js +353 -0
- package/dist-cjs/diagram/mermaid/derive.js.map +1 -0
- package/dist-cjs/diagram/mermaid/index.js +44 -0
- package/dist-cjs/diagram/mermaid/index.js.map +1 -0
- package/dist-cjs/diagram/mermaid/parse.js +681 -0
- package/dist-cjs/diagram/mermaid/parse.js.map +1 -0
- package/dist-cjs/diagram/mermaid/patch.js +468 -0
- package/dist-cjs/diagram/mermaid/patch.js.map +1 -0
- package/dist-cjs/diagram/mermaid/serialize.js +133 -0
- package/dist-cjs/diagram/mermaid/serialize.js.map +1 -0
- package/dist-cjs/diagram/mermaid/shapes.js +327 -0
- package/dist-cjs/diagram/mermaid/shapes.js.map +1 -0
- package/dist-cjs/diagram/migrations.js +9 -3
- package/dist-cjs/diagram/migrations.js.map +1 -1
- package/dist-cjs/diagram/normalize.js +198 -1
- package/dist-cjs/diagram/normalize.js.map +1 -1
- package/dist-cjs/diagram/ops.js +829 -0
- package/dist-cjs/diagram/ops.js.map +1 -0
- package/dist-cjs/diagram/opsReference.js +55 -0
- package/dist-cjs/diagram/opsReference.js.map +1 -0
- package/dist-cjs/diagram/patchInput.js +636 -0
- package/dist-cjs/diagram/patchInput.js.map +1 -0
- package/dist-cjs/diagram/routing/batch.js +142 -0
- package/dist-cjs/diagram/routing/batch.js.map +1 -0
- package/dist-cjs/diagram/routing/curves.js +127 -0
- package/dist-cjs/diagram/routing/curves.js.map +1 -0
- package/dist-cjs/diagram/routing/grid.js +250 -0
- package/dist-cjs/diagram/routing/grid.js.map +1 -0
- package/dist-cjs/diagram/routing/index.js +29 -0
- package/dist-cjs/diagram/routing/index.js.map +1 -0
- package/dist-cjs/diagram/routing/legacy.js +32 -0
- package/dist-cjs/diagram/routing/legacy.js.map +1 -0
- package/dist-cjs/diagram/routing/nudge.js +100 -0
- package/dist-cjs/diagram/routing/nudge.js.map +1 -0
- package/dist-cjs/diagram/routing/orthogonal.js +62 -0
- package/dist-cjs/diagram/routing/orthogonal.js.map +1 -0
- package/dist-cjs/diagram/routing/path.js +137 -0
- package/dist-cjs/diagram/routing/path.js.map +1 -0
- package/dist-cjs/diagram/routing/sides.js +82 -0
- package/dist-cjs/diagram/routing/sides.js.map +1 -0
- package/dist-cjs/diagram/routing/types.js +15 -0
- package/dist-cjs/diagram/routing/types.js.map +1 -0
- package/dist-cjs/diagram/schema.js +64 -9
- package/dist-cjs/diagram/schema.js.map +1 -1
- package/dist-cjs/diagram/styleInput.js +113 -0
- package/dist-cjs/diagram/styleInput.js.map +1 -0
- package/dist-cjs/diagram/views.js +46 -0
- package/dist-cjs/diagram/views.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/diagram/ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opsReference.d.ts","sourceRoot":"","sources":["../../src/diagram/opsReference.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5E,eAAO,MAAM,yBAAyB,GAAI,OAAM,uBAA+B,KAAG,MA4CpE,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// The ONE description of the diagram authoring ops (the vocabulary of
|
|
2
|
+
// patchInput.ts) — rendered into the AI system prompt and into the MCP docs
|
|
3
|
+
// resource, so a model editing a diagram and a tool client patching one read
|
|
4
|
+
// the same text and emit the same JSON.
|
|
5
|
+
import { renderBpmnVocabulary } from "./bpmn/types.js";
|
|
6
|
+
import { DIAGRAM_ROUTINGS } from "./schema.js";
|
|
7
|
+
export const renderDiagramOpsReference = (kind = "all") => [
|
|
8
|
+
"DIAGRAM OPS (edit a diagram by describing CHANGES, never by re-sending the whole document):",
|
|
9
|
+
"",
|
|
10
|
+
'Each op is one JSON object with an "op" key. Node ids are stable — reuse the ids you were given.',
|
|
11
|
+
"",
|
|
12
|
+
'{"op":"addNode","node":{"id"?,"type","label"?,"parent"?,"position"?:{"x","y"},"size"?:{"width","height"},"style"?,"data"?}}',
|
|
13
|
+
" `type` must be a known component type. Omit `position` and the app places the node; omit `id` and a slug is made from the label.",
|
|
14
|
+
" `parent` = id of a container (frame / pool) the node belongs to.",
|
|
15
|
+
'{"op":"updateNode","id","changes":{"label"?,"type"?,"parent"?:string|null,"position"?,"size"?,"style"?,"rotation"?,"locked"?,"hidden"?,"collapsed"?,"data"?}}',
|
|
16
|
+
'{"op":"removeNode","id"} // also removes its connections; children of a container are kept (lifted out)',
|
|
17
|
+
'{"op":"addEdge","edge":{"id"?,"source","target","label"?,"semantic"?:"sync"|"async"|"fallback"|"bus","color"?,"routing"?,"markerEnd"?,"markerStart"?,"sourceSide"?,"targetSide"?}}',
|
|
18
|
+
'{"op":"updateEdge","id","changes":{"source"?,"target"?,"label"?,"semantic"?,"color"?,"routing"?,"markerEnd"?,"markerStart"?,"sourceSide"?,"targetSide"?}}',
|
|
19
|
+
'{"op":"removeEdge","id"}',
|
|
20
|
+
'{"op":"setTitle","title"}',
|
|
21
|
+
'{"op":"moveNode","id","position":{"x","y"}} // only when the user asks to move something',
|
|
22
|
+
'{"op":"reparent","id","parent":string|null} // move a node into / out of a container',
|
|
23
|
+
'{"op":"setEdgeRoute","id","routing"?,"sourceSide"?,"targetSide"?,"waypoints"?}',
|
|
24
|
+
'{"op":"reorder","id","index":number|"front"|"back"}',
|
|
25
|
+
'{"op":"setCanvas","canvas":{"background"?:"dots"|"grid"|"blank","gridSize"?,"defaultRouting"?}}',
|
|
26
|
+
'{"op":"group","ids":[...],"label"?,"type"?} // wrap nodes in a new container',
|
|
27
|
+
'{"op":"ungroup","id"} // dissolve a container, keeping its members',
|
|
28
|
+
'{"op":"relayout","scope":"new"|"all","direction"?:"DOWN"|"RIGHT"|"UP"|"LEFT"} // hint: lay out the new nodes (or everything)',
|
|
29
|
+
"",
|
|
30
|
+
"STYLE VALUES: colors are hex strings or {\"token\": name}; `style` keys: fill, stroke, textColor, strokeWidth,",
|
|
31
|
+
"radius, dashed, opacity (0-100), fontSize, fontFamily, bold, italic, underline, align, verticalAlign, shadow.",
|
|
32
|
+
`ROUTING VALUES: ${DIAGRAM_ROUTINGS.map((routing) => `"${routing}"`).join(" | ")}.`,
|
|
33
|
+
"SIDES: \"top\" | \"right\" | \"bottom\" | \"left\" (an edge end fixed to that side; omit = floating).",
|
|
34
|
+
"",
|
|
35
|
+
"RULES FOR OPS:",
|
|
36
|
+
"- Emit ONLY the ops the instruction implies. Untouched nodes and edges stay exactly as they are.",
|
|
37
|
+
"- Never move or resize nodes unless asked; new nodes without a position are placed by the app.",
|
|
38
|
+
"- To connect two existing nodes, addEdge with their ids. To replace an edge, removeEdge + addEdge.",
|
|
39
|
+
"- Removing a node removes its edges; do not also emit removeEdge for them.",
|
|
40
|
+
"- Prefer specific component types from the catalog over generic rectangles.",
|
|
41
|
+
...(kind === "bpmn" || kind === "all"
|
|
42
|
+
? [
|
|
43
|
+
"",
|
|
44
|
+
renderBpmnVocabulary(),
|
|
45
|
+
'{"op":"addEdge","edge":{...,"data":{"bpmn":{"flow":"sequence"|"message","conditionExpression"?,"isDefault"?}}}} // BPMN flows',
|
|
46
|
+
'{"op":"addNode","node":{...,"data":{"bpmn":{"eventDefinition"?,"attachedTo"?,"cancelActivity"?}}}} // BPMN facts',
|
|
47
|
+
"- On a BPMN diagram, removing a task also removes the boundary events attached to it. Use children:\"delete\" when removing a subprocess or pool.",
|
|
48
|
+
]
|
|
49
|
+
: []),
|
|
50
|
+
].join("\n");
|
|
51
|
+
//# sourceMappingURL=opsReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opsReference.js","sourceRoot":"","sources":["../../src/diagram/opsReference.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,4EAA4E;AAC5E,6EAA6E;AAC7E,wCAAwC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgC,KAAK,EAAU,EAAE,CACzF;IACE,6FAA6F;IAC7F,EAAE;IACF,kGAAkG;IAClG,EAAE;IACF,6HAA6H;IAC7H,qIAAqI;IACrI,qEAAqE;IACrE,+JAA+J;IAC/J,gIAAgI;IAChI,oLAAoL;IACpL,2JAA2J;IAC3J,0BAA0B;IAC1B,2BAA2B;IAC3B,gGAAgG;IAChG,6FAA6F;IAC7F,gFAAgF;IAChF,qDAAqD;IACrD,iGAAiG;IACjG,uFAAuF;IACvF,iGAAiG;IACjG,+HAA+H;IAC/H,EAAE;IACF,gHAAgH;IAChH,+GAA+G;IAC/G,mBAAmB,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;IACnF,uGAAuG;IACvG,EAAE;IACF,gBAAgB;IAChB,kGAAkG;IAClG,gGAAgG;IAChG,oGAAoG;IACpG,4EAA4E;IAC5E,6EAA6E;IAC7E,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK;QACnC,CAAC,CAAC;YACE,EAAE;YACF,oBAAoB,EAAE;YACtB,gIAAgI;YAChI,mIAAmI;YACnI,mJAAmJ;SACpJ;QACH,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { type EdgeSemantic } from "./edgeSemantics.js";
|
|
2
|
+
import { type IdFactory } from "./ids.js";
|
|
3
|
+
import { type DiagramOp } from "./ops.js";
|
|
4
|
+
import { type ArrowType, type DiagramCanvasState, type DiagramDocument, type DiagramEdge, type DiagramNode, type DiagramRouting, type HandleSide, type LayoutDirection, type Point, type Size } from "./schema.js";
|
|
5
|
+
import { type ColorInput, type NodeStyleInput, type NodeStylePatch } from "./styleInput.js";
|
|
6
|
+
export interface DiagramNodeInput {
|
|
7
|
+
id?: string;
|
|
8
|
+
type: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
parent?: string;
|
|
11
|
+
position?: Point;
|
|
12
|
+
size?: Size;
|
|
13
|
+
style?: NodeStyleInput;
|
|
14
|
+
rotation?: number;
|
|
15
|
+
locked?: boolean;
|
|
16
|
+
hidden?: boolean;
|
|
17
|
+
collapsed?: boolean;
|
|
18
|
+
data?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
export interface DiagramEdgeInput {
|
|
21
|
+
id?: string;
|
|
22
|
+
source: string;
|
|
23
|
+
target: string;
|
|
24
|
+
label?: string;
|
|
25
|
+
semantic?: EdgeSemantic;
|
|
26
|
+
color?: ColorInput;
|
|
27
|
+
routing?: DiagramRouting;
|
|
28
|
+
markerEnd?: ArrowType;
|
|
29
|
+
markerStart?: ArrowType;
|
|
30
|
+
sourceSide?: HandleSide;
|
|
31
|
+
targetSide?: HandleSide;
|
|
32
|
+
data?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
export interface DiagramInput {
|
|
35
|
+
title: string;
|
|
36
|
+
nodes: DiagramNodeInput[];
|
|
37
|
+
edges?: DiagramEdgeInput[];
|
|
38
|
+
canvas?: {
|
|
39
|
+
background?: DiagramCanvasState["background"];
|
|
40
|
+
gridSize?: number;
|
|
41
|
+
defaultRouting?: DiagramRouting;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface NodeChangesInput {
|
|
45
|
+
type?: string;
|
|
46
|
+
label?: string;
|
|
47
|
+
parent?: string | null;
|
|
48
|
+
position?: Point;
|
|
49
|
+
size?: Size;
|
|
50
|
+
style?: NodeStylePatch | null;
|
|
51
|
+
rotation?: number | null;
|
|
52
|
+
locked?: boolean;
|
|
53
|
+
hidden?: boolean;
|
|
54
|
+
collapsed?: boolean;
|
|
55
|
+
data?: Record<string, unknown> | null;
|
|
56
|
+
}
|
|
57
|
+
export interface EdgeChangesInput {
|
|
58
|
+
source?: string;
|
|
59
|
+
target?: string;
|
|
60
|
+
label?: string;
|
|
61
|
+
semantic?: EdgeSemantic;
|
|
62
|
+
color?: ColorInput | null;
|
|
63
|
+
routing?: DiagramRouting;
|
|
64
|
+
markerEnd?: ArrowType;
|
|
65
|
+
markerStart?: ArrowType;
|
|
66
|
+
sourceSide?: HandleSide | null;
|
|
67
|
+
targetSide?: HandleSide | null;
|
|
68
|
+
data?: Record<string, unknown> | null;
|
|
69
|
+
}
|
|
70
|
+
export type DiagramPatchInputOp = {
|
|
71
|
+
op: "addNode";
|
|
72
|
+
node: DiagramNodeInput;
|
|
73
|
+
} | {
|
|
74
|
+
op: "updateNode";
|
|
75
|
+
id: string;
|
|
76
|
+
changes: NodeChangesInput;
|
|
77
|
+
} | {
|
|
78
|
+
op: "removeNode";
|
|
79
|
+
id: string;
|
|
80
|
+
} | {
|
|
81
|
+
op: "addEdge";
|
|
82
|
+
edge: DiagramEdgeInput;
|
|
83
|
+
} | {
|
|
84
|
+
op: "updateEdge";
|
|
85
|
+
id: string;
|
|
86
|
+
changes: EdgeChangesInput;
|
|
87
|
+
} | {
|
|
88
|
+
op: "removeEdge";
|
|
89
|
+
id: string;
|
|
90
|
+
} | {
|
|
91
|
+
op: "setTitle";
|
|
92
|
+
title: string;
|
|
93
|
+
} | {
|
|
94
|
+
op: "moveNode";
|
|
95
|
+
id: string;
|
|
96
|
+
position: Point;
|
|
97
|
+
} | {
|
|
98
|
+
op: "reparent";
|
|
99
|
+
id: string;
|
|
100
|
+
parent: string | null;
|
|
101
|
+
position?: Point;
|
|
102
|
+
} | {
|
|
103
|
+
op: "setEdgeRoute";
|
|
104
|
+
id: string;
|
|
105
|
+
routing?: DiagramRouting | null;
|
|
106
|
+
sourceSide?: HandleSide | null;
|
|
107
|
+
targetSide?: HandleSide | null;
|
|
108
|
+
waypoints?: Point[] | null;
|
|
109
|
+
} | {
|
|
110
|
+
op: "reorder";
|
|
111
|
+
id: string;
|
|
112
|
+
index: number | "front" | "back";
|
|
113
|
+
} | {
|
|
114
|
+
op: "setCanvas";
|
|
115
|
+
canvas: {
|
|
116
|
+
background?: DiagramCanvasState["background"] | null;
|
|
117
|
+
gridSize?: number | null;
|
|
118
|
+
defaultRouting?: DiagramRouting | null;
|
|
119
|
+
};
|
|
120
|
+
} | {
|
|
121
|
+
op: "group";
|
|
122
|
+
ids: string[];
|
|
123
|
+
type?: string;
|
|
124
|
+
label?: string;
|
|
125
|
+
id?: string;
|
|
126
|
+
} | {
|
|
127
|
+
op: "ungroup";
|
|
128
|
+
id: string;
|
|
129
|
+
} | {
|
|
130
|
+
op: "relayout";
|
|
131
|
+
scope: "new" | "all";
|
|
132
|
+
direction?: LayoutDirection;
|
|
133
|
+
};
|
|
134
|
+
export type DiagramLowerKind = "canvas" | "bpmn";
|
|
135
|
+
export interface LowerOptions {
|
|
136
|
+
strictTypes?: boolean;
|
|
137
|
+
kind?: DiagramLowerKind;
|
|
138
|
+
genNodeId?: IdFactory;
|
|
139
|
+
genEdgeId?: IdFactory;
|
|
140
|
+
}
|
|
141
|
+
export interface LowerResult {
|
|
142
|
+
ops: DiagramOp[];
|
|
143
|
+
warnings: string[];
|
|
144
|
+
unpositionedNodeIds: string[];
|
|
145
|
+
relayout?: {
|
|
146
|
+
scope: "new" | "all";
|
|
147
|
+
direction?: LayoutDirection;
|
|
148
|
+
};
|
|
149
|
+
idMap: Record<string, string>;
|
|
150
|
+
}
|
|
151
|
+
export declare const suggestComponentTypes: (type: string, limit?: number) => string[];
|
|
152
|
+
export declare const isContainerType: (type: string | undefined) => boolean;
|
|
153
|
+
export declare const containerTypes: () => string[];
|
|
154
|
+
export declare const parentWarning: (id: string, parentId: string, parentType: string | undefined, kind?: DiagramLowerKind) => string | null;
|
|
155
|
+
export declare const assertNotConnector: (type: string, id: string, opIndex?: number) => void;
|
|
156
|
+
export declare const edgeStyleFor: (semantic: EdgeSemantic | undefined, color: ColorInput | undefined) => DiagramEdge["style"];
|
|
157
|
+
export declare const lowerPatchOps: (doc: DiagramDocument, input: DiagramPatchInputOp[], options?: LowerOptions) => LowerResult;
|
|
158
|
+
export interface BuildDiagramOptions {
|
|
159
|
+
strictTypes?: boolean;
|
|
160
|
+
kind?: DiagramLowerKind;
|
|
161
|
+
existingId?: string;
|
|
162
|
+
createdAt?: string;
|
|
163
|
+
idStrategy?: "slug" | "sequential";
|
|
164
|
+
now?: string;
|
|
165
|
+
}
|
|
166
|
+
export interface BuildDiagramResult {
|
|
167
|
+
document: DiagramDocument;
|
|
168
|
+
warnings: string[];
|
|
169
|
+
unpositionedNodeIds: string[];
|
|
170
|
+
}
|
|
171
|
+
export declare const buildDiagramFromInput: (input: DiagramInput, options?: BuildDiagramOptions) => BuildDiagramResult;
|
|
172
|
+
export interface GroupNodesResult {
|
|
173
|
+
ops: DiagramOp[];
|
|
174
|
+
container: DiagramNode;
|
|
175
|
+
memberPositions: Record<string, Point>;
|
|
176
|
+
}
|
|
177
|
+
export declare const groupNodesOps: (doc: DiagramDocument, memberIds: string[], options: {
|
|
178
|
+
id: string;
|
|
179
|
+
type?: string;
|
|
180
|
+
label?: string;
|
|
181
|
+
padding?: number;
|
|
182
|
+
titleHeight?: number;
|
|
183
|
+
}) => GroupNodesResult;
|
|
184
|
+
export declare const ungroupOps: (containerId: string) => DiagramOp[];
|
|
185
|
+
export declare const placeNewNodesOps: (doc: DiagramDocument, nodeIds: string[], gap?: number) => DiagramOp[];
|
|
186
|
+
export interface OpsRisk {
|
|
187
|
+
removesNodes: number;
|
|
188
|
+
totalNodes: number;
|
|
189
|
+
ratio: number;
|
|
190
|
+
destructive: boolean;
|
|
191
|
+
}
|
|
192
|
+
export declare const assessOpsRisk: (doc: DiagramDocument, ops: DiagramOp[], threshold?: number, minimum?: number) => OpsRisk;
|
|
193
|
+
//# sourceMappingURL=patchInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patchInput.d.ts","sourceRoot":"","sources":["../../src/diagram/patchInput.ts"],"names":[],"mappings":"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"}
|