likec4 1.56.0 → 1.57.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 (154) hide show
  1. package/__app__/chunks/AIChat2.mjs +2 -0
  2. package/__app__/chunks/DiagramActorProvider.mjs +4 -4
  3. package/__app__/chunks/EmbedPage.mjs +1 -0
  4. package/__app__/chunks/ExportPage.mjs +2 -0
  5. package/__app__/chunks/LikeC4Diagram.mjs +5 -5
  6. package/__app__/chunks/LikeC4Styles.mjs +11 -11
  7. package/__app__/chunks/Markdown.mjs +1 -0
  8. package/__app__/chunks/NavigationPanel.mjs +1 -1
  9. package/__app__/chunks/ViewReact.mjs +1 -1
  10. package/__app__/chunks/adhoc-editor.mjs +1 -1
  11. package/__app__/chunks/aichat.mjs +1 -0
  12. package/__app__/chunks/box.mjs +1 -0
  13. package/__app__/chunks/create-style-context.mjs +1 -0
  14. package/__app__/chunks/css.mjs +1 -0
  15. package/__app__/chunks/factory.mjs +1 -0
  16. package/__app__/chunks/hooks.mjs +1 -1
  17. package/__app__/chunks/hstack.mjs +1 -0
  18. package/__app__/chunks/libs/@dagrejs/dagre.mjs +1 -1
  19. package/__app__/chunks/libs/@floating-ui/core.mjs +1 -1
  20. package/__app__/chunks/libs/@floating-ui/dom.mjs +1 -1
  21. package/__app__/chunks/libs/@floating-ui/react.mjs +1 -1
  22. package/__app__/chunks/libs/@mantine/core.mjs +24 -24
  23. package/__app__/chunks/libs/@mantine/hooks.mjs +1 -1
  24. package/__app__/chunks/libs/@nanostores/react.mjs +1 -1
  25. package/__app__/chunks/libs/@react-hookz/web.mjs +1 -1
  26. package/__app__/chunks/libs/@tabler/icons-react.mjs +347 -4
  27. package/__app__/chunks/libs/@tanstack/ai-client.mjs +2 -0
  28. package/__app__/chunks/libs/@tanstack/ai-react-ui.mjs +1 -0
  29. package/__app__/chunks/libs/@tanstack/ai-react.mjs +1 -0
  30. package/__app__/chunks/libs/@tanstack/ai.mjs +2 -0
  31. package/__app__/chunks/libs/@tanstack/history.mjs +1 -1
  32. package/__app__/chunks/libs/@tanstack/react-router.mjs +3 -3
  33. package/__app__/chunks/libs/@tanstack/router-core.mjs +1 -1
  34. package/__app__/chunks/libs/@xstate/react.mjs +1 -1
  35. package/__app__/chunks/libs/@xstate/store.mjs +1 -1
  36. package/__app__/chunks/libs/@xyflow/react.mjs +3 -3
  37. package/__app__/chunks/libs/@zag-js/anatomy.mjs +1 -1
  38. package/__app__/chunks/libs/@zag-js/collection.mjs +1 -1
  39. package/__app__/chunks/libs/@zag-js/core.mjs +1 -1
  40. package/__app__/chunks/libs/@zag-js/react.mjs +1 -1
  41. package/__app__/chunks/libs/@zag-js/tree-view.mjs +1 -1
  42. package/__app__/chunks/libs/bezier-js.mjs +1 -1
  43. package/__app__/chunks/libs/copy-anything.mjs +1 -0
  44. package/__app__/chunks/libs/d3-path.mjs +1 -1
  45. package/__app__/chunks/libs/d3-shape.mjs +1 -1
  46. package/__app__/chunks/libs/fast-equals.mjs +1 -1
  47. package/__app__/chunks/libs/framer-motion.mjs +3 -3
  48. package/__app__/chunks/libs/html-to-image.mjs +2 -2
  49. package/__app__/chunks/libs/motion-dom.mjs +1 -1
  50. package/__app__/chunks/libs/nanostores.mjs +1 -1
  51. package/__app__/chunks/libs/react-error-boundary.mjs +1 -1
  52. package/__app__/chunks/libs/react-resizable-panels.mjs +1 -1
  53. package/__app__/chunks/libs/remeda.mjs +1 -1
  54. package/__app__/chunks/libs/superjson.mjs +1 -0
  55. package/__app__/chunks/libs/zod.mjs +39 -14
  56. package/__app__/chunks/rolldown-runtime.mjs +1 -1
  57. package/__app__/chunks/styles.css.mjs +1 -1
  58. package/__app__/chunks/txt.mjs +1 -0
  59. package/__app__/chunks/useLikeC4Project.mjs +1 -1
  60. package/__app__/codegen/webcomponent.mjs +221 -69
  61. package/__app__/src/aichat/index.mjs +1 -0
  62. package/__app__/src/main.mjs +45 -1
  63. package/__app__/src/pages/AdHocViewEditor.mjs +1 -1
  64. package/__app__/src/pages/EmbedPage.mjs +1 -1
  65. package/__app__/src/pages/ExportPage.mjs +1 -1
  66. package/__app__/src/pages/ProjectsOverview.mjs +1 -1
  67. package/__app__/src/pages/ViewAsD2.mjs +1 -1
  68. package/__app__/src/pages/ViewAsDot.mjs +1 -1
  69. package/__app__/src/pages/ViewAsMmd.mjs +1 -1
  70. package/__app__/src/pages/ViewAsPuml.mjs +1 -1
  71. package/__app__/src/pages/ViewEditor.mjs +1 -1
  72. package/__app__/src/style.css +1 -1
  73. package/config/schema.json +14 -41
  74. package/dist/chunks/enableServer.mjs +1 -0
  75. package/dist/chunks/index2.d.mts +569 -377
  76. package/dist/chunks/libs/@hono/mcp.mjs +33 -8
  77. package/dist/chunks/libs/@hono/node-server.mjs +1 -1
  78. package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +7 -7
  79. package/dist/chunks/libs/@ts-graphviz/ast.mjs +3 -0
  80. package/dist/chunks/libs/@ts-graphviz/common.d.mts +9 -0
  81. package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -0
  82. package/dist/chunks/libs/ajv.mjs +1 -1
  83. package/dist/chunks/libs/ansi-styles.mjs +1 -1
  84. package/dist/chunks/libs/boxen.mjs +2 -2
  85. package/dist/chunks/libs/chevrotain.mjs +2 -2
  86. package/dist/chunks/libs/conf.mjs +1 -1
  87. package/dist/chunks/libs/langium.d.mts +5 -5
  88. package/dist/chunks/libs/langium.mjs +10 -10
  89. package/dist/chunks/libs/merge-error-cause.mjs +1 -1
  90. package/dist/chunks/libs/pako.mjs +3 -1
  91. package/dist/chunks/libs/remeda.mjs +1 -1
  92. package/dist/chunks/libs/ts-graphviz.mjs +1 -4
  93. package/dist/chunks/libs/unctx.mjs +1 -0
  94. package/dist/chunks/libs/vscode-languageserver.mjs +1 -1
  95. package/dist/chunks/libs/zod.d.mts +60 -25
  96. package/dist/chunks/node.mjs +62 -45
  97. package/dist/chunks/plugin.mjs +234 -41
  98. package/dist/chunks/sequence-view.mjs +1 -1
  99. package/dist/cli/index.mjs +142 -139
  100. package/dist/index.d.mts +1 -130
  101. package/dist/model/index.d.mts +1 -1
  102. package/dist/vite-plugin/index.d.mts +53 -2
  103. package/dist/vite-plugin/internal/index.d.mts +331 -3
  104. package/dist/vite-plugin/internal/index.mjs +1 -1
  105. package/package.json +65 -51
  106. package/react/index.d.mts +82 -50
  107. package/react/index.mjs +34017 -32421
  108. package/vite-plugin-modules.d.ts +4 -0
  109. package/__app__/chunks/ColorSchemeToggle.mjs +0 -1
  110. package/__app__/chunks/Fallback.mjs +0 -1
  111. package/__app__/chunks/Header.mjs +0 -13
  112. package/__app__/chunks/IconRenderer.mjs +0 -1
  113. package/__app__/chunks/LikeC4ModelContext.mjs +0 -1
  114. package/__app__/chunks/LikeC4ModelContext2.mjs +0 -1
  115. package/__app__/chunks/StaticLikeC4Diagram.mjs +0 -1
  116. package/__app__/chunks/__root.mjs +0 -1
  117. package/__app__/chunks/libs/motion.mjs +0 -1
  118. package/__app__/chunks/libs/xstate.mjs +0 -1
  119. package/__app__/chunks/safeCtx.mjs +0 -1
  120. package/__app__/chunks/searchParams.mjs +0 -1
  121. package/__app__/chunks/single-index.mjs +0 -1
  122. package/__app__/chunks/styled-system.mjs +0 -1
  123. package/__app__/chunks/useUpdateEffect.mjs +0 -1
  124. package/__app__/src/routeTree.gen.mjs +0 -1
  125. package/__app__/src/routes/__root.mjs +0 -1
  126. package/__app__/src/routes/_single/adhoc.mjs +0 -1
  127. package/__app__/src/routes/_single/embed._viewId.mjs +0 -1
  128. package/__app__/src/routes/_single/export._viewId.mjs +0 -1
  129. package/__app__/src/routes/_single/route.mjs +0 -1
  130. package/__app__/src/routes/_single/single-index.mjs +0 -1
  131. package/__app__/src/routes/_single/view._viewId.d2.mjs +0 -1
  132. package/__app__/src/routes/_single/view._viewId.dot.mjs +0 -1
  133. package/__app__/src/routes/_single/view._viewId.index.mjs +0 -1
  134. package/__app__/src/routes/_single/view._viewId.mjs +0 -1
  135. package/__app__/src/routes/_single/view._viewId.mmd.mjs +0 -1
  136. package/__app__/src/routes/_single/view._viewId.puml.mjs +0 -1
  137. package/__app__/src/routes/_single/webcomponent._.mjs +0 -33
  138. package/__app__/src/routes/index.mjs +0 -1
  139. package/__app__/src/routes/project._projectId/-components.mjs +0 -1
  140. package/__app__/src/routes/project._projectId/adhoc.mjs +0 -1
  141. package/__app__/src/routes/project._projectId/embed._viewId.mjs +0 -1
  142. package/__app__/src/routes/project._projectId/export._viewId.mjs +0 -1
  143. package/__app__/src/routes/project._projectId/index.mjs +0 -1
  144. package/__app__/src/routes/project._projectId/route.mjs +0 -1
  145. package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +0 -1
  146. package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +0 -1
  147. package/__app__/src/routes/project._projectId/view._viewId.index.mjs +0 -1
  148. package/__app__/src/routes/project._projectId/view._viewId.mjs +0 -1
  149. package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +0 -1
  150. package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +0 -1
  151. package/__app__/src/routes/projects.mjs +0 -1
  152. package/dist/chunks/libs/ts-graphviz.d.mts +0 -12
  153. package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.d.mts +0 -269
  154. package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +0 -59
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "likec4",
3
3
  "description": "Toolchain for your architecture diagrams",
4
- "version": "1.56.0",
4
+ "version": "1.57.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://likec4.dev",
7
7
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -20,11 +20,10 @@
20
20
  "graph"
21
21
  ],
22
22
  "engines": {
23
- "node": ">=22.22.0"
23
+ "node": ">=22.22.3"
24
24
  },
25
25
  "bugs": "https://github.com/likec4/likec4/issues",
26
26
  "type": "module",
27
- "bin": "./bin/likec4.mjs",
28
27
  "exports": {
29
28
  ".": {
30
29
  "sources": "./src/index.ts",
@@ -91,9 +90,8 @@
91
90
  },
92
91
  "dependencies": {
93
92
  "@hpcc-js/wasm-graphviz": "1.21.2",
94
- "@vitejs/plugin-react": "^6.0.1",
93
+ "@vitejs/plugin-react": "^6.0.2",
95
94
  "bundle-require": "^5.1.0",
96
- "react-compiler-runtime": "^1.0.0",
97
95
  "esbuild": "0.27.4",
98
96
  "fdir": "6.4.0",
99
97
  "playwright": "^1.58.2",
@@ -102,38 +100,56 @@
102
100
  "std-env": "^3.10.0",
103
101
  "type-fest": "^4.41.0",
104
102
  "vite-plugin-singlefile": "^2.3.2",
105
- "vite": "^8.0.10",
103
+ "vite": "^8.0.14",
106
104
  "yargs": "17.7.2",
107
105
  "nano-spawn": "^2.0.0",
108
- "@likec4/core": "1.56.0",
106
+ "use-sync-external-store": "^1.6.0",
107
+ "react-compiler-runtime": "^1.0.0",
108
+ "@likec4/core": "1.57.0",
109
109
  "@likec4/icons": "1.46.4"
110
110
  },
111
111
  "peerDependencies": {
112
+ "@tanstack/ai": "^0.14.0",
113
+ "@tanstack/ai-anthropic": "^0.8.3",
114
+ "@tanstack/ai-gemini": "^0.10.0",
115
+ "@tanstack/ai-openai": "^0.8.2",
116
+ "@tanstack/ai-ollama": "^0.6.10",
117
+ "@tanstack/ai-openrouter": "^0.8.2",
112
118
  "react": "^18.x || ^19.x",
113
119
  "react-dom": "^18.x || ^19.x"
114
120
  },
121
+ "peerDependenciesMeta": {
122
+ "@tanstack/ai": {
123
+ "optional": true
124
+ },
125
+ "@tanstack/ai-anthropic": {
126
+ "optional": true
127
+ },
128
+ "@tanstack/ai-gemini": {
129
+ "optional": true
130
+ },
131
+ "@tanstack/ai-openai": {
132
+ "optional": true
133
+ },
134
+ "@tanstack/ai-ollama": {
135
+ "optional": true
136
+ },
137
+ "@tanstack/ai-openrouter": {
138
+ "optional": true
139
+ }
140
+ },
115
141
  "devDependencies": {
116
142
  "langium": "3.5.0",
117
143
  "@dagrejs/dagre": "1.1.8",
118
144
  "@fontsource-variable/ibm-plex-sans": "^5.2.8",
119
- "@mantine/core": "9.1.0",
120
- "@mantine/hooks": "9.1.0",
121
- "@pandacss/dev": "^1.9.1",
122
- "@react-hookz/web": "^25.2.0",
123
- "@tabler/icons-react": "3.40.0",
124
- "@tanstack/react-router": "^1.114.13",
125
- "@tanstack/router-cli": "^1.114.13",
126
- "@tanstack/router-vite-plugin": "^1.114.13",
127
- "@types/node": "~22.19.17",
145
+ "@pandacss/dev": "^1.11.1",
146
+ "@tanstack/ai": "^0.14.0",
147
+ "@types/node": "~22.19.19",
128
148
  "@types/picomatch": "^4.0.3",
129
- "@types/react": "19.2.14",
149
+ "@types/react": "19.2.15",
130
150
  "@types/react-dom": "19.2.3",
131
151
  "@types/semver": "^7.7.1",
132
152
  "@types/yargs": "^17.0.33",
133
- "@xstate/react": "6.1.0",
134
- "@xstate/store": "3.17.1",
135
- "@xyflow/react": "12.10.2",
136
- "@xyflow/system": "0.0.76",
137
153
  "autoprefixer": "^10.4.27",
138
154
  "picomatch": "^4.0.4",
139
155
  "birpc": "^4.0.0",
@@ -145,13 +161,10 @@
145
161
  "esm-env": "^1.2.2",
146
162
  "fast-equals": "^6.0.0",
147
163
  "get-port": "^7.1.0",
148
- "html-to-image": "1.11.11",
149
164
  "is-inside-container": "^1.0.0",
150
165
  "json5": "^2.2.3",
151
166
  "ky": "^1.14.3",
152
- "merge-error-cause": "^5.0.2",
153
167
  "mkdirp": "^3.0.1",
154
- "motion": "^12.36.0",
155
168
  "npm-run-all2": "^8.0.4",
156
169
  "p-limit": "7.3.0",
157
170
  "nanostores": "1.2.0",
@@ -159,25 +172,24 @@
159
172
  "oxlint": "1.59.0",
160
173
  "package-manager-detector": "1.6.0",
161
174
  "package-up": "^5.0.0",
162
- "postcss": "8.5.10",
175
+ "postcss": "8.5.15",
163
176
  "pretty-ms": "^9.3.0",
164
- "react": "19.2.4",
165
- "react-dom": "19.2.4",
177
+ "react": "19.2.6",
178
+ "react-dom": "19.2.6",
166
179
  "react-error-boundary": "^6.1.1",
167
- "react-resizable-panels": "^4.7.3",
168
- "react-shadow": "^20.6.0",
180
+ "react-resizable-panels": "^4.11.1",
169
181
  "remeda": "^2.33.7",
170
182
  "semver": "^7.7.4",
171
183
  "strip-indent": "^4.1.1",
172
184
  "tinyrainbow": "^3.1.0",
173
185
  "tsx": "4.21.0",
174
- "turbo": "2.9.6",
186
+ "turbo": "2.9.14",
175
187
  "typescript": "5.9.3",
176
188
  "ufo": "1.6.3",
177
- "tsdown": "^0.21.10",
178
- "vite-plugin-dts": "^4.5.4",
189
+ "tsdown": "^0.22.0",
190
+ "vite-plugin-dts": "^5.0.1",
179
191
  "vitest": "4.1.3",
180
- "vscode-jsonrpc": "8.2.1",
192
+ "vscode-jsonrpc": "8.2.0",
181
193
  "vscode-languageserver": "9.0.1",
182
194
  "vscode-languageserver-types": "3.17.5",
183
195
  "vscode-uri": "3.1.0",
@@ -185,23 +197,22 @@
185
197
  "wireit": "0.14.12",
186
198
  "zod": "^4.3.6",
187
199
  "zx": "8.8.5",
188
- "xstate": "5.30.0",
189
- "@likec4/leanix-bridge": "1.56.0",
190
- "@likec4/log": "1.56.0",
191
- "@likec4/config": "1.56.0",
192
- "@likec4/language-services": "1.56.0",
193
- "@likec4/language-server": "1.56.0",
194
- "@likec4/mcp": "1.56.0",
195
- "@likec4/devops": "1.42.0",
196
- "@likec4/layouts": "1.56.0",
197
- "@likec4/vite-plugin": "1.56.0",
198
- "@likec4/diagram": "1.56.0",
199
- "@likec4/react": "1.56.0",
200
- "@likec4/generators": "1.56.0",
201
- "@likec4/spa": "1.56.0",
202
- "@likec4/style-preset": "1.56.0",
203
- "@likec4/styles": "1.56.0",
204
- "@likec4/tsconfig": "1.56.0"
200
+ "@likec4/config": "1.57.0",
201
+ "@likec4/leanix-bridge": "1.57.0",
202
+ "@likec4/log": "1.57.0",
203
+ "@likec4/language-server": "1.57.0",
204
+ "@likec4/mcp": "1.57.0",
205
+ "@likec4/language-services": "1.57.0",
206
+ "@likec4/devops": "1.57.0",
207
+ "@likec4/diagram": "1.57.0",
208
+ "@likec4/layouts": "1.57.0",
209
+ "@likec4/vite-plugin": "1.57.0",
210
+ "@likec4/react": "1.57.0",
211
+ "@likec4/spa": "1.57.0",
212
+ "@likec4/style-preset": "1.57.0",
213
+ "@likec4/generators": "1.57.0",
214
+ "@likec4/styles": "1.57.0",
215
+ "@likec4/tsconfig": "1.57.0"
205
216
  },
206
217
  "scripts": {
207
218
  "typecheck": "tsc --build --verbose",
@@ -231,5 +242,8 @@
231
242
  "test:watch": "vitest"
232
243
  },
233
244
  "types": "dist/index.d.mts",
234
- "module": "dist/index.mjs"
245
+ "module": "dist/index.mjs",
246
+ "bin": {
247
+ "likec4": "./bin/likec4.mjs"
248
+ }
235
249
  }
package/react/index.d.mts CHANGED
@@ -991,7 +991,21 @@ export declare interface DiagramApi<A extends Any_3 = Unknown_2> {
991
991
  * @warning Do not use in render phase
992
992
  */
993
993
  readonly currentView: t.DiagramView<A>;
994
+ /**
995
+ * Editor actor reference
996
+ * @warning Do not use in render phase
997
+ */
998
+ editorActor(): EditorActorRef;
999
+ /**
1000
+ * Overlays actor reference
1001
+ * @warning Do not use in render phase
1002
+ */
994
1003
  overlays(): OverlaysActorRef;
1004
+ /**
1005
+ * Search actor reference
1006
+ * @warning Do not use in render phase
1007
+ */
1008
+ searchActor(): SearchActorRef;
995
1009
  /**
996
1010
  * Send event to diagram actor
997
1011
  */
@@ -1425,16 +1439,19 @@ declare type EdgeId_3 = t.aux.EdgeId;
1425
1439
 
1426
1440
  declare interface EditorActorContext {
1427
1441
  viewId: t.ViewId;
1428
- pendingChanges: t.ViewChange[];
1429
- history: ReadonlyArray<HistorySnapshot>;
1430
- /**
1431
- * The state before editing started
1432
- */
1433
- beforeEditing: HistorySnapshot | null;
1434
- /**
1435
- * The subject of the edit
1436
- */
1437
- editing: 'node' | 'edge' | null;
1442
+ history: LinkedSnapshot | null;
1443
+ editing: null | {
1444
+ /**
1445
+ * The subject of the edit
1446
+ */
1447
+ subject: 'node' | 'edge';
1448
+ /**
1449
+ * The state before editing started
1450
+ */
1451
+ before: Snapshot_2;
1452
+ };
1453
+ syncQueue: Array<SyncOp>;
1454
+ processing: Exclude<SyncOp, 'sync-snapshot'> | null;
1438
1455
  }
1439
1456
 
1440
1457
  declare type EditorActorEmitedEvent = {
@@ -1442,31 +1459,35 @@ declare type EditorActorEmitedEvent = {
1442
1459
  };
1443
1460
 
1444
1461
  declare type EditorActorEvent = {
1445
- type: 'sync';
1446
- } | {
1447
- type: 'change';
1462
+ type: 'change.view';
1448
1463
  change: t.ViewChange;
1449
1464
  } | {
1450
- type: 'edit.start';
1451
- subject: 'node' | 'edge';
1465
+ type: 'change.semantic-layout';
1452
1466
  } | {
1453
- type: 'edit.finish';
1454
- wasChanged?: boolean;
1467
+ type: 'change.latest-to-manual';
1455
1468
  } | {
1456
- type: 'applyLatestToManual';
1469
+ type: 'change.sync-snapshot';
1457
1470
  } | {
1458
- type: 'synced';
1471
+ type: 'view.synched';
1459
1472
  } | {
1460
1473
  type: 'cancel';
1461
1474
  } | {
1462
- type: 'reset';
1475
+ type: 'edit.move.start';
1476
+ subject: 'node' | 'edge';
1477
+ } | {
1478
+ type: 'edit.move.end';
1479
+ } | {
1480
+ type: 'edit.move.cancel';
1463
1481
  } | HotKeyEvent_2;
1464
1482
 
1465
1483
  declare interface EditorActorInput {
1466
1484
  viewId: t.ViewId;
1467
1485
  }
1468
1486
 
1469
- declare interface EditorActorLogic extends StateMachine<EditorActorContext, EditorActorEvent, any, any, any, any, any, 'idle' | 'editing' | 'pending' | 'afterEdit' | 'applyLatestToManual' | 'executeChanges', any, EditorActorInput, any, EditorActorEmitedEvent, any, any> {
1487
+ declare interface EditorActorLogic extends StateMachine<EditorActorContext, EditorActorEvent, any, any, any, any, any, {
1488
+ editor: 'idle' | 'moving';
1489
+ syncQueue: 'idle' | 'pending' | 'suspended' | 'process';
1490
+ }, EditorActorStateTag, EditorActorInput, any, EditorActorEmitedEvent, any, any> {
1470
1491
  }
1471
1492
 
1472
1493
  declare interface EditorActorRef extends ActorRef<EditorActorSnapshot, EditorActorEvent, EditorActorEmitedEvent> {
@@ -1474,6 +1495,8 @@ declare interface EditorActorRef extends ActorRef<EditorActorSnapshot, EditorAct
1474
1495
 
1475
1496
  declare type EditorActorSnapshot = SnapshotFrom<EditorActorLogic>;
1476
1497
 
1498
+ declare type EditorActorStateTag = 'pending' | 'busy' | 'ai-semantic-layout';
1499
+
1477
1500
  declare type EffectCallback_2 = (...args: any[]) => any;
1478
1501
 
1479
1502
  declare type EffectHook<Callback extends EffectCallback_2 = EffectCallback_2, Deps extends DependencyList | undefined = DependencyList | undefined, RestArgs extends any[] = any[]> = ((...args: [Callback, Deps, ...RestArgs]) => void) | ((...args: [Callback, Deps]) => void);
@@ -1912,7 +1935,7 @@ declare type ExtractEvent<TEvent extends EventObject, TDescriptor extends EventD
1912
1935
 
1913
1936
  export declare type FeatureName = typeof FeatureNames[number];
1914
1937
 
1915
- declare const FeatureNames: readonly ["Controls", "Editor", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "FitView", "CompareWithLatest", "Notes", "Vscode", "ElementTags"];
1938
+ declare const FeatureNames: readonly ["Controls", "Editor", "AISemanticLayout", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "FitView", "CompareWithLatest", "Notes", "Vscode", "ElementTags"];
1916
1939
 
1917
1940
  declare type Fqn_2<A> = t.aux.Fqn<A>;
1918
1941
 
@@ -1950,14 +1973,6 @@ declare type GuardPredicate<TContext extends MachineContext, TExpressionEvent ex
1950
1973
  _out_TGuard?: TGuard;
1951
1974
  };
1952
1975
 
1953
- declare type HistorySnapshot = {
1954
- view: t.LayoutedView;
1955
- change: t.ViewChange.SaveViewSnapshot;
1956
- xynodes: Types.Node[];
1957
- xyedges: Types.Edge[];
1958
- synched: boolean;
1959
- };
1960
-
1961
1976
  declare type HistoryValue<TContext extends MachineContext, TEvent extends EventObject> = Record<string, Array<StateNode<TContext, TEvent>>>;
1962
1977
 
1963
1978
  declare type HotKeyEvent = {
@@ -2518,6 +2533,11 @@ export declare type LikeC4DiagramProps<A extends Any = Any> = PropsWithChildren<
2518
2533
  * Callbacks from LikeC4 Editor.
2519
2534
  */
2520
2535
  export declare interface LikeC4EditorCallbacks {
2536
+ /**
2537
+ * Apply semantic layout to a view (if AI is available)
2538
+ * See vite-plugin settings for more details
2539
+ */
2540
+ applySemanticLayout?: undefined | ((viewId: t.ViewId) => Promise<void>);
2521
2541
  /**
2522
2542
  * Fetch a view by its ID and layout type.
2523
2543
  *
@@ -2783,6 +2803,11 @@ export declare interface LikeC4ViewProps<A extends t.aux.Any = t.aux.UnknownLayo
2783
2803
 
2784
2804
  declare type LinearAlignmentMode = 'Left' | 'Center' | 'Right' | 'Top' | 'Middle' | 'Bottom';
2785
2805
 
2806
+ declare type LinkedSnapshot = {
2807
+ head: Snapshot_2;
2808
+ tail: LinkedSnapshot | null;
2809
+ };
2810
+
2786
2811
  declare type LowInfer<T> = T & NonNullable<unknown>;
2787
2812
 
2788
2813
  declare type MachineConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TInput = any, TOutput = unknown, TEmitted extends EventObject = EventObject, TMeta extends MetaObject = MetaObject> = (Omit<StateNodeConfig<DoNotInfer<TContext>, DoNotInfer<TEvent>, DoNotInfer<TActor>, DoNotInfer<TAction>, DoNotInfer<TGuard>, DoNotInfer<TDelay>, DoNotInfer<TTag>, DoNotInfer<TOutput>, DoNotInfer<TEmitted>, DoNotInfer<TMeta>>, 'output'> & {
@@ -3089,7 +3114,15 @@ export declare const Overlay: ForwardRefExoticComponent<{
3089
3114
  backdrop?: {
3090
3115
  opacity?: number;
3091
3116
  };
3117
+ /**
3118
+ * Delay before showing the overlay content (in milliseconds) - helps to avoid flickering
3119
+ * Default: `130ms`
3120
+ * If set to `0`, the content will be shown immediately
3121
+ */
3092
3122
  openDelay?: number;
3123
+ /**
3124
+ * Called when the overlay is closed by outside click or escape key
3125
+ */
3093
3126
  onClose: () => void;
3094
3127
  onClick?: never;
3095
3128
  } & {
@@ -3131,7 +3164,15 @@ export declare type OverlayProps = PropsWithChildren<{
3131
3164
  backdrop?: {
3132
3165
  opacity?: number;
3133
3166
  };
3167
+ /**
3168
+ * Delay before showing the overlay content (in milliseconds) - helps to avoid flickering
3169
+ * Default: `130ms`
3170
+ * If set to `0`, the content will be shown immediately
3171
+ */
3134
3172
  openDelay?: number;
3173
+ /**
3174
+ * Called when the overlay is closed by outside click or escape key
3175
+ */
3135
3176
  onClose: () => void;
3136
3177
  onClick?: never;
3137
3178
  }>;
@@ -3576,7 +3617,7 @@ export declare const searchDialogCss: string;
3576
3617
  * The shared search panel content used by both diagram and overview search.
3577
3618
  * Must be rendered inside a SearchContext.Provider.
3578
3619
  */
3579
- export declare const SearchPanelContent: MemoExoticComponent<() => JSX.Element>;
3620
+ export declare const SearchPanelContent: ForwardRefExoticComponent<RefAttributes<HTMLDivElement>>;
3580
3621
 
3581
3622
  export declare function SequenceActorNode(props: Types.NodeProps<'seq-actor'>): JSX.Element;
3582
3623
 
@@ -3601,24 +3642,6 @@ declare function setHovered<T extends WithHovered>(value: T, hovered: boolean):
3601
3642
 
3602
3643
  declare function setHovered(hovered: boolean): <T extends WithHovered>(value: T) => T;
3603
3644
 
3604
- declare const ShadowRoot_2: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
3605
- injectFontCss?: boolean | undefined;
3606
- styleNonce?: string | (() => string) | undefined;
3607
- mode?: "open" | "closed";
3608
- delegatesFocus?: boolean;
3609
- colorScheme?: "light" | "dark" | undefined;
3610
- keepAspectRatio?: false | undefined | {
3611
- width: number;
3612
- height: number;
3613
- };
3614
- /**
3615
- * Mantine theme override to apply within the shadow root
3616
- * @see https://mantine.dev/theming/mantine-provider/#theme-prop
3617
- */
3618
- theme?: any;
3619
- } & RefAttributes<HTMLDivElement>>;
3620
- export { ShadowRoot_2 as ShadowRoot }
3621
-
3622
3645
  declare type SingleOrArray<T> = readonly T[] | T;
3623
3646
 
3624
3647
  declare type SlotProps = {
@@ -3646,6 +3669,13 @@ declare type Snapshot<TOutput> = {
3646
3669
  error: undefined;
3647
3670
  };
3648
3671
 
3672
+ declare type Snapshot_2 = {
3673
+ view: t.LayoutedView;
3674
+ change: t.ViewChange.SaveViewSnapshot;
3675
+ xynodes: Types.Node[];
3676
+ xyedges: Types.Edge[];
3677
+ };
3678
+
3649
3679
  declare interface SnapshotEvent<TSnapshot extends Snapshot<unknown> = Snapshot<unknown>> extends EventObject {
3650
3680
  type: `xstate.snapshot.${string}`;
3651
3681
  snapshot: TSnapshot;
@@ -4079,6 +4109,8 @@ declare interface Subscription {
4079
4109
 
4080
4110
  declare const symbolObservable: typeof Symbol.observable;
4081
4111
 
4112
+ declare type SyncOp = t.ViewChange | 'sync-snapshot' | 'apply-semantic-layout' | 'apply-latest-to-manual';
4113
+
4082
4114
  declare type System = ActorSystem<{
4083
4115
  actors: {
4084
4116
  diagram: DiagramMachineRef;
@@ -4564,7 +4596,7 @@ declare type XYStoreApi_3 = {
4564
4596
  getState: () => XYStoreState_3;
4565
4597
  };
4566
4598
 
4567
- declare type XYStoreState = ReactFlowState<Types.AnyNode, Types.AnyEdge>;
4599
+ export declare type XYStoreState = ReactFlowState<Types.AnyNode, Types.AnyEdge>;
4568
4600
 
4569
4601
  declare type XYStoreState_2 = ReactFlowState<RelationshipsBrowserTypes.AnyNode, RelationshipsBrowserTypes.Edge>;
4570
4602