callman-core 1.28.1 → 1.30.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 (402) hide show
  1. package/dist/ai/index.d.ts +1 -1
  2. package/dist/ai/index.d.ts.map +1 -1
  3. package/dist/ai/index.js.map +1 -1
  4. package/dist/ai/outputSchemas.d.ts +3 -0
  5. package/dist/ai/outputSchemas.d.ts.map +1 -1
  6. package/dist/ai/outputSchemas.js +1 -0
  7. package/dist/ai/outputSchemas.js.map +1 -1
  8. package/dist/ai/parse/diagram.d.ts.map +1 -1
  9. package/dist/ai/parse/diagram.js +6 -3
  10. package/dist/ai/parse/diagram.js.map +1 -1
  11. package/dist/ai/prompts/diagram.d.ts +7 -3
  12. package/dist/ai/prompts/diagram.d.ts.map +1 -1
  13. package/dist/ai/prompts/diagram.js +61 -5
  14. package/dist/ai/prompts/diagram.js.map +1 -1
  15. package/dist/ai/types.d.ts +6 -0
  16. package/dist/ai/types.d.ts.map +1 -1
  17. package/dist/diagram/bpmn/derive.d.ts +74 -0
  18. package/dist/diagram/bpmn/derive.d.ts.map +1 -0
  19. package/dist/diagram/bpmn/derive.js +392 -0
  20. package/dist/diagram/bpmn/derive.js.map +1 -0
  21. package/dist/diagram/bpmn/index.d.ts +7 -0
  22. package/dist/diagram/bpmn/index.d.ts.map +1 -0
  23. package/dist/diagram/bpmn/index.js +12 -0
  24. package/dist/diagram/bpmn/index.js.map +1 -0
  25. package/dist/diagram/bpmn/patch.d.ts +14 -0
  26. package/dist/diagram/bpmn/patch.d.ts.map +1 -0
  27. package/dist/diagram/bpmn/patch.js +770 -0
  28. package/dist/diagram/bpmn/patch.js.map +1 -0
  29. package/dist/diagram/bpmn/place.d.ts +4 -0
  30. package/dist/diagram/bpmn/place.d.ts.map +1 -0
  31. package/dist/diagram/bpmn/place.js +65 -0
  32. package/dist/diagram/bpmn/place.js.map +1 -0
  33. package/dist/diagram/bpmn/serialize.d.ts +12 -0
  34. package/dist/diagram/bpmn/serialize.d.ts.map +1 -0
  35. package/dist/diagram/bpmn/serialize.js +292 -0
  36. package/dist/diagram/bpmn/serialize.js.map +1 -0
  37. package/dist/diagram/bpmn/types.d.ts +42 -0
  38. package/dist/diagram/bpmn/types.d.ts.map +1 -0
  39. package/dist/diagram/bpmn/types.js +84 -0
  40. package/dist/diagram/bpmn/types.js.map +1 -0
  41. package/dist/diagram/bpmn/xml.d.ts +60 -0
  42. package/dist/diagram/bpmn/xml.d.ts.map +1 -0
  43. package/dist/diagram/bpmn/xml.js +342 -0
  44. package/dist/diagram/bpmn/xml.js.map +1 -0
  45. package/dist/diagram/componentCatalog.d.ts +3 -0
  46. package/dist/diagram/componentCatalog.d.ts.map +1 -1
  47. package/dist/diagram/componentCatalog.js +5 -1
  48. package/dist/diagram/componentCatalog.js.map +1 -1
  49. package/dist/diagram/database/derive.d.ts +14 -0
  50. package/dist/diagram/database/derive.d.ts.map +1 -0
  51. package/dist/diagram/database/derive.js +114 -0
  52. package/dist/diagram/database/derive.js.map +1 -0
  53. package/dist/diagram/database/diff.d.ts +48 -0
  54. package/dist/diagram/database/diff.d.ts.map +1 -0
  55. package/dist/diagram/database/diff.js +109 -0
  56. package/dist/diagram/database/diff.js.map +1 -0
  57. package/dist/diagram/database/edit.d.ts +113 -0
  58. package/dist/diagram/database/edit.d.ts.map +1 -0
  59. package/dist/diagram/database/edit.js +359 -0
  60. package/dist/diagram/database/edit.js.map +1 -0
  61. package/dist/diagram/database/fromSchema.d.ts +12 -0
  62. package/dist/diagram/database/fromSchema.d.ts.map +1 -0
  63. package/dist/diagram/database/fromSchema.js +182 -0
  64. package/dist/diagram/database/fromSchema.js.map +1 -0
  65. package/dist/diagram/database/index.d.ts +9 -0
  66. package/dist/diagram/database/index.d.ts.map +1 -0
  67. package/dist/diagram/database/index.js +14 -0
  68. package/dist/diagram/database/index.js.map +1 -0
  69. package/dist/diagram/database/model.d.ts +93 -0
  70. package/dist/diagram/database/model.d.ts.map +1 -0
  71. package/dist/diagram/database/model.js +294 -0
  72. package/dist/diagram/database/model.js.map +1 -0
  73. package/dist/diagram/database/patch.d.ts +14 -0
  74. package/dist/diagram/database/patch.d.ts.map +1 -0
  75. package/dist/diagram/database/patch.js +186 -0
  76. package/dist/diagram/database/patch.js.map +1 -0
  77. package/dist/diagram/database/place.d.ts +4 -0
  78. package/dist/diagram/database/place.d.ts.map +1 -0
  79. package/dist/diagram/database/place.js +22 -0
  80. package/dist/diagram/database/place.js.map +1 -0
  81. package/dist/diagram/database/types.d.ts +50 -0
  82. package/dist/diagram/database/types.d.ts.map +1 -0
  83. package/dist/diagram/database/types.js +106 -0
  84. package/dist/diagram/database/types.js.map +1 -0
  85. package/dist/diagram/elkGraph.d.ts +1 -3
  86. package/dist/diagram/elkGraph.d.ts.map +1 -1
  87. package/dist/diagram/elkGraph.js +1 -0
  88. package/dist/diagram/elkGraph.js.map +1 -1
  89. package/dist/diagram/fixtures.d.ts +10 -0
  90. package/dist/diagram/fixtures.d.ts.map +1 -0
  91. package/dist/diagram/fixtures.js +113 -0
  92. package/dist/diagram/fixtures.js.map +1 -0
  93. package/dist/diagram/geometry.d.ts +27 -0
  94. package/dist/diagram/geometry.d.ts.map +1 -0
  95. package/dist/diagram/geometry.js +122 -0
  96. package/dist/diagram/geometry.js.map +1 -0
  97. package/dist/diagram/history.d.ts +36 -0
  98. package/dist/diagram/history.d.ts.map +1 -0
  99. package/dist/diagram/history.js +54 -0
  100. package/dist/diagram/history.js.map +1 -0
  101. package/dist/diagram/ids.d.ts +5 -0
  102. package/dist/diagram/ids.d.ts.map +1 -0
  103. package/dist/diagram/ids.js +52 -0
  104. package/dist/diagram/ids.js.map +1 -0
  105. package/dist/diagram/index.d.ts +15 -2
  106. package/dist/diagram/index.d.ts.map +1 -1
  107. package/dist/diagram/index.js +21 -8
  108. package/dist/diagram/index.js.map +1 -1
  109. package/dist/diagram/layout.d.ts +108 -0
  110. package/dist/diagram/layout.d.ts.map +1 -0
  111. package/dist/diagram/layout.js +357 -0
  112. package/dist/diagram/layout.js.map +1 -0
  113. package/dist/diagram/mermaid/derive.d.ts +55 -0
  114. package/dist/diagram/mermaid/derive.d.ts.map +1 -0
  115. package/dist/diagram/mermaid/derive.js +343 -0
  116. package/dist/diagram/mermaid/derive.js.map +1 -0
  117. package/dist/diagram/mermaid/index.d.ts +8 -0
  118. package/dist/diagram/mermaid/index.d.ts.map +1 -0
  119. package/dist/diagram/mermaid/index.js +24 -0
  120. package/dist/diagram/mermaid/index.js.map +1 -0
  121. package/dist/diagram/mermaid/parse.d.ts +96 -0
  122. package/dist/diagram/mermaid/parse.d.ts.map +1 -0
  123. package/dist/diagram/mermaid/parse.js +672 -0
  124. package/dist/diagram/mermaid/parse.js.map +1 -0
  125. package/dist/diagram/mermaid/patch.d.ts +16 -0
  126. package/dist/diagram/mermaid/patch.d.ts.map +1 -0
  127. package/dist/diagram/mermaid/patch.js +463 -0
  128. package/dist/diagram/mermaid/patch.js.map +1 -0
  129. package/dist/diagram/mermaid/serialize.d.ts +14 -0
  130. package/dist/diagram/mermaid/serialize.d.ts.map +1 -0
  131. package/dist/diagram/mermaid/serialize.js +125 -0
  132. package/dist/diagram/mermaid/serialize.js.map +1 -0
  133. package/dist/diagram/mermaid/shapes.d.ts +11 -0
  134. package/dist/diagram/mermaid/shapes.d.ts.map +1 -0
  135. package/dist/diagram/mermaid/shapes.js +320 -0
  136. package/dist/diagram/mermaid/shapes.js.map +1 -0
  137. package/dist/diagram/migrations.d.ts +1 -0
  138. package/dist/diagram/migrations.d.ts.map +1 -1
  139. package/dist/diagram/migrations.js +7 -2
  140. package/dist/diagram/migrations.js.map +1 -1
  141. package/dist/diagram/normalize.d.ts +9 -1
  142. package/dist/diagram/normalize.d.ts.map +1 -1
  143. package/dist/diagram/normalize.js +194 -0
  144. package/dist/diagram/normalize.js.map +1 -1
  145. package/dist/diagram/ops.d.ts +146 -0
  146. package/dist/diagram/ops.d.ts.map +1 -0
  147. package/dist/diagram/ops.js +865 -0
  148. package/dist/diagram/ops.js.map +1 -0
  149. package/dist/diagram/opsReference.d.ts +3 -0
  150. package/dist/diagram/opsReference.d.ts.map +1 -0
  151. package/dist/diagram/opsReference.js +60 -0
  152. package/dist/diagram/opsReference.js.map +1 -0
  153. package/dist/diagram/patchInput.d.ts +257 -0
  154. package/dist/diagram/patchInput.d.ts.map +1 -0
  155. package/dist/diagram/patchInput.js +1024 -0
  156. package/dist/diagram/patchInput.js.map +1 -0
  157. package/dist/diagram/routing/batch.d.ts +45 -0
  158. package/dist/diagram/routing/batch.d.ts.map +1 -0
  159. package/dist/diagram/routing/batch.js +136 -0
  160. package/dist/diagram/routing/batch.js.map +1 -0
  161. package/dist/diagram/routing/curves.d.ts +7 -0
  162. package/dist/diagram/routing/curves.d.ts.map +1 -0
  163. package/dist/diagram/routing/curves.js +120 -0
  164. package/dist/diagram/routing/curves.js.map +1 -0
  165. package/dist/diagram/routing/grid.d.ts +15 -0
  166. package/dist/diagram/routing/grid.d.ts.map +1 -0
  167. package/dist/diagram/routing/grid.js +245 -0
  168. package/dist/diagram/routing/grid.js.map +1 -0
  169. package/dist/diagram/routing/index.d.ts +10 -0
  170. package/dist/diagram/routing/index.d.ts.map +1 -0
  171. package/dist/diagram/routing/index.js +10 -0
  172. package/dist/diagram/routing/index.js.map +1 -0
  173. package/dist/diagram/routing/legacy.d.ts +6 -0
  174. package/dist/diagram/routing/legacy.d.ts.map +1 -0
  175. package/dist/diagram/routing/legacy.js +27 -0
  176. package/dist/diagram/routing/legacy.js.map +1 -0
  177. package/dist/diagram/routing/nudge.d.ts +4 -0
  178. package/dist/diagram/routing/nudge.d.ts.map +1 -0
  179. package/dist/diagram/routing/nudge.js +96 -0
  180. package/dist/diagram/routing/nudge.js.map +1 -0
  181. package/dist/diagram/routing/orthogonal.d.ts +6 -0
  182. package/dist/diagram/routing/orthogonal.d.ts.map +1 -0
  183. package/dist/diagram/routing/orthogonal.js +56 -0
  184. package/dist/diagram/routing/orthogonal.js.map +1 -0
  185. package/dist/diagram/routing/path.d.ts +16 -0
  186. package/dist/diagram/routing/path.d.ts.map +1 -0
  187. package/dist/diagram/routing/path.js +128 -0
  188. package/dist/diagram/routing/path.js.map +1 -0
  189. package/dist/diagram/routing/sides.d.ts +22 -0
  190. package/dist/diagram/routing/sides.d.ts.map +1 -0
  191. package/dist/diagram/routing/sides.js +74 -0
  192. package/dist/diagram/routing/sides.js.map +1 -0
  193. package/dist/diagram/routing/types.d.ts +46 -0
  194. package/dist/diagram/routing/types.d.ts.map +1 -0
  195. package/dist/diagram/routing/types.js +11 -0
  196. package/dist/diagram/routing/types.js.map +1 -0
  197. package/dist/diagram/schema.d.ts +71 -38
  198. package/dist/diagram/schema.d.ts.map +1 -1
  199. package/dist/diagram/schema.js +62 -8
  200. package/dist/diagram/schema.js.map +1 -1
  201. package/dist/diagram/styleInput.d.ts +41 -0
  202. package/dist/diagram/styleInput.d.ts.map +1 -0
  203. package/dist/diagram/styleInput.js +105 -0
  204. package/dist/diagram/styleInput.js.map +1 -0
  205. package/dist/diagram/views.d.ts +22 -0
  206. package/dist/diagram/views.d.ts.map +1 -0
  207. package/dist/diagram/views.js +91 -0
  208. package/dist/diagram/views.js.map +1 -0
  209. package/dist/host/db/introspection/index.d.ts +9 -0
  210. package/dist/host/db/introspection/index.d.ts.map +1 -0
  211. package/dist/host/db/introspection/index.js +35 -0
  212. package/dist/host/db/introspection/index.js.map +1 -0
  213. package/dist/host/db/introspection/mongo.d.ts +7 -0
  214. package/dist/host/db/introspection/mongo.d.ts.map +1 -0
  215. package/dist/host/db/introspection/mongo.js +183 -0
  216. package/dist/host/db/introspection/mongo.js.map +1 -0
  217. package/dist/host/db/introspection/mssql.d.ts +6 -0
  218. package/dist/host/db/introspection/mssql.d.ts.map +1 -0
  219. package/dist/host/db/introspection/mssql.js +211 -0
  220. package/dist/host/db/introspection/mssql.js.map +1 -0
  221. package/dist/host/db/introspection/mysql.d.ts +5 -0
  222. package/dist/host/db/introspection/mysql.d.ts.map +1 -0
  223. package/dist/host/db/introspection/mysql.js +163 -0
  224. package/dist/host/db/introspection/mysql.js.map +1 -0
  225. package/dist/host/db/introspection/oracle.d.ts +12 -0
  226. package/dist/host/db/introspection/oracle.d.ts.map +1 -0
  227. package/dist/host/db/introspection/oracle.js +225 -0
  228. package/dist/host/db/introspection/oracle.js.map +1 -0
  229. package/dist/host/db/introspection/postgres.d.ts +5 -0
  230. package/dist/host/db/introspection/postgres.d.ts.map +1 -0
  231. package/dist/host/db/introspection/postgres.js +172 -0
  232. package/dist/host/db/introspection/postgres.js.map +1 -0
  233. package/dist/host/db/introspection/shared.d.ts +29 -0
  234. package/dist/host/db/introspection/shared.d.ts.map +1 -0
  235. package/dist/host/db/introspection/shared.js +119 -0
  236. package/dist/host/db/introspection/shared.js.map +1 -0
  237. package/dist/host/db/introspection/types.d.ts +58 -0
  238. package/dist/host/db/introspection/types.d.ts.map +1 -0
  239. package/dist/host/db/introspection/types.js +6 -0
  240. package/dist/host/db/introspection/types.js.map +1 -0
  241. package/dist/host/db/mongoAdapter.d.ts +1 -0
  242. package/dist/host/db/mongoAdapter.d.ts.map +1 -1
  243. package/dist/host/db/mongoAdapter.js +13 -0
  244. package/dist/host/db/mongoAdapter.js.map +1 -1
  245. package/dist/host/db/mssqlAdapter.d.ts +1 -0
  246. package/dist/host/db/mssqlAdapter.d.ts.map +1 -1
  247. package/dist/host/db/mssqlAdapter.js +3 -1
  248. package/dist/host/db/mssqlAdapter.js.map +1 -1
  249. package/dist/host/db/mysqlAdapter.d.ts +1 -0
  250. package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
  251. package/dist/host/db/mysqlAdapter.js +11 -0
  252. package/dist/host/db/mysqlAdapter.js.map +1 -1
  253. package/dist/host/db/oracleAdapter.d.ts +1 -0
  254. package/dist/host/db/oracleAdapter.d.ts.map +1 -1
  255. package/dist/host/db/oracleAdapter.js +22 -0
  256. package/dist/host/db/oracleAdapter.js.map +1 -1
  257. package/dist/host/db/postgresAdapter.d.ts +1 -0
  258. package/dist/host/db/postgresAdapter.d.ts.map +1 -1
  259. package/dist/host/db/postgresAdapter.js +13 -0
  260. package/dist/host/db/postgresAdapter.js.map +1 -1
  261. package/dist/host/db/queryExecutor.d.ts +2 -1
  262. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  263. package/dist/host/db/queryExecutor.js +1 -1
  264. package/dist/host/db/queryExecutor.js.map +1 -1
  265. package/dist/host/index.d.ts +7 -0
  266. package/dist/host/index.d.ts.map +1 -1
  267. package/dist/host/index.js +9 -0
  268. package/dist/host/index.js.map +1 -1
  269. package/dist-cjs/ai/index.js.map +1 -1
  270. package/dist-cjs/ai/outputSchemas.js +1 -0
  271. package/dist-cjs/ai/outputSchemas.js.map +1 -1
  272. package/dist-cjs/ai/parse/diagram.js +6 -3
  273. package/dist-cjs/ai/parse/diagram.js.map +1 -1
  274. package/dist-cjs/ai/prompts/diagram.js +61 -5
  275. package/dist-cjs/ai/prompts/diagram.js.map +1 -1
  276. package/dist-cjs/diagram/bpmn/derive.js +398 -0
  277. package/dist-cjs/diagram/bpmn/derive.js.map +1 -0
  278. package/dist-cjs/diagram/bpmn/index.js +31 -0
  279. package/dist-cjs/diagram/bpmn/index.js.map +1 -0
  280. package/dist-cjs/diagram/bpmn/patch.js +774 -0
  281. package/dist-cjs/diagram/bpmn/patch.js.map +1 -0
  282. package/dist-cjs/diagram/bpmn/place.js +69 -0
  283. package/dist-cjs/diagram/bpmn/place.js.map +1 -0
  284. package/dist-cjs/diagram/bpmn/serialize.js +299 -0
  285. package/dist-cjs/diagram/bpmn/serialize.js.map +1 -0
  286. package/dist-cjs/diagram/bpmn/types.js +99 -0
  287. package/dist-cjs/diagram/bpmn/types.js.map +1 -0
  288. package/dist-cjs/diagram/bpmn/xml.js +367 -0
  289. package/dist-cjs/diagram/bpmn/xml.js.map +1 -0
  290. package/dist-cjs/diagram/componentCatalog.js +5 -1
  291. package/dist-cjs/diagram/componentCatalog.js.map +1 -1
  292. package/dist-cjs/diagram/database/derive.js +119 -0
  293. package/dist-cjs/diagram/database/derive.js.map +1 -0
  294. package/dist-cjs/diagram/database/diff.js +115 -0
  295. package/dist-cjs/diagram/database/diff.js.map +1 -0
  296. package/dist-cjs/diagram/database/edit.js +366 -0
  297. package/dist-cjs/diagram/database/edit.js.map +1 -0
  298. package/dist-cjs/diagram/database/fromSchema.js +188 -0
  299. package/dist-cjs/diagram/database/fromSchema.js.map +1 -0
  300. package/dist-cjs/diagram/database/index.js +32 -0
  301. package/dist-cjs/diagram/database/index.js.map +1 -0
  302. package/dist-cjs/diagram/database/model.js +311 -0
  303. package/dist-cjs/diagram/database/model.js.map +1 -0
  304. package/dist-cjs/diagram/database/patch.js +190 -0
  305. package/dist-cjs/diagram/database/patch.js.map +1 -0
  306. package/dist-cjs/diagram/database/place.js +26 -0
  307. package/dist-cjs/diagram/database/place.js.map +1 -0
  308. package/dist-cjs/diagram/database/types.js +122 -0
  309. package/dist-cjs/diagram/database/types.js.map +1 -0
  310. package/dist-cjs/diagram/elkGraph.js +1 -0
  311. package/dist-cjs/diagram/elkGraph.js.map +1 -1
  312. package/dist-cjs/diagram/fixtures.js +117 -0
  313. package/dist-cjs/diagram/fixtures.js.map +1 -0
  314. package/dist-cjs/diagram/geometry.js +143 -0
  315. package/dist-cjs/diagram/geometry.js.map +1 -0
  316. package/dist-cjs/diagram/history.js +65 -0
  317. package/dist-cjs/diagram/history.js.map +1 -0
  318. package/dist-cjs/diagram/ids.js +58 -0
  319. package/dist-cjs/diagram/ids.js.map +1 -0
  320. package/dist-cjs/diagram/index.js +24 -8
  321. package/dist-cjs/diagram/index.js.map +1 -1
  322. package/dist-cjs/diagram/layout.js +365 -0
  323. package/dist-cjs/diagram/layout.js.map +1 -0
  324. package/dist-cjs/diagram/mermaid/derive.js +353 -0
  325. package/dist-cjs/diagram/mermaid/derive.js.map +1 -0
  326. package/dist-cjs/diagram/mermaid/index.js +44 -0
  327. package/dist-cjs/diagram/mermaid/index.js.map +1 -0
  328. package/dist-cjs/diagram/mermaid/parse.js +681 -0
  329. package/dist-cjs/diagram/mermaid/parse.js.map +1 -0
  330. package/dist-cjs/diagram/mermaid/patch.js +468 -0
  331. package/dist-cjs/diagram/mermaid/patch.js.map +1 -0
  332. package/dist-cjs/diagram/mermaid/serialize.js +133 -0
  333. package/dist-cjs/diagram/mermaid/serialize.js.map +1 -0
  334. package/dist-cjs/diagram/mermaid/shapes.js +327 -0
  335. package/dist-cjs/diagram/mermaid/shapes.js.map +1 -0
  336. package/dist-cjs/diagram/migrations.js +9 -3
  337. package/dist-cjs/diagram/migrations.js.map +1 -1
  338. package/dist-cjs/diagram/normalize.js +198 -1
  339. package/dist-cjs/diagram/normalize.js.map +1 -1
  340. package/dist-cjs/diagram/ops.js +871 -0
  341. package/dist-cjs/diagram/ops.js.map +1 -0
  342. package/dist-cjs/diagram/opsReference.js +64 -0
  343. package/dist-cjs/diagram/opsReference.js.map +1 -0
  344. package/dist-cjs/diagram/patchInput.js +1039 -0
  345. package/dist-cjs/diagram/patchInput.js.map +1 -0
  346. package/dist-cjs/diagram/routing/batch.js +142 -0
  347. package/dist-cjs/diagram/routing/batch.js.map +1 -0
  348. package/dist-cjs/diagram/routing/curves.js +127 -0
  349. package/dist-cjs/diagram/routing/curves.js.map +1 -0
  350. package/dist-cjs/diagram/routing/grid.js +250 -0
  351. package/dist-cjs/diagram/routing/grid.js.map +1 -0
  352. package/dist-cjs/diagram/routing/index.js +29 -0
  353. package/dist-cjs/diagram/routing/index.js.map +1 -0
  354. package/dist-cjs/diagram/routing/legacy.js +32 -0
  355. package/dist-cjs/diagram/routing/legacy.js.map +1 -0
  356. package/dist-cjs/diagram/routing/nudge.js +100 -0
  357. package/dist-cjs/diagram/routing/nudge.js.map +1 -0
  358. package/dist-cjs/diagram/routing/orthogonal.js +62 -0
  359. package/dist-cjs/diagram/routing/orthogonal.js.map +1 -0
  360. package/dist-cjs/diagram/routing/path.js +137 -0
  361. package/dist-cjs/diagram/routing/path.js.map +1 -0
  362. package/dist-cjs/diagram/routing/sides.js +82 -0
  363. package/dist-cjs/diagram/routing/sides.js.map +1 -0
  364. package/dist-cjs/diagram/routing/types.js +15 -0
  365. package/dist-cjs/diagram/routing/types.js.map +1 -0
  366. package/dist-cjs/diagram/schema.js +64 -9
  367. package/dist-cjs/diagram/schema.js.map +1 -1
  368. package/dist-cjs/diagram/styleInput.js +113 -0
  369. package/dist-cjs/diagram/styleInput.js.map +1 -0
  370. package/dist-cjs/diagram/views.js +96 -0
  371. package/dist-cjs/diagram/views.js.map +1 -0
  372. package/dist-cjs/host/db/introspection/index.js +59 -0
  373. package/dist-cjs/host/db/introspection/index.js.map +1 -0
  374. package/dist-cjs/host/db/introspection/mongo.js +189 -0
  375. package/dist-cjs/host/db/introspection/mongo.js.map +1 -0
  376. package/dist-cjs/host/db/introspection/mssql.js +216 -0
  377. package/dist-cjs/host/db/introspection/mssql.js.map +1 -0
  378. package/dist-cjs/host/db/introspection/mysql.js +167 -0
  379. package/dist-cjs/host/db/introspection/mysql.js.map +1 -0
  380. package/dist-cjs/host/db/introspection/oracle.js +230 -0
  381. package/dist-cjs/host/db/introspection/oracle.js.map +1 -0
  382. package/dist-cjs/host/db/introspection/postgres.js +176 -0
  383. package/dist-cjs/host/db/introspection/postgres.js.map +1 -0
  384. package/dist-cjs/host/db/introspection/shared.js +133 -0
  385. package/dist-cjs/host/db/introspection/shared.js.map +1 -0
  386. package/dist-cjs/host/db/introspection/types.js +7 -0
  387. package/dist-cjs/host/db/introspection/types.js.map +1 -0
  388. package/dist-cjs/host/db/mongoAdapter.js +15 -1
  389. package/dist-cjs/host/db/mongoAdapter.js.map +1 -1
  390. package/dist-cjs/host/db/mssqlAdapter.js +5 -2
  391. package/dist-cjs/host/db/mssqlAdapter.js.map +1 -1
  392. package/dist-cjs/host/db/mysqlAdapter.js +13 -1
  393. package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
  394. package/dist-cjs/host/db/oracleAdapter.js +24 -1
  395. package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
  396. package/dist-cjs/host/db/postgresAdapter.js +15 -1
  397. package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
  398. package/dist-cjs/host/db/queryExecutor.js +5 -4
  399. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  400. package/dist-cjs/host/index.js +24 -1
  401. package/dist-cjs/host/index.js.map +1 -1
  402. package/package.json +1 -1
@@ -0,0 +1,186 @@
1
+ // Canonical node/edge ops → the database model. A generic MCP client or the
2
+ // canvas may still say addNode {type:"db.table"} / removeNode / addEdge; here
3
+ // they land on the model as the semantic edits they mean, so the JSON stays
4
+ // the truth. Presentation ops (move, resize, hide, collapse, style, reorder)
5
+ // are the diagram's own business and change nothing here.
6
+ import { applyDatabaseEdit, DatabaseEditError } from "./edit.js";
7
+ import { findEntity, findRelationship, parseDatabaseModel, serializeDatabaseModel } from "./model.js";
8
+ import { dbEdgeData, isDatabaseType, isValidCardinality, kindForDatabaseType } from "./types.js";
9
+ const flatten = (ops, out) => {
10
+ for (const op of ops) {
11
+ if (op.op === "batch")
12
+ flatten(op.ops, out);
13
+ else
14
+ out.push(op);
15
+ }
16
+ };
17
+ const columnInputs = (value) => {
18
+ if (!Array.isArray(value))
19
+ return undefined;
20
+ return value
21
+ .filter((item) => Boolean(item) && typeof item === "object")
22
+ .filter((item) => typeof item.name === "string")
23
+ .map((item) => ({
24
+ ...(typeof item.id === "string" ? { id: item.id } : {}),
25
+ name: String(item.name),
26
+ dataType: typeof item.dataType === "string" ? item.dataType : typeof item.type === "string" ? item.type : "",
27
+ ...(typeof item.nullable === "boolean" ? { nullable: item.nullable } : {}),
28
+ ...(typeof item.primaryKey === "boolean" ? { primaryKey: item.primaryKey } : {}),
29
+ ...(typeof item.unique === "boolean" ? { unique: item.unique } : {}),
30
+ ...(item.defaultValue !== undefined && item.defaultValue !== null ? { defaultValue: String(item.defaultValue) } : {}),
31
+ ...(typeof item.autoIncrement === "boolean" ? { autoIncrement: item.autoIncrement } : {}),
32
+ ...(typeof item.comment === "string" ? { comment: item.comment } : {}),
33
+ }));
34
+ };
35
+ const editsForAddNode = (node) => {
36
+ const raw = (node.data?.db ?? {});
37
+ const name = (typeof raw.name === "string" && raw.name.trim()) || (node.label ?? "").trim() || node.id;
38
+ return [
39
+ {
40
+ kind: "addTable",
41
+ table: {
42
+ id: node.id,
43
+ name,
44
+ ...(typeof raw.schema === "string" && raw.schema.trim() ? { schema: raw.schema.trim() } : {}),
45
+ kind: kindForDatabaseType(node.type),
46
+ ...(columnInputs(raw.columns ?? raw.columnInputs) ? { columns: columnInputs(raw.columns ?? raw.columnInputs) } : {}),
47
+ ...(typeof raw.comment === "string" && raw.comment.trim() ? { comment: raw.comment.trim() } : {}),
48
+ },
49
+ },
50
+ ];
51
+ };
52
+ // The edits one canonical op means for the model; [] = handled, nothing to
53
+ // change (presentation); null = not ours.
54
+ const editsFor = (model, op, context) => {
55
+ switch (op.op) {
56
+ case "addNode":
57
+ return isDatabaseType(op.node.type) ? editsForAddNode(op.node) : null;
58
+ case "removeNode":
59
+ return findEntity(model, op.id) ? [{ kind: "removeTable", table: op.id }] : null;
60
+ case "updateNode": {
61
+ const entity = findEntity(model, op.id);
62
+ if (!entity)
63
+ return null;
64
+ const edits = [];
65
+ const changes = op.changes;
66
+ if (changes.type !== undefined && isDatabaseType(changes.type) && kindForDatabaseType(changes.type) !== entity.kind)
67
+ edits.push({ kind: "setTableKind", table: entity.id, entityKind: kindForDatabaseType(changes.type) });
68
+ const raw = changes.data && typeof changes.data.db === "object" && changes.data.db ? changes.data.db : undefined;
69
+ const requestedName = typeof raw?.name === "string" ? raw.name : typeof changes.label === "string" ? changes.label : undefined;
70
+ if (requestedName !== undefined) {
71
+ // A label may be qualified ("public.users"): split when the schema part matches.
72
+ const dot = requestedName.lastIndexOf(".");
73
+ const schemaPart = dot > 0 ? requestedName.slice(0, dot) : undefined;
74
+ const namePart = dot > 0 ? requestedName.slice(dot + 1) : requestedName;
75
+ const schema = typeof raw?.schema === "string" ? raw.schema : schemaPart !== undefined && (entity.schema ?? "").toLowerCase() === schemaPart.toLowerCase() ? entity.schema : dot > 0 && typeof raw?.schema !== "string" ? schemaPart : entity.schema;
76
+ if (namePart.trim() && (namePart !== entity.name || (schema ?? "") !== (entity.schema ?? "")))
77
+ edits.push({ kind: "renameTable", table: entity.id, name: namePart, schema: schema ?? null });
78
+ }
79
+ else if (typeof raw?.schema === "string" && raw.schema !== (entity.schema ?? "")) {
80
+ edits.push({ kind: "renameTable", table: entity.id, name: entity.name, schema: raw.schema || null });
81
+ }
82
+ if (raw && "comment" in raw)
83
+ edits.push({ kind: "setTableComment", table: entity.id, comment: typeof raw.comment === "string" ? raw.comment : null });
84
+ const columns = raw ? columnInputs(raw.columns ?? raw.columnInputs) : undefined;
85
+ if (columns)
86
+ edits.push({ kind: "setColumns", table: entity.id, columns });
87
+ return edits;
88
+ }
89
+ case "addEdge": {
90
+ const source = op.edge.source ? findEntity(model, op.edge.source) : undefined;
91
+ const target = op.edge.target ? findEntity(model, op.edge.target) : undefined;
92
+ if (!source || !target)
93
+ return null;
94
+ const data = (op.edge.data?.db ?? {});
95
+ const refs = (value) => (Array.isArray(value) ? value.filter((item) => typeof item === "string") : []);
96
+ return [
97
+ {
98
+ kind: "addRelationship",
99
+ id: op.edge.id,
100
+ source: { table: source.id, columns: refs(data.sourceColumns) },
101
+ target: { table: target.id, columns: refs(data.targetColumns) },
102
+ ...(isValidCardinality(data.cardinality) ? { cardinality: data.cardinality } : {}),
103
+ relationshipKind: data.kind === "foreignKey" ? "foreignKey" : "manual",
104
+ ...(typeof data.name === "string" ? { name: data.name } : {}),
105
+ ...(op.edge.label ? { label: op.edge.label } : {}),
106
+ },
107
+ ];
108
+ }
109
+ case "updateEdge": {
110
+ const relationship = findRelationship(model, op.id);
111
+ if (!relationship)
112
+ return null;
113
+ const changes = op.changes;
114
+ const edit = { kind: "updateRelationship", relationship: relationship.id, changes: {} };
115
+ const after = context.after.edges.find((edge) => edge.id === op.id);
116
+ const data = changes.data && typeof changes.data.db === "object" && changes.data.db ? changes.data.db : undefined;
117
+ const currentData = after ? dbEdgeData(after.data) : undefined;
118
+ if (changes.source !== undefined || data?.sourceColumns !== undefined) {
119
+ const entity = findEntity(model, changes.source ?? relationship.source.entityId);
120
+ if (entity)
121
+ edit.changes.source = { table: entity.id, columns: Array.isArray(data?.sourceColumns) ? data.sourceColumns : changes.source !== undefined ? [] : currentData?.sourceColumns ?? relationship.source.columnIds };
122
+ }
123
+ if (changes.target !== undefined || data?.targetColumns !== undefined) {
124
+ const entity = findEntity(model, changes.target ?? relationship.target.entityId);
125
+ if (entity)
126
+ edit.changes.target = { table: entity.id, columns: Array.isArray(data?.targetColumns) ? data.targetColumns : changes.target !== undefined ? [] : currentData?.targetColumns ?? relationship.target.columnIds };
127
+ }
128
+ if (isValidCardinality(data?.cardinality))
129
+ edit.changes.cardinality = data.cardinality;
130
+ if (data && (data.kind === "manual" || data.kind === "foreignKey"))
131
+ edit.changes.relationshipKind = data.kind;
132
+ if (data && "name" in data)
133
+ edit.changes.name = typeof data.name === "string" ? data.name : null;
134
+ if (changes.label !== undefined)
135
+ edit.changes.label = changes.label;
136
+ return Object.keys(edit.changes).length > 0 ? [edit] : [];
137
+ }
138
+ case "removeEdge":
139
+ return findRelationship(model, op.id) ? [{ kind: "removeRelationship", relationship: op.id }] : null;
140
+ case "moveNodes":
141
+ case "resizeNode":
142
+ case "reorder":
143
+ case "setCanvas":
144
+ case "setViewport":
145
+ case "setTitle":
146
+ return [];
147
+ default:
148
+ return null;
149
+ }
150
+ };
151
+ export const patchDatabaseSource = (text, ops, context) => {
152
+ const flat = [];
153
+ flatten(ops, flat);
154
+ const unmapped = [];
155
+ const warnings = [];
156
+ const parsed = parseDatabaseModel(text);
157
+ if (!parsed.ok)
158
+ return { text, unmapped: flat, changed: false, warnings: parsed.errors };
159
+ let model = parsed.model;
160
+ let changed = false;
161
+ for (const op of flat) {
162
+ const edits = editsFor(model, op, context);
163
+ if (edits === null) {
164
+ unmapped.push(op);
165
+ continue;
166
+ }
167
+ for (const edit of edits) {
168
+ try {
169
+ const result = applyDatabaseEdit(model, edit);
170
+ model = result.model;
171
+ changed = changed || result.changed;
172
+ warnings.push(...result.warnings);
173
+ }
174
+ catch (error) {
175
+ if (error instanceof DatabaseEditError) {
176
+ warnings.push(error.message);
177
+ unmapped.push(op);
178
+ }
179
+ else
180
+ throw error;
181
+ }
182
+ }
183
+ }
184
+ return { text: changed ? serializeDatabaseModel(model) : text, unmapped, changed, warnings };
185
+ };
186
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/diagram/database/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DiagramOp } from "../ops.js";
2
+ import type { DiagramDocument } from "../schema.js";
3
+ export declare const placeDatabaseNodesOps: (doc: DiagramDocument, nodeIds: string[], gap?: number) => DiagramOp[];
4
+ //# sourceMappingURL=place.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/diagram/database/place.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAS,MAAM,cAAc,CAAC;AAE3D,eAAO,MAAM,qBAAqB,GAAI,KAAK,eAAe,EAAE,SAAS,MAAM,EAAE,EAAE,YAAQ,KAAG,SAAS,EAgBlG,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { placeNewNodesOps } from "../patchInput.js";
2
+ export const placeDatabaseNodesOps = (doc, nodeIds, gap = 48) => {
3
+ const wanted = new Set(nodeIds);
4
+ if (wanted.size === 0)
5
+ return [];
6
+ const placed = doc.nodes.filter((node) => !wanted.has(node.id) && !node.hidden);
7
+ if (placed.length === 0)
8
+ return placeNewNodesOps(doc, nodeIds, gap);
9
+ const right = Math.max(...placed.map((node) => node.position.x + node.size.width));
10
+ const top = Math.min(...placed.map((node) => node.position.y));
11
+ let x = right + gap;
12
+ const moves = [];
13
+ for (const id of nodeIds) {
14
+ const node = doc.nodes.find((candidate) => candidate.id === id);
15
+ if (!node)
16
+ continue;
17
+ moves.push({ id, position: { x, y: top } });
18
+ x += node.size.width + gap;
19
+ }
20
+ return moves.length > 0 ? [{ op: "moveNodes", moves }] : [];
21
+ };
22
+ //# sourceMappingURL=place.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../src/diagram/database/place.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAoB,EAAE,OAAiB,EAAE,GAAG,GAAG,EAAE,EAAe,EAAE;IACtG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;IACpB,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { LayoutRequest } from "../layout.js";
2
+ import type { ArrowType, Size } from "../schema.js";
3
+ import { type DatabaseCardinality, type DatabaseColumn, type DatabaseEntityKind, type DatabaseModel, type DatabaseRelationship, type DatabaseRelationshipKind } from "./model.js";
4
+ export declare const DB_NODE_TYPES: readonly ["db.table", "db.view", "db.collection"];
5
+ export type DatabaseNodeType = (typeof DB_NODE_TYPES)[number];
6
+ export declare const isDatabaseType: (type: string | undefined) => boolean;
7
+ export declare const databaseTypeForKind: (kind: DatabaseEntityKind) => DatabaseNodeType;
8
+ export declare const kindForDatabaseType: (type: string | undefined) => DatabaseEntityKind;
9
+ export declare const suggestDatabaseTypes: (query: string) => string[];
10
+ export interface DatabaseNodeData {
11
+ name: string;
12
+ schema?: string;
13
+ kind: DatabaseEntityKind;
14
+ columns: number;
15
+ columnInputs?: unknown;
16
+ }
17
+ export interface DatabaseEdgeData {
18
+ cardinality: DatabaseCardinality;
19
+ kind: DatabaseRelationshipKind;
20
+ sourceColumns: string[];
21
+ targetColumns: string[];
22
+ name?: string;
23
+ }
24
+ export declare const dbNodeData: (data: Record<string, unknown> | undefined) => DatabaseNodeData | undefined;
25
+ export declare const dbEdgeData: (data: Record<string, unknown> | undefined) => DatabaseEdgeData | undefined;
26
+ export declare const DB_HEADER_HEIGHT = 36;
27
+ export declare const DB_ROW_HEIGHT = 24;
28
+ export declare const DB_BOTTOM_PADDING = 6;
29
+ export declare const DB_MIN_WIDTH = 220;
30
+ export declare const DB_MAX_WIDTH = 420;
31
+ export declare const DB_COLLAPSED_ROWS = 0;
32
+ export declare const databaseEntitySize: (entity: {
33
+ name: string;
34
+ schema?: string;
35
+ columns: ReadonlyArray<Pick<DatabaseColumn, "name" | "dataType">>;
36
+ }, collapsed?: boolean) => Size;
37
+ export declare const databaseNodeHeight: (columnCount: number, collapsed?: boolean) => number;
38
+ export declare const isValidCardinality: (value: unknown) => value is DatabaseCardinality;
39
+ export declare const markersForCardinality: (cardinality: DatabaseCardinality, optionalSource?: boolean, optionalTarget?: boolean) => {
40
+ markerStart: ArrowType;
41
+ markerEnd: ArrowType;
42
+ };
43
+ export declare const markersForRelationship: (model: DatabaseModel, relationship: DatabaseRelationship) => {
44
+ markerStart: ArrowType;
45
+ markerEnd: ArrowType;
46
+ };
47
+ export declare const DATABASE_LAYOUT_REQUEST: LayoutRequest;
48
+ export declare const renderDatabaseVocabulary: () => string;
49
+ export declare const renderDatabaseOps: () => string;
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/diagram/database/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAA0B,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAuB,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE/N,eAAO,MAAM,aAAa,mDAAoD,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OAA+E,CAAC;AAC1I,eAAO,MAAM,mBAAmB,GAAI,MAAM,kBAAkB,KAAG,gBAAgC,CAAC;AAChG,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,kBAAuG,CAAC;AACvK,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,MAAM,EAI1D,CAAC;AAIF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAID,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAG,gBAAgB,GAAG,SAGzF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAG,gBAAgB,GAAG,SAGzF,CAAC;AAIF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAMnC,eAAO,MAAM,kBAAkB,GAAI,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAA;CAAE,EAAE,mBAAiB,KAAG,IAQpK,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,EAAE,mBAAiB,KAAG,MAC8B,CAAC;AAI3G,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mBAAiH,CAAC;AAI/K,eAAO,MAAM,qBAAqB,GAAI,aAAa,mBAAmB,EAAE,wBAAsB,EAAE,wBAAsB,KAAG;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAOtK,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,aAAa,EAAE,cAAc,oBAAoB,KAAG;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAK/I,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,aAarC,CAAC;AAIF,eAAO,MAAM,wBAAwB,QAAO,MAW9B,CAAC;AAEf,eAAO,MAAM,iBAAiB,QAAO,MAgBvB,CAAC"}
@@ -0,0 +1,106 @@
1
+ // The database vocabulary on the diagram side: the db.* node types, what a
2
+ // node/edge of a database diagram carries in `data.db` (a SUMMARY — the
3
+ // columns themselves live in the model), the sizes the ERD renderer uses and
4
+ // the crow's-foot markers a cardinality maps to.
5
+ import { DATABASE_CARDINALITIES } from "./model.js";
6
+ export const DB_NODE_TYPES = ["db.table", "db.view", "db.collection"];
7
+ export const isDatabaseType = (type) => Boolean(type && DB_NODE_TYPES.includes(type));
8
+ export const databaseTypeForKind = (kind) => `db.${kind}`;
9
+ export const kindForDatabaseType = (type) => (type === "db.view" ? "view" : type === "db.collection" ? "collection" : "table");
10
+ export const suggestDatabaseTypes = (query) => {
11
+ const q = query.trim().toLowerCase();
12
+ const ranked = DB_NODE_TYPES.filter((type) => type.includes(q) || q.includes(type.slice(3)));
13
+ return ranked.length > 0 ? [...ranked] : [...DB_NODE_TYPES];
14
+ };
15
+ export const dbNodeData = (data) => {
16
+ const raw = data?.db;
17
+ return raw && typeof raw === "object" && typeof raw.name === "string" ? raw : undefined;
18
+ };
19
+ export const dbEdgeData = (data) => {
20
+ const raw = data?.db;
21
+ return raw && typeof raw === "object" && typeof raw.cardinality === "string" ? raw : undefined;
22
+ };
23
+ // --- geometry the ERD renderer and the exporter share ------------------------------
24
+ export const DB_HEADER_HEIGHT = 36;
25
+ export const DB_ROW_HEIGHT = 24;
26
+ export const DB_BOTTOM_PADDING = 6;
27
+ export const DB_MIN_WIDTH = 220;
28
+ export const DB_MAX_WIDTH = 420;
29
+ export const DB_COLLAPSED_ROWS = 0;
30
+ const textWidth = (text, perChar) => text.length * perChar;
31
+ // The size a table node gets when it is created or its columns change: wide
32
+ // enough for the longest "name type" row, one row per column.
33
+ export const databaseEntitySize = (entity, collapsed = false) => {
34
+ const longestName = Math.max(0, ...entity.columns.map((column) => textWidth(column.name, 7.2)));
35
+ const longestType = Math.max(0, ...entity.columns.map((column) => textWidth(column.dataType, 6.4)));
36
+ const header = textWidth(entity.schema ? `${entity.schema}.${entity.name}` : entity.name, 8) + 56;
37
+ const width = Math.min(DB_MAX_WIDTH, Math.max(DB_MIN_WIDTH, Math.ceil(Math.max(header, 44 + longestName + 24 + longestType + 16) / 10) * 10));
38
+ const rows = collapsed ? DB_COLLAPSED_ROWS : entity.columns.length;
39
+ const height = DB_HEADER_HEIGHT + (rows > 0 ? rows * DB_ROW_HEIGHT + DB_BOTTOM_PADDING : 0);
40
+ return { width, height };
41
+ };
42
+ export const databaseNodeHeight = (columnCount, collapsed = false) => DB_HEADER_HEIGHT + (!collapsed && columnCount > 0 ? columnCount * DB_ROW_HEIGHT + DB_BOTTOM_PADDING : 0);
43
+ // --- cardinality → crow's-foot markers ----------------------------------------------
44
+ export const isValidCardinality = (value) => typeof value === "string" && DATABASE_CARDINALITIES.includes(value);
45
+ // The marker at each end from the cardinality (source:target); an end whose
46
+ // columns are nullable reads as optional (the "zero" variants).
47
+ export const markersForCardinality = (cardinality, optionalSource = false, optionalTarget = false) => {
48
+ const [sourceSide, targetSide] = cardinality.split(":");
49
+ const marker = (many, optional) => (many ? (optional ? "zeroMany" : "many") : optional ? "zeroOne" : "one");
50
+ return {
51
+ markerStart: marker(sourceSide !== "1", optionalSource),
52
+ markerEnd: marker(targetSide !== "1", optionalTarget),
53
+ };
54
+ };
55
+ export const markersForRelationship = (model, relationship) => {
56
+ const source = model.entities.find((entity) => entity.id === relationship.source.entityId);
57
+ const sourceOptional = Boolean(source && relationship.source.columnIds.length > 0 && relationship.source.columnIds.every((id) => source.columns.find((column) => column.id === id)?.nullable));
58
+ // A nullable FK means the parent is optional for the child: the "zero" sits on the target end.
59
+ return markersForCardinality(relationship.cardinality, false, sourceOptional);
60
+ };
61
+ // --- layout -----------------------------------------------------------------------
62
+ // ERD layout: layered left-to-right along the relationship graph, generous
63
+ // gaps (tables are tall), ends floating so the router picks the nearer side.
64
+ export const DATABASE_LAYOUT_REQUEST = {
65
+ algorithm: "layered",
66
+ direction: "RIGHT",
67
+ respectHandles: false,
68
+ spacing: { node: 40, layer: 110 },
69
+ extraOptions: {
70
+ // Tables that are not related to each other are separate components:
71
+ // pack them into rows wider than tall instead of one tall column.
72
+ "elk.separateConnectedComponents": "true",
73
+ "elk.layered.compaction.connectedComponents": "true",
74
+ "elk.aspectRatio": "2.8",
75
+ "elk.spacing.componentComponent": "60",
76
+ },
77
+ };
78
+ // --- the vocabulary as text (ops reference, AI prompt) ----------------------------------
79
+ export const renderDatabaseVocabulary = () => [
80
+ 'DATABASE diagrams (source.format = "database"; the text is the JSON database model) are ENTITY-RELATIONSHIP diagrams:',
81
+ " db.table — a table (columns = rows of the box), db.view — a view, db.collection — a MongoDB collection.",
82
+ "The MODEL is the truth: tables, columns (name, dataType, nullable, primaryKey, unique, defaultValue, autoIncrement, comment),",
83
+ "indexes and relationships (source = the referencing/child side, target = the referenced/parent side; cardinality source:target,",
84
+ '"N:1" for a plain foreign key, "1:1", "1:N", "N:M"). Nodes only hold positions and visibility; edges are the relationships.',
85
+ "Refer to tables by name (\"users\", \"public.users\") and to columns as \"table.column\" (\"orders.user_id\").",
86
+ "Prefer the DATABASE OPS below over addNode/addEdge: they edit the schema by meaning and keep ids stable.",
87
+ 'A new table needs `columns`; a column needs `name` and `dataType` (use the database\'s own type names: "uuid", "varchar(120)", "timestamp").',
88
+ "Never invent relationships a database does not have — on MongoDB, relationships are manual (kind \"manual\").",
89
+ ].join("\n");
90
+ export const renderDatabaseOps = () => [
91
+ '{"op":"addTable","table":{"name","schema"?,"kind"?:"table"|"view"|"collection","columns":[{"name","dataType","primaryKey"?,"nullable"?,"unique"?,"defaultValue"?,"autoIncrement"?,"comment"?}],"comment"?},"position"?:{"x","y"}}',
92
+ '{"op":"renameTable","table","name","schema"?}',
93
+ '{"op":"removeTable","table"} // also removes its relationships',
94
+ '{"op":"setTableComment","table","comment"}',
95
+ '{"op":"addColumn","table","column":{"name","dataType",...},"after"?:"<column>"}',
96
+ '{"op":"alterColumn","table","column","changes":{"name"?,"dataType"?,"nullable"?,"primaryKey"?,"unique"?,"defaultValue"?,"autoIncrement"?,"comment"?}}',
97
+ '{"op":"removeColumn","table","column"}',
98
+ '{"op":"setPrimaryKey","table","columns":["id"]}',
99
+ '{"op":"addRelationship","source":"orders.user_id","target":"users.id","cardinality"?:"N:1"|"1:1"|"1:N"|"N:M","name"?,"label"?} // source = child (FK) side',
100
+ '{"op":"updateRelationship","relationship","changes":{"cardinality"?,"label"?,"name"?,"source"?,"target"?}}',
101
+ '{"op":"removeRelationship","relationship"}',
102
+ '{"op":"hideTable","table"} / {"op":"showTable","table"} // visibility on the canvas only',
103
+ "Column-level references use \"table.column\"; several columns: {\"table\":\"orders\",\"columns\":[\"a\",\"b\"]}.",
104
+ "moveNode / relayout apply as on any diagram; group/ungroup/reparent are not available on database diagrams.",
105
+ ].join("\n");
106
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/diagram/database/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import type { DiagramDocument, DiagramNode } from "./schema.js";
2
- export type LayoutAlgorithm = "layered" | "force" | "tree" | "radial";
3
- export type LayoutDirection = "DOWN" | "RIGHT" | "UP" | "LEFT";
1
+ import type { DiagramDocument, DiagramNode, LayoutAlgorithm, LayoutDirection } from "./schema.js";
4
2
  export interface LayoutOptions {
5
3
  direction?: LayoutDirection;
6
4
  nodeIds?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"elkGraph.d.ts","sourceRoot":"","sources":["../../src/diagram/elkGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elkGraph.d.ts","sourceRoot":"","sources":["../../src/diagram/elkGraph.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export const layoutOptionsFor = (algorithm, direction) => {
2
2
  switch (algorithm) {
3
3
  case "force":
4
+ case "organic":
4
5
  return { "elk.algorithm": "force", "elk.spacing.nodeNode": "70" };
5
6
  case "radial":
6
7
  return { "elk.algorithm": "radial", "elk.spacing.nodeNode": "60" };
@@ -1 +1 @@
1
- {"version":3,"file":"elkGraph.js","sourceRoot":"","sources":["../../src/diagram/elkGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elkGraph.js","sourceRoot":"","sources":["../../src/diagram/elkGraph.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAA0B,EAC1B,SAA0B,EACF,EAAE;IAC1B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QACpE,KAAK,QAAQ;YACX,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QACjG,KAAK,SAAS,CAAC;QACf;YACE,OAAO;gBACL,eAAe,EAAE,SAAS;gBAC1B,eAAe,EAAE,SAAS;gBAC1B,2CAA2C,EAAE,IAAI;gBACjD,sBAAsB,EAAE,IAAI;aAC7B,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AASF,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAoB,EACpB,SAA0B,EAC1B,UAAyB,EAAE,EACb,EAAE;IAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,WAAW;QACX,KAAK,EAAE;YACL,EAAE,EAAE,MAAM;YACV,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;YACrD,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,yEAAyE;YACzE,4CAA4C;YAC5C,KAAK,EAAE,GAAG,CAAC,KAAK;iBACb,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CACjG;iBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAgB,CAAC,EAAE,CAAC,CAAC;SACxG;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAmB,EACnB,MAAoB,EACpB,UAAyB,EAAE,EACe,EAAE;IAC5C,MAAM,SAAS,GAA6C,EAAE,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/D,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC9B,MAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAgBF,+EAA+E;AAC/E,+EAA+E;AAC/E,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,GAAoB,EACpB,SAA0B,EAC1B,UAAyB,EAAE,EACb,EAAE;IAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,gBAAgB,GAA2B;QAC/C,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,SAAS;QAC1B,2CAA2C,EAAE,IAAI;QACjD,sBAAsB,EAAE,IAAI;QAC5B,aAAa,EAAE,qCAAqC;KACrD,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,IAAiB,EAAgB,EAAE;QAChD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,oEAAoE;YACpE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3E,CAAC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,MAAM;QACV,aAAa,EAAE;YACb,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;YACzC,iBAAiB,EAAE,YAAY;YAC/B,sBAAsB,EAAE,IAAI;YAC5B,2CAA2C,EAAE,IAAI;YACjD,2CAA2C,EAAE,IAAI;YACjD,+DAA+D;YAC/D,uBAAuB,EAAE,kBAAkB;SAC5C;QACD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAgB,CAAC,EAAE,CAAC,CAAC;KACxG,CAAC;AACJ,CAAC,CAAC;AAEF,2EAA2E;AAC3E,mEAAmE;AACnE,4EAA4E;AAC5E,oEAAoE;AACpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAoB,EAAkB,EAAE;IACjF,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0D,CAAC;IASpF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,IAAI,GAAG,CAAC,IAAkB,EAAE,IAAY,EAAE,IAAY,EAAQ,EAAE;QACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,KAAK,GAAG,CAAC,CAAe,EAA4B,EAAE,CAAC,CAAC;gBAC5D,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;aAC1B,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3B,SAAS,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvF,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,CACf,KAA2C,EAC3C,EAAsB,EACgB,EAAE;QACxC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1E,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;YACrE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;SACtE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAoB,EAAE,MAAsB,EAAmB,EAAE;IACnG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3D,OAAO;QACL,GAAG,GAAG;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,QAAQ;gBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,IAAI,IAAI;gBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAe,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,mEAAmE;YACnE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzD,OAAO;gBACL,GAAG,IAAI;gBACP,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrE,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAUF,yEAAyE;AACzE,6EAA6E;AAC7E,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAoB,EAAE,UAA6B,EAAE,EAAmB,EAAE;IACnG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE9C,4EAA4E;IAC5E,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,MAAc,EAAE,OAAe,EAAqC,EAAE;QAC/G,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzF,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,KAAK,GAAG,OAAO,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE;gBACxB,GAAG,KAAK,CAAC,IAAI;gBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE;gBAC/E,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG;YAC1D,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG;SAC3D,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,OAAO;QACL,GAAG,GAAG;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;QACjG,CAAC,CAAC;QACF,0CAA0C;QAC1C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACrF,CAAC,CAAC,IAAI,CACT;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type DiagramDocument } from "./schema.js";
2
+ export interface FixtureOptions {
3
+ nodes: number;
4
+ edgesPerNode?: number;
5
+ groups?: number;
6
+ seed?: number;
7
+ columns?: number;
8
+ }
9
+ export declare const generateDiagramFixture: (options: FixtureOptions) => DiagramDocument;
10
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/diagram/fixtures.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,eAAe,EAAsD,MAAM,aAAa,CAAC;AAEvG,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkBD,eAAO,MAAM,sBAAsB,GAAI,SAAS,cAAc,KAAG,eA4FhE,CAAC"}