callman-core 1.28.0 → 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.
Files changed (345) hide show
  1. package/ai-packs/scenario-nodes.md +451 -0
  2. package/dist/ai/index.d.ts +2 -1
  3. package/dist/ai/index.d.ts.map +1 -1
  4. package/dist/ai/index.js +1 -0
  5. package/dist/ai/index.js.map +1 -1
  6. package/dist/ai/outputSchemas.d.ts +3 -0
  7. package/dist/ai/outputSchemas.d.ts.map +1 -1
  8. package/dist/ai/outputSchemas.js +1 -0
  9. package/dist/ai/outputSchemas.js.map +1 -1
  10. package/dist/ai/parse/diagram.d.ts.map +1 -1
  11. package/dist/ai/parse/diagram.js +6 -3
  12. package/dist/ai/parse/diagram.js.map +1 -1
  13. package/dist/ai/prompts/diagram.d.ts +7 -3
  14. package/dist/ai/prompts/diagram.d.ts.map +1 -1
  15. package/dist/ai/prompts/diagram.js +44 -5
  16. package/dist/ai/prompts/diagram.js.map +1 -1
  17. package/dist/ai/prompts/scenario.d.ts.map +1 -1
  18. package/dist/ai/prompts/scenario.js +9 -8
  19. package/dist/ai/prompts/scenario.js.map +1 -1
  20. package/dist/ai/prompts/scenarioNodeReference.d.ts +16 -0
  21. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -0
  22. package/dist/ai/prompts/scenarioNodeReference.js +882 -0
  23. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -0
  24. package/dist/ai/types.d.ts +6 -0
  25. package/dist/ai/types.d.ts.map +1 -1
  26. package/dist/diagram/bpmn/derive.d.ts +74 -0
  27. package/dist/diagram/bpmn/derive.d.ts.map +1 -0
  28. package/dist/diagram/bpmn/derive.js +392 -0
  29. package/dist/diagram/bpmn/derive.js.map +1 -0
  30. package/dist/diagram/bpmn/index.d.ts +7 -0
  31. package/dist/diagram/bpmn/index.d.ts.map +1 -0
  32. package/dist/diagram/bpmn/index.js +12 -0
  33. package/dist/diagram/bpmn/index.js.map +1 -0
  34. package/dist/diagram/bpmn/patch.d.ts +14 -0
  35. package/dist/diagram/bpmn/patch.d.ts.map +1 -0
  36. package/dist/diagram/bpmn/patch.js +770 -0
  37. package/dist/diagram/bpmn/patch.js.map +1 -0
  38. package/dist/diagram/bpmn/place.d.ts +4 -0
  39. package/dist/diagram/bpmn/place.d.ts.map +1 -0
  40. package/dist/diagram/bpmn/place.js +65 -0
  41. package/dist/diagram/bpmn/place.js.map +1 -0
  42. package/dist/diagram/bpmn/serialize.d.ts +12 -0
  43. package/dist/diagram/bpmn/serialize.d.ts.map +1 -0
  44. package/dist/diagram/bpmn/serialize.js +292 -0
  45. package/dist/diagram/bpmn/serialize.js.map +1 -0
  46. package/dist/diagram/bpmn/types.d.ts +42 -0
  47. package/dist/diagram/bpmn/types.d.ts.map +1 -0
  48. package/dist/diagram/bpmn/types.js +84 -0
  49. package/dist/diagram/bpmn/types.js.map +1 -0
  50. package/dist/diagram/bpmn/xml.d.ts +60 -0
  51. package/dist/diagram/bpmn/xml.d.ts.map +1 -0
  52. package/dist/diagram/bpmn/xml.js +342 -0
  53. package/dist/diagram/bpmn/xml.js.map +1 -0
  54. package/dist/diagram/elkGraph.d.ts +1 -3
  55. package/dist/diagram/elkGraph.d.ts.map +1 -1
  56. package/dist/diagram/elkGraph.js +1 -0
  57. package/dist/diagram/elkGraph.js.map +1 -1
  58. package/dist/diagram/fixtures.d.ts +10 -0
  59. package/dist/diagram/fixtures.d.ts.map +1 -0
  60. package/dist/diagram/fixtures.js +113 -0
  61. package/dist/diagram/fixtures.js.map +1 -0
  62. package/dist/diagram/geometry.d.ts +27 -0
  63. package/dist/diagram/geometry.d.ts.map +1 -0
  64. package/dist/diagram/geometry.js +122 -0
  65. package/dist/diagram/geometry.js.map +1 -0
  66. package/dist/diagram/history.d.ts +36 -0
  67. package/dist/diagram/history.d.ts.map +1 -0
  68. package/dist/diagram/history.js +54 -0
  69. package/dist/diagram/history.js.map +1 -0
  70. package/dist/diagram/ids.d.ts +5 -0
  71. package/dist/diagram/ids.d.ts.map +1 -0
  72. package/dist/diagram/ids.js +52 -0
  73. package/dist/diagram/ids.js.map +1 -0
  74. package/dist/diagram/index.d.ts +14 -2
  75. package/dist/diagram/index.d.ts.map +1 -1
  76. package/dist/diagram/index.js +20 -8
  77. package/dist/diagram/index.js.map +1 -1
  78. package/dist/diagram/layout.d.ts +107 -0
  79. package/dist/diagram/layout.d.ts.map +1 -0
  80. package/dist/diagram/layout.js +356 -0
  81. package/dist/diagram/layout.js.map +1 -0
  82. package/dist/diagram/mermaid/derive.d.ts +55 -0
  83. package/dist/diagram/mermaid/derive.d.ts.map +1 -0
  84. package/dist/diagram/mermaid/derive.js +343 -0
  85. package/dist/diagram/mermaid/derive.js.map +1 -0
  86. package/dist/diagram/mermaid/index.d.ts +8 -0
  87. package/dist/diagram/mermaid/index.d.ts.map +1 -0
  88. package/dist/diagram/mermaid/index.js +24 -0
  89. package/dist/diagram/mermaid/index.js.map +1 -0
  90. package/dist/diagram/mermaid/parse.d.ts +96 -0
  91. package/dist/diagram/mermaid/parse.d.ts.map +1 -0
  92. package/dist/diagram/mermaid/parse.js +672 -0
  93. package/dist/diagram/mermaid/parse.js.map +1 -0
  94. package/dist/diagram/mermaid/patch.d.ts +16 -0
  95. package/dist/diagram/mermaid/patch.d.ts.map +1 -0
  96. package/dist/diagram/mermaid/patch.js +463 -0
  97. package/dist/diagram/mermaid/patch.js.map +1 -0
  98. package/dist/diagram/mermaid/serialize.d.ts +14 -0
  99. package/dist/diagram/mermaid/serialize.d.ts.map +1 -0
  100. package/dist/diagram/mermaid/serialize.js +125 -0
  101. package/dist/diagram/mermaid/serialize.js.map +1 -0
  102. package/dist/diagram/mermaid/shapes.d.ts +11 -0
  103. package/dist/diagram/mermaid/shapes.d.ts.map +1 -0
  104. package/dist/diagram/mermaid/shapes.js +320 -0
  105. package/dist/diagram/mermaid/shapes.js.map +1 -0
  106. package/dist/diagram/migrations.d.ts +1 -0
  107. package/dist/diagram/migrations.d.ts.map +1 -1
  108. package/dist/diagram/migrations.js +7 -2
  109. package/dist/diagram/migrations.js.map +1 -1
  110. package/dist/diagram/normalize.d.ts +9 -1
  111. package/dist/diagram/normalize.d.ts.map +1 -1
  112. package/dist/diagram/normalize.js +194 -0
  113. package/dist/diagram/normalize.js.map +1 -1
  114. package/dist/diagram/ops.d.ts +146 -0
  115. package/dist/diagram/ops.d.ts.map +1 -0
  116. package/dist/diagram/ops.js +823 -0
  117. package/dist/diagram/ops.js.map +1 -0
  118. package/dist/diagram/opsReference.d.ts +3 -0
  119. package/dist/diagram/opsReference.d.ts.map +1 -0
  120. package/dist/diagram/opsReference.js +51 -0
  121. package/dist/diagram/opsReference.js.map +1 -0
  122. package/dist/diagram/patchInput.d.ts +193 -0
  123. package/dist/diagram/patchInput.d.ts.map +1 -0
  124. package/dist/diagram/patchInput.js +621 -0
  125. package/dist/diagram/patchInput.js.map +1 -0
  126. package/dist/diagram/routing/batch.d.ts +45 -0
  127. package/dist/diagram/routing/batch.d.ts.map +1 -0
  128. package/dist/diagram/routing/batch.js +136 -0
  129. package/dist/diagram/routing/batch.js.map +1 -0
  130. package/dist/diagram/routing/curves.d.ts +7 -0
  131. package/dist/diagram/routing/curves.d.ts.map +1 -0
  132. package/dist/diagram/routing/curves.js +120 -0
  133. package/dist/diagram/routing/curves.js.map +1 -0
  134. package/dist/diagram/routing/grid.d.ts +15 -0
  135. package/dist/diagram/routing/grid.d.ts.map +1 -0
  136. package/dist/diagram/routing/grid.js +245 -0
  137. package/dist/diagram/routing/grid.js.map +1 -0
  138. package/dist/diagram/routing/index.d.ts +10 -0
  139. package/dist/diagram/routing/index.d.ts.map +1 -0
  140. package/dist/diagram/routing/index.js +10 -0
  141. package/dist/diagram/routing/index.js.map +1 -0
  142. package/dist/diagram/routing/legacy.d.ts +6 -0
  143. package/dist/diagram/routing/legacy.d.ts.map +1 -0
  144. package/dist/diagram/routing/legacy.js +27 -0
  145. package/dist/diagram/routing/legacy.js.map +1 -0
  146. package/dist/diagram/routing/nudge.d.ts +4 -0
  147. package/dist/diagram/routing/nudge.d.ts.map +1 -0
  148. package/dist/diagram/routing/nudge.js +96 -0
  149. package/dist/diagram/routing/nudge.js.map +1 -0
  150. package/dist/diagram/routing/orthogonal.d.ts +6 -0
  151. package/dist/diagram/routing/orthogonal.d.ts.map +1 -0
  152. package/dist/diagram/routing/orthogonal.js +56 -0
  153. package/dist/diagram/routing/orthogonal.js.map +1 -0
  154. package/dist/diagram/routing/path.d.ts +16 -0
  155. package/dist/diagram/routing/path.d.ts.map +1 -0
  156. package/dist/diagram/routing/path.js +128 -0
  157. package/dist/diagram/routing/path.js.map +1 -0
  158. package/dist/diagram/routing/sides.d.ts +22 -0
  159. package/dist/diagram/routing/sides.d.ts.map +1 -0
  160. package/dist/diagram/routing/sides.js +74 -0
  161. package/dist/diagram/routing/sides.js.map +1 -0
  162. package/dist/diagram/routing/types.d.ts +46 -0
  163. package/dist/diagram/routing/types.d.ts.map +1 -0
  164. package/dist/diagram/routing/types.js +11 -0
  165. package/dist/diagram/routing/types.js.map +1 -0
  166. package/dist/diagram/schema.d.ts +70 -37
  167. package/dist/diagram/schema.d.ts.map +1 -1
  168. package/dist/diagram/schema.js +62 -8
  169. package/dist/diagram/schema.js.map +1 -1
  170. package/dist/diagram/styleInput.d.ts +41 -0
  171. package/dist/diagram/styleInput.d.ts.map +1 -0
  172. package/dist/diagram/styleInput.js +105 -0
  173. package/dist/diagram/styleInput.js.map +1 -0
  174. package/dist/diagram/views.d.ts +9 -0
  175. package/dist/diagram/views.d.ts.map +1 -0
  176. package/dist/diagram/views.js +42 -0
  177. package/dist/diagram/views.js.map +1 -0
  178. package/dist/http-file/flatImport.d.ts +1 -0
  179. package/dist/http-file/flatImport.d.ts.map +1 -1
  180. package/dist/http-file/flatImport.js.map +1 -1
  181. package/dist/http-file/index.d.ts +1 -1
  182. package/dist/http-file/index.d.ts.map +1 -1
  183. package/dist/http-file/index.js +1 -1
  184. package/dist/http-file/index.js.map +1 -1
  185. package/dist/http-file/parseHttpFile.d.ts +1 -0
  186. package/dist/http-file/parseHttpFile.d.ts.map +1 -1
  187. package/dist/http-file/parseHttpFile.js +40 -8
  188. package/dist/http-file/parseHttpFile.js.map +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.js +3 -0
  192. package/dist/index.js.map +1 -1
  193. package/dist/request/requestBody.d.ts +55 -0
  194. package/dist/request/requestBody.d.ts.map +1 -0
  195. package/dist/request/requestBody.js +198 -0
  196. package/dist/request/requestBody.js.map +1 -0
  197. package/dist/runner/requestRunner.d.ts.map +1 -1
  198. package/dist/runner/requestRunner.js +127 -43
  199. package/dist/runner/requestRunner.js.map +1 -1
  200. package/dist/runner/runCollection.d.ts +1 -1
  201. package/dist/runner/runCollection.d.ts.map +1 -1
  202. package/dist/runner/runCollection.js +9 -2
  203. package/dist/runner/runCollection.js.map +1 -1
  204. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts +2 -1
  205. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts.map +1 -1
  206. package/dist/scenario-runner/adapters/helpers/request-helpers.js +8 -40
  207. package/dist/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  208. package/dist/scenario-runner/adapters/request-executor.d.ts.map +1 -1
  209. package/dist/scenario-runner/adapters/request-executor.js +2 -29
  210. package/dist/scenario-runner/adapters/request-executor.js.map +1 -1
  211. package/dist/scenario-runner/index.d.ts +1 -0
  212. package/dist/scenario-runner/index.d.ts.map +1 -1
  213. package/dist/scenario-runner/index.js +1 -0
  214. package/dist/scenario-runner/index.js.map +1 -1
  215. package/dist/scenario-runner/labels.d.ts +3 -0
  216. package/dist/scenario-runner/labels.d.ts.map +1 -0
  217. package/dist/scenario-runner/labels.js +20 -0
  218. package/dist/scenario-runner/labels.js.map +1 -0
  219. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  220. package/dist/scenario-runner/runScenario.js +4 -11
  221. package/dist/scenario-runner/runScenario.js.map +1 -1
  222. package/dist/script/legacy.d.ts.map +1 -1
  223. package/dist/script/legacy.js +24 -9
  224. package/dist/script/legacy.js.map +1 -1
  225. package/dist/types/index.d.ts +18 -1
  226. package/dist/types/index.d.ts.map +1 -1
  227. package/dist/variables/resolver.d.ts.map +1 -1
  228. package/dist/variables/resolver.js +27 -5
  229. package/dist/variables/resolver.js.map +1 -1
  230. package/dist-cjs/ai/index.js +4 -1
  231. package/dist-cjs/ai/index.js.map +1 -1
  232. package/dist-cjs/ai/outputSchemas.js +1 -0
  233. package/dist-cjs/ai/outputSchemas.js.map +1 -1
  234. package/dist-cjs/ai/parse/diagram.js +6 -3
  235. package/dist-cjs/ai/parse/diagram.js.map +1 -1
  236. package/dist-cjs/ai/prompts/diagram.js +44 -5
  237. package/dist-cjs/ai/prompts/diagram.js.map +1 -1
  238. package/dist-cjs/ai/prompts/scenario.js +9 -8
  239. package/dist-cjs/ai/prompts/scenario.js.map +1 -1
  240. package/dist-cjs/ai/prompts/scenarioNodeReference.js +886 -0
  241. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -0
  242. package/dist-cjs/diagram/bpmn/derive.js +398 -0
  243. package/dist-cjs/diagram/bpmn/derive.js.map +1 -0
  244. package/dist-cjs/diagram/bpmn/index.js +31 -0
  245. package/dist-cjs/diagram/bpmn/index.js.map +1 -0
  246. package/dist-cjs/diagram/bpmn/patch.js +774 -0
  247. package/dist-cjs/diagram/bpmn/patch.js.map +1 -0
  248. package/dist-cjs/diagram/bpmn/place.js +69 -0
  249. package/dist-cjs/diagram/bpmn/place.js.map +1 -0
  250. package/dist-cjs/diagram/bpmn/serialize.js +299 -0
  251. package/dist-cjs/diagram/bpmn/serialize.js.map +1 -0
  252. package/dist-cjs/diagram/bpmn/types.js +99 -0
  253. package/dist-cjs/diagram/bpmn/types.js.map +1 -0
  254. package/dist-cjs/diagram/bpmn/xml.js +367 -0
  255. package/dist-cjs/diagram/bpmn/xml.js.map +1 -0
  256. package/dist-cjs/diagram/elkGraph.js +1 -0
  257. package/dist-cjs/diagram/elkGraph.js.map +1 -1
  258. package/dist-cjs/diagram/fixtures.js +117 -0
  259. package/dist-cjs/diagram/fixtures.js.map +1 -0
  260. package/dist-cjs/diagram/geometry.js +143 -0
  261. package/dist-cjs/diagram/geometry.js.map +1 -0
  262. package/dist-cjs/diagram/history.js +65 -0
  263. package/dist-cjs/diagram/history.js.map +1 -0
  264. package/dist-cjs/diagram/ids.js +58 -0
  265. package/dist-cjs/diagram/ids.js.map +1 -0
  266. package/dist-cjs/diagram/index.js +23 -8
  267. package/dist-cjs/diagram/index.js.map +1 -1
  268. package/dist-cjs/diagram/layout.js +364 -0
  269. package/dist-cjs/diagram/layout.js.map +1 -0
  270. package/dist-cjs/diagram/mermaid/derive.js +353 -0
  271. package/dist-cjs/diagram/mermaid/derive.js.map +1 -0
  272. package/dist-cjs/diagram/mermaid/index.js +44 -0
  273. package/dist-cjs/diagram/mermaid/index.js.map +1 -0
  274. package/dist-cjs/diagram/mermaid/parse.js +681 -0
  275. package/dist-cjs/diagram/mermaid/parse.js.map +1 -0
  276. package/dist-cjs/diagram/mermaid/patch.js +468 -0
  277. package/dist-cjs/diagram/mermaid/patch.js.map +1 -0
  278. package/dist-cjs/diagram/mermaid/serialize.js +133 -0
  279. package/dist-cjs/diagram/mermaid/serialize.js.map +1 -0
  280. package/dist-cjs/diagram/mermaid/shapes.js +327 -0
  281. package/dist-cjs/diagram/mermaid/shapes.js.map +1 -0
  282. package/dist-cjs/diagram/migrations.js +9 -3
  283. package/dist-cjs/diagram/migrations.js.map +1 -1
  284. package/dist-cjs/diagram/normalize.js +198 -1
  285. package/dist-cjs/diagram/normalize.js.map +1 -1
  286. package/dist-cjs/diagram/ops.js +829 -0
  287. package/dist-cjs/diagram/ops.js.map +1 -0
  288. package/dist-cjs/diagram/opsReference.js +55 -0
  289. package/dist-cjs/diagram/opsReference.js.map +1 -0
  290. package/dist-cjs/diagram/patchInput.js +636 -0
  291. package/dist-cjs/diagram/patchInput.js.map +1 -0
  292. package/dist-cjs/diagram/routing/batch.js +142 -0
  293. package/dist-cjs/diagram/routing/batch.js.map +1 -0
  294. package/dist-cjs/diagram/routing/curves.js +127 -0
  295. package/dist-cjs/diagram/routing/curves.js.map +1 -0
  296. package/dist-cjs/diagram/routing/grid.js +250 -0
  297. package/dist-cjs/diagram/routing/grid.js.map +1 -0
  298. package/dist-cjs/diagram/routing/index.js +29 -0
  299. package/dist-cjs/diagram/routing/index.js.map +1 -0
  300. package/dist-cjs/diagram/routing/legacy.js +32 -0
  301. package/dist-cjs/diagram/routing/legacy.js.map +1 -0
  302. package/dist-cjs/diagram/routing/nudge.js +100 -0
  303. package/dist-cjs/diagram/routing/nudge.js.map +1 -0
  304. package/dist-cjs/diagram/routing/orthogonal.js +62 -0
  305. package/dist-cjs/diagram/routing/orthogonal.js.map +1 -0
  306. package/dist-cjs/diagram/routing/path.js +137 -0
  307. package/dist-cjs/diagram/routing/path.js.map +1 -0
  308. package/dist-cjs/diagram/routing/sides.js +82 -0
  309. package/dist-cjs/diagram/routing/sides.js.map +1 -0
  310. package/dist-cjs/diagram/routing/types.js +15 -0
  311. package/dist-cjs/diagram/routing/types.js.map +1 -0
  312. package/dist-cjs/diagram/schema.js +64 -9
  313. package/dist-cjs/diagram/schema.js.map +1 -1
  314. package/dist-cjs/diagram/styleInput.js +113 -0
  315. package/dist-cjs/diagram/styleInput.js.map +1 -0
  316. package/dist-cjs/diagram/views.js +46 -0
  317. package/dist-cjs/diagram/views.js.map +1 -0
  318. package/dist-cjs/http-file/flatImport.js.map +1 -1
  319. package/dist-cjs/http-file/index.js +2 -1
  320. package/dist-cjs/http-file/index.js.map +1 -1
  321. package/dist-cjs/http-file/parseHttpFile.js +42 -9
  322. package/dist-cjs/http-file/parseHttpFile.js.map +1 -1
  323. package/dist-cjs/index.js +9 -1
  324. package/dist-cjs/index.js.map +1 -1
  325. package/dist-cjs/request/requestBody.js +206 -0
  326. package/dist-cjs/request/requestBody.js.map +1 -0
  327. package/dist-cjs/runner/requestRunner.js +127 -43
  328. package/dist-cjs/runner/requestRunner.js.map +1 -1
  329. package/dist-cjs/runner/runCollection.js +9 -2
  330. package/dist-cjs/runner/runCollection.js.map +1 -1
  331. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js +7 -42
  332. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  333. package/dist-cjs/scenario-runner/adapters/request-executor.js +3 -30
  334. package/dist-cjs/scenario-runner/adapters/request-executor.js.map +1 -1
  335. package/dist-cjs/scenario-runner/index.js +4 -1
  336. package/dist-cjs/scenario-runner/index.js.map +1 -1
  337. package/dist-cjs/scenario-runner/labels.js +24 -0
  338. package/dist-cjs/scenario-runner/labels.js.map +1 -0
  339. package/dist-cjs/scenario-runner/runScenario.js +4 -11
  340. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  341. package/dist-cjs/script/legacy.js +24 -9
  342. package/dist-cjs/script/legacy.js.map +1 -1
  343. package/dist-cjs/variables/resolver.js +27 -5
  344. package/dist-cjs/variables/resolver.js.map +1 -1
  345. 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,3 @@
1
+ export type DiagramOpsReferenceKind = "canvas" | "mermaid" | "bpmn" | "all";
2
+ export declare const renderDiagramOpsReference: (kind?: DiagramOpsReferenceKind) => string;
3
+ //# sourceMappingURL=opsReference.d.ts.map
@@ -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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"}