@yahoo/uds-create-config 2.44.0 → 3.0.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 (376) hide show
  1. package/README.md +129 -0
  2. package/dist/ai-lanes.d.ts +23 -0
  3. package/dist/ai-lanes.js +34 -0
  4. package/dist/authoring/define-component.d.ts +85 -0
  5. package/dist/configs/CanvasConfig.d.ts +3237 -0
  6. package/dist/configs/CanvasConfig.js +332 -0
  7. package/dist/configs/build-options.d.ts +10 -0
  8. package/dist/configs/build-options.js +68 -0
  9. package/dist/configs/platform.d.ts +15 -0
  10. package/dist/configs/platform.js +17 -0
  11. package/dist/configs/react-native-system.d.ts +3026 -0
  12. package/dist/configs/react-native-system.js +64 -0
  13. package/dist/configs/system.d.ts +2771 -0
  14. package/dist/configs/system.js +74 -0
  15. package/dist/css/properties.generated.d.ts +14 -0
  16. package/dist/css/properties.generated.js +6260 -0
  17. package/dist/css/value-type.d.ts +48 -0
  18. package/dist/css/value-type.js +131 -0
  19. package/dist/css/values.d.ts +33 -0
  20. package/dist/css/values.js +116 -0
  21. package/dist/entities/native/NativeModifier.d.ts +25 -0
  22. package/dist/entities/native/NativeModifier.js +41 -0
  23. package/dist/entities/native/NativeSettings.d.ts +44 -0
  24. package/dist/entities/native/NativeSettings.js +39 -0
  25. package/dist/entities/native/NativeStyleProperty.d.ts +355 -0
  26. package/dist/entities/native/NativeStyleProperty.js +28 -0
  27. package/dist/entities/native/NativeToken.d.ts +31 -0
  28. package/dist/entities/native/NativeToken.js +49 -0
  29. package/dist/entities/system/CanvasRole.d.ts +34 -0
  30. package/dist/entities/system/CanvasRole.js +45 -0
  31. package/dist/entities/system/Component.d.ts +1287 -0
  32. package/dist/entities/system/Component.js +1840 -0
  33. package/dist/entities/system/Composite.d.ts +12 -0
  34. package/dist/entities/system/Composite.js +26 -0
  35. package/dist/entities/system/Device.d.ts +11 -0
  36. package/dist/entities/system/Device.js +18 -0
  37. package/dist/entities/system/File.d.ts +72 -0
  38. package/dist/entities/system/File.js +136 -0
  39. package/dist/entities/system/Font.d.ts +48 -0
  40. package/dist/entities/system/Font.js +56 -0
  41. package/dist/entities/system/GlobalStyle.d.ts +26 -0
  42. package/dist/entities/system/GlobalStyle.js +54 -0
  43. package/dist/entities/system/Guidance.d.ts +85 -0
  44. package/dist/entities/system/Guidance.js +59 -0
  45. package/dist/entities/system/GuidanceStyle.d.ts +14 -0
  46. package/dist/entities/system/GuidanceStyle.js +8 -0
  47. package/dist/entities/system/Icon.d.ts +46 -0
  48. package/dist/entities/system/Icon.js +46 -0
  49. package/dist/entities/system/LinkedSystem.d.ts +504 -0
  50. package/dist/entities/system/LinkedSystem.js +814 -0
  51. package/dist/entities/system/Modifier.d.ts +92 -0
  52. package/dist/entities/system/Modifier.js +120 -0
  53. package/dist/entities/system/Motion.d.ts +28 -0
  54. package/dist/entities/system/Motion.js +48 -0
  55. package/dist/entities/system/Operation.d.ts +100 -0
  56. package/dist/entities/system/Operation.js +236 -0
  57. package/dist/entities/system/Package.d.ts +42 -0
  58. package/dist/entities/system/Package.js +75 -0
  59. package/dist/entities/system/Settings.d.ts +94 -0
  60. package/dist/entities/system/Settings.js +166 -0
  61. package/dist/entities/system/StyleProperty.d.ts +135 -0
  62. package/dist/entities/system/StyleProperty.js +438 -0
  63. package/dist/entities/system/Token.d.ts +67 -0
  64. package/dist/entities/system/Token.js +129 -0
  65. package/dist/entities/system/Tool.d.ts +134 -0
  66. package/dist/entities/system/Tool.js +124 -0
  67. package/dist/entities/system/color.d.ts +64 -0
  68. package/dist/entities/system/color.js +123 -0
  69. package/dist/entities/system/component-module.d.ts +63 -0
  70. package/dist/entities/system/component-module.js +258 -0
  71. package/dist/entities/system/copy-plan.d.ts +98 -0
  72. package/dist/entities/system/copy-plan.js +451 -0
  73. package/dist/entities/system/defineComponent.d.ts +428 -0
  74. package/dist/entities/system/defineComponent.js +337 -0
  75. package/dist/entities/system/element.d.ts +101 -0
  76. package/dist/entities/system/element.js +171 -0
  77. package/dist/entities/system/icon-library.d.ts +64 -0
  78. package/dist/entities/system/icon-library.js +112 -0
  79. package/dist/entities/system/icon-metadata.d.ts +72 -0
  80. package/dist/entities/system/icon-metadata.js +111 -0
  81. package/dist/entities/system/link-declaration.d.ts +27 -0
  82. package/dist/entities/system/link-declaration.js +64 -0
  83. package/dist/entities/system/link-plan.d.ts +160 -0
  84. package/dist/entities/system/link-plan.js +770 -0
  85. package/dist/entities/system/runtime-modules.d.ts +25 -0
  86. package/dist/entities/system/runtime-modules.js +38 -0
  87. package/dist/entities/system/style-bag.d.ts +20 -0
  88. package/dist/entities/system/style-bag.js +246 -0
  89. package/dist/entities/system/token-index.d.ts +89 -0
  90. package/dist/entities/system/token-index.js +112 -0
  91. package/dist/framework/Config.d.ts +2472 -0
  92. package/dist/framework/Config.js +5023 -0
  93. package/dist/framework/Entity.d.ts +127 -0
  94. package/dist/framework/Entity.js +125 -0
  95. package/dist/framework/authoring.d.ts +24 -0
  96. package/dist/framework/authoring.js +7 -0
  97. package/dist/framework/change-hooks.d.ts +119 -0
  98. package/dist/framework/change-hooks.js +131 -0
  99. package/dist/framework/changes.d.ts +88 -0
  100. package/dist/framework/changes.js +246 -0
  101. package/dist/framework/class-names.d.ts +260 -0
  102. package/dist/framework/class-names.js +630 -0
  103. package/dist/framework/coalesce.d.ts +25 -0
  104. package/dist/framework/coalesce.js +60 -0
  105. package/dist/framework/config-op.d.ts +76 -0
  106. package/dist/framework/config-op.js +43 -0
  107. package/dist/framework/config-operation-kind.d.ts +14 -0
  108. package/dist/framework/config-operation-kind.js +14 -0
  109. package/dist/framework/config-ops.d.ts +34 -0
  110. package/dist/framework/config-ops.js +187 -0
  111. package/dist/framework/defineConfig.d.ts +196 -0
  112. package/dist/framework/defineConfig.js +100 -0
  113. package/dist/framework/defineDerivedEntity.d.ts +74 -0
  114. package/dist/framework/defineDerivedEntity.js +83 -0
  115. package/dist/framework/defineEntity.d.ts +318 -0
  116. package/dist/framework/defineEntity.js +183 -0
  117. package/dist/framework/defineSubEntity.d.ts +148 -0
  118. package/dist/framework/defineSubEntity.js +121 -0
  119. package/dist/framework/derived-mutations.d.ts +20 -0
  120. package/dist/framework/derived-mutations.js +38 -0
  121. package/dist/framework/entity-search.d.ts +29 -0
  122. package/dist/framework/entity-search.js +117 -0
  123. package/dist/framework/inline-sources.d.ts +49 -0
  124. package/dist/framework/inline-sources.js +388 -0
  125. package/dist/framework/layer-styles.d.ts +25 -0
  126. package/dist/framework/layer-styles.js +49 -0
  127. package/dist/framework/memo.d.ts +48 -0
  128. package/dist/framework/memo.js +84 -0
  129. package/dist/framework/overlay.d.ts +49 -0
  130. package/dist/framework/overlay.js +17 -0
  131. package/dist/framework/plan.d.ts +49 -0
  132. package/dist/framework/plan.js +73 -0
  133. package/dist/framework/projections.d.ts +480 -0
  134. package/dist/framework/projections.js +974 -0
  135. package/dist/framework/prop-surface.d.ts +132 -0
  136. package/dist/framework/prop-surface.js +278 -0
  137. package/dist/framework/ref-graph.d.ts +71 -0
  138. package/dist/framework/ref-graph.js +158 -0
  139. package/dist/framework/ref-integrity.d.ts +55 -0
  140. package/dist/framework/ref-integrity.js +171 -0
  141. package/dist/framework/registered.d.ts +95 -0
  142. package/dist/framework/registry-dir.d.ts +42 -0
  143. package/dist/framework/registry-dir.js +48 -0
  144. package/dist/framework/registry.d.ts +300 -0
  145. package/dist/framework/registry.js +104 -0
  146. package/dist/framework/rejection.d.ts +58 -0
  147. package/dist/framework/rejection.js +111 -0
  148. package/dist/framework/rename-inference.d.ts +26 -0
  149. package/dist/framework/rename-inference.js +50 -0
  150. package/dist/framework/render-spec.d.ts +296 -0
  151. package/dist/framework/render-spec.js +809 -0
  152. package/dist/framework/schema-version.d.ts +140 -0
  153. package/dist/framework/schema-version.js +214 -0
  154. package/dist/framework/schemas.d.ts +109 -0
  155. package/dist/framework/schemas.js +615 -0
  156. package/dist/framework/session.d.ts +196 -0
  157. package/dist/framework/session.js +367 -0
  158. package/dist/framework/signature.d.ts +15 -0
  159. package/dist/framework/signature.js +83 -0
  160. package/dist/framework/snapshot.d.ts +115 -0
  161. package/dist/framework/snapshot.js +277 -0
  162. package/dist/framework/source-integrity.d.ts +226 -0
  163. package/dist/framework/source-integrity.js +478 -0
  164. package/dist/framework/sources.d.ts +211 -0
  165. package/dist/framework/sources.js +89 -0
  166. package/dist/framework/utils/compiled-schema.d.ts +23 -0
  167. package/dist/framework/utils/compiled-schema.js +46 -0
  168. package/dist/framework/utils/content-key.d.ts +15 -0
  169. package/dist/framework/utils/content-key.js +33 -0
  170. package/dist/framework/utils/enumerated.d.ts +13 -0
  171. package/dist/framework/utils/enumerated.js +19 -0
  172. package/dist/framework/utils/field-path.d.ts +95 -0
  173. package/dist/framework/utils/field-path.js +136 -0
  174. package/dist/framework/utils/field-schema.d.ts +55 -0
  175. package/dist/framework/utils/field-schema.js +183 -0
  176. package/dist/framework/utils/group.d.ts +37 -0
  177. package/dist/framework/utils/group.js +13 -0
  178. package/dist/framework/utils/package-path.d.ts +37 -0
  179. package/dist/framework/utils/package-path.js +61 -0
  180. package/dist/framework/utils/refs.d.ts +194 -0
  181. package/dist/framework/utils/refs.js +403 -0
  182. package/dist/framework/validate-spec.d.ts +27 -0
  183. package/dist/framework/validate-spec.js +45 -0
  184. package/dist/framework/value-domain.d.ts +26 -0
  185. package/dist/framework/value-domain.js +202 -0
  186. package/dist/framework/views-facade.d.ts +15 -0
  187. package/dist/framework/views-facade.js +19 -0
  188. package/dist/index.d.ts +90 -42
  189. package/dist/index.js +86 -37
  190. package/dist/migrations/2.0.0/raw-css.d.ts +11 -0
  191. package/dist/migrations/2.0.0/raw-css.js +72 -0
  192. package/dist/migrations/2.0.0/v1-artifact.d.ts +1559 -0
  193. package/dist/migrations/2.0.0/v1-artifact.js +1018 -0
  194. package/dist/migrations/20260908171448_settings_as_kind.d.ts +22 -0
  195. package/dist/migrations/20260908171448_settings_as_kind.js +89 -0
  196. package/dist/migrations/20260908194245_visible_state_pointer.d.ts +19 -0
  197. package/dist/migrations/20260908194245_visible_state_pointer.js +115 -0
  198. package/dist/migrations/20260909183001_icon_knockout_variants.d.ts +18 -0
  199. package/dist/migrations/20260909183001_icon_knockout_variants.js +8 -0
  200. package/dist/migrations/20260910212453_linked_system_link_ops.d.ts +13 -0
  201. package/dist/migrations/20260910212453_linked_system_link_ops.js +8 -0
  202. package/dist/migrations/index.d.ts +2 -0
  203. package/dist/migrations/index.js +2 -0
  204. package/dist/react-native/style-keys.generated.d.ts +10 -0
  205. package/dist/react-native/style-keys.generated.js +167 -0
  206. package/dist/renderer/RendererErrorBoundary.d.ts +32 -5
  207. package/dist/renderer/RendererErrorBoundary.js +59 -10
  208. package/dist/renderer/UdsRenderer.d.ts +11 -10
  209. package/dist/renderer/UdsRenderer.js +1 -1
  210. package/dist/renderer/assetEntries.d.ts +37 -0
  211. package/dist/renderer/assetEntries.js +39 -0
  212. package/dist/renderer/assetRenderable.d.ts +14 -6
  213. package/dist/renderer/assetRenderable.js +8 -2
  214. package/dist/renderer/componentEntry.d.ts +58 -0
  215. package/dist/renderer/componentEntry.js +71 -0
  216. package/dist/renderer/icon-library.d.ts +20 -0
  217. package/dist/renderer/index.d.ts +7 -7
  218. package/dist/renderer/index.js +5 -5
  219. package/dist/renderer/primitives/SlotRenderer.d.ts +1 -1
  220. package/dist/renderer/primitives/SlotRenderer.js +1 -1
  221. package/dist/renderer/runtimeComponent.d.ts +33 -0
  222. package/dist/renderer/runtimeComponent.js +113 -0
  223. package/dist/renderer/spec-content.d.ts +43 -0
  224. package/dist/renderer/spec-content.js +95 -0
  225. package/dist/renderer/wrapRegistry.d.ts +22 -37
  226. package/dist/renderer/wrapRegistry.js +10 -20
  227. package/dist/renderer/wrappers/event-bridge.js +6 -5
  228. package/dist/renderer/wrappers/hex-normalize.js +6 -5
  229. package/dist/renderer/wrappers/html-aliases.d.ts +7 -2
  230. package/dist/renderer/wrappers/html-aliases.js +36 -19
  231. package/dist/renderer/wrappers/inline-styles.js +7 -6
  232. package/dist/spec/asset-jsx.d.ts +18 -5
  233. package/dist/spec/asset-jsx.js +27 -16
  234. package/dist/spec/collapse-text-labels.d.ts +5 -15
  235. package/dist/spec/collapse-text-labels.js +26 -19
  236. package/dist/spec/empty-node-slots.d.ts +56 -34
  237. package/dist/spec/empty-node-slots.js +87 -47
  238. package/dist/spec/index.d.ts +21 -10
  239. package/dist/spec/index.js +21 -10
  240. package/dist/spec/jsxToSpec.d.ts +14 -9
  241. package/dist/spec/jsxToSpec.js +20 -3
  242. package/dist/spec/preview-elements.d.ts +63 -0
  243. package/dist/spec/preview-elements.js +89 -0
  244. package/dist/spec/rewrite-refs.d.ts +58 -0
  245. package/dist/spec/rewrite-refs.js +250 -0
  246. package/dist/spec/specToJsx.js +18 -29
  247. package/dist/tsconfig.tsbuildinfo +1 -1
  248. package/package.json +39 -52
  249. package/dist/AssetGroup.d.ts +0 -77
  250. package/dist/AssetGroup.js +0 -125
  251. package/dist/Component.d.ts +0 -333
  252. package/dist/Component.js +0 -1061
  253. package/dist/ComponentGroup.d.ts +0 -22
  254. package/dist/ComponentGroup.js +0 -51
  255. package/dist/CompositeStyle.d.ts +0 -30
  256. package/dist/CompositeStyle.js +0 -59
  257. package/dist/Config.d.ts +0 -528
  258. package/dist/Config.js +0 -1712
  259. package/dist/Mode.d.ts +0 -41
  260. package/dist/Mode.js +0 -81
  261. package/dist/Modifier.d.ts +0 -51
  262. package/dist/Modifier.js +0 -97
  263. package/dist/MotionDef.d.ts +0 -81
  264. package/dist/MotionDef.js +0 -212
  265. package/dist/Props.d.ts +0 -332
  266. package/dist/Props.js +0 -35
  267. package/dist/Provider.d.ts +0 -20
  268. package/dist/Provider.js +0 -14
  269. package/dist/StyleProp.d.ts +0 -145
  270. package/dist/StyleProp.js +0 -239
  271. package/dist/Token.d.ts +0 -76
  272. package/dist/Token.js +0 -133
  273. package/dist/TokenGroup.d.ts +0 -33
  274. package/dist/TokenGroup.js +0 -69
  275. package/dist/asset-kind.d.ts +0 -55
  276. package/dist/asset-kind.js +0 -29
  277. package/dist/asset-value.d.ts +0 -23
  278. package/dist/asset-value.js +0 -40
  279. package/dist/brands.d.ts +0 -30
  280. package/dist/brands.js +0 -20
  281. package/dist/captureCallerPath.d.ts +0 -48
  282. package/dist/captureCallerPath.js +0 -95
  283. package/dist/colorExpressions.d.ts +0 -131
  284. package/dist/colorExpressions.js +0 -148
  285. package/dist/component-referrers.d.ts +0 -30
  286. package/dist/component-referrers.js +0 -40
  287. package/dist/config-diagnostics.d.ts +0 -21
  288. package/dist/config-diagnostics.js +0 -12
  289. package/dist/defineAssetGroup.d.ts +0 -200
  290. package/dist/defineAssetGroup.js +0 -323
  291. package/dist/defineProvider.d.ts +0 -29
  292. package/dist/defineProvider.js +0 -60
  293. package/dist/element-marker.d.ts +0 -63
  294. package/dist/element-marker.js +0 -113
  295. package/dist/entity-utils.d.ts +0 -56
  296. package/dist/entity-utils.js +0 -105
  297. package/dist/extension.d.ts +0 -55
  298. package/dist/extension.js +0 -214
  299. package/dist/factories.d.ts +0 -863
  300. package/dist/factories.js +0 -475
  301. package/dist/font-face.d.ts +0 -25
  302. package/dist/font-face.js +0 -72
  303. package/dist/foreign-component-name.d.ts +0 -21
  304. package/dist/foreign-component-name.js +0 -42
  305. package/dist/interpolate.d.ts +0 -20
  306. package/dist/interpolate.js +0 -10
  307. package/dist/jsx/__fixtures__/cross-component-preview.d.ts +0 -3
  308. package/dist/jsx/__fixtures__/cross-component-preview.js +0 -15
  309. package/dist/jsx/jsx-dev-runtime.d.ts +0 -15
  310. package/dist/jsx/jsx-dev-runtime.js +0 -11
  311. package/dist/jsx/jsx-runtime.d.ts +0 -48
  312. package/dist/jsx/jsx-runtime.js +0 -305
  313. package/dist/linked-system-pins.d.ts +0 -30
  314. package/dist/linked-system-pins.js +0 -45
  315. package/dist/linkedNodePrefixes.d.ts +0 -73
  316. package/dist/linkedNodePrefixes.js +0 -99
  317. package/dist/markers.d.ts +0 -235
  318. package/dist/markers.js +0 -70
  319. package/dist/motion-constants.d.ts +0 -37
  320. package/dist/motion-constants.js +0 -61
  321. package/dist/native/NativeConfig.d.ts +0 -56
  322. package/dist/native/NativeConfig.js +0 -162
  323. package/dist/native/assets.d.ts +0 -20
  324. package/dist/native/assets.js +0 -17
  325. package/dist/native/components.d.ts +0 -139
  326. package/dist/native/components.js +0 -67
  327. package/dist/native/index.d.ts +0 -18
  328. package/dist/native/index.js +0 -17
  329. package/dist/native/modes.d.ts +0 -10
  330. package/dist/native/modes.js +0 -11
  331. package/dist/native/types.d.ts +0 -95
  332. package/dist/native/types.js +0 -0
  333. package/dist/native/validation.d.ts +0 -8
  334. package/dist/native/validation.js +0 -885
  335. package/dist/native/values.d.ts +0 -7
  336. package/dist/native/values.js +0 -15
  337. package/dist/native.d.ts +0 -12
  338. package/dist/native.js +0 -10
  339. package/dist/refs.d.ts +0 -204
  340. package/dist/refs.js +0 -129
  341. package/dist/registry-aliases.d.ts +0 -33
  342. package/dist/registry-aliases.js +0 -35
  343. package/dist/registry-dir.d.ts +0 -22
  344. package/dist/registry-dir.js +0 -10
  345. package/dist/renderer/makeRegistry.d.ts +0 -34
  346. package/dist/renderer/makeRegistry.js +0 -52
  347. package/dist/renderer/makeUdsRenderer.d.ts +0 -13
  348. package/dist/renderer/makeUdsRenderer.js +0 -51
  349. package/dist/renderer/wrappers/component-slots.d.ts +0 -41
  350. package/dist/renderer/wrappers/component-slots.js +0 -66
  351. package/dist/renderer/wrappers/slot-resolution.d.ts +0 -25
  352. package/dist/renderer/wrappers/slot-resolution.js +0 -68
  353. package/dist/renderer/wrappers/void-elements.d.ts +0 -37
  354. package/dist/renderer/wrappers/void-elements.js +0 -40
  355. package/dist/spec/layer-props.d.ts +0 -52
  356. package/dist/spec/layer-props.js +0 -149
  357. package/dist/spec/preview-controls.d.ts +0 -44
  358. package/dist/spec/preview-controls.js +0 -139
  359. package/dist/spec/slot-refs.d.ts +0 -39
  360. package/dist/spec/slot-refs.js +0 -56
  361. package/dist/token-override-rows.d.ts +0 -68
  362. package/dist/token-override-rows.js +0 -233
  363. package/dist/tokenValueType.d.ts +0 -34
  364. package/dist/tokenValueType.js +0 -138
  365. package/dist/types/css-properties.d.ts +0 -233
  366. package/dist/types/css-properties.js +0 -14
  367. package/dist/types/css-property-keywords.d.ts +0 -156
  368. package/dist/types/css-property-keywords.js +0 -616
  369. package/dist/types/css-values.d.ts +0 -63
  370. package/dist/types/css-values.js +0 -16
  371. package/dist/types.d.ts +0 -1138
  372. package/dist/types.js +0 -12
  373. package/dist/units.d.ts +0 -14
  374. package/dist/units.js +0 -16
  375. package/dist/utils/index.d.ts +0 -4
  376. package/dist/utils/index.js +0 -4
@@ -0,0 +1,3237 @@
1
+ import { Ref } from "../framework/utils/refs.js";
2
+ import { DerivedEntityClass } from "../framework/defineDerivedEntity.js";
3
+ import { SubEntityClass } from "../framework/defineSubEntity.js";
4
+ import { ComponentContractOf, PathOf } from "../framework/registered.js";
5
+ import { EntityClass } from "../framework/defineEntity.js";
6
+ import { ConfigClass, ConfigInstance } from "../framework/defineConfig.js";
7
+ import { Config } from "../framework/Config.js";
8
+ import { ComputedInput } from "../framework/registry.js";
9
+ import { ReactNativeSystem } from "./react-native-system.js";
10
+ import { System } from "./system.js";
11
+ import { AnySystemConfig } from "./platform.js";
12
+ import { StyleValue } from "../entities/system/style-bag.js";
13
+ import { ComponentElementBody, ComponentReference, ComponentStyleBody } from "../entities/system/Component.js";
14
+ import { z } from "zod";
15
+
16
+ //#region src/configs/CanvasConfig.d.ts
17
+ /**
18
+ * `SystemSource` — this canvas's pointer at the ONE system it belongs to, in full. `LinkedSystem` is
19
+ * the wrong mechanism here: it exists for a design system partially borrowing PIECES of another
20
+ * (`link`, per-entity `options`, override/extend), and a canvas never does that — a node's `type`
21
+ * always resolves against the whole of exactly one system.
22
+ *
23
+ * The source is attached under the system config's own `name`, which is `system-config` for a web
24
+ * system and `react-native-system` for a native one, so a node ref the canvas mints
25
+ * (`component:actions/Button@system-config`) means "the attached system". The system itself resolves
26
+ * that ref as its own, through `Config.configFor`'s own-name rule.
27
+ */
28
+ declare const SystemSource: EntityClass<z.ZodObject<{
29
+ systemId: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "system-source", Record<never, never>, Record<never, never>, false>;
31
+ /**
32
+ * `Canvas` — a surface in a design file (a design file has one or more). Pages belong to a canvas,
33
+ * nodes belong to a page (flat, ref-related, matching the real tables' `canvasId`/`pageId` columns).
34
+ */
35
+ declare const Canvas: EntityClass<z.ZodObject<{
36
+ name: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
38
+ /**
39
+ * `Page` — a page within a `Canvas`. Field-for-field the `canvas_pages` table (id → path,
40
+ * `canvasId` → the ref, timestamps DB-owned).
41
+ */
42
+ declare const Page: EntityClass<z.ZodObject<{
43
+ canvas: EntityClass<z.ZodObject<{
44
+ name: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
46
+ name: z.ZodOptional<z.ZodString>;
47
+ urlKey: z.ZodOptional<z.ZodString>;
48
+ sortOrder: z.ZodOptional<z.ZodNumber>;
49
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "page", Record<never, never>, Record<never, never>, false>;
50
+ /**
51
+ * `AiChat` — one conversation. Deliberately minimal: the transcript is the `AiMessage` rows that
52
+ * ref it (flat rows pointing at their owner, never an embedded array nothing can ref into).
53
+ */
54
+ declare const AiChat: EntityClass<z.ZodObject<{
55
+ title: z.ZodOptional<z.ZodString>;
56
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
57
+ /** `AiMessage` — one turn in an `AiChat`. */
58
+ declare const AiMessage: EntityClass<z.ZodObject<{
59
+ chat: EntityClass<z.ZodObject<{
60
+ title: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
62
+ role: z.ZodEnum<{
63
+ user: "user";
64
+ assistant: "assistant";
65
+ }>;
66
+ content: z.ZodString;
67
+ modelId: z.ZodOptional<z.ZodString>;
68
+ sentAt: z.ZodOptional<z.ZodNumber>;
69
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-message", Record<never, never>, Record<never, never>, false>;
70
+ /**
71
+ * `AiFlow` — the invocation that produced one or more generations: which surface it started from,
72
+ * which model ran, how the agents were arranged, and — when it began as a chat turn — the message
73
+ * that kicked it off. One flow can produce several nodes (a fanout literally does), so it is its
74
+ * own entity rather than columns repeated per node.
75
+ */
76
+ declare const aiFlowOrigin: z.ZodEnum<{
77
+ chat: "chat";
78
+ comment: "comment";
79
+ mcp: "mcp";
80
+ sidebar: "sidebar";
81
+ paste: "paste";
82
+ "figma-paste": "figma-paste";
83
+ duplicate: "duplicate";
84
+ }>;
85
+ type AiFlowOrigin = z.infer<typeof aiFlowOrigin>;
86
+ declare const aiMultiAgentMode: z.ZodEnum<{
87
+ huddle: "huddle";
88
+ single: "single";
89
+ fanout: "fanout";
90
+ }>;
91
+ type AiMultiAgentMode = z.infer<typeof aiMultiAgentMode>;
92
+ declare const AiFlow: EntityClass<z.ZodObject<{
93
+ origin: z.ZodEnum<{
94
+ chat: "chat";
95
+ comment: "comment";
96
+ mcp: "mcp";
97
+ sidebar: "sidebar";
98
+ paste: "paste";
99
+ "figma-paste": "figma-paste";
100
+ duplicate: "duplicate";
101
+ }>;
102
+ lane: z.ZodOptional<z.ZodEnum<{
103
+ chat: "chat";
104
+ comment: "comment";
105
+ huddle: "huddle";
106
+ "paint-style": "paint-style";
107
+ "figma-import": "figma-import";
108
+ workspace: "workspace";
109
+ mcp: "mcp";
110
+ }>>;
111
+ modelId: z.ZodOptional<z.ZodString>;
112
+ multiAgentMode: z.ZodOptional<z.ZodEnum<{
113
+ huddle: "huddle";
114
+ single: "single";
115
+ fanout: "fanout";
116
+ }>>;
117
+ agentCount: z.ZodOptional<z.ZodNumber>;
118
+ agentNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
119
+ message: z.ZodOptional<z.ZodObject<{
120
+ __ref: z.ZodString;
121
+ }, z.core.$strip>>;
122
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-flow", Record<never, never>, Record<never, never>, false>;
123
+ /**
124
+ * `AiGeneration` — how one node came to exist: the flow that produced it, and — for an iteration —
125
+ * the lineage it varied from, as a real graph edge. Replaces the `canvas_nodes` table's
126
+ * `generation_*` and `iteration_meta` columns, which all describe this one event.
127
+ */
128
+ declare const AiGeneration: EntityClass<z.ZodObject<{
129
+ flow: z.ZodOptional<z.ZodObject<{
130
+ __ref: z.ZodString;
131
+ }, z.core.$strip>>;
132
+ parentNode: z.ZodOptional<z.ZodObject<{
133
+ __ref: z.ZodString;
134
+ }, z.core.$strip>>;
135
+ iterationNumber: z.ZodOptional<z.ZodNumber>;
136
+ description: z.ZodOptional<z.ZodString>;
137
+ instructions: z.ZodOptional<z.ZodString>;
138
+ generatedAt: z.ZodOptional<z.ZodNumber>;
139
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-generation", Record<never, never>, Record<never, never>, false>;
140
+ /**
141
+ * `Node` — the unit of a canvas: one element, one record, one row. FLAT — a subtree node is its own
142
+ * item nested under its placed root's id (`n1/badge`), and `children`/`slots` hold real node refs,
143
+ * so `dependents()`, delete-refusal and rename-cascade come from the framework instead of
144
+ * `reKeySlotRefs` (UDS-3526) / `gcUnreachableElements` (UDS-3557) hand-rolling them per gesture.
145
+ *
146
+ * Placement fields are present on a PLACED node (`page` is the discriminant — what the canvas lists
147
+ * and react-flow wraps) and absent on subtree nodes. `type` is optional for exactly one reason: a
148
+ * placed node awaiting its first generation (today's skeleton / pending placeholder) exists before
149
+ * anyone knows what it renders.
150
+ */
151
+ declare const Node: EntityClass<z.ZodObject<{
152
+ type: z.ZodOptional<z.ZodUnion<readonly [Omit<EntityClass<z.ZodObject<{
153
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
154
+ version: z.ZodOptional<z.ZodString>;
155
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
156
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
157
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
158
+ type: z.ZodLiteral<"slot">;
159
+ text: z.ZodOptional<z.ZodBoolean>;
160
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
161
+ __ref: z.ZodString;
162
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
163
+ __ref: z.ZodString;
164
+ }, z.core.$strip>>]>>;
165
+ required: z.ZodOptional<z.ZodBoolean>;
166
+ }, z.core.$strict>, z.ZodObject<{
167
+ type: z.ZodLiteral<"variant">;
168
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
169
+ [k: string]: {};
170
+ }, string[]>>, z.ZodObject<{
171
+ __ref: z.ZodString;
172
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
173
+ label: z.ZodOptional<z.ZodString>;
174
+ description: z.ZodOptional<z.ZodString>;
175
+ deprecated: z.ZodOptional<z.ZodBoolean>;
176
+ }, z.core.$strict>>]>;
177
+ required: z.ZodOptional<z.ZodBoolean>;
178
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
179
+ type: z.ZodLiteral<"forward">;
180
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
181
+ __ref: z.ZodString;
182
+ }, z.core.$strip>]>;
183
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
184
+ __ref: z.ZodString;
185
+ }, z.core.$strip>]>>;
186
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
187
+ __ref: z.ZodString;
188
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
189
+ __ref: z.ZodString;
190
+ }, z.core.$strip>>]>>;
191
+ text: z.ZodOptional<z.ZodBoolean>;
192
+ required: z.ZodOptional<z.ZodBoolean>;
193
+ }, z.core.$strict>, z.ZodTransform<{
194
+ type: "forward";
195
+ target: string | {
196
+ __ref: string;
197
+ };
198
+ into?: string | {
199
+ __ref: string;
200
+ } | undefined;
201
+ accepts?: {
202
+ __ref: string;
203
+ } | {
204
+ __ref: string;
205
+ }[] | undefined;
206
+ text?: boolean | undefined;
207
+ required?: boolean | undefined;
208
+ }, {
209
+ type: "forward";
210
+ target: string | {
211
+ __ref: string;
212
+ };
213
+ into?: string | {
214
+ __ref: string;
215
+ } | undefined;
216
+ accepts?: {
217
+ __ref: string;
218
+ } | {
219
+ __ref: string;
220
+ }[] | undefined;
221
+ text?: boolean | undefined;
222
+ required?: boolean | undefined;
223
+ }>>, z.ZodObject<{
224
+ type: z.ZodLiteral<"styleProperty">;
225
+ value: z.ZodObject<{
226
+ __ref: z.ZodString;
227
+ }, z.core.$strip>;
228
+ }, z.core.$strict>, z.ZodObject<{
229
+ type: z.ZodLiteral<"composite">;
230
+ value: z.ZodObject<{
231
+ __ref: z.ZodString;
232
+ }, z.core.$strip>;
233
+ }, z.core.$strict>, z.ZodObject<{
234
+ type: z.ZodLiteral<"motion">;
235
+ value: z.ZodDefault<z.ZodObject<{
236
+ __ref: z.ZodString;
237
+ }, z.core.$strip>>;
238
+ }, z.core.$strict>, z.ZodObject<{
239
+ type: z.ZodLiteral<"string">;
240
+ value: z.ZodOptional<z.ZodString>;
241
+ required: z.ZodOptional<z.ZodBoolean>;
242
+ }, z.core.$strict>, z.ZodObject<{
243
+ type: z.ZodLiteral<"number">;
244
+ value: z.ZodOptional<z.ZodNumber>;
245
+ required: z.ZodOptional<z.ZodBoolean>;
246
+ }, z.core.$strict>, z.ZodObject<{
247
+ type: z.ZodLiteral<"boolean">;
248
+ value: z.ZodOptional<z.ZodBoolean>;
249
+ required: z.ZodOptional<z.ZodBoolean>;
250
+ }, z.core.$strict>], "type">>>>;
251
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
252
+ __ref: z.ZodString;
253
+ }, z.core.$strip>>]>>>;
254
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
255
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
256
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
257
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
258
+ file: z.ZodOptional<z.ZodObject<{
259
+ __ref: z.ZodString;
260
+ }, z.core.$strip>>;
261
+ export: z.ZodOptional<z.ZodString>;
262
+ }, z.core.$strict>, z.ZodObject<{
263
+ icon: z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strip>, "component", {
265
+ readonly create: {
266
+ readonly data: z.ZodObject<{
267
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
268
+ version: z.ZodOptional<z.ZodString>;
269
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
270
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
271
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
272
+ type: z.ZodLiteral<"slot">;
273
+ text: z.ZodOptional<z.ZodBoolean>;
274
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
275
+ __ref: z.ZodString;
276
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
277
+ __ref: z.ZodString;
278
+ }, z.core.$strip>>]>>;
279
+ required: z.ZodOptional<z.ZodBoolean>;
280
+ }, z.core.$strict>, z.ZodObject<{
281
+ type: z.ZodLiteral<"variant">;
282
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
283
+ [k: string]: {};
284
+ }, string[]>>, z.ZodObject<{
285
+ __ref: z.ZodString;
286
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
287
+ label: z.ZodOptional<z.ZodString>;
288
+ description: z.ZodOptional<z.ZodString>;
289
+ deprecated: z.ZodOptional<z.ZodBoolean>;
290
+ }, z.core.$strict>>]>;
291
+ required: z.ZodOptional<z.ZodBoolean>;
292
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
293
+ type: z.ZodLiteral<"forward">;
294
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
295
+ __ref: z.ZodString;
296
+ }, z.core.$strip>]>;
297
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
298
+ __ref: z.ZodString;
299
+ }, z.core.$strip>]>>;
300
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
301
+ __ref: z.ZodString;
302
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
303
+ __ref: z.ZodString;
304
+ }, z.core.$strip>>]>>;
305
+ text: z.ZodOptional<z.ZodBoolean>;
306
+ required: z.ZodOptional<z.ZodBoolean>;
307
+ }, z.core.$strict>, z.ZodTransform<{
308
+ type: "forward";
309
+ target: string | {
310
+ __ref: string;
311
+ };
312
+ into?: string | {
313
+ __ref: string;
314
+ } | undefined;
315
+ accepts?: {
316
+ __ref: string;
317
+ } | {
318
+ __ref: string;
319
+ }[] | undefined;
320
+ text?: boolean | undefined;
321
+ required?: boolean | undefined;
322
+ }, {
323
+ type: "forward";
324
+ target: string | {
325
+ __ref: string;
326
+ };
327
+ into?: string | {
328
+ __ref: string;
329
+ } | undefined;
330
+ accepts?: {
331
+ __ref: string;
332
+ } | {
333
+ __ref: string;
334
+ }[] | undefined;
335
+ text?: boolean | undefined;
336
+ required?: boolean | undefined;
337
+ }>>, z.ZodObject<{
338
+ type: z.ZodLiteral<"styleProperty">;
339
+ value: z.ZodObject<{
340
+ __ref: z.ZodString;
341
+ }, z.core.$strip>;
342
+ }, z.core.$strict>, z.ZodObject<{
343
+ type: z.ZodLiteral<"composite">;
344
+ value: z.ZodObject<{
345
+ __ref: z.ZodString;
346
+ }, z.core.$strip>;
347
+ }, z.core.$strict>, z.ZodObject<{
348
+ type: z.ZodLiteral<"motion">;
349
+ value: z.ZodDefault<z.ZodObject<{
350
+ __ref: z.ZodString;
351
+ }, z.core.$strip>>;
352
+ }, z.core.$strict>, z.ZodObject<{
353
+ type: z.ZodLiteral<"string">;
354
+ value: z.ZodOptional<z.ZodString>;
355
+ required: z.ZodOptional<z.ZodBoolean>;
356
+ }, z.core.$strict>, z.ZodObject<{
357
+ type: z.ZodLiteral<"number">;
358
+ value: z.ZodOptional<z.ZodNumber>;
359
+ required: z.ZodOptional<z.ZodBoolean>;
360
+ }, z.core.$strict>, z.ZodObject<{
361
+ type: z.ZodLiteral<"boolean">;
362
+ value: z.ZodOptional<z.ZodBoolean>;
363
+ required: z.ZodOptional<z.ZodBoolean>;
364
+ }, z.core.$strict>], "type">>>>;
365
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
366
+ __ref: z.ZodString;
367
+ }, z.core.$strip>>]>>>;
368
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
369
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
370
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
371
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
372
+ file: z.ZodOptional<z.ZodObject<{
373
+ __ref: z.ZodString;
374
+ }, z.core.$strip>>;
375
+ export: z.ZodOptional<z.ZodString>;
376
+ }, z.core.$strict>;
377
+ readonly description: "Create a component at a new qualified `path`. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
378
+ readonly example: ({
379
+ config
380
+ }: {
381
+ config: Config;
382
+ kind: string;
383
+ path: string;
384
+ }) => {
385
+ path: string;
386
+ data: Record<string, unknown>;
387
+ };
388
+ };
389
+ readonly 'sub-create/anatomy': {
390
+ readonly description: "Add one anatomy node (`key` + `data`) to a component. In a batch, create child nodes before a parent whose `children` or `slots` names them; each referenced node must already exist when this operation runs.";
391
+ };
392
+ readonly 'sub-create/props': {
393
+ readonly description: "Declare a prop this component owns (`key` + `data`): a `variant`, a `slot`, a `styleProperty` or `composite` on a primitive, a `forward` routing this prop into a layer's (`{ \"type\": \"forward\", \"target\": \"<layer>/<prop>\" }`), or `null` to drop a forwarded prop from the surface. A prop one of its layers already exposes — `width` on a root that renders `Box` — is not declared here; `sub-create/forwards` exposes it at the top level.";
394
+ };
395
+ readonly 'sub-create/forwards': {
396
+ readonly description: "Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
397
+ readonly example: ({
398
+ config
399
+ }: {
400
+ config: Config;
401
+ kind: string;
402
+ path: string;
403
+ }) => {
404
+ path: string;
405
+ key: string;
406
+ data: "*";
407
+ } | undefined;
408
+ };
409
+ readonly 'sub-upsert/forwards': {
410
+ readonly description: "Set what one layer forwards, added when absent and replaced whole when present. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
411
+ };
412
+ readonly 'sub-update/forwards': {
413
+ readonly description: "Replace what one layer forwards: the member is `'*'` or a list, so `data` is the whole new value. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
414
+ };
415
+ readonly 'element-insert': {
416
+ readonly input: z.ZodObject<{
417
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
418
+ key: z.ZodOptional<z.ZodString>;
419
+ data: z.ZodPrefault<z.ZodObject<{
420
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
421
+ __ref: z.ZodString;
422
+ }, z.core.$strip>]>>;
423
+ parent: z.ZodOptional<z.ZodString>;
424
+ index: z.ZodOptional<z.ZodNumber>;
425
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
426
+ slotProp: z.ZodOptional<z.ZodString>;
427
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
428
+ not: z.ZodOptional<z.ZodLiteral<true>>;
429
+ eq: z.ZodOptional<z.ZodUnknown>;
430
+ neq: z.ZodOptional<z.ZodUnknown>;
431
+ gt: z.ZodOptional<z.ZodNumber>;
432
+ gte: z.ZodOptional<z.ZodNumber>;
433
+ lt: z.ZodOptional<z.ZodNumber>;
434
+ lte: z.ZodOptional<z.ZodNumber>;
435
+ $state: z.ZodString;
436
+ }, z.core.$strict>, z.ZodTransform<{
437
+ $state: string;
438
+ not?: true | undefined;
439
+ eq?: unknown;
440
+ neq?: unknown;
441
+ gt?: number | undefined;
442
+ gte?: number | undefined;
443
+ lt?: number | undefined;
444
+ lte?: number | undefined;
445
+ }, {
446
+ $state: string;
447
+ not?: true | undefined;
448
+ eq?: unknown;
449
+ neq?: unknown;
450
+ gt?: number | undefined;
451
+ gte?: number | undefined;
452
+ lt?: number | undefined;
453
+ lte?: number | undefined;
454
+ }>>, z.ZodObject<{
455
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
456
+ not: z.ZodOptional<z.ZodLiteral<true>>;
457
+ eq: z.ZodOptional<z.ZodUnknown>;
458
+ neq: z.ZodOptional<z.ZodUnknown>;
459
+ gt: z.ZodOptional<z.ZodNumber>;
460
+ gte: z.ZodOptional<z.ZodNumber>;
461
+ lt: z.ZodOptional<z.ZodNumber>;
462
+ lte: z.ZodOptional<z.ZodNumber>;
463
+ $state: z.ZodString;
464
+ }, z.core.$strict>, z.ZodTransform<{
465
+ $state: string;
466
+ not?: true | undefined;
467
+ eq?: unknown;
468
+ neq?: unknown;
469
+ gt?: number | undefined;
470
+ gte?: number | undefined;
471
+ lt?: number | undefined;
472
+ lte?: number | undefined;
473
+ }, {
474
+ $state: string;
475
+ not?: true | undefined;
476
+ eq?: unknown;
477
+ neq?: unknown;
478
+ gt?: number | undefined;
479
+ gte?: number | undefined;
480
+ lt?: number | undefined;
481
+ lte?: number | undefined;
482
+ }>>>;
483
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
484
+ not: z.ZodOptional<z.ZodLiteral<true>>;
485
+ eq: z.ZodOptional<z.ZodUnknown>;
486
+ neq: z.ZodOptional<z.ZodUnknown>;
487
+ gt: z.ZodOptional<z.ZodNumber>;
488
+ gte: z.ZodOptional<z.ZodNumber>;
489
+ lt: z.ZodOptional<z.ZodNumber>;
490
+ lte: z.ZodOptional<z.ZodNumber>;
491
+ $state: z.ZodString;
492
+ }, z.core.$strict>, z.ZodTransform<{
493
+ $state: string;
494
+ not?: true | undefined;
495
+ eq?: unknown;
496
+ neq?: unknown;
497
+ gt?: number | undefined;
498
+ gte?: number | undefined;
499
+ lt?: number | undefined;
500
+ lte?: number | undefined;
501
+ }, {
502
+ $state: string;
503
+ not?: true | undefined;
504
+ eq?: unknown;
505
+ neq?: unknown;
506
+ gt?: number | undefined;
507
+ gte?: number | undefined;
508
+ lt?: number | undefined;
509
+ lte?: number | undefined;
510
+ }>>, z.ZodObject<{
511
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
512
+ not: z.ZodOptional<z.ZodLiteral<true>>;
513
+ eq: z.ZodOptional<z.ZodUnknown>;
514
+ neq: z.ZodOptional<z.ZodUnknown>;
515
+ gt: z.ZodOptional<z.ZodNumber>;
516
+ gte: z.ZodOptional<z.ZodNumber>;
517
+ lt: z.ZodOptional<z.ZodNumber>;
518
+ lte: z.ZodOptional<z.ZodNumber>;
519
+ $state: z.ZodString;
520
+ }, z.core.$strict>, z.ZodTransform<{
521
+ $state: string;
522
+ not?: true | undefined;
523
+ eq?: unknown;
524
+ neq?: unknown;
525
+ gt?: number | undefined;
526
+ gte?: number | undefined;
527
+ lt?: number | undefined;
528
+ lte?: number | undefined;
529
+ }, {
530
+ $state: string;
531
+ not?: true | undefined;
532
+ eq?: unknown;
533
+ neq?: unknown;
534
+ gt?: number | undefined;
535
+ gte?: number | undefined;
536
+ lt?: number | undefined;
537
+ lte?: number | undefined;
538
+ }>>>;
539
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
540
+ __ref: z.ZodString;
541
+ }, z.core.$strip>]>>, z.ZodTransform<{
542
+ $state: string;
543
+ eq?: unknown;
544
+ } | {
545
+ $state: string;
546
+ eq?: unknown;
547
+ }[], Record<string, string | number | boolean | {
548
+ __ref: string;
549
+ }>>>]>>;
550
+ text: z.ZodOptional<z.ZodString>;
551
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
552
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
553
+ nodes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
554
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
555
+ __ref: z.ZodString;
556
+ }, z.core.$strip>]>>;
557
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
558
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
559
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
560
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
561
+ not: z.ZodOptional<z.ZodLiteral<true>>;
562
+ eq: z.ZodOptional<z.ZodUnknown>;
563
+ neq: z.ZodOptional<z.ZodUnknown>;
564
+ gt: z.ZodOptional<z.ZodNumber>;
565
+ gte: z.ZodOptional<z.ZodNumber>;
566
+ lt: z.ZodOptional<z.ZodNumber>;
567
+ lte: z.ZodOptional<z.ZodNumber>;
568
+ $state: z.ZodString;
569
+ }, z.core.$strict>, z.ZodTransform<{
570
+ $state: string;
571
+ not?: true | undefined;
572
+ eq?: unknown;
573
+ neq?: unknown;
574
+ gt?: number | undefined;
575
+ gte?: number | undefined;
576
+ lt?: number | undefined;
577
+ lte?: number | undefined;
578
+ }, {
579
+ $state: string;
580
+ not?: true | undefined;
581
+ eq?: unknown;
582
+ neq?: unknown;
583
+ gt?: number | undefined;
584
+ gte?: number | undefined;
585
+ lt?: number | undefined;
586
+ lte?: number | undefined;
587
+ }>>, z.ZodObject<{
588
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
589
+ not: z.ZodOptional<z.ZodLiteral<true>>;
590
+ eq: z.ZodOptional<z.ZodUnknown>;
591
+ neq: z.ZodOptional<z.ZodUnknown>;
592
+ gt: z.ZodOptional<z.ZodNumber>;
593
+ gte: z.ZodOptional<z.ZodNumber>;
594
+ lt: z.ZodOptional<z.ZodNumber>;
595
+ lte: z.ZodOptional<z.ZodNumber>;
596
+ $state: z.ZodString;
597
+ }, z.core.$strict>, z.ZodTransform<{
598
+ $state: string;
599
+ not?: true | undefined;
600
+ eq?: unknown;
601
+ neq?: unknown;
602
+ gt?: number | undefined;
603
+ gte?: number | undefined;
604
+ lt?: number | undefined;
605
+ lte?: number | undefined;
606
+ }, {
607
+ $state: string;
608
+ not?: true | undefined;
609
+ eq?: unknown;
610
+ neq?: unknown;
611
+ gt?: number | undefined;
612
+ gte?: number | undefined;
613
+ lt?: number | undefined;
614
+ lte?: number | undefined;
615
+ }>>>;
616
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
617
+ not: z.ZodOptional<z.ZodLiteral<true>>;
618
+ eq: z.ZodOptional<z.ZodUnknown>;
619
+ neq: z.ZodOptional<z.ZodUnknown>;
620
+ gt: z.ZodOptional<z.ZodNumber>;
621
+ gte: z.ZodOptional<z.ZodNumber>;
622
+ lt: z.ZodOptional<z.ZodNumber>;
623
+ lte: z.ZodOptional<z.ZodNumber>;
624
+ $state: z.ZodString;
625
+ }, z.core.$strict>, z.ZodTransform<{
626
+ $state: string;
627
+ not?: true | undefined;
628
+ eq?: unknown;
629
+ neq?: unknown;
630
+ gt?: number | undefined;
631
+ gte?: number | undefined;
632
+ lt?: number | undefined;
633
+ lte?: number | undefined;
634
+ }, {
635
+ $state: string;
636
+ not?: true | undefined;
637
+ eq?: unknown;
638
+ neq?: unknown;
639
+ gt?: number | undefined;
640
+ gte?: number | undefined;
641
+ lt?: number | undefined;
642
+ lte?: number | undefined;
643
+ }>>, z.ZodObject<{
644
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
645
+ not: z.ZodOptional<z.ZodLiteral<true>>;
646
+ eq: z.ZodOptional<z.ZodUnknown>;
647
+ neq: z.ZodOptional<z.ZodUnknown>;
648
+ gt: z.ZodOptional<z.ZodNumber>;
649
+ gte: z.ZodOptional<z.ZodNumber>;
650
+ lt: z.ZodOptional<z.ZodNumber>;
651
+ lte: z.ZodOptional<z.ZodNumber>;
652
+ $state: z.ZodString;
653
+ }, z.core.$strict>, z.ZodTransform<{
654
+ $state: string;
655
+ not?: true | undefined;
656
+ eq?: unknown;
657
+ neq?: unknown;
658
+ gt?: number | undefined;
659
+ gte?: number | undefined;
660
+ lt?: number | undefined;
661
+ lte?: number | undefined;
662
+ }, {
663
+ $state: string;
664
+ not?: true | undefined;
665
+ eq?: unknown;
666
+ neq?: unknown;
667
+ gt?: number | undefined;
668
+ gte?: number | undefined;
669
+ lt?: number | undefined;
670
+ lte?: number | undefined;
671
+ }>>>;
672
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
673
+ __ref: z.ZodString;
674
+ }, z.core.$strip>]>>, z.ZodTransform<{
675
+ $state: string;
676
+ eq?: unknown;
677
+ } | {
678
+ $state: string;
679
+ eq?: unknown;
680
+ }[], Record<string, string | number | boolean | {
681
+ __ref: string;
682
+ }>>>]>>;
683
+ text: z.ZodOptional<z.ZodString>;
684
+ }, z.core.$strict>>>;
685
+ subtree: z.ZodOptional<z.ZodObject<{
686
+ root: z.ZodString;
687
+ elements: z.ZodRecord<z.ZodString, z.ZodObject<{
688
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
689
+ __ref: z.ZodString;
690
+ }, z.core.$strip>]>>;
691
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
692
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
693
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
694
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
695
+ not: z.ZodOptional<z.ZodLiteral<true>>;
696
+ eq: z.ZodOptional<z.ZodUnknown>;
697
+ neq: z.ZodOptional<z.ZodUnknown>;
698
+ gt: z.ZodOptional<z.ZodNumber>;
699
+ gte: z.ZodOptional<z.ZodNumber>;
700
+ lt: z.ZodOptional<z.ZodNumber>;
701
+ lte: z.ZodOptional<z.ZodNumber>;
702
+ $state: z.ZodString;
703
+ }, z.core.$strict>, z.ZodTransform<{
704
+ $state: string;
705
+ not?: true | undefined;
706
+ eq?: unknown;
707
+ neq?: unknown;
708
+ gt?: number | undefined;
709
+ gte?: number | undefined;
710
+ lt?: number | undefined;
711
+ lte?: number | undefined;
712
+ }, {
713
+ $state: string;
714
+ not?: true | undefined;
715
+ eq?: unknown;
716
+ neq?: unknown;
717
+ gt?: number | undefined;
718
+ gte?: number | undefined;
719
+ lt?: number | undefined;
720
+ lte?: number | undefined;
721
+ }>>, z.ZodObject<{
722
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
723
+ not: z.ZodOptional<z.ZodLiteral<true>>;
724
+ eq: z.ZodOptional<z.ZodUnknown>;
725
+ neq: z.ZodOptional<z.ZodUnknown>;
726
+ gt: z.ZodOptional<z.ZodNumber>;
727
+ gte: z.ZodOptional<z.ZodNumber>;
728
+ lt: z.ZodOptional<z.ZodNumber>;
729
+ lte: z.ZodOptional<z.ZodNumber>;
730
+ $state: z.ZodString;
731
+ }, z.core.$strict>, z.ZodTransform<{
732
+ $state: string;
733
+ not?: true | undefined;
734
+ eq?: unknown;
735
+ neq?: unknown;
736
+ gt?: number | undefined;
737
+ gte?: number | undefined;
738
+ lt?: number | undefined;
739
+ lte?: number | undefined;
740
+ }, {
741
+ $state: string;
742
+ not?: true | undefined;
743
+ eq?: unknown;
744
+ neq?: unknown;
745
+ gt?: number | undefined;
746
+ gte?: number | undefined;
747
+ lt?: number | undefined;
748
+ lte?: number | undefined;
749
+ }>>>;
750
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
751
+ not: z.ZodOptional<z.ZodLiteral<true>>;
752
+ eq: z.ZodOptional<z.ZodUnknown>;
753
+ neq: z.ZodOptional<z.ZodUnknown>;
754
+ gt: z.ZodOptional<z.ZodNumber>;
755
+ gte: z.ZodOptional<z.ZodNumber>;
756
+ lt: z.ZodOptional<z.ZodNumber>;
757
+ lte: z.ZodOptional<z.ZodNumber>;
758
+ $state: z.ZodString;
759
+ }, z.core.$strict>, z.ZodTransform<{
760
+ $state: string;
761
+ not?: true | undefined;
762
+ eq?: unknown;
763
+ neq?: unknown;
764
+ gt?: number | undefined;
765
+ gte?: number | undefined;
766
+ lt?: number | undefined;
767
+ lte?: number | undefined;
768
+ }, {
769
+ $state: string;
770
+ not?: true | undefined;
771
+ eq?: unknown;
772
+ neq?: unknown;
773
+ gt?: number | undefined;
774
+ gte?: number | undefined;
775
+ lt?: number | undefined;
776
+ lte?: number | undefined;
777
+ }>>, z.ZodObject<{
778
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
779
+ not: z.ZodOptional<z.ZodLiteral<true>>;
780
+ eq: z.ZodOptional<z.ZodUnknown>;
781
+ neq: z.ZodOptional<z.ZodUnknown>;
782
+ gt: z.ZodOptional<z.ZodNumber>;
783
+ gte: z.ZodOptional<z.ZodNumber>;
784
+ lt: z.ZodOptional<z.ZodNumber>;
785
+ lte: z.ZodOptional<z.ZodNumber>;
786
+ $state: z.ZodString;
787
+ }, z.core.$strict>, z.ZodTransform<{
788
+ $state: string;
789
+ not?: true | undefined;
790
+ eq?: unknown;
791
+ neq?: unknown;
792
+ gt?: number | undefined;
793
+ gte?: number | undefined;
794
+ lt?: number | undefined;
795
+ lte?: number | undefined;
796
+ }, {
797
+ $state: string;
798
+ not?: true | undefined;
799
+ eq?: unknown;
800
+ neq?: unknown;
801
+ gt?: number | undefined;
802
+ gte?: number | undefined;
803
+ lt?: number | undefined;
804
+ lte?: number | undefined;
805
+ }>>>;
806
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
807
+ __ref: z.ZodString;
808
+ }, z.core.$strip>]>>, z.ZodTransform<{
809
+ $state: string;
810
+ eq?: unknown;
811
+ } | {
812
+ $state: string;
813
+ eq?: unknown;
814
+ }[], Record<string, string | number | boolean | {
815
+ __ref: string;
816
+ }>>>]>>;
817
+ text: z.ZodOptional<z.ZodString>;
818
+ }, z.core.$strict>>;
819
+ }, z.core.$strip>>;
820
+ }, z.core.$strip>>;
821
+ }, z.core.$strip>;
822
+ readonly readOnly: false;
823
+ readonly label: "Add element";
824
+ readonly description: "Add an element to a component: creates the LAYER it is styled through and the anatomy node that places it, under `parent`.";
825
+ readonly scope: "item";
826
+ readonly creates: true;
827
+ readonly title: (entity: string) => string;
828
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
829
+ };
830
+ readonly 'element-delete': {
831
+ readonly input: z.ZodObject<{
832
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
833
+ key: z.ZodString;
834
+ data: z.ZodOptional<z.ZodObject<{
835
+ subtree: z.ZodDefault<z.ZodBoolean>;
836
+ }, z.core.$strip>>;
837
+ }, z.core.$strip>;
838
+ readonly readOnly: false;
839
+ readonly label: "Remove element";
840
+ readonly description: "Remove an element from a component: its anatomy node, the layer it is styled through, its subtree, every parent edge naming it, and its entry in every style rule.";
841
+ readonly scope: "item";
842
+ readonly approval: "destructive";
843
+ readonly title: (entity: string) => string;
844
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
845
+ };
846
+ readonly 'element-move': {
847
+ readonly input: z.ZodObject<{
848
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
849
+ key: z.ZodString;
850
+ data: z.ZodPrefault<z.ZodObject<{
851
+ parent: z.ZodDefault<z.ZodString>;
852
+ index: z.ZodOptional<z.ZodNumber>;
853
+ slotProp: z.ZodOptional<z.ZodString>;
854
+ }, z.core.$strip>>;
855
+ }, z.core.$strip>;
856
+ readonly readOnly: false;
857
+ readonly label: "Move element";
858
+ readonly description: "Move a component's anatomy node under a different parent, to a different position under the same one, or — with `slotProp` — into a parent's slot.";
859
+ readonly scope: "item";
860
+ readonly approval: "reference-change";
861
+ readonly title: (entity: string) => string;
862
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
863
+ };
864
+ readonly validate: {
865
+ readonly input: z.ZodObject<{
866
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
867
+ data: z.ZodObject<{
868
+ props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
869
+ }, z.core.$strip>;
870
+ }, z.core.$strip>;
871
+ readonly readOnly: true;
872
+ readonly label: "Validate props";
873
+ readonly description: "Check a bag of prop VALUES against a component — rejects unknown props and out-of-domain values.";
874
+ readonly scope: "item";
875
+ readonly title: (entity: string) => string;
876
+ readonly example: ({
877
+ config,
878
+ path
879
+ }: {
880
+ config: Config;
881
+ kind: string;
882
+ path: string;
883
+ }) => {
884
+ path: string;
885
+ data: {
886
+ props: Record<string, unknown>;
887
+ };
888
+ };
889
+ readonly handler: (input: Record<string, unknown>, config: Config) => string[];
890
+ };
891
+ }, {
892
+ readonly slots: ({
893
+ config,
894
+ path,
895
+ member
896
+ }: ComputedInput) => string[];
897
+ }, false>, "ref"> & {
898
+ ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
899
+ }, EntityClass<z.ZodObject<{
900
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
901
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
902
+ codepoint: z.ZodOptional<z.ZodNumber>;
903
+ knockoutVariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
904
+ }, z.core.$strict>, z.ZodObject<{
905
+ module: z.ZodOptional<z.ZodString>;
906
+ version: z.ZodOptional<z.ZodString>;
907
+ metadata: z.ZodOptional<z.ZodObject<{
908
+ from: EntityClass<z.ZodObject<{
909
+ version: z.ZodOptional<z.ZodString>;
910
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
911
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>;
912
+ format: z.ZodEnum<{
913
+ uds: "uds";
914
+ phosphor: "phosphor";
915
+ }>;
916
+ }, z.core.$strict>>;
917
+ sizes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
918
+ variants: z.ZodOptional<z.ZodArray<z.ZodString>>;
919
+ component: z.ZodOptional<z.ZodObject<{
920
+ __ref: z.ZodString;
921
+ }, z.core.$strip>>;
922
+ }, z.core.$strict>, "icon", Record<never, never>, Record<never, never>, false>, EntityClass<z.ZodObject<{
923
+ version: z.ZodOptional<z.ZodString>;
924
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
925
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>, z.ZodObject<{
926
+ __ref: z.ZodString;
927
+ }, z.core.$strip>, z.ZodObject<{
928
+ __ref: z.ZodEnum<{
929
+ "spec:Slot": "spec:Slot";
930
+ "spec:Fragment": "spec:Fragment";
931
+ }>;
932
+ }, z.core.$strip>]>>;
933
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
934
+ children: z.ZodOptional<z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>;
935
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>>;
936
+ visible: z.ZodOptional<z.ZodUnknown>;
937
+ repeat: z.ZodOptional<z.ZodUnknown>;
938
+ ref: z.ZodOptional<z.ZodUnknown>;
939
+ locked: z.ZodOptional<z.ZodBoolean>;
940
+ label: z.ZodOptional<z.ZodString>;
941
+ page: z.ZodOptional<z.ZodObject<{
942
+ __ref: z.ZodString;
943
+ }, z.core.$strip>>;
944
+ parent: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
945
+ size: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
946
+ type: z.ZodLiteral<"custom">;
947
+ width: z.ZodNumber;
948
+ height: z.ZodNumber;
949
+ }, z.core.$strip>, z.ZodObject<{
950
+ type: z.ZodLiteral<"device">;
951
+ ref: EntityClass<z.ZodObject<{
952
+ width: z.ZodNumber;
953
+ height: z.ZodNumber;
954
+ name: z.ZodOptional<z.ZodString>;
955
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "device", Record<never, never>, Record<never, never>, false>;
956
+ }, z.core.$strip>], "type">>;
957
+ x: z.ZodOptional<z.ZodNumber>;
958
+ y: z.ZodOptional<z.ZodNumber>;
959
+ collapsed: z.ZodOptional<z.ZodBoolean>;
960
+ order: z.ZodOptional<z.ZodNumber>;
961
+ linkedSource: z.ZodOptional<z.ZodUnknown>;
962
+ state: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
963
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
964
+ generation: z.ZodOptional<z.ZodObject<{
965
+ __ref: z.ZodString;
966
+ }, z.core.$strip>>;
967
+ duplicatedFrom: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
968
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "node", Record<never, never>, {
969
+ /**
970
+ * What a layers rail (or any listing) calls this node: its authored
971
+ * `label`, else what its `type` names — the component's own display label,
972
+ * resolved through the same path everything else resolves refs by, so a
973
+ * `kind:` marker never reaches a person. A placeholder awaiting generation
974
+ * (no `type` yet) and a linked copy (a descriptor, no `type` of its own)
975
+ * have no name here; the surface falls back to what it can resolve.
976
+ *
977
+ * The read type intersects this with the base `Entity.displayLabel`, which
978
+ * is never `undefined`, so the intersection reads as `string`. The canvas
979
+ * node view re-types the field optional at its seam.
980
+ */
981
+ readonly displayLabel: ({
982
+ member,
983
+ config
984
+ }: ComputedInput) => string | undefined;
985
+ }, false>;
986
+ /**
987
+ * `CanvasConfig` — the design-file config TYPE. Owns placement, content, and AI provenance (flat,
988
+ * ref-related), DRAWS ON a system, and derives the same agent-tool catalog (`operation`/`tool`) as
989
+ * the system so its design-file CRUD tools project from it.
990
+ *
991
+ * A source, not a read-through window onto every one of the system's kinds. A node's `type` carries
992
+ * the source it points into (`component:actions/Button@<slug>`), so one resolution path serves both
993
+ * and nothing has to know that THIS config borrows a whole kind. Read-only stays read-only: a
994
+ * source's items resolve through their own config, so there is no local collection to offer CRUD
995
+ * over.
996
+ */
997
+ declare const CanvasConfig: ConfigClass<{
998
+ canvases: EntityClass<z.ZodObject<{
999
+ name: z.ZodOptional<z.ZodString>;
1000
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
1001
+ pages: EntityClass<z.ZodObject<{
1002
+ canvas: EntityClass<z.ZodObject<{
1003
+ name: z.ZodOptional<z.ZodString>;
1004
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
1005
+ name: z.ZodOptional<z.ZodString>;
1006
+ urlKey: z.ZodOptional<z.ZodString>;
1007
+ sortOrder: z.ZodOptional<z.ZodNumber>;
1008
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "page", Record<never, never>, Record<never, never>, false>;
1009
+ nodes: EntityClass<z.ZodObject<{
1010
+ type: z.ZodOptional<z.ZodUnion<readonly [Omit<EntityClass<z.ZodObject<{
1011
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
1012
+ version: z.ZodOptional<z.ZodString>;
1013
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
1014
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
1015
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1016
+ type: z.ZodLiteral<"slot">;
1017
+ text: z.ZodOptional<z.ZodBoolean>;
1018
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1019
+ __ref: z.ZodString;
1020
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1021
+ __ref: z.ZodString;
1022
+ }, z.core.$strip>>]>>;
1023
+ required: z.ZodOptional<z.ZodBoolean>;
1024
+ }, z.core.$strict>, z.ZodObject<{
1025
+ type: z.ZodLiteral<"variant">;
1026
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
1027
+ [k: string]: {};
1028
+ }, string[]>>, z.ZodObject<{
1029
+ __ref: z.ZodString;
1030
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
1031
+ label: z.ZodOptional<z.ZodString>;
1032
+ description: z.ZodOptional<z.ZodString>;
1033
+ deprecated: z.ZodOptional<z.ZodBoolean>;
1034
+ }, z.core.$strict>>]>;
1035
+ required: z.ZodOptional<z.ZodBoolean>;
1036
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
1037
+ type: z.ZodLiteral<"forward">;
1038
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1039
+ __ref: z.ZodString;
1040
+ }, z.core.$strip>]>;
1041
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1042
+ __ref: z.ZodString;
1043
+ }, z.core.$strip>]>>;
1044
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1045
+ __ref: z.ZodString;
1046
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1047
+ __ref: z.ZodString;
1048
+ }, z.core.$strip>>]>>;
1049
+ text: z.ZodOptional<z.ZodBoolean>;
1050
+ required: z.ZodOptional<z.ZodBoolean>;
1051
+ }, z.core.$strict>, z.ZodTransform<{
1052
+ type: "forward";
1053
+ target: string | {
1054
+ __ref: string;
1055
+ };
1056
+ into?: string | {
1057
+ __ref: string;
1058
+ } | undefined;
1059
+ accepts?: {
1060
+ __ref: string;
1061
+ } | {
1062
+ __ref: string;
1063
+ }[] | undefined;
1064
+ text?: boolean | undefined;
1065
+ required?: boolean | undefined;
1066
+ }, {
1067
+ type: "forward";
1068
+ target: string | {
1069
+ __ref: string;
1070
+ };
1071
+ into?: string | {
1072
+ __ref: string;
1073
+ } | undefined;
1074
+ accepts?: {
1075
+ __ref: string;
1076
+ } | {
1077
+ __ref: string;
1078
+ }[] | undefined;
1079
+ text?: boolean | undefined;
1080
+ required?: boolean | undefined;
1081
+ }>>, z.ZodObject<{
1082
+ type: z.ZodLiteral<"styleProperty">;
1083
+ value: z.ZodObject<{
1084
+ __ref: z.ZodString;
1085
+ }, z.core.$strip>;
1086
+ }, z.core.$strict>, z.ZodObject<{
1087
+ type: z.ZodLiteral<"composite">;
1088
+ value: z.ZodObject<{
1089
+ __ref: z.ZodString;
1090
+ }, z.core.$strip>;
1091
+ }, z.core.$strict>, z.ZodObject<{
1092
+ type: z.ZodLiteral<"motion">;
1093
+ value: z.ZodDefault<z.ZodObject<{
1094
+ __ref: z.ZodString;
1095
+ }, z.core.$strip>>;
1096
+ }, z.core.$strict>, z.ZodObject<{
1097
+ type: z.ZodLiteral<"string">;
1098
+ value: z.ZodOptional<z.ZodString>;
1099
+ required: z.ZodOptional<z.ZodBoolean>;
1100
+ }, z.core.$strict>, z.ZodObject<{
1101
+ type: z.ZodLiteral<"number">;
1102
+ value: z.ZodOptional<z.ZodNumber>;
1103
+ required: z.ZodOptional<z.ZodBoolean>;
1104
+ }, z.core.$strict>, z.ZodObject<{
1105
+ type: z.ZodLiteral<"boolean">;
1106
+ value: z.ZodOptional<z.ZodBoolean>;
1107
+ required: z.ZodOptional<z.ZodBoolean>;
1108
+ }, z.core.$strict>], "type">>>>;
1109
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
1110
+ __ref: z.ZodString;
1111
+ }, z.core.$strip>>]>>>;
1112
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
1113
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
1114
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
1115
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1116
+ file: z.ZodOptional<z.ZodObject<{
1117
+ __ref: z.ZodString;
1118
+ }, z.core.$strip>>;
1119
+ export: z.ZodOptional<z.ZodString>;
1120
+ }, z.core.$strict>, z.ZodObject<{
1121
+ icon: z.ZodOptional<z.ZodString>;
1122
+ }, z.core.$strip>, "component", {
1123
+ readonly create: {
1124
+ readonly data: z.ZodObject<{
1125
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
1126
+ version: z.ZodOptional<z.ZodString>;
1127
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
1128
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
1129
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1130
+ type: z.ZodLiteral<"slot">;
1131
+ text: z.ZodOptional<z.ZodBoolean>;
1132
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1133
+ __ref: z.ZodString;
1134
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1135
+ __ref: z.ZodString;
1136
+ }, z.core.$strip>>]>>;
1137
+ required: z.ZodOptional<z.ZodBoolean>;
1138
+ }, z.core.$strict>, z.ZodObject<{
1139
+ type: z.ZodLiteral<"variant">;
1140
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
1141
+ [k: string]: {};
1142
+ }, string[]>>, z.ZodObject<{
1143
+ __ref: z.ZodString;
1144
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
1145
+ label: z.ZodOptional<z.ZodString>;
1146
+ description: z.ZodOptional<z.ZodString>;
1147
+ deprecated: z.ZodOptional<z.ZodBoolean>;
1148
+ }, z.core.$strict>>]>;
1149
+ required: z.ZodOptional<z.ZodBoolean>;
1150
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
1151
+ type: z.ZodLiteral<"forward">;
1152
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1153
+ __ref: z.ZodString;
1154
+ }, z.core.$strip>]>;
1155
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1156
+ __ref: z.ZodString;
1157
+ }, z.core.$strip>]>>;
1158
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1159
+ __ref: z.ZodString;
1160
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1161
+ __ref: z.ZodString;
1162
+ }, z.core.$strip>>]>>;
1163
+ text: z.ZodOptional<z.ZodBoolean>;
1164
+ required: z.ZodOptional<z.ZodBoolean>;
1165
+ }, z.core.$strict>, z.ZodTransform<{
1166
+ type: "forward";
1167
+ target: string | {
1168
+ __ref: string;
1169
+ };
1170
+ into?: string | {
1171
+ __ref: string;
1172
+ } | undefined;
1173
+ accepts?: {
1174
+ __ref: string;
1175
+ } | {
1176
+ __ref: string;
1177
+ }[] | undefined;
1178
+ text?: boolean | undefined;
1179
+ required?: boolean | undefined;
1180
+ }, {
1181
+ type: "forward";
1182
+ target: string | {
1183
+ __ref: string;
1184
+ };
1185
+ into?: string | {
1186
+ __ref: string;
1187
+ } | undefined;
1188
+ accepts?: {
1189
+ __ref: string;
1190
+ } | {
1191
+ __ref: string;
1192
+ }[] | undefined;
1193
+ text?: boolean | undefined;
1194
+ required?: boolean | undefined;
1195
+ }>>, z.ZodObject<{
1196
+ type: z.ZodLiteral<"styleProperty">;
1197
+ value: z.ZodObject<{
1198
+ __ref: z.ZodString;
1199
+ }, z.core.$strip>;
1200
+ }, z.core.$strict>, z.ZodObject<{
1201
+ type: z.ZodLiteral<"composite">;
1202
+ value: z.ZodObject<{
1203
+ __ref: z.ZodString;
1204
+ }, z.core.$strip>;
1205
+ }, z.core.$strict>, z.ZodObject<{
1206
+ type: z.ZodLiteral<"motion">;
1207
+ value: z.ZodDefault<z.ZodObject<{
1208
+ __ref: z.ZodString;
1209
+ }, z.core.$strip>>;
1210
+ }, z.core.$strict>, z.ZodObject<{
1211
+ type: z.ZodLiteral<"string">;
1212
+ value: z.ZodOptional<z.ZodString>;
1213
+ required: z.ZodOptional<z.ZodBoolean>;
1214
+ }, z.core.$strict>, z.ZodObject<{
1215
+ type: z.ZodLiteral<"number">;
1216
+ value: z.ZodOptional<z.ZodNumber>;
1217
+ required: z.ZodOptional<z.ZodBoolean>;
1218
+ }, z.core.$strict>, z.ZodObject<{
1219
+ type: z.ZodLiteral<"boolean">;
1220
+ value: z.ZodOptional<z.ZodBoolean>;
1221
+ required: z.ZodOptional<z.ZodBoolean>;
1222
+ }, z.core.$strict>], "type">>>>;
1223
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
1224
+ __ref: z.ZodString;
1225
+ }, z.core.$strip>>]>>>;
1226
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
1227
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
1228
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
1229
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1230
+ file: z.ZodOptional<z.ZodObject<{
1231
+ __ref: z.ZodString;
1232
+ }, z.core.$strip>>;
1233
+ export: z.ZodOptional<z.ZodString>;
1234
+ }, z.core.$strict>;
1235
+ readonly description: "Create a component at a new qualified `path`. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
1236
+ readonly example: ({
1237
+ config
1238
+ }: {
1239
+ config: Config;
1240
+ kind: string;
1241
+ path: string;
1242
+ }) => {
1243
+ path: string;
1244
+ data: Record<string, unknown>;
1245
+ };
1246
+ };
1247
+ readonly 'sub-create/anatomy': {
1248
+ readonly description: "Add one anatomy node (`key` + `data`) to a component. In a batch, create child nodes before a parent whose `children` or `slots` names them; each referenced node must already exist when this operation runs.";
1249
+ };
1250
+ readonly 'sub-create/props': {
1251
+ readonly description: "Declare a prop this component owns (`key` + `data`): a `variant`, a `slot`, a `styleProperty` or `composite` on a primitive, a `forward` routing this prop into a layer's (`{ \"type\": \"forward\", \"target\": \"<layer>/<prop>\" }`), or `null` to drop a forwarded prop from the surface. A prop one of its layers already exposes — `width` on a root that renders `Box` — is not declared here; `sub-create/forwards` exposes it at the top level.";
1252
+ };
1253
+ readonly 'sub-create/forwards': {
1254
+ readonly description: "Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
1255
+ readonly example: ({
1256
+ config
1257
+ }: {
1258
+ config: Config;
1259
+ kind: string;
1260
+ path: string;
1261
+ }) => {
1262
+ path: string;
1263
+ key: string;
1264
+ data: "*";
1265
+ } | undefined;
1266
+ };
1267
+ readonly 'sub-upsert/forwards': {
1268
+ readonly description: "Set what one layer forwards, added when absent and replaced whole when present. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
1269
+ };
1270
+ readonly 'sub-update/forwards': {
1271
+ readonly description: "Replace what one layer forwards: the member is `'*'` or a list, so `data` is the whole new value. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
1272
+ };
1273
+ readonly 'element-insert': {
1274
+ readonly input: z.ZodObject<{
1275
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
1276
+ key: z.ZodOptional<z.ZodString>;
1277
+ data: z.ZodPrefault<z.ZodObject<{
1278
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1279
+ __ref: z.ZodString;
1280
+ }, z.core.$strip>]>>;
1281
+ parent: z.ZodOptional<z.ZodString>;
1282
+ index: z.ZodOptional<z.ZodNumber>;
1283
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1284
+ slotProp: z.ZodOptional<z.ZodString>;
1285
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1286
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1287
+ eq: z.ZodOptional<z.ZodUnknown>;
1288
+ neq: z.ZodOptional<z.ZodUnknown>;
1289
+ gt: z.ZodOptional<z.ZodNumber>;
1290
+ gte: z.ZodOptional<z.ZodNumber>;
1291
+ lt: z.ZodOptional<z.ZodNumber>;
1292
+ lte: z.ZodOptional<z.ZodNumber>;
1293
+ $state: z.ZodString;
1294
+ }, z.core.$strict>, z.ZodTransform<{
1295
+ $state: string;
1296
+ not?: true | undefined;
1297
+ eq?: unknown;
1298
+ neq?: unknown;
1299
+ gt?: number | undefined;
1300
+ gte?: number | undefined;
1301
+ lt?: number | undefined;
1302
+ lte?: number | undefined;
1303
+ }, {
1304
+ $state: string;
1305
+ not?: true | undefined;
1306
+ eq?: unknown;
1307
+ neq?: unknown;
1308
+ gt?: number | undefined;
1309
+ gte?: number | undefined;
1310
+ lt?: number | undefined;
1311
+ lte?: number | undefined;
1312
+ }>>, z.ZodObject<{
1313
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1314
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1315
+ eq: z.ZodOptional<z.ZodUnknown>;
1316
+ neq: z.ZodOptional<z.ZodUnknown>;
1317
+ gt: z.ZodOptional<z.ZodNumber>;
1318
+ gte: z.ZodOptional<z.ZodNumber>;
1319
+ lt: z.ZodOptional<z.ZodNumber>;
1320
+ lte: z.ZodOptional<z.ZodNumber>;
1321
+ $state: z.ZodString;
1322
+ }, z.core.$strict>, z.ZodTransform<{
1323
+ $state: string;
1324
+ not?: true | undefined;
1325
+ eq?: unknown;
1326
+ neq?: unknown;
1327
+ gt?: number | undefined;
1328
+ gte?: number | undefined;
1329
+ lt?: number | undefined;
1330
+ lte?: number | undefined;
1331
+ }, {
1332
+ $state: string;
1333
+ not?: true | undefined;
1334
+ eq?: unknown;
1335
+ neq?: unknown;
1336
+ gt?: number | undefined;
1337
+ gte?: number | undefined;
1338
+ lt?: number | undefined;
1339
+ lte?: number | undefined;
1340
+ }>>>;
1341
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1342
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1343
+ eq: z.ZodOptional<z.ZodUnknown>;
1344
+ neq: z.ZodOptional<z.ZodUnknown>;
1345
+ gt: z.ZodOptional<z.ZodNumber>;
1346
+ gte: z.ZodOptional<z.ZodNumber>;
1347
+ lt: z.ZodOptional<z.ZodNumber>;
1348
+ lte: z.ZodOptional<z.ZodNumber>;
1349
+ $state: z.ZodString;
1350
+ }, z.core.$strict>, z.ZodTransform<{
1351
+ $state: string;
1352
+ not?: true | undefined;
1353
+ eq?: unknown;
1354
+ neq?: unknown;
1355
+ gt?: number | undefined;
1356
+ gte?: number | undefined;
1357
+ lt?: number | undefined;
1358
+ lte?: number | undefined;
1359
+ }, {
1360
+ $state: string;
1361
+ not?: true | undefined;
1362
+ eq?: unknown;
1363
+ neq?: unknown;
1364
+ gt?: number | undefined;
1365
+ gte?: number | undefined;
1366
+ lt?: number | undefined;
1367
+ lte?: number | undefined;
1368
+ }>>, z.ZodObject<{
1369
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1370
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1371
+ eq: z.ZodOptional<z.ZodUnknown>;
1372
+ neq: z.ZodOptional<z.ZodUnknown>;
1373
+ gt: z.ZodOptional<z.ZodNumber>;
1374
+ gte: z.ZodOptional<z.ZodNumber>;
1375
+ lt: z.ZodOptional<z.ZodNumber>;
1376
+ lte: z.ZodOptional<z.ZodNumber>;
1377
+ $state: z.ZodString;
1378
+ }, z.core.$strict>, z.ZodTransform<{
1379
+ $state: string;
1380
+ not?: true | undefined;
1381
+ eq?: unknown;
1382
+ neq?: unknown;
1383
+ gt?: number | undefined;
1384
+ gte?: number | undefined;
1385
+ lt?: number | undefined;
1386
+ lte?: number | undefined;
1387
+ }, {
1388
+ $state: string;
1389
+ not?: true | undefined;
1390
+ eq?: unknown;
1391
+ neq?: unknown;
1392
+ gt?: number | undefined;
1393
+ gte?: number | undefined;
1394
+ lt?: number | undefined;
1395
+ lte?: number | undefined;
1396
+ }>>>;
1397
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1398
+ __ref: z.ZodString;
1399
+ }, z.core.$strip>]>>, z.ZodTransform<{
1400
+ $state: string;
1401
+ eq?: unknown;
1402
+ } | {
1403
+ $state: string;
1404
+ eq?: unknown;
1405
+ }[], Record<string, string | number | boolean | {
1406
+ __ref: string;
1407
+ }>>>]>>;
1408
+ text: z.ZodOptional<z.ZodString>;
1409
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
1410
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
1411
+ nodes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1412
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1413
+ __ref: z.ZodString;
1414
+ }, z.core.$strip>]>>;
1415
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1416
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
1417
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
1418
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1419
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1420
+ eq: z.ZodOptional<z.ZodUnknown>;
1421
+ neq: z.ZodOptional<z.ZodUnknown>;
1422
+ gt: z.ZodOptional<z.ZodNumber>;
1423
+ gte: z.ZodOptional<z.ZodNumber>;
1424
+ lt: z.ZodOptional<z.ZodNumber>;
1425
+ lte: z.ZodOptional<z.ZodNumber>;
1426
+ $state: z.ZodString;
1427
+ }, z.core.$strict>, z.ZodTransform<{
1428
+ $state: string;
1429
+ not?: true | undefined;
1430
+ eq?: unknown;
1431
+ neq?: unknown;
1432
+ gt?: number | undefined;
1433
+ gte?: number | undefined;
1434
+ lt?: number | undefined;
1435
+ lte?: number | undefined;
1436
+ }, {
1437
+ $state: string;
1438
+ not?: true | undefined;
1439
+ eq?: unknown;
1440
+ neq?: unknown;
1441
+ gt?: number | undefined;
1442
+ gte?: number | undefined;
1443
+ lt?: number | undefined;
1444
+ lte?: number | undefined;
1445
+ }>>, z.ZodObject<{
1446
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1447
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1448
+ eq: z.ZodOptional<z.ZodUnknown>;
1449
+ neq: z.ZodOptional<z.ZodUnknown>;
1450
+ gt: z.ZodOptional<z.ZodNumber>;
1451
+ gte: z.ZodOptional<z.ZodNumber>;
1452
+ lt: z.ZodOptional<z.ZodNumber>;
1453
+ lte: z.ZodOptional<z.ZodNumber>;
1454
+ $state: z.ZodString;
1455
+ }, z.core.$strict>, z.ZodTransform<{
1456
+ $state: string;
1457
+ not?: true | undefined;
1458
+ eq?: unknown;
1459
+ neq?: unknown;
1460
+ gt?: number | undefined;
1461
+ gte?: number | undefined;
1462
+ lt?: number | undefined;
1463
+ lte?: number | undefined;
1464
+ }, {
1465
+ $state: string;
1466
+ not?: true | undefined;
1467
+ eq?: unknown;
1468
+ neq?: unknown;
1469
+ gt?: number | undefined;
1470
+ gte?: number | undefined;
1471
+ lt?: number | undefined;
1472
+ lte?: number | undefined;
1473
+ }>>>;
1474
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1475
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1476
+ eq: z.ZodOptional<z.ZodUnknown>;
1477
+ neq: z.ZodOptional<z.ZodUnknown>;
1478
+ gt: z.ZodOptional<z.ZodNumber>;
1479
+ gte: z.ZodOptional<z.ZodNumber>;
1480
+ lt: z.ZodOptional<z.ZodNumber>;
1481
+ lte: z.ZodOptional<z.ZodNumber>;
1482
+ $state: z.ZodString;
1483
+ }, z.core.$strict>, z.ZodTransform<{
1484
+ $state: string;
1485
+ not?: true | undefined;
1486
+ eq?: unknown;
1487
+ neq?: unknown;
1488
+ gt?: number | undefined;
1489
+ gte?: number | undefined;
1490
+ lt?: number | undefined;
1491
+ lte?: number | undefined;
1492
+ }, {
1493
+ $state: string;
1494
+ not?: true | undefined;
1495
+ eq?: unknown;
1496
+ neq?: unknown;
1497
+ gt?: number | undefined;
1498
+ gte?: number | undefined;
1499
+ lt?: number | undefined;
1500
+ lte?: number | undefined;
1501
+ }>>, z.ZodObject<{
1502
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1503
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1504
+ eq: z.ZodOptional<z.ZodUnknown>;
1505
+ neq: z.ZodOptional<z.ZodUnknown>;
1506
+ gt: z.ZodOptional<z.ZodNumber>;
1507
+ gte: z.ZodOptional<z.ZodNumber>;
1508
+ lt: z.ZodOptional<z.ZodNumber>;
1509
+ lte: z.ZodOptional<z.ZodNumber>;
1510
+ $state: z.ZodString;
1511
+ }, z.core.$strict>, z.ZodTransform<{
1512
+ $state: string;
1513
+ not?: true | undefined;
1514
+ eq?: unknown;
1515
+ neq?: unknown;
1516
+ gt?: number | undefined;
1517
+ gte?: number | undefined;
1518
+ lt?: number | undefined;
1519
+ lte?: number | undefined;
1520
+ }, {
1521
+ $state: string;
1522
+ not?: true | undefined;
1523
+ eq?: unknown;
1524
+ neq?: unknown;
1525
+ gt?: number | undefined;
1526
+ gte?: number | undefined;
1527
+ lt?: number | undefined;
1528
+ lte?: number | undefined;
1529
+ }>>>;
1530
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1531
+ __ref: z.ZodString;
1532
+ }, z.core.$strip>]>>, z.ZodTransform<{
1533
+ $state: string;
1534
+ eq?: unknown;
1535
+ } | {
1536
+ $state: string;
1537
+ eq?: unknown;
1538
+ }[], Record<string, string | number | boolean | {
1539
+ __ref: string;
1540
+ }>>>]>>;
1541
+ text: z.ZodOptional<z.ZodString>;
1542
+ }, z.core.$strict>>>;
1543
+ subtree: z.ZodOptional<z.ZodObject<{
1544
+ root: z.ZodString;
1545
+ elements: z.ZodRecord<z.ZodString, z.ZodObject<{
1546
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1547
+ __ref: z.ZodString;
1548
+ }, z.core.$strip>]>>;
1549
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1550
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
1551
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
1552
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1553
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1554
+ eq: z.ZodOptional<z.ZodUnknown>;
1555
+ neq: z.ZodOptional<z.ZodUnknown>;
1556
+ gt: z.ZodOptional<z.ZodNumber>;
1557
+ gte: z.ZodOptional<z.ZodNumber>;
1558
+ lt: z.ZodOptional<z.ZodNumber>;
1559
+ lte: z.ZodOptional<z.ZodNumber>;
1560
+ $state: z.ZodString;
1561
+ }, z.core.$strict>, z.ZodTransform<{
1562
+ $state: string;
1563
+ not?: true | undefined;
1564
+ eq?: unknown;
1565
+ neq?: unknown;
1566
+ gt?: number | undefined;
1567
+ gte?: number | undefined;
1568
+ lt?: number | undefined;
1569
+ lte?: number | undefined;
1570
+ }, {
1571
+ $state: string;
1572
+ not?: true | undefined;
1573
+ eq?: unknown;
1574
+ neq?: unknown;
1575
+ gt?: number | undefined;
1576
+ gte?: number | undefined;
1577
+ lt?: number | undefined;
1578
+ lte?: number | undefined;
1579
+ }>>, z.ZodObject<{
1580
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1581
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1582
+ eq: z.ZodOptional<z.ZodUnknown>;
1583
+ neq: z.ZodOptional<z.ZodUnknown>;
1584
+ gt: z.ZodOptional<z.ZodNumber>;
1585
+ gte: z.ZodOptional<z.ZodNumber>;
1586
+ lt: z.ZodOptional<z.ZodNumber>;
1587
+ lte: z.ZodOptional<z.ZodNumber>;
1588
+ $state: z.ZodString;
1589
+ }, z.core.$strict>, z.ZodTransform<{
1590
+ $state: string;
1591
+ not?: true | undefined;
1592
+ eq?: unknown;
1593
+ neq?: unknown;
1594
+ gt?: number | undefined;
1595
+ gte?: number | undefined;
1596
+ lt?: number | undefined;
1597
+ lte?: number | undefined;
1598
+ }, {
1599
+ $state: string;
1600
+ not?: true | undefined;
1601
+ eq?: unknown;
1602
+ neq?: unknown;
1603
+ gt?: number | undefined;
1604
+ gte?: number | undefined;
1605
+ lt?: number | undefined;
1606
+ lte?: number | undefined;
1607
+ }>>>;
1608
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1609
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1610
+ eq: z.ZodOptional<z.ZodUnknown>;
1611
+ neq: z.ZodOptional<z.ZodUnknown>;
1612
+ gt: z.ZodOptional<z.ZodNumber>;
1613
+ gte: z.ZodOptional<z.ZodNumber>;
1614
+ lt: z.ZodOptional<z.ZodNumber>;
1615
+ lte: z.ZodOptional<z.ZodNumber>;
1616
+ $state: z.ZodString;
1617
+ }, z.core.$strict>, z.ZodTransform<{
1618
+ $state: string;
1619
+ not?: true | undefined;
1620
+ eq?: unknown;
1621
+ neq?: unknown;
1622
+ gt?: number | undefined;
1623
+ gte?: number | undefined;
1624
+ lt?: number | undefined;
1625
+ lte?: number | undefined;
1626
+ }, {
1627
+ $state: string;
1628
+ not?: true | undefined;
1629
+ eq?: unknown;
1630
+ neq?: unknown;
1631
+ gt?: number | undefined;
1632
+ gte?: number | undefined;
1633
+ lt?: number | undefined;
1634
+ lte?: number | undefined;
1635
+ }>>, z.ZodObject<{
1636
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1637
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1638
+ eq: z.ZodOptional<z.ZodUnknown>;
1639
+ neq: z.ZodOptional<z.ZodUnknown>;
1640
+ gt: z.ZodOptional<z.ZodNumber>;
1641
+ gte: z.ZodOptional<z.ZodNumber>;
1642
+ lt: z.ZodOptional<z.ZodNumber>;
1643
+ lte: z.ZodOptional<z.ZodNumber>;
1644
+ $state: z.ZodString;
1645
+ }, z.core.$strict>, z.ZodTransform<{
1646
+ $state: string;
1647
+ not?: true | undefined;
1648
+ eq?: unknown;
1649
+ neq?: unknown;
1650
+ gt?: number | undefined;
1651
+ gte?: number | undefined;
1652
+ lt?: number | undefined;
1653
+ lte?: number | undefined;
1654
+ }, {
1655
+ $state: string;
1656
+ not?: true | undefined;
1657
+ eq?: unknown;
1658
+ neq?: unknown;
1659
+ gt?: number | undefined;
1660
+ gte?: number | undefined;
1661
+ lt?: number | undefined;
1662
+ lte?: number | undefined;
1663
+ }>>>;
1664
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1665
+ __ref: z.ZodString;
1666
+ }, z.core.$strip>]>>, z.ZodTransform<{
1667
+ $state: string;
1668
+ eq?: unknown;
1669
+ } | {
1670
+ $state: string;
1671
+ eq?: unknown;
1672
+ }[], Record<string, string | number | boolean | {
1673
+ __ref: string;
1674
+ }>>>]>>;
1675
+ text: z.ZodOptional<z.ZodString>;
1676
+ }, z.core.$strict>>;
1677
+ }, z.core.$strip>>;
1678
+ }, z.core.$strip>>;
1679
+ }, z.core.$strip>;
1680
+ readonly readOnly: false;
1681
+ readonly label: "Add element";
1682
+ readonly description: "Add an element to a component: creates the LAYER it is styled through and the anatomy node that places it, under `parent`.";
1683
+ readonly scope: "item";
1684
+ readonly creates: true;
1685
+ readonly title: (entity: string) => string;
1686
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1687
+ };
1688
+ readonly 'element-delete': {
1689
+ readonly input: z.ZodObject<{
1690
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
1691
+ key: z.ZodString;
1692
+ data: z.ZodOptional<z.ZodObject<{
1693
+ subtree: z.ZodDefault<z.ZodBoolean>;
1694
+ }, z.core.$strip>>;
1695
+ }, z.core.$strip>;
1696
+ readonly readOnly: false;
1697
+ readonly label: "Remove element";
1698
+ readonly description: "Remove an element from a component: its anatomy node, the layer it is styled through, its subtree, every parent edge naming it, and its entry in every style rule.";
1699
+ readonly scope: "item";
1700
+ readonly approval: "destructive";
1701
+ readonly title: (entity: string) => string;
1702
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1703
+ };
1704
+ readonly 'element-move': {
1705
+ readonly input: z.ZodObject<{
1706
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
1707
+ key: z.ZodString;
1708
+ data: z.ZodPrefault<z.ZodObject<{
1709
+ parent: z.ZodDefault<z.ZodString>;
1710
+ index: z.ZodOptional<z.ZodNumber>;
1711
+ slotProp: z.ZodOptional<z.ZodString>;
1712
+ }, z.core.$strip>>;
1713
+ }, z.core.$strip>;
1714
+ readonly readOnly: false;
1715
+ readonly label: "Move element";
1716
+ readonly description: "Move a component's anatomy node under a different parent, to a different position under the same one, or — with `slotProp` — into a parent's slot.";
1717
+ readonly scope: "item";
1718
+ readonly approval: "reference-change";
1719
+ readonly title: (entity: string) => string;
1720
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1721
+ };
1722
+ readonly validate: {
1723
+ readonly input: z.ZodObject<{
1724
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
1725
+ data: z.ZodObject<{
1726
+ props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1727
+ }, z.core.$strip>;
1728
+ }, z.core.$strip>;
1729
+ readonly readOnly: true;
1730
+ readonly label: "Validate props";
1731
+ readonly description: "Check a bag of prop VALUES against a component — rejects unknown props and out-of-domain values.";
1732
+ readonly scope: "item";
1733
+ readonly title: (entity: string) => string;
1734
+ readonly example: ({
1735
+ config,
1736
+ path
1737
+ }: {
1738
+ config: Config;
1739
+ kind: string;
1740
+ path: string;
1741
+ }) => {
1742
+ path: string;
1743
+ data: {
1744
+ props: Record<string, unknown>;
1745
+ };
1746
+ };
1747
+ readonly handler: (input: Record<string, unknown>, config: Config) => string[];
1748
+ };
1749
+ }, {
1750
+ readonly slots: ({
1751
+ config,
1752
+ path,
1753
+ member
1754
+ }: ComputedInput) => string[];
1755
+ }, false>, "ref"> & {
1756
+ ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
1757
+ }, EntityClass<z.ZodObject<{
1758
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1759
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1760
+ codepoint: z.ZodOptional<z.ZodNumber>;
1761
+ knockoutVariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
1762
+ }, z.core.$strict>, z.ZodObject<{
1763
+ module: z.ZodOptional<z.ZodString>;
1764
+ version: z.ZodOptional<z.ZodString>;
1765
+ metadata: z.ZodOptional<z.ZodObject<{
1766
+ from: EntityClass<z.ZodObject<{
1767
+ version: z.ZodOptional<z.ZodString>;
1768
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
1769
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>;
1770
+ format: z.ZodEnum<{
1771
+ uds: "uds";
1772
+ phosphor: "phosphor";
1773
+ }>;
1774
+ }, z.core.$strict>>;
1775
+ sizes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1776
+ variants: z.ZodOptional<z.ZodArray<z.ZodString>>;
1777
+ component: z.ZodOptional<z.ZodObject<{
1778
+ __ref: z.ZodString;
1779
+ }, z.core.$strip>>;
1780
+ }, z.core.$strict>, "icon", Record<never, never>, Record<never, never>, false>, EntityClass<z.ZodObject<{
1781
+ version: z.ZodOptional<z.ZodString>;
1782
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
1783
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>, z.ZodObject<{
1784
+ __ref: z.ZodString;
1785
+ }, z.core.$strip>, z.ZodObject<{
1786
+ __ref: z.ZodEnum<{
1787
+ "spec:Slot": "spec:Slot";
1788
+ "spec:Fragment": "spec:Fragment";
1789
+ }>;
1790
+ }, z.core.$strip>]>>;
1791
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1792
+ children: z.ZodOptional<z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>;
1793
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>>;
1794
+ visible: z.ZodOptional<z.ZodUnknown>;
1795
+ repeat: z.ZodOptional<z.ZodUnknown>;
1796
+ ref: z.ZodOptional<z.ZodUnknown>;
1797
+ locked: z.ZodOptional<z.ZodBoolean>;
1798
+ label: z.ZodOptional<z.ZodString>;
1799
+ page: z.ZodOptional<z.ZodObject<{
1800
+ __ref: z.ZodString;
1801
+ }, z.core.$strip>>;
1802
+ parent: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
1803
+ size: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1804
+ type: z.ZodLiteral<"custom">;
1805
+ width: z.ZodNumber;
1806
+ height: z.ZodNumber;
1807
+ }, z.core.$strip>, z.ZodObject<{
1808
+ type: z.ZodLiteral<"device">;
1809
+ ref: EntityClass<z.ZodObject<{
1810
+ width: z.ZodNumber;
1811
+ height: z.ZodNumber;
1812
+ name: z.ZodOptional<z.ZodString>;
1813
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "device", Record<never, never>, Record<never, never>, false>;
1814
+ }, z.core.$strip>], "type">>;
1815
+ x: z.ZodOptional<z.ZodNumber>;
1816
+ y: z.ZodOptional<z.ZodNumber>;
1817
+ collapsed: z.ZodOptional<z.ZodBoolean>;
1818
+ order: z.ZodOptional<z.ZodNumber>;
1819
+ linkedSource: z.ZodOptional<z.ZodUnknown>;
1820
+ state: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1821
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1822
+ generation: z.ZodOptional<z.ZodObject<{
1823
+ __ref: z.ZodString;
1824
+ }, z.core.$strip>>;
1825
+ duplicatedFrom: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
1826
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "node", Record<never, never>, {
1827
+ /**
1828
+ * What a layers rail (or any listing) calls this node: its authored
1829
+ * `label`, else what its `type` names — the component's own display label,
1830
+ * resolved through the same path everything else resolves refs by, so a
1831
+ * `kind:` marker never reaches a person. A placeholder awaiting generation
1832
+ * (no `type` yet) and a linked copy (a descriptor, no `type` of its own)
1833
+ * have no name here; the surface falls back to what it can resolve.
1834
+ *
1835
+ * The read type intersects this with the base `Entity.displayLabel`, which
1836
+ * is never `undefined`, so the intersection reads as `string`. The canvas
1837
+ * node view re-types the field optional at its seam.
1838
+ */
1839
+ readonly displayLabel: ({
1840
+ member,
1841
+ config
1842
+ }: ComputedInput) => string | undefined;
1843
+ }, false>;
1844
+ chats: EntityClass<z.ZodObject<{
1845
+ title: z.ZodOptional<z.ZodString>;
1846
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
1847
+ messages: EntityClass<z.ZodObject<{
1848
+ chat: EntityClass<z.ZodObject<{
1849
+ title: z.ZodOptional<z.ZodString>;
1850
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
1851
+ role: z.ZodEnum<{
1852
+ user: "user";
1853
+ assistant: "assistant";
1854
+ }>;
1855
+ content: z.ZodString;
1856
+ modelId: z.ZodOptional<z.ZodString>;
1857
+ sentAt: z.ZodOptional<z.ZodNumber>;
1858
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-message", Record<never, never>, Record<never, never>, false>;
1859
+ flows: EntityClass<z.ZodObject<{
1860
+ origin: z.ZodEnum<{
1861
+ chat: "chat";
1862
+ comment: "comment";
1863
+ mcp: "mcp";
1864
+ sidebar: "sidebar";
1865
+ paste: "paste";
1866
+ "figma-paste": "figma-paste";
1867
+ duplicate: "duplicate";
1868
+ }>;
1869
+ lane: z.ZodOptional<z.ZodEnum<{
1870
+ chat: "chat";
1871
+ comment: "comment";
1872
+ huddle: "huddle";
1873
+ "paint-style": "paint-style";
1874
+ "figma-import": "figma-import";
1875
+ workspace: "workspace";
1876
+ mcp: "mcp";
1877
+ }>>;
1878
+ modelId: z.ZodOptional<z.ZodString>;
1879
+ multiAgentMode: z.ZodOptional<z.ZodEnum<{
1880
+ huddle: "huddle";
1881
+ single: "single";
1882
+ fanout: "fanout";
1883
+ }>>;
1884
+ agentCount: z.ZodOptional<z.ZodNumber>;
1885
+ agentNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1886
+ message: z.ZodOptional<z.ZodObject<{
1887
+ __ref: z.ZodString;
1888
+ }, z.core.$strip>>;
1889
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-flow", Record<never, never>, Record<never, never>, false>;
1890
+ generations: EntityClass<z.ZodObject<{
1891
+ flow: z.ZodOptional<z.ZodObject<{
1892
+ __ref: z.ZodString;
1893
+ }, z.core.$strip>>;
1894
+ parentNode: z.ZodOptional<z.ZodObject<{
1895
+ __ref: z.ZodString;
1896
+ }, z.core.$strip>>;
1897
+ iterationNumber: z.ZodOptional<z.ZodNumber>;
1898
+ description: z.ZodOptional<z.ZodString>;
1899
+ instructions: z.ZodOptional<z.ZodString>;
1900
+ generatedAt: z.ZodOptional<z.ZodNumber>;
1901
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-generation", Record<never, never>, Record<never, never>, false>;
1902
+ systems: EntityClass<z.ZodObject<{
1903
+ systemId: z.ZodOptional<z.ZodString>;
1904
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "system-source", Record<never, never>, Record<never, never>, false>;
1905
+ }, {
1906
+ operations: DerivedEntityClass<z.ZodObject<{
1907
+ kind: z.ZodString;
1908
+ verb: z.ZodString;
1909
+ readOnly: z.ZodBoolean;
1910
+ label: z.ZodString;
1911
+ description: z.ZodString;
1912
+ scope: z.ZodString;
1913
+ creates: z.ZodBoolean;
1914
+ approval: z.ZodOptional<z.ZodEnum<{
1915
+ destructive: "destructive";
1916
+ "reference-change": "reference-change";
1917
+ }>>;
1918
+ }, z.core.$strip>, {
1919
+ inputSchema: ({
1920
+ member: op,
1921
+ config
1922
+ }: Omit<ComputedInput, "member"> & {
1923
+ member: {
1924
+ kind: string;
1925
+ verb: string;
1926
+ readOnly: boolean;
1927
+ label: string;
1928
+ description: string;
1929
+ scope: string;
1930
+ creates: boolean;
1931
+ approval?: "destructive" | "reference-change" | undefined;
1932
+ };
1933
+ }) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
1934
+ execute: ({
1935
+ member: op,
1936
+ config: declaring
1937
+ }: Omit<ComputedInput, "member"> & {
1938
+ member: {
1939
+ kind: string;
1940
+ verb: string;
1941
+ readOnly: boolean;
1942
+ label: string;
1943
+ description: string;
1944
+ scope: string;
1945
+ creates: boolean;
1946
+ approval?: "destructive" | "reference-change" | undefined;
1947
+ };
1948
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
1949
+ field: ({
1950
+ member: op
1951
+ }: Omit<ComputedInput, "member"> & {
1952
+ member: {
1953
+ kind: string;
1954
+ verb: string;
1955
+ readOnly: boolean;
1956
+ label: string;
1957
+ description: string;
1958
+ scope: string;
1959
+ creates: boolean;
1960
+ approval?: "destructive" | "reference-change" | undefined;
1961
+ };
1962
+ }) => string | undefined;
1963
+ title: ({
1964
+ member: op,
1965
+ config
1966
+ }: Omit<ComputedInput, "member"> & {
1967
+ member: {
1968
+ kind: string;
1969
+ verb: string;
1970
+ readOnly: boolean;
1971
+ label: string;
1972
+ description: string;
1973
+ scope: string;
1974
+ creates: boolean;
1975
+ approval?: "destructive" | "reference-change" | undefined;
1976
+ };
1977
+ }) => ((entity: string) => string) | undefined;
1978
+ example: ({
1979
+ member: op,
1980
+ config
1981
+ }: Omit<ComputedInput, "member"> & {
1982
+ member: {
1983
+ kind: string;
1984
+ verb: string;
1985
+ readOnly: boolean;
1986
+ label: string;
1987
+ description: string;
1988
+ scope: string;
1989
+ creates: boolean;
1990
+ approval?: "destructive" | "reference-change" | undefined;
1991
+ };
1992
+ }) => Record<string, unknown> | undefined;
1993
+ }>;
1994
+ tools: DerivedEntityClass<z.ZodObject<{
1995
+ operation: DerivedEntityClass<z.ZodObject<{
1996
+ kind: z.ZodString;
1997
+ verb: z.ZodString;
1998
+ readOnly: z.ZodBoolean;
1999
+ label: z.ZodString;
2000
+ description: z.ZodString;
2001
+ scope: z.ZodString;
2002
+ creates: z.ZodBoolean;
2003
+ approval: z.ZodOptional<z.ZodEnum<{
2004
+ destructive: "destructive";
2005
+ "reference-change": "reference-change";
2006
+ }>>;
2007
+ }, z.core.$strip>, {
2008
+ inputSchema: ({
2009
+ member: op,
2010
+ config
2011
+ }: Omit<ComputedInput, "member"> & {
2012
+ member: {
2013
+ kind: string;
2014
+ verb: string;
2015
+ readOnly: boolean;
2016
+ label: string;
2017
+ description: string;
2018
+ scope: string;
2019
+ creates: boolean;
2020
+ approval?: "destructive" | "reference-change" | undefined;
2021
+ };
2022
+ }) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
2023
+ execute: ({
2024
+ member: op,
2025
+ config: declaring
2026
+ }: Omit<ComputedInput, "member"> & {
2027
+ member: {
2028
+ kind: string;
2029
+ verb: string;
2030
+ readOnly: boolean;
2031
+ label: string;
2032
+ description: string;
2033
+ scope: string;
2034
+ creates: boolean;
2035
+ approval?: "destructive" | "reference-change" | undefined;
2036
+ };
2037
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
2038
+ field: ({
2039
+ member: op
2040
+ }: Omit<ComputedInput, "member"> & {
2041
+ member: {
2042
+ kind: string;
2043
+ verb: string;
2044
+ readOnly: boolean;
2045
+ label: string;
2046
+ description: string;
2047
+ scope: string;
2048
+ creates: boolean;
2049
+ approval?: "destructive" | "reference-change" | undefined;
2050
+ };
2051
+ }) => string | undefined;
2052
+ title: ({
2053
+ member: op,
2054
+ config
2055
+ }: Omit<ComputedInput, "member"> & {
2056
+ member: {
2057
+ kind: string;
2058
+ verb: string;
2059
+ readOnly: boolean;
2060
+ label: string;
2061
+ description: string;
2062
+ scope: string;
2063
+ creates: boolean;
2064
+ approval?: "destructive" | "reference-change" | undefined;
2065
+ };
2066
+ }) => ((entity: string) => string) | undefined;
2067
+ example: ({
2068
+ member: op,
2069
+ config
2070
+ }: Omit<ComputedInput, "member"> & {
2071
+ member: {
2072
+ kind: string;
2073
+ verb: string;
2074
+ readOnly: boolean;
2075
+ label: string;
2076
+ description: string;
2077
+ scope: string;
2078
+ creates: boolean;
2079
+ approval?: "destructive" | "reference-change" | undefined;
2080
+ };
2081
+ }) => Record<string, unknown> | undefined;
2082
+ }>;
2083
+ name: z.ZodString;
2084
+ description: z.ZodString;
2085
+ enabled: z.ZodDefault<z.ZodBoolean>;
2086
+ }, z.core.$strip>, {
2087
+ kind: (input: ComputedInput) => string | undefined;
2088
+ verb: (input: ComputedInput) => string | undefined;
2089
+ readOnly: ({
2090
+ member,
2091
+ config
2092
+ }: Omit<ComputedInput, "member"> & {
2093
+ member: {
2094
+ operation: {
2095
+ __ref: string;
2096
+ };
2097
+ name: string;
2098
+ description: string;
2099
+ enabled: boolean;
2100
+ };
2101
+ }) => boolean;
2102
+ inputSchema: (input: ComputedInput) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
2103
+ execute: (input: ComputedInput) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
2104
+ action: (input: ComputedInput) => string | undefined;
2105
+ field: (input: ComputedInput) => string | undefined;
2106
+ scope: (input: ComputedInput) => string | undefined;
2107
+ approval: (input: ComputedInput) => "destructive" | "reference-change" | undefined;
2108
+ label: (input: ComputedInput) => string | undefined;
2109
+ shortLabel: (input: ComputedInput) => string | undefined;
2110
+ example: (input: ComputedInput) => Record<string, unknown> | undefined;
2111
+ }>;
2112
+ }, {
2113
+ systems: () => typeof System | typeof ReactNativeSystem;
2114
+ }>;
2115
+ /**
2116
+ * Build a plain (in-memory) canvas target: borrows the system read-only, under its own `name` as the
2117
+ * slug, and seeds the canvas + page it starts with. Enough to project tools or run an eval; the
2118
+ * live form is the studio session (`apps/studio/src/configs/canvas/canvas-session.ts`).
2119
+ */
2120
+ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2121
+ canvases: EntityClass<z.ZodObject<{
2122
+ name: z.ZodOptional<z.ZodString>;
2123
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
2124
+ pages: EntityClass<z.ZodObject<{
2125
+ canvas: EntityClass<z.ZodObject<{
2126
+ name: z.ZodOptional<z.ZodString>;
2127
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas", Record<never, never>, Record<never, never>, false>;
2128
+ name: z.ZodOptional<z.ZodString>;
2129
+ urlKey: z.ZodOptional<z.ZodString>;
2130
+ sortOrder: z.ZodOptional<z.ZodNumber>;
2131
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "page", Record<never, never>, Record<never, never>, false>;
2132
+ nodes: EntityClass<z.ZodObject<{
2133
+ type: z.ZodOptional<z.ZodUnion<readonly [Omit<EntityClass<z.ZodObject<{
2134
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
2135
+ version: z.ZodOptional<z.ZodString>;
2136
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
2137
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
2138
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2139
+ type: z.ZodLiteral<"slot">;
2140
+ text: z.ZodOptional<z.ZodBoolean>;
2141
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2142
+ __ref: z.ZodString;
2143
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2144
+ __ref: z.ZodString;
2145
+ }, z.core.$strip>>]>>;
2146
+ required: z.ZodOptional<z.ZodBoolean>;
2147
+ }, z.core.$strict>, z.ZodObject<{
2148
+ type: z.ZodLiteral<"variant">;
2149
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
2150
+ [k: string]: {};
2151
+ }, string[]>>, z.ZodObject<{
2152
+ __ref: z.ZodString;
2153
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
2154
+ label: z.ZodOptional<z.ZodString>;
2155
+ description: z.ZodOptional<z.ZodString>;
2156
+ deprecated: z.ZodOptional<z.ZodBoolean>;
2157
+ }, z.core.$strict>>]>;
2158
+ required: z.ZodOptional<z.ZodBoolean>;
2159
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
2160
+ type: z.ZodLiteral<"forward">;
2161
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2162
+ __ref: z.ZodString;
2163
+ }, z.core.$strip>]>;
2164
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2165
+ __ref: z.ZodString;
2166
+ }, z.core.$strip>]>>;
2167
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2168
+ __ref: z.ZodString;
2169
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2170
+ __ref: z.ZodString;
2171
+ }, z.core.$strip>>]>>;
2172
+ text: z.ZodOptional<z.ZodBoolean>;
2173
+ required: z.ZodOptional<z.ZodBoolean>;
2174
+ }, z.core.$strict>, z.ZodTransform<{
2175
+ type: "forward";
2176
+ target: string | {
2177
+ __ref: string;
2178
+ };
2179
+ into?: string | {
2180
+ __ref: string;
2181
+ } | undefined;
2182
+ accepts?: {
2183
+ __ref: string;
2184
+ } | {
2185
+ __ref: string;
2186
+ }[] | undefined;
2187
+ text?: boolean | undefined;
2188
+ required?: boolean | undefined;
2189
+ }, {
2190
+ type: "forward";
2191
+ target: string | {
2192
+ __ref: string;
2193
+ };
2194
+ into?: string | {
2195
+ __ref: string;
2196
+ } | undefined;
2197
+ accepts?: {
2198
+ __ref: string;
2199
+ } | {
2200
+ __ref: string;
2201
+ }[] | undefined;
2202
+ text?: boolean | undefined;
2203
+ required?: boolean | undefined;
2204
+ }>>, z.ZodObject<{
2205
+ type: z.ZodLiteral<"styleProperty">;
2206
+ value: z.ZodObject<{
2207
+ __ref: z.ZodString;
2208
+ }, z.core.$strip>;
2209
+ }, z.core.$strict>, z.ZodObject<{
2210
+ type: z.ZodLiteral<"composite">;
2211
+ value: z.ZodObject<{
2212
+ __ref: z.ZodString;
2213
+ }, z.core.$strip>;
2214
+ }, z.core.$strict>, z.ZodObject<{
2215
+ type: z.ZodLiteral<"motion">;
2216
+ value: z.ZodDefault<z.ZodObject<{
2217
+ __ref: z.ZodString;
2218
+ }, z.core.$strip>>;
2219
+ }, z.core.$strict>, z.ZodObject<{
2220
+ type: z.ZodLiteral<"string">;
2221
+ value: z.ZodOptional<z.ZodString>;
2222
+ required: z.ZodOptional<z.ZodBoolean>;
2223
+ }, z.core.$strict>, z.ZodObject<{
2224
+ type: z.ZodLiteral<"number">;
2225
+ value: z.ZodOptional<z.ZodNumber>;
2226
+ required: z.ZodOptional<z.ZodBoolean>;
2227
+ }, z.core.$strict>, z.ZodObject<{
2228
+ type: z.ZodLiteral<"boolean">;
2229
+ value: z.ZodOptional<z.ZodBoolean>;
2230
+ required: z.ZodOptional<z.ZodBoolean>;
2231
+ }, z.core.$strict>], "type">>>>;
2232
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
2233
+ __ref: z.ZodString;
2234
+ }, z.core.$strip>>]>>>;
2235
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
2236
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
2237
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
2238
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2239
+ file: z.ZodOptional<z.ZodObject<{
2240
+ __ref: z.ZodString;
2241
+ }, z.core.$strip>>;
2242
+ export: z.ZodOptional<z.ZodString>;
2243
+ }, z.core.$strict>, z.ZodObject<{
2244
+ icon: z.ZodOptional<z.ZodString>;
2245
+ }, z.core.$strip>, "component", {
2246
+ readonly create: {
2247
+ readonly data: z.ZodObject<{
2248
+ layers: SubEntityClass<z.ZodUnion<readonly [z.ZodString, z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>, EntityClass<z.ZodObject<{
2249
+ version: z.ZodOptional<z.ZodString>;
2250
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
2251
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
2252
+ props: z.ZodOptional<SubEntityClass<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2253
+ type: z.ZodLiteral<"slot">;
2254
+ text: z.ZodOptional<z.ZodBoolean>;
2255
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2256
+ __ref: z.ZodString;
2257
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2258
+ __ref: z.ZodString;
2259
+ }, z.core.$strip>>]>>;
2260
+ required: z.ZodOptional<z.ZodBoolean>;
2261
+ }, z.core.$strict>, z.ZodObject<{
2262
+ type: z.ZodLiteral<"variant">;
2263
+ value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
2264
+ [k: string]: {};
2265
+ }, string[]>>, z.ZodObject<{
2266
+ __ref: z.ZodString;
2267
+ }, z.core.$strip>, SubEntityClass<z.ZodObject<{
2268
+ label: z.ZodOptional<z.ZodString>;
2269
+ description: z.ZodOptional<z.ZodString>;
2270
+ deprecated: z.ZodOptional<z.ZodBoolean>;
2271
+ }, z.core.$strict>>]>;
2272
+ required: z.ZodOptional<z.ZodBoolean>;
2273
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
2274
+ type: z.ZodLiteral<"forward">;
2275
+ target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2276
+ __ref: z.ZodString;
2277
+ }, z.core.$strip>]>;
2278
+ into: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2279
+ __ref: z.ZodString;
2280
+ }, z.core.$strip>]>>;
2281
+ accepts: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2282
+ __ref: z.ZodString;
2283
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2284
+ __ref: z.ZodString;
2285
+ }, z.core.$strip>>]>>;
2286
+ text: z.ZodOptional<z.ZodBoolean>;
2287
+ required: z.ZodOptional<z.ZodBoolean>;
2288
+ }, z.core.$strict>, z.ZodTransform<{
2289
+ type: "forward";
2290
+ target: string | {
2291
+ __ref: string;
2292
+ };
2293
+ into?: string | {
2294
+ __ref: string;
2295
+ } | undefined;
2296
+ accepts?: {
2297
+ __ref: string;
2298
+ } | {
2299
+ __ref: string;
2300
+ }[] | undefined;
2301
+ text?: boolean | undefined;
2302
+ required?: boolean | undefined;
2303
+ }, {
2304
+ type: "forward";
2305
+ target: string | {
2306
+ __ref: string;
2307
+ };
2308
+ into?: string | {
2309
+ __ref: string;
2310
+ } | undefined;
2311
+ accepts?: {
2312
+ __ref: string;
2313
+ } | {
2314
+ __ref: string;
2315
+ }[] | undefined;
2316
+ text?: boolean | undefined;
2317
+ required?: boolean | undefined;
2318
+ }>>, z.ZodObject<{
2319
+ type: z.ZodLiteral<"styleProperty">;
2320
+ value: z.ZodObject<{
2321
+ __ref: z.ZodString;
2322
+ }, z.core.$strip>;
2323
+ }, z.core.$strict>, z.ZodObject<{
2324
+ type: z.ZodLiteral<"composite">;
2325
+ value: z.ZodObject<{
2326
+ __ref: z.ZodString;
2327
+ }, z.core.$strip>;
2328
+ }, z.core.$strict>, z.ZodObject<{
2329
+ type: z.ZodLiteral<"motion">;
2330
+ value: z.ZodDefault<z.ZodObject<{
2331
+ __ref: z.ZodString;
2332
+ }, z.core.$strip>>;
2333
+ }, z.core.$strict>, z.ZodObject<{
2334
+ type: z.ZodLiteral<"string">;
2335
+ value: z.ZodOptional<z.ZodString>;
2336
+ required: z.ZodOptional<z.ZodBoolean>;
2337
+ }, z.core.$strict>, z.ZodObject<{
2338
+ type: z.ZodLiteral<"number">;
2339
+ value: z.ZodOptional<z.ZodNumber>;
2340
+ required: z.ZodOptional<z.ZodBoolean>;
2341
+ }, z.core.$strict>, z.ZodObject<{
2342
+ type: z.ZodLiteral<"boolean">;
2343
+ value: z.ZodOptional<z.ZodBoolean>;
2344
+ required: z.ZodOptional<z.ZodBoolean>;
2345
+ }, z.core.$strict>], "type">>>>;
2346
+ forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
2347
+ __ref: z.ZodString;
2348
+ }, z.core.$strip>>]>>>;
2349
+ styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
2350
+ anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
2351
+ defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
2352
+ previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2353
+ file: z.ZodOptional<z.ZodObject<{
2354
+ __ref: z.ZodString;
2355
+ }, z.core.$strip>>;
2356
+ export: z.ZodOptional<z.ZodString>;
2357
+ }, z.core.$strict>;
2358
+ readonly description: "Create a component at a new qualified `path`. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
2359
+ readonly example: ({
2360
+ config
2361
+ }: {
2362
+ config: Config;
2363
+ kind: string;
2364
+ path: string;
2365
+ }) => {
2366
+ path: string;
2367
+ data: Record<string, unknown>;
2368
+ };
2369
+ };
2370
+ readonly 'sub-create/anatomy': {
2371
+ readonly description: "Add one anatomy node (`key` + `data`) to a component. In a batch, create child nodes before a parent whose `children` or `slots` names them; each referenced node must already exist when this operation runs.";
2372
+ };
2373
+ readonly 'sub-create/props': {
2374
+ readonly description: "Declare a prop this component owns (`key` + `data`): a `variant`, a `slot`, a `styleProperty` or `composite` on a primitive, a `forward` routing this prop into a layer's (`{ \"type\": \"forward\", \"target\": \"<layer>/<prop>\" }`), or `null` to drop a forwarded prop from the surface. A prop one of its layers already exposes — `width` on a root that renders `Box` — is not declared here; `sub-create/forwards` exposes it at the top level.";
2375
+ };
2376
+ readonly 'sub-create/forwards': {
2377
+ readonly description: "Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
2378
+ readonly example: ({
2379
+ config
2380
+ }: {
2381
+ config: Config;
2382
+ kind: string;
2383
+ path: string;
2384
+ }) => {
2385
+ path: string;
2386
+ key: string;
2387
+ data: "*";
2388
+ } | undefined;
2389
+ };
2390
+ readonly 'sub-upsert/forwards': {
2391
+ readonly description: "Set what one layer forwards, added when absent and replaced whole when present. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
2392
+ };
2393
+ readonly 'sub-update/forwards': {
2394
+ readonly description: "Replace what one layer forwards: the member is `'*'` or a list, so `data` is the whole new value. Expose a layer's props at this component's top level. `key` is one of the component's own layer names; `data` is `\"*\"` for every prop that layer's element takes, or a list of component prop member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`) for a selection, each naming the component that declares the prop — `Button` forwarding `width` from a `Pressable` root names `Box`, where `Pressable` takes it from. This is how `<Button width=\"full\">` reaches the root's `width` with no `width` entry in `props`; a prop the layer already exposes is forwarded, never redeclared. Two entries may not offer the same prop, and removing one forwarded prop is a `null` tombstone under `props`.";
2395
+ };
2396
+ readonly 'element-insert': {
2397
+ readonly input: z.ZodObject<{
2398
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
2399
+ key: z.ZodOptional<z.ZodString>;
2400
+ data: z.ZodPrefault<z.ZodObject<{
2401
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2402
+ __ref: z.ZodString;
2403
+ }, z.core.$strip>]>>;
2404
+ parent: z.ZodOptional<z.ZodString>;
2405
+ index: z.ZodOptional<z.ZodNumber>;
2406
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2407
+ slotProp: z.ZodOptional<z.ZodString>;
2408
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2409
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2410
+ eq: z.ZodOptional<z.ZodUnknown>;
2411
+ neq: z.ZodOptional<z.ZodUnknown>;
2412
+ gt: z.ZodOptional<z.ZodNumber>;
2413
+ gte: z.ZodOptional<z.ZodNumber>;
2414
+ lt: z.ZodOptional<z.ZodNumber>;
2415
+ lte: z.ZodOptional<z.ZodNumber>;
2416
+ $state: z.ZodString;
2417
+ }, z.core.$strict>, z.ZodTransform<{
2418
+ $state: string;
2419
+ not?: true | undefined;
2420
+ eq?: unknown;
2421
+ neq?: unknown;
2422
+ gt?: number | undefined;
2423
+ gte?: number | undefined;
2424
+ lt?: number | undefined;
2425
+ lte?: number | undefined;
2426
+ }, {
2427
+ $state: string;
2428
+ not?: true | undefined;
2429
+ eq?: unknown;
2430
+ neq?: unknown;
2431
+ gt?: number | undefined;
2432
+ gte?: number | undefined;
2433
+ lt?: number | undefined;
2434
+ lte?: number | undefined;
2435
+ }>>, z.ZodObject<{
2436
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2437
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2438
+ eq: z.ZodOptional<z.ZodUnknown>;
2439
+ neq: z.ZodOptional<z.ZodUnknown>;
2440
+ gt: z.ZodOptional<z.ZodNumber>;
2441
+ gte: z.ZodOptional<z.ZodNumber>;
2442
+ lt: z.ZodOptional<z.ZodNumber>;
2443
+ lte: z.ZodOptional<z.ZodNumber>;
2444
+ $state: z.ZodString;
2445
+ }, z.core.$strict>, z.ZodTransform<{
2446
+ $state: string;
2447
+ not?: true | undefined;
2448
+ eq?: unknown;
2449
+ neq?: unknown;
2450
+ gt?: number | undefined;
2451
+ gte?: number | undefined;
2452
+ lt?: number | undefined;
2453
+ lte?: number | undefined;
2454
+ }, {
2455
+ $state: string;
2456
+ not?: true | undefined;
2457
+ eq?: unknown;
2458
+ neq?: unknown;
2459
+ gt?: number | undefined;
2460
+ gte?: number | undefined;
2461
+ lt?: number | undefined;
2462
+ lte?: number | undefined;
2463
+ }>>>;
2464
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2465
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2466
+ eq: z.ZodOptional<z.ZodUnknown>;
2467
+ neq: z.ZodOptional<z.ZodUnknown>;
2468
+ gt: z.ZodOptional<z.ZodNumber>;
2469
+ gte: z.ZodOptional<z.ZodNumber>;
2470
+ lt: z.ZodOptional<z.ZodNumber>;
2471
+ lte: z.ZodOptional<z.ZodNumber>;
2472
+ $state: z.ZodString;
2473
+ }, z.core.$strict>, z.ZodTransform<{
2474
+ $state: string;
2475
+ not?: true | undefined;
2476
+ eq?: unknown;
2477
+ neq?: unknown;
2478
+ gt?: number | undefined;
2479
+ gte?: number | undefined;
2480
+ lt?: number | undefined;
2481
+ lte?: number | undefined;
2482
+ }, {
2483
+ $state: string;
2484
+ not?: true | undefined;
2485
+ eq?: unknown;
2486
+ neq?: unknown;
2487
+ gt?: number | undefined;
2488
+ gte?: number | undefined;
2489
+ lt?: number | undefined;
2490
+ lte?: number | undefined;
2491
+ }>>, z.ZodObject<{
2492
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2493
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2494
+ eq: z.ZodOptional<z.ZodUnknown>;
2495
+ neq: z.ZodOptional<z.ZodUnknown>;
2496
+ gt: z.ZodOptional<z.ZodNumber>;
2497
+ gte: z.ZodOptional<z.ZodNumber>;
2498
+ lt: z.ZodOptional<z.ZodNumber>;
2499
+ lte: z.ZodOptional<z.ZodNumber>;
2500
+ $state: z.ZodString;
2501
+ }, z.core.$strict>, z.ZodTransform<{
2502
+ $state: string;
2503
+ not?: true | undefined;
2504
+ eq?: unknown;
2505
+ neq?: unknown;
2506
+ gt?: number | undefined;
2507
+ gte?: number | undefined;
2508
+ lt?: number | undefined;
2509
+ lte?: number | undefined;
2510
+ }, {
2511
+ $state: string;
2512
+ not?: true | undefined;
2513
+ eq?: unknown;
2514
+ neq?: unknown;
2515
+ gt?: number | undefined;
2516
+ gte?: number | undefined;
2517
+ lt?: number | undefined;
2518
+ lte?: number | undefined;
2519
+ }>>>;
2520
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2521
+ __ref: z.ZodString;
2522
+ }, z.core.$strip>]>>, z.ZodTransform<{
2523
+ $state: string;
2524
+ eq?: unknown;
2525
+ } | {
2526
+ $state: string;
2527
+ eq?: unknown;
2528
+ }[], Record<string, string | number | boolean | {
2529
+ __ref: string;
2530
+ }>>>]>>;
2531
+ text: z.ZodOptional<z.ZodString>;
2532
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
2533
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
2534
+ nodes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2535
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2536
+ __ref: z.ZodString;
2537
+ }, z.core.$strip>]>>;
2538
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2539
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
2540
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
2541
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2542
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2543
+ eq: z.ZodOptional<z.ZodUnknown>;
2544
+ neq: z.ZodOptional<z.ZodUnknown>;
2545
+ gt: z.ZodOptional<z.ZodNumber>;
2546
+ gte: z.ZodOptional<z.ZodNumber>;
2547
+ lt: z.ZodOptional<z.ZodNumber>;
2548
+ lte: z.ZodOptional<z.ZodNumber>;
2549
+ $state: z.ZodString;
2550
+ }, z.core.$strict>, z.ZodTransform<{
2551
+ $state: string;
2552
+ not?: true | undefined;
2553
+ eq?: unknown;
2554
+ neq?: unknown;
2555
+ gt?: number | undefined;
2556
+ gte?: number | undefined;
2557
+ lt?: number | undefined;
2558
+ lte?: number | undefined;
2559
+ }, {
2560
+ $state: string;
2561
+ not?: true | undefined;
2562
+ eq?: unknown;
2563
+ neq?: unknown;
2564
+ gt?: number | undefined;
2565
+ gte?: number | undefined;
2566
+ lt?: number | undefined;
2567
+ lte?: number | undefined;
2568
+ }>>, z.ZodObject<{
2569
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2570
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2571
+ eq: z.ZodOptional<z.ZodUnknown>;
2572
+ neq: z.ZodOptional<z.ZodUnknown>;
2573
+ gt: z.ZodOptional<z.ZodNumber>;
2574
+ gte: z.ZodOptional<z.ZodNumber>;
2575
+ lt: z.ZodOptional<z.ZodNumber>;
2576
+ lte: z.ZodOptional<z.ZodNumber>;
2577
+ $state: z.ZodString;
2578
+ }, z.core.$strict>, z.ZodTransform<{
2579
+ $state: string;
2580
+ not?: true | undefined;
2581
+ eq?: unknown;
2582
+ neq?: unknown;
2583
+ gt?: number | undefined;
2584
+ gte?: number | undefined;
2585
+ lt?: number | undefined;
2586
+ lte?: number | undefined;
2587
+ }, {
2588
+ $state: string;
2589
+ not?: true | undefined;
2590
+ eq?: unknown;
2591
+ neq?: unknown;
2592
+ gt?: number | undefined;
2593
+ gte?: number | undefined;
2594
+ lt?: number | undefined;
2595
+ lte?: number | undefined;
2596
+ }>>>;
2597
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2598
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2599
+ eq: z.ZodOptional<z.ZodUnknown>;
2600
+ neq: z.ZodOptional<z.ZodUnknown>;
2601
+ gt: z.ZodOptional<z.ZodNumber>;
2602
+ gte: z.ZodOptional<z.ZodNumber>;
2603
+ lt: z.ZodOptional<z.ZodNumber>;
2604
+ lte: z.ZodOptional<z.ZodNumber>;
2605
+ $state: z.ZodString;
2606
+ }, z.core.$strict>, z.ZodTransform<{
2607
+ $state: string;
2608
+ not?: true | undefined;
2609
+ eq?: unknown;
2610
+ neq?: unknown;
2611
+ gt?: number | undefined;
2612
+ gte?: number | undefined;
2613
+ lt?: number | undefined;
2614
+ lte?: number | undefined;
2615
+ }, {
2616
+ $state: string;
2617
+ not?: true | undefined;
2618
+ eq?: unknown;
2619
+ neq?: unknown;
2620
+ gt?: number | undefined;
2621
+ gte?: number | undefined;
2622
+ lt?: number | undefined;
2623
+ lte?: number | undefined;
2624
+ }>>, z.ZodObject<{
2625
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2626
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2627
+ eq: z.ZodOptional<z.ZodUnknown>;
2628
+ neq: z.ZodOptional<z.ZodUnknown>;
2629
+ gt: z.ZodOptional<z.ZodNumber>;
2630
+ gte: z.ZodOptional<z.ZodNumber>;
2631
+ lt: z.ZodOptional<z.ZodNumber>;
2632
+ lte: z.ZodOptional<z.ZodNumber>;
2633
+ $state: z.ZodString;
2634
+ }, z.core.$strict>, z.ZodTransform<{
2635
+ $state: string;
2636
+ not?: true | undefined;
2637
+ eq?: unknown;
2638
+ neq?: unknown;
2639
+ gt?: number | undefined;
2640
+ gte?: number | undefined;
2641
+ lt?: number | undefined;
2642
+ lte?: number | undefined;
2643
+ }, {
2644
+ $state: string;
2645
+ not?: true | undefined;
2646
+ eq?: unknown;
2647
+ neq?: unknown;
2648
+ gt?: number | undefined;
2649
+ gte?: number | undefined;
2650
+ lt?: number | undefined;
2651
+ lte?: number | undefined;
2652
+ }>>>;
2653
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2654
+ __ref: z.ZodString;
2655
+ }, z.core.$strip>]>>, z.ZodTransform<{
2656
+ $state: string;
2657
+ eq?: unknown;
2658
+ } | {
2659
+ $state: string;
2660
+ eq?: unknown;
2661
+ }[], Record<string, string | number | boolean | {
2662
+ __ref: string;
2663
+ }>>>]>>;
2664
+ text: z.ZodOptional<z.ZodString>;
2665
+ }, z.core.$strict>>>;
2666
+ subtree: z.ZodOptional<z.ZodObject<{
2667
+ root: z.ZodString;
2668
+ elements: z.ZodRecord<z.ZodString, z.ZodObject<{
2669
+ element: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2670
+ __ref: z.ZodString;
2671
+ }, z.core.$strip>]>>;
2672
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2673
+ children: z.ZodOptional<z.ZodArray<z.ZodString>>;
2674
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
2675
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2676
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2677
+ eq: z.ZodOptional<z.ZodUnknown>;
2678
+ neq: z.ZodOptional<z.ZodUnknown>;
2679
+ gt: z.ZodOptional<z.ZodNumber>;
2680
+ gte: z.ZodOptional<z.ZodNumber>;
2681
+ lt: z.ZodOptional<z.ZodNumber>;
2682
+ lte: z.ZodOptional<z.ZodNumber>;
2683
+ $state: z.ZodString;
2684
+ }, z.core.$strict>, z.ZodTransform<{
2685
+ $state: string;
2686
+ not?: true | undefined;
2687
+ eq?: unknown;
2688
+ neq?: unknown;
2689
+ gt?: number | undefined;
2690
+ gte?: number | undefined;
2691
+ lt?: number | undefined;
2692
+ lte?: number | undefined;
2693
+ }, {
2694
+ $state: string;
2695
+ not?: true | undefined;
2696
+ eq?: unknown;
2697
+ neq?: unknown;
2698
+ gt?: number | undefined;
2699
+ gte?: number | undefined;
2700
+ lt?: number | undefined;
2701
+ lte?: number | undefined;
2702
+ }>>, z.ZodObject<{
2703
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2704
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2705
+ eq: z.ZodOptional<z.ZodUnknown>;
2706
+ neq: z.ZodOptional<z.ZodUnknown>;
2707
+ gt: z.ZodOptional<z.ZodNumber>;
2708
+ gte: z.ZodOptional<z.ZodNumber>;
2709
+ lt: z.ZodOptional<z.ZodNumber>;
2710
+ lte: z.ZodOptional<z.ZodNumber>;
2711
+ $state: z.ZodString;
2712
+ }, z.core.$strict>, z.ZodTransform<{
2713
+ $state: string;
2714
+ not?: true | undefined;
2715
+ eq?: unknown;
2716
+ neq?: unknown;
2717
+ gt?: number | undefined;
2718
+ gte?: number | undefined;
2719
+ lt?: number | undefined;
2720
+ lte?: number | undefined;
2721
+ }, {
2722
+ $state: string;
2723
+ not?: true | undefined;
2724
+ eq?: unknown;
2725
+ neq?: unknown;
2726
+ gt?: number | undefined;
2727
+ gte?: number | undefined;
2728
+ lt?: number | undefined;
2729
+ lte?: number | undefined;
2730
+ }>>>;
2731
+ }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2732
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2733
+ eq: z.ZodOptional<z.ZodUnknown>;
2734
+ neq: z.ZodOptional<z.ZodUnknown>;
2735
+ gt: z.ZodOptional<z.ZodNumber>;
2736
+ gte: z.ZodOptional<z.ZodNumber>;
2737
+ lt: z.ZodOptional<z.ZodNumber>;
2738
+ lte: z.ZodOptional<z.ZodNumber>;
2739
+ $state: z.ZodString;
2740
+ }, z.core.$strict>, z.ZodTransform<{
2741
+ $state: string;
2742
+ not?: true | undefined;
2743
+ eq?: unknown;
2744
+ neq?: unknown;
2745
+ gt?: number | undefined;
2746
+ gte?: number | undefined;
2747
+ lt?: number | undefined;
2748
+ lte?: number | undefined;
2749
+ }, {
2750
+ $state: string;
2751
+ not?: true | undefined;
2752
+ eq?: unknown;
2753
+ neq?: unknown;
2754
+ gt?: number | undefined;
2755
+ gte?: number | undefined;
2756
+ lt?: number | undefined;
2757
+ lte?: number | undefined;
2758
+ }>>, z.ZodObject<{
2759
+ $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2760
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2761
+ eq: z.ZodOptional<z.ZodUnknown>;
2762
+ neq: z.ZodOptional<z.ZodUnknown>;
2763
+ gt: z.ZodOptional<z.ZodNumber>;
2764
+ gte: z.ZodOptional<z.ZodNumber>;
2765
+ lt: z.ZodOptional<z.ZodNumber>;
2766
+ lte: z.ZodOptional<z.ZodNumber>;
2767
+ $state: z.ZodString;
2768
+ }, z.core.$strict>, z.ZodTransform<{
2769
+ $state: string;
2770
+ not?: true | undefined;
2771
+ eq?: unknown;
2772
+ neq?: unknown;
2773
+ gt?: number | undefined;
2774
+ gte?: number | undefined;
2775
+ lt?: number | undefined;
2776
+ lte?: number | undefined;
2777
+ }, {
2778
+ $state: string;
2779
+ not?: true | undefined;
2780
+ eq?: unknown;
2781
+ neq?: unknown;
2782
+ gt?: number | undefined;
2783
+ gte?: number | undefined;
2784
+ lt?: number | undefined;
2785
+ lte?: number | undefined;
2786
+ }>>>;
2787
+ }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2788
+ __ref: z.ZodString;
2789
+ }, z.core.$strip>]>>, z.ZodTransform<{
2790
+ $state: string;
2791
+ eq?: unknown;
2792
+ } | {
2793
+ $state: string;
2794
+ eq?: unknown;
2795
+ }[], Record<string, string | number | boolean | {
2796
+ __ref: string;
2797
+ }>>>]>>;
2798
+ text: z.ZodOptional<z.ZodString>;
2799
+ }, z.core.$strict>>;
2800
+ }, z.core.$strip>>;
2801
+ }, z.core.$strip>>;
2802
+ }, z.core.$strip>;
2803
+ readonly readOnly: false;
2804
+ readonly label: "Add element";
2805
+ readonly description: "Add an element to a component: creates the LAYER it is styled through and the anatomy node that places it, under `parent`.";
2806
+ readonly scope: "item";
2807
+ readonly creates: true;
2808
+ readonly title: (entity: string) => string;
2809
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
2810
+ };
2811
+ readonly 'element-delete': {
2812
+ readonly input: z.ZodObject<{
2813
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
2814
+ key: z.ZodString;
2815
+ data: z.ZodOptional<z.ZodObject<{
2816
+ subtree: z.ZodDefault<z.ZodBoolean>;
2817
+ }, z.core.$strip>>;
2818
+ }, z.core.$strip>;
2819
+ readonly readOnly: false;
2820
+ readonly label: "Remove element";
2821
+ readonly description: "Remove an element from a component: its anatomy node, the layer it is styled through, its subtree, every parent edge naming it, and its entry in every style rule.";
2822
+ readonly scope: "item";
2823
+ readonly approval: "destructive";
2824
+ readonly title: (entity: string) => string;
2825
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
2826
+ };
2827
+ readonly 'element-move': {
2828
+ readonly input: z.ZodObject<{
2829
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
2830
+ key: z.ZodString;
2831
+ data: z.ZodPrefault<z.ZodObject<{
2832
+ parent: z.ZodDefault<z.ZodString>;
2833
+ index: z.ZodOptional<z.ZodNumber>;
2834
+ slotProp: z.ZodOptional<z.ZodString>;
2835
+ }, z.core.$strip>>;
2836
+ }, z.core.$strip>;
2837
+ readonly readOnly: false;
2838
+ readonly label: "Move element";
2839
+ readonly description: "Move a component's anatomy node under a different parent, to a different position under the same one, or — with `slotProp` — into a parent's slot.";
2840
+ readonly scope: "item";
2841
+ readonly approval: "reference-change";
2842
+ readonly title: (entity: string) => string;
2843
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
2844
+ };
2845
+ readonly validate: {
2846
+ readonly input: z.ZodObject<{
2847
+ path: z.ZodType<string, string | undefined, z.core.$ZodTypeInternals<string, string | undefined>>;
2848
+ data: z.ZodObject<{
2849
+ props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2850
+ }, z.core.$strip>;
2851
+ }, z.core.$strip>;
2852
+ readonly readOnly: true;
2853
+ readonly label: "Validate props";
2854
+ readonly description: "Check a bag of prop VALUES against a component — rejects unknown props and out-of-domain values.";
2855
+ readonly scope: "item";
2856
+ readonly title: (entity: string) => string;
2857
+ readonly example: ({
2858
+ config,
2859
+ path
2860
+ }: {
2861
+ config: Config;
2862
+ kind: string;
2863
+ path: string;
2864
+ }) => {
2865
+ path: string;
2866
+ data: {
2867
+ props: Record<string, unknown>;
2868
+ };
2869
+ };
2870
+ readonly handler: (input: Record<string, unknown>, config: Config) => string[];
2871
+ };
2872
+ }, {
2873
+ readonly slots: ({
2874
+ config,
2875
+ path,
2876
+ member
2877
+ }: ComputedInput) => string[];
2878
+ }, false>, "ref"> & {
2879
+ ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
2880
+ }, EntityClass<z.ZodObject<{
2881
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
2882
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2883
+ codepoint: z.ZodOptional<z.ZodNumber>;
2884
+ knockoutVariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
2885
+ }, z.core.$strict>, z.ZodObject<{
2886
+ module: z.ZodOptional<z.ZodString>;
2887
+ version: z.ZodOptional<z.ZodString>;
2888
+ metadata: z.ZodOptional<z.ZodObject<{
2889
+ from: EntityClass<z.ZodObject<{
2890
+ version: z.ZodOptional<z.ZodString>;
2891
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
2892
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>;
2893
+ format: z.ZodEnum<{
2894
+ uds: "uds";
2895
+ phosphor: "phosphor";
2896
+ }>;
2897
+ }, z.core.$strict>>;
2898
+ sizes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
2899
+ variants: z.ZodOptional<z.ZodArray<z.ZodString>>;
2900
+ component: z.ZodOptional<z.ZodObject<{
2901
+ __ref: z.ZodString;
2902
+ }, z.core.$strip>>;
2903
+ }, z.core.$strict>, "icon", Record<never, never>, Record<never, never>, false>, EntityClass<z.ZodObject<{
2904
+ version: z.ZodOptional<z.ZodString>;
2905
+ exports: z.ZodOptional<SubEntityClass<z.ZodObject<{}, z.core.$strict>>>;
2906
+ }, z.core.$strict>, z.ZodObject<Record<never, never>, z.core.$strip>, "package", Record<never, never>, Record<never, never>, false>, z.ZodObject<{
2907
+ __ref: z.ZodString;
2908
+ }, z.core.$strip>, z.ZodObject<{
2909
+ __ref: z.ZodEnum<{
2910
+ "spec:Slot": "spec:Slot";
2911
+ "spec:Fragment": "spec:Fragment";
2912
+ }>;
2913
+ }, z.core.$strip>]>>;
2914
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2915
+ children: z.ZodOptional<z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>;
2916
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>>;
2917
+ visible: z.ZodOptional<z.ZodUnknown>;
2918
+ repeat: z.ZodOptional<z.ZodUnknown>;
2919
+ ref: z.ZodOptional<z.ZodUnknown>;
2920
+ locked: z.ZodOptional<z.ZodBoolean>;
2921
+ label: z.ZodOptional<z.ZodString>;
2922
+ page: z.ZodOptional<z.ZodObject<{
2923
+ __ref: z.ZodString;
2924
+ }, z.core.$strip>>;
2925
+ parent: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
2926
+ size: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2927
+ type: z.ZodLiteral<"custom">;
2928
+ width: z.ZodNumber;
2929
+ height: z.ZodNumber;
2930
+ }, z.core.$strip>, z.ZodObject<{
2931
+ type: z.ZodLiteral<"device">;
2932
+ ref: EntityClass<z.ZodObject<{
2933
+ width: z.ZodNumber;
2934
+ height: z.ZodNumber;
2935
+ name: z.ZodOptional<z.ZodString>;
2936
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "device", Record<never, never>, Record<never, never>, false>;
2937
+ }, z.core.$strip>], "type">>;
2938
+ x: z.ZodOptional<z.ZodNumber>;
2939
+ y: z.ZodOptional<z.ZodNumber>;
2940
+ collapsed: z.ZodOptional<z.ZodBoolean>;
2941
+ order: z.ZodOptional<z.ZodNumber>;
2942
+ linkedSource: z.ZodOptional<z.ZodUnknown>;
2943
+ state: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2944
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2945
+ generation: z.ZodOptional<z.ZodObject<{
2946
+ __ref: z.ZodString;
2947
+ }, z.core.$strip>>;
2948
+ duplicatedFrom: z.ZodOptional<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>;
2949
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "node", Record<never, never>, {
2950
+ /**
2951
+ * What a layers rail (or any listing) calls this node: its authored
2952
+ * `label`, else what its `type` names — the component's own display label,
2953
+ * resolved through the same path everything else resolves refs by, so a
2954
+ * `kind:` marker never reaches a person. A placeholder awaiting generation
2955
+ * (no `type` yet) and a linked copy (a descriptor, no `type` of its own)
2956
+ * have no name here; the surface falls back to what it can resolve.
2957
+ *
2958
+ * The read type intersects this with the base `Entity.displayLabel`, which
2959
+ * is never `undefined`, so the intersection reads as `string`. The canvas
2960
+ * node view re-types the field optional at its seam.
2961
+ */
2962
+ readonly displayLabel: ({
2963
+ member,
2964
+ config
2965
+ }: ComputedInput) => string | undefined;
2966
+ }, false>;
2967
+ chats: EntityClass<z.ZodObject<{
2968
+ title: z.ZodOptional<z.ZodString>;
2969
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
2970
+ messages: EntityClass<z.ZodObject<{
2971
+ chat: EntityClass<z.ZodObject<{
2972
+ title: z.ZodOptional<z.ZodString>;
2973
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-chat", Record<never, never>, Record<never, never>, false>;
2974
+ role: z.ZodEnum<{
2975
+ user: "user";
2976
+ assistant: "assistant";
2977
+ }>;
2978
+ content: z.ZodString;
2979
+ modelId: z.ZodOptional<z.ZodString>;
2980
+ sentAt: z.ZodOptional<z.ZodNumber>;
2981
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-message", Record<never, never>, Record<never, never>, false>;
2982
+ flows: EntityClass<z.ZodObject<{
2983
+ origin: z.ZodEnum<{
2984
+ chat: "chat";
2985
+ comment: "comment";
2986
+ mcp: "mcp";
2987
+ sidebar: "sidebar";
2988
+ paste: "paste";
2989
+ "figma-paste": "figma-paste";
2990
+ duplicate: "duplicate";
2991
+ }>;
2992
+ lane: z.ZodOptional<z.ZodEnum<{
2993
+ chat: "chat";
2994
+ comment: "comment";
2995
+ huddle: "huddle";
2996
+ "paint-style": "paint-style";
2997
+ "figma-import": "figma-import";
2998
+ workspace: "workspace";
2999
+ mcp: "mcp";
3000
+ }>>;
3001
+ modelId: z.ZodOptional<z.ZodString>;
3002
+ multiAgentMode: z.ZodOptional<z.ZodEnum<{
3003
+ huddle: "huddle";
3004
+ single: "single";
3005
+ fanout: "fanout";
3006
+ }>>;
3007
+ agentCount: z.ZodOptional<z.ZodNumber>;
3008
+ agentNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
3009
+ message: z.ZodOptional<z.ZodObject<{
3010
+ __ref: z.ZodString;
3011
+ }, z.core.$strip>>;
3012
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-flow", Record<never, never>, Record<never, never>, false>;
3013
+ generations: EntityClass<z.ZodObject<{
3014
+ flow: z.ZodOptional<z.ZodObject<{
3015
+ __ref: z.ZodString;
3016
+ }, z.core.$strip>>;
3017
+ parentNode: z.ZodOptional<z.ZodObject<{
3018
+ __ref: z.ZodString;
3019
+ }, z.core.$strip>>;
3020
+ iterationNumber: z.ZodOptional<z.ZodNumber>;
3021
+ description: z.ZodOptional<z.ZodString>;
3022
+ instructions: z.ZodOptional<z.ZodString>;
3023
+ generatedAt: z.ZodOptional<z.ZodNumber>;
3024
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "ai-generation", Record<never, never>, Record<never, never>, false>;
3025
+ systems: EntityClass<z.ZodObject<{
3026
+ systemId: z.ZodOptional<z.ZodString>;
3027
+ }, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "system-source", Record<never, never>, Record<never, never>, false>;
3028
+ }, {
3029
+ operations: DerivedEntityClass<z.ZodObject<{
3030
+ kind: z.ZodString;
3031
+ verb: z.ZodString;
3032
+ readOnly: z.ZodBoolean;
3033
+ label: z.ZodString;
3034
+ description: z.ZodString;
3035
+ scope: z.ZodString;
3036
+ creates: z.ZodBoolean;
3037
+ approval: z.ZodOptional<z.ZodEnum<{
3038
+ destructive: "destructive";
3039
+ "reference-change": "reference-change";
3040
+ }>>;
3041
+ }, z.core.$strip>, {
3042
+ inputSchema: ({
3043
+ member: op,
3044
+ config
3045
+ }: Omit<ComputedInput, "member"> & {
3046
+ member: {
3047
+ kind: string;
3048
+ verb: string;
3049
+ readOnly: boolean;
3050
+ label: string;
3051
+ description: string;
3052
+ scope: string;
3053
+ creates: boolean;
3054
+ approval?: "destructive" | "reference-change" | undefined;
3055
+ };
3056
+ }) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
3057
+ execute: ({
3058
+ member: op,
3059
+ config: declaring
3060
+ }: Omit<ComputedInput, "member"> & {
3061
+ member: {
3062
+ kind: string;
3063
+ verb: string;
3064
+ readOnly: boolean;
3065
+ label: string;
3066
+ description: string;
3067
+ scope: string;
3068
+ creates: boolean;
3069
+ approval?: "destructive" | "reference-change" | undefined;
3070
+ };
3071
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
3072
+ field: ({
3073
+ member: op
3074
+ }: Omit<ComputedInput, "member"> & {
3075
+ member: {
3076
+ kind: string;
3077
+ verb: string;
3078
+ readOnly: boolean;
3079
+ label: string;
3080
+ description: string;
3081
+ scope: string;
3082
+ creates: boolean;
3083
+ approval?: "destructive" | "reference-change" | undefined;
3084
+ };
3085
+ }) => string | undefined;
3086
+ title: ({
3087
+ member: op,
3088
+ config
3089
+ }: Omit<ComputedInput, "member"> & {
3090
+ member: {
3091
+ kind: string;
3092
+ verb: string;
3093
+ readOnly: boolean;
3094
+ label: string;
3095
+ description: string;
3096
+ scope: string;
3097
+ creates: boolean;
3098
+ approval?: "destructive" | "reference-change" | undefined;
3099
+ };
3100
+ }) => ((entity: string) => string) | undefined;
3101
+ example: ({
3102
+ member: op,
3103
+ config
3104
+ }: Omit<ComputedInput, "member"> & {
3105
+ member: {
3106
+ kind: string;
3107
+ verb: string;
3108
+ readOnly: boolean;
3109
+ label: string;
3110
+ description: string;
3111
+ scope: string;
3112
+ creates: boolean;
3113
+ approval?: "destructive" | "reference-change" | undefined;
3114
+ };
3115
+ }) => Record<string, unknown> | undefined;
3116
+ }>;
3117
+ tools: DerivedEntityClass<z.ZodObject<{
3118
+ operation: DerivedEntityClass<z.ZodObject<{
3119
+ kind: z.ZodString;
3120
+ verb: z.ZodString;
3121
+ readOnly: z.ZodBoolean;
3122
+ label: z.ZodString;
3123
+ description: z.ZodString;
3124
+ scope: z.ZodString;
3125
+ creates: z.ZodBoolean;
3126
+ approval: z.ZodOptional<z.ZodEnum<{
3127
+ destructive: "destructive";
3128
+ "reference-change": "reference-change";
3129
+ }>>;
3130
+ }, z.core.$strip>, {
3131
+ inputSchema: ({
3132
+ member: op,
3133
+ config
3134
+ }: Omit<ComputedInput, "member"> & {
3135
+ member: {
3136
+ kind: string;
3137
+ verb: string;
3138
+ readOnly: boolean;
3139
+ label: string;
3140
+ description: string;
3141
+ scope: string;
3142
+ creates: boolean;
3143
+ approval?: "destructive" | "reference-change" | undefined;
3144
+ };
3145
+ }) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
3146
+ execute: ({
3147
+ member: op,
3148
+ config: declaring
3149
+ }: Omit<ComputedInput, "member"> & {
3150
+ member: {
3151
+ kind: string;
3152
+ verb: string;
3153
+ readOnly: boolean;
3154
+ label: string;
3155
+ description: string;
3156
+ scope: string;
3157
+ creates: boolean;
3158
+ approval?: "destructive" | "reference-change" | undefined;
3159
+ };
3160
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
3161
+ field: ({
3162
+ member: op
3163
+ }: Omit<ComputedInput, "member"> & {
3164
+ member: {
3165
+ kind: string;
3166
+ verb: string;
3167
+ readOnly: boolean;
3168
+ label: string;
3169
+ description: string;
3170
+ scope: string;
3171
+ creates: boolean;
3172
+ approval?: "destructive" | "reference-change" | undefined;
3173
+ };
3174
+ }) => string | undefined;
3175
+ title: ({
3176
+ member: op,
3177
+ config
3178
+ }: Omit<ComputedInput, "member"> & {
3179
+ member: {
3180
+ kind: string;
3181
+ verb: string;
3182
+ readOnly: boolean;
3183
+ label: string;
3184
+ description: string;
3185
+ scope: string;
3186
+ creates: boolean;
3187
+ approval?: "destructive" | "reference-change" | undefined;
3188
+ };
3189
+ }) => ((entity: string) => string) | undefined;
3190
+ example: ({
3191
+ member: op,
3192
+ config
3193
+ }: Omit<ComputedInput, "member"> & {
3194
+ member: {
3195
+ kind: string;
3196
+ verb: string;
3197
+ readOnly: boolean;
3198
+ label: string;
3199
+ description: string;
3200
+ scope: string;
3201
+ creates: boolean;
3202
+ approval?: "destructive" | "reference-change" | undefined;
3203
+ };
3204
+ }) => Record<string, unknown> | undefined;
3205
+ }>;
3206
+ name: z.ZodString;
3207
+ description: z.ZodString;
3208
+ enabled: z.ZodDefault<z.ZodBoolean>;
3209
+ }, z.core.$strip>, {
3210
+ kind: (input: ComputedInput) => string | undefined;
3211
+ verb: (input: ComputedInput) => string | undefined;
3212
+ readOnly: ({
3213
+ member,
3214
+ config
3215
+ }: Omit<ComputedInput, "member"> & {
3216
+ member: {
3217
+ operation: {
3218
+ __ref: string;
3219
+ };
3220
+ name: string;
3221
+ description: string;
3222
+ enabled: boolean;
3223
+ };
3224
+ }) => boolean;
3225
+ inputSchema: (input: ComputedInput) => z.ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | undefined;
3226
+ execute: (input: ComputedInput) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
3227
+ action: (input: ComputedInput) => string | undefined;
3228
+ field: (input: ComputedInput) => string | undefined;
3229
+ scope: (input: ComputedInput) => string | undefined;
3230
+ approval: (input: ComputedInput) => "destructive" | "reference-change" | undefined;
3231
+ label: (input: ComputedInput) => string | undefined;
3232
+ shortLabel: (input: ComputedInput) => string | undefined;
3233
+ example: (input: ComputedInput) => Record<string, unknown> | undefined;
3234
+ }>;
3235
+ }>;
3236
+ //#endregion
3237
+ export { AiChat, AiFlow, AiFlowOrigin, AiGeneration, AiMessage, AiMultiAgentMode, Canvas, CanvasConfig, Node, Page, SystemSource, createCanvasConfig };