@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,1559 @@
1
+ import { CopyPlan } from "../../entities/system/copy-plan.js";
2
+ import { Ref } from "../../framework/utils/refs.js";
3
+ import { DerivedEntityClass } from "../../framework/defineDerivedEntity.js";
4
+ import { SubEntityClass } from "../../framework/defineSubEntity.js";
5
+ import { ComponentContractOf, PathOf } from "../../framework/registered.js";
6
+ import { EntityClass } from "../../framework/defineEntity.js";
7
+ import { ConfigInstance } from "../../framework/defineConfig.js";
8
+ import { PinOptionsField } from "../../entities/system/LinkedSystem.js";
9
+ import { BreakPlan, LinkPlan, SourceRowState, UnlinkPlan } from "../../entities/system/link-plan.js";
10
+ import { Config } from "../../framework/Config.js";
11
+ import { ComputedInput } from "../../framework/registry.js";
12
+ import { DerivedColor, Gradient } from "../../entities/system/color.js";
13
+ import { StyleValue } from "../../entities/system/style-bag.js";
14
+ import { ComponentElementBody, ComponentReference, ComponentStyleBody } from "../../entities/system/Component.js";
15
+ import { StylePropValue } from "../../entities/system/StyleProperty.js";
16
+ import { OverrideCondition } from "../../entities/system/Token.js";
17
+ import { DocumentRename } from "../../spec/rewrite-refs.js";
18
+ import * as _$zod from "zod";
19
+ import * as _$zod_v4_core0 from "zod/v4/core";
20
+
21
+ //#region src/migrations/2.0.0/v1-artifact.d.ts
22
+ /**
23
+ * What the reader could not carry, by a fixed code so a caller can tell an intended drop from a loss.
24
+ * `loss` is the code's verdict: a hole never held anything, where an unrecognized marker did.
25
+ */
26
+ declare const V1_DIAGNOSTIC_CODES: {
27
+ /** A prop the artifact stores as `null`: a declaration that named no marker. */readonly 'prop-hole-dropped': {
28
+ readonly loss: false;
29
+ }; /** A prop marker config-v2 has no type for. */
30
+ readonly 'prop-unrecognized': {
31
+ readonly loss: true;
32
+ }; /** A layer value that is neither a tag, a component ref, nor an inline component body. */
33
+ readonly 'layer-unrecognized': {
34
+ readonly loss: true;
35
+ }; /** A style bag addressed to a layer the component does not declare. */
36
+ readonly 'style-layer-undeclared': {
37
+ readonly loss: true;
38
+ }; /** A component that took content without declaring `children`; the slot is declared for it. */
39
+ readonly 'children-slot-inferred': {
40
+ readonly loss: false;
41
+ }; /** CSS whose syntax or ordered entries cannot be represented by a global style. */
42
+ readonly 'raw-css-unparsed': {
43
+ readonly loss: true;
44
+ };
45
+ /** A selector modifier v1 also guarded with a media query; a v2 modifier activates one way. The
46
+ * guard only kept `:hover` off touch devices, which is accepted rather than carried. */
47
+ readonly 'modifier-media-dropped': {
48
+ readonly loss: false;
49
+ }; /** A component with layers and no `root`; the first layer is renamed, and the render must follow. */
50
+ readonly 'root-layer-renamed': {
51
+ readonly loss: true;
52
+ };
53
+ /** A ref the artifact spells to something it never declares; v1 emitted nothing, v2 refuses. A
54
+ * loss when carried; a note under `dropUnresolved`, since what is removed painted nothing. */
55
+ readonly 'ref-unresolved': {
56
+ readonly loss: true;
57
+ };
58
+ /** A style bag key that is neither a style prop, a CSS property, nor a prop of the layer's
59
+ * element. v1 wrote it as a declaration no browser parses, so it painted nothing. */
60
+ readonly 'style-key-unrecognized': {
61
+ readonly loss: false;
62
+ };
63
+ };
64
+ type V1DiagnosticCode = keyof typeof V1_DIAGNOSTIC_CODES;
65
+ interface V1Diagnostic {
66
+ readonly code: V1DiagnosticCode;
67
+ /** Where in the artifact: `<Component>/<prop>`, `<Component>/<when>/<layer>`. */
68
+ readonly path: string;
69
+ readonly detail: string;
70
+ readonly loss: boolean;
71
+ }
72
+ interface LoadV1Options {
73
+ /** Receives each drop as it happens. The hydrate path passes none. */
74
+ readonly onDiagnostic?: (diagnostic: V1Diagnostic) => void;
75
+ /** Remove each `ref-unresolved` ref from the body holding it, so the rest builds. Still reported. */
76
+ readonly dropUnresolved?: boolean;
77
+ }
78
+ interface V1Artifact {
79
+ prefix?: string;
80
+ /** How the REPO builds the system. Kept verbatim apart from the prefix, which the artifact spells
81
+ * at the top level and the config keeps in here. */
82
+ buildOptions?: {
83
+ componentsDir?: string;
84
+ registryDir?: string;
85
+ content?: string[];
86
+ cssScope?: string;
87
+ skipCssVariables?: boolean;
88
+ };
89
+ preflight?: boolean;
90
+ modes?: Record<string, Record<string, {
91
+ css?: string;
92
+ media?: string;
93
+ }>>;
94
+ modifiers?: Record<string, {
95
+ selector: unknown;
96
+ media?: string;
97
+ }>;
98
+ tokenGroups?: Record<string, {
99
+ label?: string;
100
+ description?: string;
101
+ tokens?: Record<string, Record<string, unknown>>;
102
+ }>;
103
+ tokens?: Record<string, Record<string, unknown>>;
104
+ styleProps?: Record<string, {
105
+ cssProperty: string | string[]; /** The class-name segment — not derivable from the prop's name (`position` emits none). */
106
+ classPrefix?: string;
107
+ values?: unknown[];
108
+ /** Old config records the accepted bracket-literal TYPE (`{ type: 'color' }`) or a bare
109
+ * truthy marker; config-v2 keeps only whether they're allowed. */
110
+ arbitrary?: unknown;
111
+ responsive?: boolean;
112
+ metadata?: {
113
+ label?: string;
114
+ };
115
+ /** Old config's opacity sibling: an opacity prop existed ONLY as this field, never as a
116
+ * registered style prop, so a component exposing `bgOpacity` pointed at nothing. config-v2
117
+ * registers it as an entity that names what it modulates. */
118
+ opacityPair?: {
119
+ as?: string;
120
+ ref?: string;
121
+ values?: unknown;
122
+ };
123
+ }>;
124
+ compositeStyles?: Record<string, {
125
+ label?: string;
126
+ description?: string;
127
+ styles: Record<string, unknown>;
128
+ }>;
129
+ motion?: Record<string, Record<string, unknown>>;
130
+ components?: Record<string, Record<string, unknown>>;
131
+ componentGroups?: Record<string, {
132
+ label?: string;
133
+ description?: string;
134
+ icon?: string;
135
+ }>;
136
+ assetGroups?: Record<string, {
137
+ assetKind?: string;
138
+ label?: string;
139
+ version?: string;
140
+ sizes?: Record<string, number>;
141
+ variants?: string[];
142
+ component?: string;
143
+ members?: string[] | Record<string, {
144
+ fontFamily?: string;
145
+ /** One entry per font FILE. Field naming varies by source — an upload writes `url`,
146
+ * the v3 declaration map writes `src`/`fontWeight`/`fontStyle`. */
147
+ declarations?: Array<{
148
+ url?: string;
149
+ src?: string;
150
+ format?: string;
151
+ weight?: number | string;
152
+ fontWeight?: number | string;
153
+ style?: string;
154
+ fontStyle?: string;
155
+ postscriptName?: string;
156
+ }>; /** A comma list or an array; config-v2 stores the list. */
157
+ fallback?: string | string[];
158
+ deprecated?: boolean;
159
+ isVariableFont?: boolean;
160
+ }>;
161
+ }>;
162
+ /** Selector → its declarations; a nested record is a nested rule (`@keyframes`). */
163
+ globalStyles?: Record<string, Record<string, unknown>>;
164
+ /** CSS the config shipped verbatim — font faces, `:root` variables, helper-built rules. */
165
+ rawCss?: string | string[];
166
+ /** Role (`frame`, `text`) → the components that insert tool offers. */
167
+ canvasRoles?: Record<string, Array<{
168
+ component: string;
169
+ default?: boolean;
170
+ defaultProps?: Record<string, unknown>;
171
+ }>>;
172
+ }
173
+ /**
174
+ * The components a v1 artifact marks as parts of another, as the renames that move each to its
175
+ * owner path.
176
+ *
177
+ * v1 recorded the edge twice, `subcomponentOf: 'Card'` on the part and `subcomponents: ['Header']`
178
+ * on the owner, and either spelling alone counts. config-v2 has no field for it: `Card/Header` is a
179
+ * part of `Card` by being named that way. A part of a part lands under the owner's own owner path.
180
+ *
181
+ * The list is what a canvas conversion hands to `rewriteSpecRefs`, so a node whose type still names
182
+ * the bare component follows it to the owner path. `convert` runs the same list as component renames.
183
+ */
184
+ declare function v1ComponentRenames(studio: V1Artifact): DocumentRename[];
185
+ /**
186
+ * Read a v1 build artifact as a config-v2 `System`.
187
+ *
188
+ * One shape in, and only one: the flat pre-cutover bag. A config-v2 artifact does not come through
189
+ * here — `Config.fromJSON` reads it directly, and it refuses this shape outright rather than
190
+ * hydrating an empty config from fields it cannot see.
191
+ */
192
+ declare function loadV1Artifact(studio: V1Artifact, options?: LoadV1Options): ConfigInstance<{
193
+ settings: EntityClass<_$zod.ZodObject<{
194
+ system: _$zod.ZodOptional<_$zod.ZodObject<{
195
+ id: _$zod.ZodOptional<_$zod.ZodString>;
196
+ }, _$zod_v4_core0.$strict>>;
197
+ build: _$zod.ZodOptional<_$zod.ZodObject<{
198
+ inputDir: _$zod.ZodOptional<_$zod.ZodString>;
199
+ outDir: _$zod.ZodOptional<_$zod.ZodString>;
200
+ registryDir: _$zod.ZodOptional<_$zod.ZodString>;
201
+ }, _$zod_v4_core0.$strict>>;
202
+ css: _$zod.ZodOptional<_$zod.ZodObject<{
203
+ prefix: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
204
+ classNames: _$zod.ZodString;
205
+ variables: _$zod.ZodString;
206
+ }, _$zod_v4_core0.$strict>]>>;
207
+ scope: _$zod.ZodOptional<_$zod.ZodString>;
208
+ preflight: _$zod.ZodOptional<_$zod.ZodBoolean>;
209
+ safelist: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
210
+ }, _$zod_v4_core0.$strict>>;
211
+ playground: _$zod.ZodOptional<_$zod.ZodObject<{
212
+ pagesDir: _$zod.ZodOptional<_$zod.ZodString>;
213
+ port: _$zod.ZodOptional<_$zod.ZodNumber>;
214
+ }, _$zod_v4_core0.$strict>>;
215
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "settings", Record<never, never>, Record<never, never>, true>;
216
+ tokens: EntityClass<_$zod.ZodObject<{
217
+ value: _$zod.ZodType<string | number | Ref | DerivedColor | Gradient, unknown, _$zod_v4_core0.$ZodTypeInternals<string | number | Ref | DerivedColor | Gradient, unknown>>;
218
+ type: _$zod.ZodOptional<_$zod.ZodString>;
219
+ overrides: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{
220
+ on: _$zod.ZodType<OverrideCondition, unknown, _$zod_v4_core0.$ZodTypeInternals<OverrideCondition, unknown>>;
221
+ value: _$zod.ZodType<string | number | Ref | DerivedColor | Gradient, unknown, _$zod_v4_core0.$ZodTypeInternals<string | number | Ref | DerivedColor | Gradient, unknown>>;
222
+ }, _$zod_v4_core0.$strip>>>;
223
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
224
+ cssPrefix: _$zod.ZodOptional<_$zod.ZodString>;
225
+ }, _$zod_v4_core0.$strip>, "token", {
226
+ readonly create: {
227
+ readonly description: `Create a token at \`<group>/<name>\` \u2014 \`data.value\` is the CSS value. The first path segment is its group, and a style property takes a whole group as one ref (\`${string}\`), so put the tokens one prop should offer in one group rather than listing values on the prop.`;
228
+ };
229
+ }, Record<never, never>, false>;
230
+ components: Omit<EntityClass<_$zod.ZodObject<{
231
+ layers: SubEntityClass<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodLazy<_$zod.ZodType<Ref, unknown, _$zod_v4_core0.$ZodTypeInternals<Ref, unknown>>>, EntityClass<_$zod.ZodObject<{
232
+ version: _$zod.ZodOptional<_$zod.ZodString>;
233
+ exports: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{}, _$zod_v4_core0.$strict>>>;
234
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
235
+ props: _$zod.ZodOptional<SubEntityClass<_$zod.ZodNullable<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
236
+ type: _$zod.ZodLiteral<"slot">;
237
+ text: _$zod.ZodOptional<_$zod.ZodBoolean>;
238
+ accepts: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
239
+ __ref: _$zod.ZodString;
240
+ }, _$zod_v4_core0.$strip>, _$zod.ZodArray<_$zod.ZodObject<{
241
+ __ref: _$zod.ZodString;
242
+ }, _$zod_v4_core0.$strip>>]>>;
243
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
244
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
245
+ type: _$zod.ZodLiteral<"variant">;
246
+ value: _$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodArray<_$zod.ZodString>, _$zod.ZodTransform<{
247
+ [k: string]: {};
248
+ }, string[]>>, _$zod.ZodObject<{
249
+ __ref: _$zod.ZodString;
250
+ }, _$zod_v4_core0.$strip>, SubEntityClass<_$zod.ZodObject<{
251
+ label: _$zod.ZodOptional<_$zod.ZodString>;
252
+ description: _$zod.ZodOptional<_$zod.ZodString>;
253
+ deprecated: _$zod.ZodOptional<_$zod.ZodBoolean>;
254
+ }, _$zod_v4_core0.$strict>>]>;
255
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
256
+ }, _$zod_v4_core0.$strict>, _$zod.ZodPipe<_$zod.ZodObject<{
257
+ type: _$zod.ZodLiteral<"forward">;
258
+ target: _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
259
+ __ref: _$zod.ZodString;
260
+ }, _$zod_v4_core0.$strip>]>;
261
+ into: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
262
+ __ref: _$zod.ZodString;
263
+ }, _$zod_v4_core0.$strip>]>>;
264
+ accepts: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
265
+ __ref: _$zod.ZodString;
266
+ }, _$zod_v4_core0.$strip>, _$zod.ZodArray<_$zod.ZodObject<{
267
+ __ref: _$zod.ZodString;
268
+ }, _$zod_v4_core0.$strip>>]>>;
269
+ text: _$zod.ZodOptional<_$zod.ZodBoolean>;
270
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
271
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
272
+ type: "forward";
273
+ target: string | {
274
+ __ref: string;
275
+ };
276
+ into?: string | {
277
+ __ref: string;
278
+ } | undefined;
279
+ accepts?: {
280
+ __ref: string;
281
+ } | {
282
+ __ref: string;
283
+ }[] | undefined;
284
+ text?: boolean | undefined;
285
+ required?: boolean | undefined;
286
+ }, {
287
+ type: "forward";
288
+ target: string | {
289
+ __ref: string;
290
+ };
291
+ into?: string | {
292
+ __ref: string;
293
+ } | undefined;
294
+ accepts?: {
295
+ __ref: string;
296
+ } | {
297
+ __ref: string;
298
+ }[] | undefined;
299
+ text?: boolean | undefined;
300
+ required?: boolean | undefined;
301
+ }>>, _$zod.ZodObject<{
302
+ type: _$zod.ZodLiteral<"styleProperty">;
303
+ value: _$zod.ZodObject<{
304
+ __ref: _$zod.ZodString;
305
+ }, _$zod_v4_core0.$strip>;
306
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
307
+ type: _$zod.ZodLiteral<"composite">;
308
+ value: _$zod.ZodObject<{
309
+ __ref: _$zod.ZodString;
310
+ }, _$zod_v4_core0.$strip>;
311
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
312
+ type: _$zod.ZodLiteral<"motion">;
313
+ value: _$zod.ZodDefault<_$zod.ZodObject<{
314
+ __ref: _$zod.ZodString;
315
+ }, _$zod_v4_core0.$strip>>;
316
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
317
+ type: _$zod.ZodLiteral<"string">;
318
+ value: _$zod.ZodOptional<_$zod.ZodString>;
319
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
320
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
321
+ type: _$zod.ZodLiteral<"number">;
322
+ value: _$zod.ZodOptional<_$zod.ZodNumber>;
323
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
324
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
325
+ type: _$zod.ZodLiteral<"boolean">;
326
+ value: _$zod.ZodOptional<_$zod.ZodBoolean>;
327
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
328
+ }, _$zod_v4_core0.$strict>], "type">>>>;
329
+ forwards: _$zod.ZodOptional<SubEntityClass<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodObject<{
330
+ __ref: _$zod.ZodString;
331
+ }, _$zod_v4_core0.$strip>>]>>>;
332
+ styles: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<ComponentStyleBody, unknown, _$zod_v4_core0.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
333
+ anatomy: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<ComponentElementBody, unknown, _$zod_v4_core0.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
334
+ defaultProps: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<StyleValue, unknown, _$zod_v4_core0.$ZodTypeInternals<StyleValue, unknown>>>>;
335
+ previewProps: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
336
+ file: _$zod.ZodOptional<_$zod.ZodObject<{
337
+ __ref: _$zod.ZodString;
338
+ }, _$zod_v4_core0.$strip>>;
339
+ export: _$zod.ZodOptional<_$zod.ZodString>;
340
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
341
+ icon: _$zod.ZodOptional<_$zod.ZodString>;
342
+ }, _$zod_v4_core0.$strip>, "component", {
343
+ readonly create: {
344
+ readonly data: _$zod.ZodObject<{
345
+ layers: SubEntityClass<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodLazy<_$zod.ZodType<Ref, unknown, _$zod_v4_core0.$ZodTypeInternals<Ref, unknown>>>, EntityClass<_$zod.ZodObject<{
346
+ version: _$zod.ZodOptional<_$zod.ZodString>;
347
+ exports: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{}, _$zod_v4_core0.$strict>>>;
348
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "package", Record<never, never>, Record<never, never>, false>]>>;
349
+ props: _$zod.ZodOptional<SubEntityClass<_$zod.ZodNullable<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
350
+ type: _$zod.ZodLiteral<"slot">;
351
+ text: _$zod.ZodOptional<_$zod.ZodBoolean>;
352
+ accepts: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
353
+ __ref: _$zod.ZodString;
354
+ }, _$zod_v4_core0.$strip>, _$zod.ZodArray<_$zod.ZodObject<{
355
+ __ref: _$zod.ZodString;
356
+ }, _$zod_v4_core0.$strip>>]>>;
357
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
358
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
359
+ type: _$zod.ZodLiteral<"variant">;
360
+ value: _$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodArray<_$zod.ZodString>, _$zod.ZodTransform<{
361
+ [k: string]: {};
362
+ }, string[]>>, _$zod.ZodObject<{
363
+ __ref: _$zod.ZodString;
364
+ }, _$zod_v4_core0.$strip>, SubEntityClass<_$zod.ZodObject<{
365
+ label: _$zod.ZodOptional<_$zod.ZodString>;
366
+ description: _$zod.ZodOptional<_$zod.ZodString>;
367
+ deprecated: _$zod.ZodOptional<_$zod.ZodBoolean>;
368
+ }, _$zod_v4_core0.$strict>>]>;
369
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
370
+ }, _$zod_v4_core0.$strict>, _$zod.ZodPipe<_$zod.ZodObject<{
371
+ type: _$zod.ZodLiteral<"forward">;
372
+ target: _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
373
+ __ref: _$zod.ZodString;
374
+ }, _$zod_v4_core0.$strip>]>;
375
+ into: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
376
+ __ref: _$zod.ZodString;
377
+ }, _$zod_v4_core0.$strip>]>>;
378
+ accepts: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
379
+ __ref: _$zod.ZodString;
380
+ }, _$zod_v4_core0.$strip>, _$zod.ZodArray<_$zod.ZodObject<{
381
+ __ref: _$zod.ZodString;
382
+ }, _$zod_v4_core0.$strip>>]>>;
383
+ text: _$zod.ZodOptional<_$zod.ZodBoolean>;
384
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
385
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
386
+ type: "forward";
387
+ target: string | {
388
+ __ref: string;
389
+ };
390
+ into?: string | {
391
+ __ref: string;
392
+ } | undefined;
393
+ accepts?: {
394
+ __ref: string;
395
+ } | {
396
+ __ref: string;
397
+ }[] | undefined;
398
+ text?: boolean | undefined;
399
+ required?: boolean | undefined;
400
+ }, {
401
+ type: "forward";
402
+ target: string | {
403
+ __ref: string;
404
+ };
405
+ into?: string | {
406
+ __ref: string;
407
+ } | undefined;
408
+ accepts?: {
409
+ __ref: string;
410
+ } | {
411
+ __ref: string;
412
+ }[] | undefined;
413
+ text?: boolean | undefined;
414
+ required?: boolean | undefined;
415
+ }>>, _$zod.ZodObject<{
416
+ type: _$zod.ZodLiteral<"styleProperty">;
417
+ value: _$zod.ZodObject<{
418
+ __ref: _$zod.ZodString;
419
+ }, _$zod_v4_core0.$strip>;
420
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
421
+ type: _$zod.ZodLiteral<"composite">;
422
+ value: _$zod.ZodObject<{
423
+ __ref: _$zod.ZodString;
424
+ }, _$zod_v4_core0.$strip>;
425
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
426
+ type: _$zod.ZodLiteral<"motion">;
427
+ value: _$zod.ZodDefault<_$zod.ZodObject<{
428
+ __ref: _$zod.ZodString;
429
+ }, _$zod_v4_core0.$strip>>;
430
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
431
+ type: _$zod.ZodLiteral<"string">;
432
+ value: _$zod.ZodOptional<_$zod.ZodString>;
433
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
434
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
435
+ type: _$zod.ZodLiteral<"number">;
436
+ value: _$zod.ZodOptional<_$zod.ZodNumber>;
437
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
438
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
439
+ type: _$zod.ZodLiteral<"boolean">;
440
+ value: _$zod.ZodOptional<_$zod.ZodBoolean>;
441
+ required: _$zod.ZodOptional<_$zod.ZodBoolean>;
442
+ }, _$zod_v4_core0.$strict>], "type">>>>;
443
+ forwards: _$zod.ZodOptional<SubEntityClass<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodObject<{
444
+ __ref: _$zod.ZodString;
445
+ }, _$zod_v4_core0.$strip>>]>>>;
446
+ styles: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<ComponentStyleBody, unknown, _$zod_v4_core0.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
447
+ anatomy: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<ComponentElementBody, unknown, _$zod_v4_core0.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
448
+ defaultProps: _$zod.ZodOptional<SubEntityClass<_$zod.ZodType<StyleValue, unknown, _$zod_v4_core0.$ZodTypeInternals<StyleValue, unknown>>>>;
449
+ previewProps: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
450
+ file: _$zod.ZodOptional<_$zod.ZodObject<{
451
+ __ref: _$zod.ZodString;
452
+ }, _$zod_v4_core0.$strip>>;
453
+ export: _$zod.ZodOptional<_$zod.ZodString>;
454
+ }, _$zod_v4_core0.$strict>;
455
+ 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.";
456
+ readonly example: ({
457
+ config
458
+ }: {
459
+ config: Config;
460
+ kind: string;
461
+ path: string;
462
+ }) => {
463
+ path: string;
464
+ data: Record<string, unknown>;
465
+ };
466
+ };
467
+ readonly 'sub-create/anatomy': {
468
+ 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.";
469
+ };
470
+ readonly 'sub-create/props': {
471
+ 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.";
472
+ };
473
+ readonly 'sub-create/forwards': {
474
+ 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`.";
475
+ readonly example: ({
476
+ config
477
+ }: {
478
+ config: Config;
479
+ kind: string;
480
+ path: string;
481
+ }) => {
482
+ path: string;
483
+ key: string;
484
+ data: "*";
485
+ } | undefined;
486
+ };
487
+ readonly 'sub-upsert/forwards': {
488
+ 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`.";
489
+ };
490
+ readonly 'sub-update/forwards': {
491
+ 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`.";
492
+ };
493
+ readonly 'element-insert': {
494
+ readonly input: _$zod.ZodObject<{
495
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
496
+ key: _$zod.ZodOptional<_$zod.ZodString>;
497
+ data: _$zod.ZodPrefault<_$zod.ZodObject<{
498
+ element: _$zod.ZodDefault<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
499
+ __ref: _$zod.ZodString;
500
+ }, _$zod_v4_core0.$strip>]>>;
501
+ parent: _$zod.ZodOptional<_$zod.ZodString>;
502
+ index: _$zod.ZodOptional<_$zod.ZodNumber>;
503
+ props: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
504
+ slotProp: _$zod.ZodOptional<_$zod.ZodString>;
505
+ visible: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
506
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
507
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
508
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
509
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
510
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
511
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
512
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
513
+ $state: _$zod.ZodString;
514
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
515
+ $state: string;
516
+ not?: true | undefined;
517
+ eq?: unknown;
518
+ neq?: unknown;
519
+ gt?: number | undefined;
520
+ gte?: number | undefined;
521
+ lt?: number | undefined;
522
+ lte?: number | undefined;
523
+ }, {
524
+ $state: string;
525
+ not?: true | undefined;
526
+ eq?: unknown;
527
+ neq?: unknown;
528
+ gt?: number | undefined;
529
+ gte?: number | undefined;
530
+ lt?: number | undefined;
531
+ lte?: number | undefined;
532
+ }>>, _$zod.ZodObject<{
533
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
534
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
535
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
536
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
537
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
538
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
539
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
540
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
541
+ $state: _$zod.ZodString;
542
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
543
+ $state: string;
544
+ not?: true | undefined;
545
+ eq?: unknown;
546
+ neq?: unknown;
547
+ gt?: number | undefined;
548
+ gte?: number | undefined;
549
+ lt?: number | undefined;
550
+ lte?: number | undefined;
551
+ }, {
552
+ $state: string;
553
+ not?: true | undefined;
554
+ eq?: unknown;
555
+ neq?: unknown;
556
+ gt?: number | undefined;
557
+ gte?: number | undefined;
558
+ lt?: number | undefined;
559
+ lte?: number | undefined;
560
+ }>>>;
561
+ }, _$zod_v4_core0.$strict>, _$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
562
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
563
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
564
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
565
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
566
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
567
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
568
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
569
+ $state: _$zod.ZodString;
570
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
571
+ $state: string;
572
+ not?: true | undefined;
573
+ eq?: unknown;
574
+ neq?: unknown;
575
+ gt?: number | undefined;
576
+ gte?: number | undefined;
577
+ lt?: number | undefined;
578
+ lte?: number | undefined;
579
+ }, {
580
+ $state: string;
581
+ not?: true | undefined;
582
+ eq?: unknown;
583
+ neq?: unknown;
584
+ gt?: number | undefined;
585
+ gte?: number | undefined;
586
+ lt?: number | undefined;
587
+ lte?: number | undefined;
588
+ }>>, _$zod.ZodObject<{
589
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
590
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
591
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
592
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
593
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
594
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
595
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
596
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
597
+ $state: _$zod.ZodString;
598
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
599
+ $state: string;
600
+ not?: true | undefined;
601
+ eq?: unknown;
602
+ neq?: unknown;
603
+ gt?: number | undefined;
604
+ gte?: number | undefined;
605
+ lt?: number | undefined;
606
+ lte?: number | undefined;
607
+ }, {
608
+ $state: string;
609
+ not?: true | undefined;
610
+ eq?: unknown;
611
+ neq?: unknown;
612
+ gt?: number | undefined;
613
+ gte?: number | undefined;
614
+ lt?: number | undefined;
615
+ lte?: number | undefined;
616
+ }>>>;
617
+ }, _$zod_v4_core0.$strict>]>>, _$zod.ZodPipe<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodNumber, _$zod.ZodBoolean, _$zod.ZodObject<{
618
+ __ref: _$zod.ZodString;
619
+ }, _$zod_v4_core0.$strip>]>>, _$zod.ZodTransform<{
620
+ $state: string;
621
+ eq?: unknown;
622
+ } | {
623
+ $state: string;
624
+ eq?: unknown;
625
+ }[], Record<string, string | number | boolean | {
626
+ __ref: string;
627
+ }>>>]>>;
628
+ text: _$zod.ZodOptional<_$zod.ZodString>;
629
+ children: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
630
+ slots: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodArray<_$zod.ZodString>>>;
631
+ nodes: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodObject<{
632
+ element: _$zod.ZodDefault<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
633
+ __ref: _$zod.ZodString;
634
+ }, _$zod_v4_core0.$strip>]>>;
635
+ props: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
636
+ children: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
637
+ slots: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodArray<_$zod.ZodString>>>;
638
+ visible: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
639
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
640
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
641
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
642
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
643
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
644
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
645
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
646
+ $state: _$zod.ZodString;
647
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
648
+ $state: string;
649
+ not?: true | undefined;
650
+ eq?: unknown;
651
+ neq?: unknown;
652
+ gt?: number | undefined;
653
+ gte?: number | undefined;
654
+ lt?: number | undefined;
655
+ lte?: number | undefined;
656
+ }, {
657
+ $state: string;
658
+ not?: true | undefined;
659
+ eq?: unknown;
660
+ neq?: unknown;
661
+ gt?: number | undefined;
662
+ gte?: number | undefined;
663
+ lt?: number | undefined;
664
+ lte?: number | undefined;
665
+ }>>, _$zod.ZodObject<{
666
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
667
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
668
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
669
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
670
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
671
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
672
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
673
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
674
+ $state: _$zod.ZodString;
675
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
676
+ $state: string;
677
+ not?: true | undefined;
678
+ eq?: unknown;
679
+ neq?: unknown;
680
+ gt?: number | undefined;
681
+ gte?: number | undefined;
682
+ lt?: number | undefined;
683
+ lte?: number | undefined;
684
+ }, {
685
+ $state: string;
686
+ not?: true | undefined;
687
+ eq?: unknown;
688
+ neq?: unknown;
689
+ gt?: number | undefined;
690
+ gte?: number | undefined;
691
+ lt?: number | undefined;
692
+ lte?: number | undefined;
693
+ }>>>;
694
+ }, _$zod_v4_core0.$strict>, _$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
695
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
696
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
697
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
698
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
699
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
700
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
701
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
702
+ $state: _$zod.ZodString;
703
+ }, _$zod_v4_core0.$strict>, _$zod.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
+ }>>, _$zod.ZodObject<{
722
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
723
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
724
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
725
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
726
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
727
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
728
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
729
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
730
+ $state: _$zod.ZodString;
731
+ }, _$zod_v4_core0.$strict>, _$zod.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
+ }, _$zod_v4_core0.$strict>]>>, _$zod.ZodPipe<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodNumber, _$zod.ZodBoolean, _$zod.ZodObject<{
751
+ __ref: _$zod.ZodString;
752
+ }, _$zod_v4_core0.$strip>]>>, _$zod.ZodTransform<{
753
+ $state: string;
754
+ eq?: unknown;
755
+ } | {
756
+ $state: string;
757
+ eq?: unknown;
758
+ }[], Record<string, string | number | boolean | {
759
+ __ref: string;
760
+ }>>>]>>;
761
+ text: _$zod.ZodOptional<_$zod.ZodString>;
762
+ }, _$zod_v4_core0.$strict>>>;
763
+ subtree: _$zod.ZodOptional<_$zod.ZodObject<{
764
+ root: _$zod.ZodString;
765
+ elements: _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodObject<{
766
+ element: _$zod.ZodDefault<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
767
+ __ref: _$zod.ZodString;
768
+ }, _$zod_v4_core0.$strip>]>>;
769
+ props: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
770
+ children: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
771
+ slots: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodArray<_$zod.ZodString>>>;
772
+ visible: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
773
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
774
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
775
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
776
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
777
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
778
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
779
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
780
+ $state: _$zod.ZodString;
781
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
782
+ $state: string;
783
+ not?: true | undefined;
784
+ eq?: unknown;
785
+ neq?: unknown;
786
+ gt?: number | undefined;
787
+ gte?: number | undefined;
788
+ lt?: number | undefined;
789
+ lte?: number | undefined;
790
+ }, {
791
+ $state: string;
792
+ not?: true | undefined;
793
+ eq?: unknown;
794
+ neq?: unknown;
795
+ gt?: number | undefined;
796
+ gte?: number | undefined;
797
+ lt?: number | undefined;
798
+ lte?: number | undefined;
799
+ }>>, _$zod.ZodObject<{
800
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
801
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
802
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
803
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
804
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
805
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
806
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
807
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
808
+ $state: _$zod.ZodString;
809
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
810
+ $state: string;
811
+ not?: true | undefined;
812
+ eq?: unknown;
813
+ neq?: unknown;
814
+ gt?: number | undefined;
815
+ gte?: number | undefined;
816
+ lt?: number | undefined;
817
+ lte?: number | undefined;
818
+ }, {
819
+ $state: string;
820
+ not?: true | undefined;
821
+ eq?: unknown;
822
+ neq?: unknown;
823
+ gt?: number | undefined;
824
+ gte?: number | undefined;
825
+ lt?: number | undefined;
826
+ lte?: number | undefined;
827
+ }>>>;
828
+ }, _$zod_v4_core0.$strict>, _$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodPipe<_$zod.ZodObject<{
829
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
830
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
831
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
832
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
833
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
834
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
835
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
836
+ $state: _$zod.ZodString;
837
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
838
+ $state: string;
839
+ not?: true | undefined;
840
+ eq?: unknown;
841
+ neq?: unknown;
842
+ gt?: number | undefined;
843
+ gte?: number | undefined;
844
+ lt?: number | undefined;
845
+ lte?: number | undefined;
846
+ }, {
847
+ $state: string;
848
+ not?: true | undefined;
849
+ eq?: unknown;
850
+ neq?: unknown;
851
+ gt?: number | undefined;
852
+ gte?: number | undefined;
853
+ lt?: number | undefined;
854
+ lte?: number | undefined;
855
+ }>>, _$zod.ZodObject<{
856
+ $or: _$zod.ZodArray<_$zod.ZodPipe<_$zod.ZodObject<{
857
+ not: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
858
+ eq: _$zod.ZodOptional<_$zod.ZodUnknown>;
859
+ neq: _$zod.ZodOptional<_$zod.ZodUnknown>;
860
+ gt: _$zod.ZodOptional<_$zod.ZodNumber>;
861
+ gte: _$zod.ZodOptional<_$zod.ZodNumber>;
862
+ lt: _$zod.ZodOptional<_$zod.ZodNumber>;
863
+ lte: _$zod.ZodOptional<_$zod.ZodNumber>;
864
+ $state: _$zod.ZodString;
865
+ }, _$zod_v4_core0.$strict>, _$zod.ZodTransform<{
866
+ $state: string;
867
+ not?: true | undefined;
868
+ eq?: unknown;
869
+ neq?: unknown;
870
+ gt?: number | undefined;
871
+ gte?: number | undefined;
872
+ lt?: number | undefined;
873
+ lte?: number | undefined;
874
+ }, {
875
+ $state: string;
876
+ not?: true | undefined;
877
+ eq?: unknown;
878
+ neq?: unknown;
879
+ gt?: number | undefined;
880
+ gte?: number | undefined;
881
+ lt?: number | undefined;
882
+ lte?: number | undefined;
883
+ }>>>;
884
+ }, _$zod_v4_core0.$strict>]>>, _$zod.ZodPipe<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodNumber, _$zod.ZodBoolean, _$zod.ZodObject<{
885
+ __ref: _$zod.ZodString;
886
+ }, _$zod_v4_core0.$strip>]>>, _$zod.ZodTransform<{
887
+ $state: string;
888
+ eq?: unknown;
889
+ } | {
890
+ $state: string;
891
+ eq?: unknown;
892
+ }[], Record<string, string | number | boolean | {
893
+ __ref: string;
894
+ }>>>]>>;
895
+ text: _$zod.ZodOptional<_$zod.ZodString>;
896
+ }, _$zod_v4_core0.$strict>>;
897
+ }, _$zod_v4_core0.$strip>>;
898
+ }, _$zod_v4_core0.$strip>>;
899
+ }, _$zod_v4_core0.$strip>;
900
+ readonly readOnly: false;
901
+ readonly label: "Add element";
902
+ readonly description: "Add an element to a component: creates the LAYER it is styled through and the anatomy node that places it, under `parent`.";
903
+ readonly scope: "item";
904
+ readonly creates: true;
905
+ readonly title: (entity: string) => string;
906
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
907
+ };
908
+ readonly 'element-delete': {
909
+ readonly input: _$zod.ZodObject<{
910
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
911
+ key: _$zod.ZodString;
912
+ data: _$zod.ZodOptional<_$zod.ZodObject<{
913
+ subtree: _$zod.ZodDefault<_$zod.ZodBoolean>;
914
+ }, _$zod_v4_core0.$strip>>;
915
+ }, _$zod_v4_core0.$strip>;
916
+ readonly readOnly: false;
917
+ readonly label: "Remove element";
918
+ 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.";
919
+ readonly scope: "item";
920
+ readonly approval: "destructive";
921
+ readonly title: (entity: string) => string;
922
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
923
+ };
924
+ readonly 'element-move': {
925
+ readonly input: _$zod.ZodObject<{
926
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
927
+ key: _$zod.ZodString;
928
+ data: _$zod.ZodPrefault<_$zod.ZodObject<{
929
+ parent: _$zod.ZodDefault<_$zod.ZodString>;
930
+ index: _$zod.ZodOptional<_$zod.ZodNumber>;
931
+ slotProp: _$zod.ZodOptional<_$zod.ZodString>;
932
+ }, _$zod_v4_core0.$strip>>;
933
+ }, _$zod_v4_core0.$strip>;
934
+ readonly readOnly: false;
935
+ readonly label: "Move element";
936
+ 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.";
937
+ readonly scope: "item";
938
+ readonly approval: "reference-change";
939
+ readonly title: (entity: string) => string;
940
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
941
+ };
942
+ readonly validate: {
943
+ readonly input: _$zod.ZodObject<{
944
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
945
+ data: _$zod.ZodObject<{
946
+ props: _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>;
947
+ }, _$zod_v4_core0.$strip>;
948
+ }, _$zod_v4_core0.$strip>;
949
+ readonly readOnly: true;
950
+ readonly label: "Validate props";
951
+ readonly description: "Check a bag of prop VALUES against a component — rejects unknown props and out-of-domain values.";
952
+ readonly scope: "item";
953
+ readonly title: (entity: string) => string;
954
+ readonly example: ({
955
+ config,
956
+ path
957
+ }: {
958
+ config: Config;
959
+ kind: string;
960
+ path: string;
961
+ }) => {
962
+ path: string;
963
+ data: {
964
+ props: Record<string, unknown>;
965
+ };
966
+ };
967
+ readonly handler: (input: Record<string, unknown>, config: Config) => string[];
968
+ };
969
+ }, {
970
+ readonly slots: ({
971
+ config,
972
+ path,
973
+ member
974
+ }: ComputedInput) => string[];
975
+ }, false>, "ref"> & {
976
+ ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
977
+ };
978
+ modifiers: EntityClass<_$zod.ZodObject<{
979
+ type: _$zod.ZodEnum<{
980
+ composite: "composite";
981
+ selector: "selector";
982
+ "media-query": "media-query";
983
+ }>;
984
+ value: _$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodLazy<EntityClass<_$zod.ZodObject<{
985
+ styles: SubEntityClass<_$zod.ZodType<StyleValue, unknown, _$zod_v4_core0.$ZodTypeInternals<StyleValue, unknown>>>;
986
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "composite", Record<never, never>, Record<never, never>, false>>]>;
987
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
988
+ type: _$zod.ZodOptional<_$zod.ZodEnum<{
989
+ mode: "mode";
990
+ state: "state";
991
+ }>>;
992
+ default: _$zod.ZodOptional<_$zod.ZodObject<{
993
+ __ref: _$zod.ZodString;
994
+ }, _$zod_v4_core0.$strip>>;
995
+ }, _$zod_v4_core0.$strip>, "modifier", Record<never, never>, Record<never, never>, false>;
996
+ styleProps: EntityClass<_$zod.ZodObject<{
997
+ properties: _$zod.ZodArray<_$zod.ZodString>;
998
+ values: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodType<StylePropValue, unknown, _$zod_v4_core0.$ZodTypeInternals<StylePropValue, unknown>>>>;
999
+ responsive: _$zod.ZodDefault<_$zod.ZodBoolean>;
1000
+ classPrefix: _$zod.ZodOptional<_$zod.ZodString>;
1001
+ arbitrary: _$zod.ZodDefault<_$zod.ZodBoolean>;
1002
+ negates: _$zod.ZodDefault<_$zod.ZodBoolean>;
1003
+ opacityOf: _$zod.ZodOptional<_$zod.ZodLazy<_$zod.ZodType<Ref, unknown, _$zod_v4_core0.$ZodTypeInternals<Ref, unknown>>>>;
1004
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "style-property", {
1005
+ readonly rename: {
1006
+ readonly to: _$zod.ZodString;
1007
+ };
1008
+ readonly create: {
1009
+ readonly path: _$zod.ZodString;
1010
+ readonly description: `Create a style property \u2014 the prop a component exposes for one CSS effect. \`path\` is the prop's JSX name, camelCase (\`borderRadius\`), never a CSS name; the CSS goes in \`properties\`. \`values\` is a ref to a token GROUP (\`${string}\`), which offers every token in it and keeps the prop in step with modes and edits; \`{ "alias": "brand", "value": ${string} }\` offers one token under a name of the prop's own; a literal (\`"row"\`, \`{ "alias": "full", "value": "9999px" }\`) is for a keyword the system has no token for. Restating a token's value as a literal instead of referencing it is refused.`;
1011
+ readonly example: ({
1012
+ config
1013
+ }: {
1014
+ config: Config;
1015
+ kind: string;
1016
+ path: string;
1017
+ }) => {
1018
+ path: string;
1019
+ data: Record<string, unknown>;
1020
+ } | undefined;
1021
+ };
1022
+ }, Record<never, never>, false>;
1023
+ composites: EntityClass<_$zod.ZodObject<{
1024
+ styles: SubEntityClass<_$zod.ZodType<StyleValue, unknown, _$zod_v4_core0.$ZodTypeInternals<StyleValue, unknown>>>;
1025
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "composite", Record<never, never>, Record<never, never>, false>;
1026
+ motion: EntityClass<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
1027
+ runtime: _$zod.ZodLiteral<"css">;
1028
+ keyframes: _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1029
+ duration: _$zod.ZodOptional<_$zod.ZodString>;
1030
+ delay: _$zod.ZodOptional<_$zod.ZodString>;
1031
+ timingFunction: _$zod.ZodOptional<_$zod.ZodString>;
1032
+ iterationCount: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodNumber]>>;
1033
+ direction: _$zod.ZodOptional<_$zod.ZodString>;
1034
+ fillMode: _$zod.ZodOptional<_$zod.ZodString>;
1035
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
1036
+ runtime: _$zod.ZodLiteral<"js">;
1037
+ initial: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1038
+ animate: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1039
+ transition: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1040
+ whileHover: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1041
+ whileTap: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1042
+ whileFocus: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1043
+ whileDrag: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1044
+ drag: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodBoolean, _$zod.ZodString]>>;
1045
+ dragConstraints: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodNumber>>;
1046
+ dragElastic: _$zod.ZodOptional<_$zod.ZodNumber>;
1047
+ }, _$zod_v4_core0.$strict>], "runtime">, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "motion", Record<never, never>, Record<never, never>, false>;
1048
+ fonts: EntityClass<_$zod.ZodObject<{
1049
+ fontFamily: _$zod.ZodString;
1050
+ files: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{
1051
+ src: _$zod.ZodString;
1052
+ format: _$zod.ZodOptional<_$zod.ZodString>;
1053
+ weight: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodNumber, _$zod.ZodString]>>;
1054
+ style: _$zod.ZodOptional<_$zod.ZodString>;
1055
+ postscriptName: _$zod.ZodOptional<_$zod.ZodString>;
1056
+ }, _$zod_v4_core0.$strip>>>;
1057
+ fallbackStack: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1058
+ isVariableFont: _$zod.ZodOptional<_$zod.ZodBoolean>;
1059
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
1060
+ version: _$zod.ZodOptional<_$zod.ZodString>;
1061
+ }, _$zod_v4_core0.$strict>, "font", Record<never, never>, Record<never, never>, false>;
1062
+ icons: EntityClass<_$zod.ZodObject<{
1063
+ categories: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1064
+ tags: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1065
+ codepoint: _$zod.ZodOptional<_$zod.ZodNumber>;
1066
+ knockoutVariants: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1067
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
1068
+ module: _$zod.ZodOptional<_$zod.ZodString>;
1069
+ version: _$zod.ZodOptional<_$zod.ZodString>;
1070
+ metadata: _$zod.ZodOptional<_$zod.ZodObject<{
1071
+ from: EntityClass<_$zod.ZodObject<{
1072
+ version: _$zod.ZodOptional<_$zod.ZodString>;
1073
+ exports: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{}, _$zod_v4_core0.$strict>>>;
1074
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "package", Record<never, never>, Record<never, never>, false>;
1075
+ format: _$zod.ZodEnum<{
1076
+ uds: "uds";
1077
+ phosphor: "phosphor";
1078
+ }>;
1079
+ }, _$zod_v4_core0.$strict>>;
1080
+ sizes: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodNumber>>;
1081
+ variants: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1082
+ component: _$zod.ZodOptional<_$zod.ZodObject<{
1083
+ __ref: _$zod.ZodString;
1084
+ }, _$zod_v4_core0.$strip>>;
1085
+ }, _$zod_v4_core0.$strict>, "icon", Record<never, never>, Record<never, never>, false>;
1086
+ packages: EntityClass<_$zod.ZodObject<{
1087
+ version: _$zod.ZodOptional<_$zod.ZodString>;
1088
+ exports: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{}, _$zod_v4_core0.$strict>>>;
1089
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "package", Record<never, never>, Record<never, never>, false>;
1090
+ files: EntityClass<_$zod.ZodObject<{
1091
+ hash: _$zod.ZodString;
1092
+ imports: _$zod.ZodOptional<SubEntityClass<_$zod.ZodObject<{
1093
+ target: _$zod.ZodType<Ref, unknown, _$zod_v4_core0.$ZodTypeInternals<Ref, unknown>>;
1094
+ names: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1095
+ }, _$zod_v4_core0.$strip>>>;
1096
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "file", Record<never, never>, {
1097
+ readonly binary: ({
1098
+ path
1099
+ }: ComputedInput) => boolean;
1100
+ }, false>;
1101
+ guidance: EntityClass<_$zod.ZodObject<{
1102
+ text: _$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
1103
+ __ref: _$zod.ZodString;
1104
+ }, _$zod_v4_core0.$strip>]>>;
1105
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
1106
+ label: _$zod.ZodOptional<_$zod.ZodString>;
1107
+ description: _$zod.ZodOptional<_$zod.ZodString>;
1108
+ appliesTo: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodEnum<{
1109
+ chat: "chat";
1110
+ huddle: "huddle";
1111
+ "paint-style": "paint-style";
1112
+ "figma-import": "figma-import";
1113
+ }>>>;
1114
+ }, _$zod_v4_core0.$strict>, "guidance", Record<never, never>, Record<never, never>, false>;
1115
+ guidanceStyles: EntityClass<_$zod.ZodObject<{
1116
+ text: _$zod.ZodString;
1117
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "guidance-style", Record<never, never>, Record<never, never>, false>;
1118
+ canvasRoles: EntityClass<_$zod.ZodObject<{
1119
+ entries: _$zod.ZodArray<_$zod.ZodObject<{
1120
+ component: _$zod.ZodObject<{
1121
+ __ref: _$zod.ZodString;
1122
+ }, _$zod_v4_core0.$strip>;
1123
+ default: _$zod.ZodOptional<_$zod.ZodBoolean>;
1124
+ defaultProps: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
1125
+ }, _$zod_v4_core0.$strip>>;
1126
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "canvas-role", {
1127
+ readonly create: {
1128
+ readonly description: `Register a canvas insert tool for this system. \`path\` is the role, one of ${string}; \`data.entries\` names the components that tool inserts, one marked \`default\`. A system whose roles are unregistered has those canvas tools disabled, so register \`frame\` and \`text\` once a layout primitive and a text primitive exist.`;
1129
+ };
1130
+ }, Record<never, never>, false>;
1131
+ globalStyles: EntityClass<_$zod.ZodObject<{
1132
+ selector: _$zod.ZodString;
1133
+ declarations: _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodType<string | number | {
1134
+ __ref: string;
1135
+ } | {
1136
+ [key: string]: string | number | {
1137
+ __ref: string;
1138
+ } | /*elided*/any;
1139
+ }, unknown, _$zod_v4_core0.$ZodTypeInternals<string | number | {
1140
+ __ref: string;
1141
+ } | {
1142
+ [key: string]: string | number | {
1143
+ __ref: string;
1144
+ } | /*elided*/any;
1145
+ }, unknown>>>;
1146
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "global-style", Record<never, never>, Record<never, never>, false>;
1147
+ devices: EntityClass<_$zod.ZodObject<{
1148
+ width: _$zod.ZodNumber;
1149
+ height: _$zod.ZodNumber;
1150
+ name: _$zod.ZodOptional<_$zod.ZodString>;
1151
+ }, _$zod_v4_core0.$strip>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "device", Record<never, never>, Record<never, never>, false>;
1152
+ linkedSystems: EntityClass<_$zod.ZodObject<{
1153
+ configPath: _$zod.ZodOptional<_$zod.ZodString>;
1154
+ link: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>>;
1155
+ options: PinOptionsField;
1156
+ package: _$zod.ZodOptional<_$zod.ZodString>;
1157
+ systemId: _$zod.ZodOptional<_$zod.ZodString>;
1158
+ name: _$zod.ZodOptional<_$zod.ZodString>;
1159
+ version: _$zod.ZodOptional<_$zod.ZodString>;
1160
+ }, _$zod_v4_core0.$strict>, _$zod.ZodObject<Record<never, never>, _$zod_v4_core0.$strip>, "linked-system", {
1161
+ readonly link: {
1162
+ readonly input: _$zod.ZodObject<{
1163
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1164
+ data: _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>;
1165
+ }, _$zod_v4_core0.$strip>;
1166
+ readonly readOnly: false;
1167
+ readonly label: "Link from";
1168
+ readonly description: "Draw entities from a linked system, following the source: `data` names them by accessor — `{ tokens: ['color/brand', 'color'] }` takes an entity and a folder's members, `{ tokens: '*' }` every token, and `'*'` the whole system. What this config already holds at those paths is replaced by theirs, so run `linked-system/link-plan` with the same input first to see what that is. To hold their values as your own instead, `copy`.";
1169
+ readonly scope: "item";
1170
+ readonly approval: "reference-change";
1171
+ readonly title: (entity: string) => string;
1172
+ readonly example: ({
1173
+ config,
1174
+ path
1175
+ }: {
1176
+ config: Config;
1177
+ path: string;
1178
+ }) => Record<string, unknown> | undefined;
1179
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1180
+ };
1181
+ readonly 'link-plan': {
1182
+ readonly input: _$zod.ZodObject<{
1183
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1184
+ data: _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>;
1185
+ }, _$zod_v4_core0.$strip>;
1186
+ readonly readOnly: true;
1187
+ readonly label: "Plan a link";
1188
+ readonly description: "What `link` with the same input replaces — rows of yours deleted so the source shows through, rows held through another pin turned into extensions, and members left alone because they are already here from the same origin. Writes nothing.";
1189
+ readonly scope: "item";
1190
+ readonly title: (entity: string) => string;
1191
+ readonly example: ({
1192
+ config,
1193
+ path
1194
+ }: {
1195
+ config: Config;
1196
+ path: string;
1197
+ }) => Record<string, unknown> | undefined;
1198
+ readonly handler: (input: Record<string, unknown>, config: Config) => Omit<LinkPlan, "patches">;
1199
+ };
1200
+ readonly unlink: {
1201
+ readonly input: _$zod.ZodObject<{
1202
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1203
+ data: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>>;
1204
+ }, _$zod_v4_core0.$strip>;
1205
+ readonly readOnly: false;
1206
+ readonly label: "Unlink from";
1207
+ readonly description: "Stop following a linked system's entities, in `link`'s shape or everything when `data` is omitted. The rows the declaration minted go with it, and so do the linked rows that point at them, since left linked they would bring them back; nothing of yours moves. A row of yours pointing at one of theirs refuses this — `copy` what is used first, or `break` with `keep: true`. `unlink-plan` names everything that goes.";
1208
+ readonly scope: "item";
1209
+ readonly approval: "reference-change";
1210
+ readonly title: (entity: string) => string;
1211
+ readonly example: ({
1212
+ config,
1213
+ path
1214
+ }: {
1215
+ config: Config;
1216
+ path: string;
1217
+ }) => Record<string, unknown> | undefined;
1218
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1219
+ };
1220
+ readonly 'unlink-plan': {
1221
+ readonly input: _$zod.ZodObject<{
1222
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1223
+ data: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>>;
1224
+ }, _$zod_v4_core0.$strip>;
1225
+ readonly readOnly: true;
1226
+ readonly label: "Plan an unlink";
1227
+ readonly description: "What `unlink` with the same input removes — the minted rows the narrower declaration no longer reaches, with the linked rows taken along because they point at them named in `cascade` — and why the config would refuse it. Writes nothing.";
1228
+ readonly scope: "item";
1229
+ readonly title: (entity: string) => string;
1230
+ readonly example: ({
1231
+ config,
1232
+ path
1233
+ }: {
1234
+ config: Config;
1235
+ path: string;
1236
+ }) => Record<string, unknown> | undefined;
1237
+ readonly handler: (input: Record<string, unknown>, config: Config) => Omit<UnlinkPlan, "patches">;
1238
+ };
1239
+ readonly break: {
1240
+ readonly input: _$zod.ZodObject<{
1241
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1242
+ keep: _$zod.ZodBoolean;
1243
+ }, _$zod_v4_core0.$strip>;
1244
+ readonly readOnly: false;
1245
+ readonly label: "Break link";
1246
+ readonly description: "Remove a linked system. With `keep: true` every value drawn through it is copied in as your own first, and a row of yours that pointed through the pin points at the copies; with `keep: false` the rows it minted go, and a row of yours still pointing through it refuses the break. Run `linked-system/break-plan` first to see every row it reaches.";
1247
+ readonly scope: "item";
1248
+ readonly approval: "destructive";
1249
+ readonly title: (entity: string) => string;
1250
+ readonly example: ({
1251
+ config,
1252
+ path
1253
+ }: {
1254
+ config: Config;
1255
+ path: string;
1256
+ }) => Record<string, unknown> | undefined;
1257
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1258
+ };
1259
+ readonly 'break-plan': {
1260
+ readonly input: _$zod.ZodObject<{
1261
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1262
+ keep: _$zod.ZodOptional<_$zod.ZodBoolean>;
1263
+ data: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>>;
1264
+ }, _$zod_v4_core0.$strip>;
1265
+ readonly readOnly: true;
1266
+ readonly label: "Plan a break";
1267
+ readonly description: "Every row a break reaches, and why the config would refuse it. `keep` plans `break` with the same input; `data` in `copy`'s shape plans detaching those entities alone — the rows the copy lands, the rows of yours it points at the copies, and the rows still linked that reference what moves. Writes nothing.";
1268
+ readonly scope: "item";
1269
+ readonly title: (entity: string) => string;
1270
+ readonly example: ({
1271
+ config,
1272
+ path
1273
+ }: {
1274
+ config: Config;
1275
+ path: string;
1276
+ }) => Record<string, unknown> | undefined;
1277
+ readonly handler: (input: Record<string, unknown>, config: Config) => Omit<BreakPlan, "patches">;
1278
+ };
1279
+ readonly rows: {
1280
+ readonly input: _$zod.ZodObject<{
1281
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1282
+ }, _$zod_v4_core0.$strip>;
1283
+ readonly readOnly: true;
1284
+ readonly label: "Source rows";
1285
+ readonly description: "Every top-level folder and item the linked system offers, read against this config: whether every member is linked through this pin, how many rows of yours a `link` would replace, and how many members are already here from the source's own origin. Needs the source attached; empty otherwise.";
1286
+ readonly scope: "item";
1287
+ readonly title: (entity: string) => string;
1288
+ readonly example: ({
1289
+ config,
1290
+ path
1291
+ }: {
1292
+ config: Config;
1293
+ path: string;
1294
+ }) => Record<string, unknown> | undefined;
1295
+ readonly handler: (input: Record<string, unknown>, config: Config) => SourceRowState[];
1296
+ };
1297
+ readonly copy: {
1298
+ readonly input: _$zod.ZodObject<{
1299
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1300
+ data: _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>;
1301
+ onConflict: _$zod.ZodOptional<_$zod.ZodEnum<{
1302
+ replace: "replace";
1303
+ skip: "skip";
1304
+ }>>;
1305
+ }, _$zod_v4_core0.$strip>;
1306
+ readonly readOnly: false;
1307
+ readonly label: "Copy from";
1308
+ readonly description: "Take entities from a linked system as your own, holding the values the source has now and no longer following it. `data` names them by accessor: `{ tokens: ['color/brand', 'color'] }` takes an entity and a folder's members, `{ tokens: '*' }` every token, and `'*'` the whole system. What a copied entity points at comes with it, so run `linked-system/copy-plan` with the same input first and see everything that lands. To use theirs without owning it, declare it in the pin's `link` instead. A whole-system copy is thousands of rows, and on a repo-backed system each one is written into `uds.config.ts`.";
1309
+ readonly scope: "item";
1310
+ readonly approval: "reference-change";
1311
+ readonly title: (entity: string) => string;
1312
+ readonly example: ({
1313
+ config,
1314
+ path
1315
+ }: {
1316
+ config: Config;
1317
+ path: string;
1318
+ }) => Record<string, unknown> | undefined;
1319
+ readonly handler: (input: Record<string, unknown>, config: Config) => Config;
1320
+ };
1321
+ readonly 'copy-plan': {
1322
+ readonly input: _$zod.ZodObject<{
1323
+ path: _$zod.ZodType<string, string | undefined, _$zod_v4_core0.$ZodTypeInternals<string, string | undefined>>;
1324
+ data: _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnion<readonly [_$zod.ZodLiteral<"*">, _$zod.ZodArray<_$zod.ZodString>]>>]>;
1325
+ onConflict: _$zod.ZodOptional<_$zod.ZodEnum<{
1326
+ replace: "replace";
1327
+ skip: "skip";
1328
+ }>>;
1329
+ }, _$zod_v4_core0.$strip>;
1330
+ readonly readOnly: true;
1331
+ readonly label: "Plan a copy";
1332
+ readonly description: "See what copying would bring before you do it — what lands as yours, what comes along because it is pointed at, and what you already hold that the copies will point at. Takes exactly the same input as `copy` and writes nothing. Run it before `copy`, and always before a `'*'` copy.";
1333
+ readonly scope: "item";
1334
+ readonly title: (entity: string) => string;
1335
+ readonly example: ({
1336
+ config,
1337
+ path
1338
+ }: {
1339
+ config: Config;
1340
+ path: string;
1341
+ }) => Record<string, unknown> | undefined;
1342
+ readonly handler: (input: Record<string, unknown>, config: Config) => Omit<CopyPlan, "patches">;
1343
+ };
1344
+ }, {
1345
+ readonly displayName: ({
1346
+ member,
1347
+ path
1348
+ }: ComputedInput) => string;
1349
+ }, false>;
1350
+ }, {
1351
+ operations: DerivedEntityClass<_$zod.ZodObject<{
1352
+ kind: _$zod.ZodString;
1353
+ verb: _$zod.ZodString;
1354
+ readOnly: _$zod.ZodBoolean;
1355
+ label: _$zod.ZodString;
1356
+ description: _$zod.ZodString;
1357
+ scope: _$zod.ZodString;
1358
+ creates: _$zod.ZodBoolean;
1359
+ approval: _$zod.ZodOptional<_$zod.ZodEnum<{
1360
+ destructive: "destructive";
1361
+ "reference-change": "reference-change";
1362
+ }>>;
1363
+ }, _$zod_v4_core0.$strip>, {
1364
+ inputSchema: ({
1365
+ member: op,
1366
+ config
1367
+ }: Omit<ComputedInput, "member"> & {
1368
+ member: {
1369
+ kind: string;
1370
+ verb: string;
1371
+ readOnly: boolean;
1372
+ label: string;
1373
+ description: string;
1374
+ scope: string;
1375
+ creates: boolean;
1376
+ approval?: "destructive" | "reference-change" | undefined;
1377
+ };
1378
+ }) => _$zod.ZodTypeAny<unknown, unknown, _$zod_v4_core0.$ZodTypeInternals<unknown, unknown>> | undefined;
1379
+ execute: ({
1380
+ member: op,
1381
+ config: declaring
1382
+ }: Omit<ComputedInput, "member"> & {
1383
+ member: {
1384
+ kind: string;
1385
+ verb: string;
1386
+ readOnly: boolean;
1387
+ label: string;
1388
+ description: string;
1389
+ scope: string;
1390
+ creates: boolean;
1391
+ approval?: "destructive" | "reference-change" | undefined;
1392
+ };
1393
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
1394
+ field: ({
1395
+ member: op
1396
+ }: Omit<ComputedInput, "member"> & {
1397
+ member: {
1398
+ kind: string;
1399
+ verb: string;
1400
+ readOnly: boolean;
1401
+ label: string;
1402
+ description: string;
1403
+ scope: string;
1404
+ creates: boolean;
1405
+ approval?: "destructive" | "reference-change" | undefined;
1406
+ };
1407
+ }) => string | undefined;
1408
+ title: ({
1409
+ member: op,
1410
+ config
1411
+ }: Omit<ComputedInput, "member"> & {
1412
+ member: {
1413
+ kind: string;
1414
+ verb: string;
1415
+ readOnly: boolean;
1416
+ label: string;
1417
+ description: string;
1418
+ scope: string;
1419
+ creates: boolean;
1420
+ approval?: "destructive" | "reference-change" | undefined;
1421
+ };
1422
+ }) => ((entity: string) => string) | undefined;
1423
+ example: ({
1424
+ member: op,
1425
+ config
1426
+ }: Omit<ComputedInput, "member"> & {
1427
+ member: {
1428
+ kind: string;
1429
+ verb: string;
1430
+ readOnly: boolean;
1431
+ label: string;
1432
+ description: string;
1433
+ scope: string;
1434
+ creates: boolean;
1435
+ approval?: "destructive" | "reference-change" | undefined;
1436
+ };
1437
+ }) => Record<string, unknown> | undefined;
1438
+ }>;
1439
+ tools: DerivedEntityClass<_$zod.ZodObject<{
1440
+ operation: DerivedEntityClass<_$zod.ZodObject<{
1441
+ kind: _$zod.ZodString;
1442
+ verb: _$zod.ZodString;
1443
+ readOnly: _$zod.ZodBoolean;
1444
+ label: _$zod.ZodString;
1445
+ description: _$zod.ZodString;
1446
+ scope: _$zod.ZodString;
1447
+ creates: _$zod.ZodBoolean;
1448
+ approval: _$zod.ZodOptional<_$zod.ZodEnum<{
1449
+ destructive: "destructive";
1450
+ "reference-change": "reference-change";
1451
+ }>>;
1452
+ }, _$zod_v4_core0.$strip>, {
1453
+ inputSchema: ({
1454
+ member: op,
1455
+ config
1456
+ }: Omit<ComputedInput, "member"> & {
1457
+ member: {
1458
+ kind: string;
1459
+ verb: string;
1460
+ readOnly: boolean;
1461
+ label: string;
1462
+ description: string;
1463
+ scope: string;
1464
+ creates: boolean;
1465
+ approval?: "destructive" | "reference-change" | undefined;
1466
+ };
1467
+ }) => _$zod.ZodTypeAny<unknown, unknown, _$zod_v4_core0.$ZodTypeInternals<unknown, unknown>> | undefined;
1468
+ execute: ({
1469
+ member: op,
1470
+ config: declaring
1471
+ }: Omit<ComputedInput, "member"> & {
1472
+ member: {
1473
+ kind: string;
1474
+ verb: string;
1475
+ readOnly: boolean;
1476
+ label: string;
1477
+ description: string;
1478
+ scope: string;
1479
+ creates: boolean;
1480
+ approval?: "destructive" | "reference-change" | undefined;
1481
+ };
1482
+ }) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
1483
+ field: ({
1484
+ member: op
1485
+ }: Omit<ComputedInput, "member"> & {
1486
+ member: {
1487
+ kind: string;
1488
+ verb: string;
1489
+ readOnly: boolean;
1490
+ label: string;
1491
+ description: string;
1492
+ scope: string;
1493
+ creates: boolean;
1494
+ approval?: "destructive" | "reference-change" | undefined;
1495
+ };
1496
+ }) => string | undefined;
1497
+ title: ({
1498
+ member: op,
1499
+ config
1500
+ }: Omit<ComputedInput, "member"> & {
1501
+ member: {
1502
+ kind: string;
1503
+ verb: string;
1504
+ readOnly: boolean;
1505
+ label: string;
1506
+ description: string;
1507
+ scope: string;
1508
+ creates: boolean;
1509
+ approval?: "destructive" | "reference-change" | undefined;
1510
+ };
1511
+ }) => ((entity: string) => string) | undefined;
1512
+ example: ({
1513
+ member: op,
1514
+ config
1515
+ }: Omit<ComputedInput, "member"> & {
1516
+ member: {
1517
+ kind: string;
1518
+ verb: string;
1519
+ readOnly: boolean;
1520
+ label: string;
1521
+ description: string;
1522
+ scope: string;
1523
+ creates: boolean;
1524
+ approval?: "destructive" | "reference-change" | undefined;
1525
+ };
1526
+ }) => Record<string, unknown> | undefined;
1527
+ }>;
1528
+ name: _$zod.ZodString;
1529
+ description: _$zod.ZodString;
1530
+ enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
1531
+ }, _$zod_v4_core0.$strip>, {
1532
+ kind: (input: ComputedInput) => string | undefined;
1533
+ verb: (input: ComputedInput) => string | undefined;
1534
+ readOnly: ({
1535
+ member,
1536
+ config
1537
+ }: Omit<ComputedInput, "member"> & {
1538
+ member: {
1539
+ operation: {
1540
+ __ref: string;
1541
+ };
1542
+ name: string;
1543
+ description: string;
1544
+ enabled: boolean;
1545
+ };
1546
+ }) => boolean;
1547
+ inputSchema: (input: ComputedInput) => _$zod.ZodTypeAny<unknown, unknown, _$zod_v4_core0.$ZodTypeInternals<unknown, unknown>> | undefined;
1548
+ execute: (input: ComputedInput) => ((input: Record<string, unknown>, config: Config) => unknown) | undefined;
1549
+ action: (input: ComputedInput) => string | undefined;
1550
+ field: (input: ComputedInput) => string | undefined;
1551
+ scope: (input: ComputedInput) => string | undefined;
1552
+ approval: (input: ComputedInput) => "destructive" | "reference-change" | undefined;
1553
+ label: (input: ComputedInput) => string | undefined;
1554
+ shortLabel: (input: ComputedInput) => string | undefined;
1555
+ example: (input: ComputedInput) => Record<string, unknown> | undefined;
1556
+ }>;
1557
+ }>;
1558
+ //#endregion
1559
+ export { LoadV1Options, V1Artifact, V1Diagnostic, V1DiagnosticCode, V1_DIAGNOSTIC_CODES, loadV1Artifact, v1ComponentRenames };