figma-inspect-cli 0.1.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 (430) hide show
  1. package/README.md +156 -0
  2. package/dist/bin/figma-inspect.d.ts +3 -0
  3. package/dist/bin/figma-inspect.d.ts.map +1 -0
  4. package/dist/bin/figma-inspect.js +19 -0
  5. package/dist/bin/figma-inspect.js.map +1 -0
  6. package/dist/cli/errors.d.ts +3 -0
  7. package/dist/cli/errors.d.ts.map +1 -0
  8. package/dist/cli/errors.js +3 -0
  9. package/dist/cli/errors.js.map +1 -0
  10. package/dist/cli/export-component-set.d.ts +21 -0
  11. package/dist/cli/export-component-set.d.ts.map +1 -0
  12. package/dist/cli/export-component-set.js +173 -0
  13. package/dist/cli/export-component-set.js.map +1 -0
  14. package/dist/cli/export-contract.d.ts +20 -0
  15. package/dist/cli/export-contract.d.ts.map +1 -0
  16. package/dist/cli/export-contract.js +48 -0
  17. package/dist/cli/export-contract.js.map +1 -0
  18. package/dist/cli/export-node-contract.d.ts +17 -0
  19. package/dist/cli/export-node-contract.d.ts.map +1 -0
  20. package/dist/cli/export-node-contract.js +93 -0
  21. package/dist/cli/export-node-contract.js.map +1 -0
  22. package/dist/cli/export-result.d.ts +17 -0
  23. package/dist/cli/export-result.d.ts.map +1 -0
  24. package/dist/cli/export-result.js +22 -0
  25. package/dist/cli/export-result.js.map +1 -0
  26. package/dist/cli/export-team-index.d.ts +18 -0
  27. package/dist/cli/export-team-index.d.ts.map +1 -0
  28. package/dist/cli/export-team-index.js +121 -0
  29. package/dist/cli/export-team-index.js.map +1 -0
  30. package/dist/cli/index.d.ts +3 -0
  31. package/dist/cli/index.d.ts.map +1 -0
  32. package/dist/cli/index.js +3 -0
  33. package/dist/cli/index.js.map +1 -0
  34. package/dist/cli/output.d.ts +13 -0
  35. package/dist/cli/output.d.ts.map +1 -0
  36. package/dist/cli/output.js +26 -0
  37. package/dist/cli/output.js.map +1 -0
  38. package/dist/cli/parse-args.d.ts +3 -0
  39. package/dist/cli/parse-args.d.ts.map +1 -0
  40. package/dist/cli/parse-args.js +790 -0
  41. package/dist/cli/parse-args.js.map +1 -0
  42. package/dist/cli/run-cli.d.ts +3 -0
  43. package/dist/cli/run-cli.d.ts.map +1 -0
  44. package/dist/cli/run-cli.js +416 -0
  45. package/dist/cli/run-cli.js.map +1 -0
  46. package/dist/cli/types.d.ts +114 -0
  47. package/dist/cli/types.d.ts.map +1 -0
  48. package/dist/cli/types.js +2 -0
  49. package/dist/cli/types.js.map +1 -0
  50. package/dist/cli/usage.d.ts +2 -0
  51. package/dist/cli/usage.d.ts.map +1 -0
  52. package/dist/cli/usage.js +75 -0
  53. package/dist/cli/usage.js.map +1 -0
  54. package/dist/figma-api/cache/cached-request.d.ts +8 -0
  55. package/dist/figma-api/cache/cached-request.d.ts.map +1 -0
  56. package/dist/figma-api/cache/cached-request.js +100 -0
  57. package/dist/figma-api/cache/cached-request.js.map +1 -0
  58. package/dist/figma-api/cache/constants.d.ts +5 -0
  59. package/dist/figma-api/cache/constants.d.ts.map +1 -0
  60. package/dist/figma-api/cache/constants.js +5 -0
  61. package/dist/figma-api/cache/constants.js.map +1 -0
  62. package/dist/figma-api/cache/extract-metadata.d.ts +3 -0
  63. package/dist/figma-api/cache/extract-metadata.d.ts.map +1 -0
  64. package/dist/figma-api/cache/extract-metadata.js +13 -0
  65. package/dist/figma-api/cache/extract-metadata.js.map +1 -0
  66. package/dist/figma-api/cache/index.d.ts +3 -0
  67. package/dist/figma-api/cache/index.d.ts.map +1 -0
  68. package/dist/figma-api/cache/index.js +3 -0
  69. package/dist/figma-api/cache/index.js.map +1 -0
  70. package/dist/figma-api/cache/store.d.ts +10 -0
  71. package/dist/figma-api/cache/store.d.ts.map +1 -0
  72. package/dist/figma-api/cache/store.js +53 -0
  73. package/dist/figma-api/cache/store.js.map +1 -0
  74. package/dist/figma-api/cache/types.d.ts +20 -0
  75. package/dist/figma-api/cache/types.d.ts.map +1 -0
  76. package/dist/figma-api/cache/types.js +2 -0
  77. package/dist/figma-api/cache/types.js.map +1 -0
  78. package/dist/figma-api/cache/url.d.ts +5 -0
  79. package/dist/figma-api/cache/url.d.ts.map +1 -0
  80. package/dist/figma-api/cache/url.js +20 -0
  81. package/dist/figma-api/cache/url.js.map +1 -0
  82. package/dist/figma-api/constants.d.ts +2 -0
  83. package/dist/figma-api/constants.d.ts.map +1 -0
  84. package/dist/figma-api/constants.js +2 -0
  85. package/dist/figma-api/constants.js.map +1 -0
  86. package/dist/figma-api/fetch-with-retry.d.ts +2 -0
  87. package/dist/figma-api/fetch-with-retry.d.ts.map +1 -0
  88. package/dist/figma-api/fetch-with-retry.js +48 -0
  89. package/dist/figma-api/fetch-with-retry.js.map +1 -0
  90. package/dist/figma-api/figma-api-error.d.ts +4 -0
  91. package/dist/figma-api/figma-api-error.d.ts.map +1 -0
  92. package/dist/figma-api/figma-api-error.js +7 -0
  93. package/dist/figma-api/figma-api-error.js.map +1 -0
  94. package/dist/figma-api/figma-request.d.ts +2 -0
  95. package/dist/figma-api/figma-request.d.ts.map +1 -0
  96. package/dist/figma-api/figma-request.js +21 -0
  97. package/dist/figma-api/figma-request.js.map +1 -0
  98. package/dist/figma-api/format-figma-error.d.ts +2 -0
  99. package/dist/figma-api/format-figma-error.d.ts.map +1 -0
  100. package/dist/figma-api/format-figma-error.js +24 -0
  101. package/dist/figma-api/format-figma-error.js.map +1 -0
  102. package/dist/figma-api/get-component-set.d.ts +4 -0
  103. package/dist/figma-api/get-component-set.d.ts.map +1 -0
  104. package/dist/figma-api/get-component-set.js +8 -0
  105. package/dist/figma-api/get-component-set.js.map +1 -0
  106. package/dist/figma-api/get-file-images.d.ts +4 -0
  107. package/dist/figma-api/get-file-images.d.ts.map +1 -0
  108. package/dist/figma-api/get-file-images.js +45 -0
  109. package/dist/figma-api/get-file-images.js.map +1 -0
  110. package/dist/figma-api/get-file-node.d.ts +3 -0
  111. package/dist/figma-api/get-file-node.d.ts.map +1 -0
  112. package/dist/figma-api/get-file-node.js +8 -0
  113. package/dist/figma-api/get-file-node.js.map +1 -0
  114. package/dist/figma-api/get-file.d.ts +3 -0
  115. package/dist/figma-api/get-file.d.ts.map +1 -0
  116. package/dist/figma-api/get-file.js +6 -0
  117. package/dist/figma-api/get-file.js.map +1 -0
  118. package/dist/figma-api/index.d.ts +11 -0
  119. package/dist/figma-api/index.d.ts.map +1 -0
  120. package/dist/figma-api/index.js +11 -0
  121. package/dist/figma-api/index.js.map +1 -0
  122. package/dist/figma-api/list-file-component-sets.d.ts +4 -0
  123. package/dist/figma-api/list-file-component-sets.d.ts.map +1 -0
  124. package/dist/figma-api/list-file-component-sets.js +8 -0
  125. package/dist/figma-api/list-file-component-sets.js.map +1 -0
  126. package/dist/figma-api/list-file-components.d.ts +5 -0
  127. package/dist/figma-api/list-file-components.d.ts.map +1 -0
  128. package/dist/figma-api/list-file-components.js +13 -0
  129. package/dist/figma-api/list-file-components.js.map +1 -0
  130. package/dist/figma-api/list-file-pages.d.ts +4 -0
  131. package/dist/figma-api/list-file-pages.d.ts.map +1 -0
  132. package/dist/figma-api/list-file-pages.js +10 -0
  133. package/dist/figma-api/list-file-pages.js.map +1 -0
  134. package/dist/figma-api/list-project-files.d.ts +4 -0
  135. package/dist/figma-api/list-project-files.d.ts.map +1 -0
  136. package/dist/figma-api/list-project-files.js +8 -0
  137. package/dist/figma-api/list-project-files.js.map +1 -0
  138. package/dist/figma-api/list-team-component-sets.d.ts +4 -0
  139. package/dist/figma-api/list-team-component-sets.d.ts.map +1 -0
  140. package/dist/figma-api/list-team-component-sets.js +19 -0
  141. package/dist/figma-api/list-team-component-sets.js.map +1 -0
  142. package/dist/figma-api/list-team-project-files.d.ts +4 -0
  143. package/dist/figma-api/list-team-project-files.d.ts.map +1 -0
  144. package/dist/figma-api/list-team-project-files.js +19 -0
  145. package/dist/figma-api/list-team-project-files.js.map +1 -0
  146. package/dist/figma-api/list-team-projects.d.ts +4 -0
  147. package/dist/figma-api/list-team-projects.d.ts.map +1 -0
  148. package/dist/figma-api/list-team-projects.js +8 -0
  149. package/dist/figma-api/list-team-projects.js.map +1 -0
  150. package/dist/figma-api/schemas.d.ts +95 -0
  151. package/dist/figma-api/schemas.d.ts.map +1 -0
  152. package/dist/figma-api/schemas.js +154 -0
  153. package/dist/figma-api/schemas.js.map +1 -0
  154. package/dist/figma-api/types.d.ts +60 -0
  155. package/dist/figma-api/types.d.ts.map +1 -0
  156. package/dist/figma-api/types.js +2 -0
  157. package/dist/figma-api/types.js.map +1 -0
  158. package/dist/inspect/component-set-context.d.ts +11 -0
  159. package/dist/inspect/component-set-context.d.ts.map +1 -0
  160. package/dist/inspect/component-set-context.js +71 -0
  161. package/dist/inspect/component-set-context.js.map +1 -0
  162. package/dist/inspect/component-set-lookup.d.ts +6 -0
  163. package/dist/inspect/component-set-lookup.d.ts.map +1 -0
  164. package/dist/inspect/component-set-lookup.js +40 -0
  165. package/dist/inspect/component-set-lookup.js.map +1 -0
  166. package/dist/inspect/component-set-pseudocode/asset-backed-contract.d.ts +3 -0
  167. package/dist/inspect/component-set-pseudocode/asset-backed-contract.d.ts.map +1 -0
  168. package/dist/inspect/component-set-pseudocode/asset-backed-contract.js +34 -0
  169. package/dist/inspect/component-set-pseudocode/asset-backed-contract.js.map +1 -0
  170. package/dist/inspect/component-set-pseudocode/assets-contract.d.ts +9 -0
  171. package/dist/inspect/component-set-pseudocode/assets-contract.d.ts.map +1 -0
  172. package/dist/inspect/component-set-pseudocode/assets-contract.js +4 -0
  173. package/dist/inspect/component-set-pseudocode/assets-contract.js.map +1 -0
  174. package/dist/inspect/component-set-pseudocode/baseline-contract.d.ts +17 -0
  175. package/dist/inspect/component-set-pseudocode/baseline-contract.d.ts.map +1 -0
  176. package/dist/inspect/component-set-pseudocode/baseline-contract.js +67 -0
  177. package/dist/inspect/component-set-pseudocode/baseline-contract.js.map +1 -0
  178. package/dist/inspect/component-set-pseudocode/build-pseudocode.d.ts +24 -0
  179. package/dist/inspect/component-set-pseudocode/build-pseudocode.d.ts.map +1 -0
  180. package/dist/inspect/component-set-pseudocode/build-pseudocode.js +83 -0
  181. package/dist/inspect/component-set-pseudocode/build-pseudocode.js.map +1 -0
  182. package/dist/inspect/component-set-pseudocode/index.d.ts +2 -0
  183. package/dist/inspect/component-set-pseudocode/index.d.ts.map +1 -0
  184. package/dist/inspect/component-set-pseudocode/index.js +2 -0
  185. package/dist/inspect/component-set-pseudocode/index.js.map +1 -0
  186. package/dist/inspect/component-set-pseudocode/infer.d.ts +4 -0
  187. package/dist/inspect/component-set-pseudocode/infer.d.ts.map +1 -0
  188. package/dist/inspect/component-set-pseudocode/infer.js +426 -0
  189. package/dist/inspect/component-set-pseudocode/infer.js.map +1 -0
  190. package/dist/inspect/component-set-pseudocode/meta-contract.d.ts +27 -0
  191. package/dist/inspect/component-set-pseudocode/meta-contract.d.ts.map +1 -0
  192. package/dist/inspect/component-set-pseudocode/meta-contract.js +136 -0
  193. package/dist/inspect/component-set-pseudocode/meta-contract.js.map +1 -0
  194. package/dist/inspect/component-set-pseudocode/slim-node-guards.d.ts +14 -0
  195. package/dist/inspect/component-set-pseudocode/slim-node-guards.d.ts.map +1 -0
  196. package/dist/inspect/component-set-pseudocode/slim-node-guards.js +28 -0
  197. package/dist/inspect/component-set-pseudocode/slim-node-guards.js.map +1 -0
  198. package/dist/inspect/component-set-pseudocode/structure-contract.d.ts +71 -0
  199. package/dist/inspect/component-set-pseudocode/structure-contract.d.ts.map +1 -0
  200. package/dist/inspect/component-set-pseudocode/structure-contract.js +281 -0
  201. package/dist/inspect/component-set-pseudocode/structure-contract.js.map +1 -0
  202. package/dist/inspect/component-set-pseudocode/structure-dsl.d.ts +3 -0
  203. package/dist/inspect/component-set-pseudocode/structure-dsl.d.ts.map +1 -0
  204. package/dist/inspect/component-set-pseudocode/structure-dsl.js +170 -0
  205. package/dist/inspect/component-set-pseudocode/structure-dsl.js.map +1 -0
  206. package/dist/inspect/component-set-pseudocode/types.d.ts +44 -0
  207. package/dist/inspect/component-set-pseudocode/types.d.ts.map +1 -0
  208. package/dist/inspect/component-set-pseudocode/types.js +2 -0
  209. package/dist/inspect/component-set-pseudocode/types.js.map +1 -0
  210. package/dist/inspect/component-set-pseudocode/universal.d.ts +14 -0
  211. package/dist/inspect/component-set-pseudocode/universal.d.ts.map +1 -0
  212. package/dist/inspect/component-set-pseudocode/universal.js +393 -0
  213. package/dist/inspect/component-set-pseudocode/universal.js.map +1 -0
  214. package/dist/inspect/component-set-spec/bound-variables.d.ts +14 -0
  215. package/dist/inspect/component-set-spec/bound-variables.d.ts.map +1 -0
  216. package/dist/inspect/component-set-spec/bound-variables.js +53 -0
  217. package/dist/inspect/component-set-spec/bound-variables.js.map +1 -0
  218. package/dist/inspect/component-set-spec/build-spec.d.ts +9 -0
  219. package/dist/inspect/component-set-spec/build-spec.d.ts.map +1 -0
  220. package/dist/inspect/component-set-spec/build-spec.js +102 -0
  221. package/dist/inspect/component-set-spec/build-spec.js.map +1 -0
  222. package/dist/inspect/component-set-spec/compact-spec.d.ts +3 -0
  223. package/dist/inspect/component-set-spec/compact-spec.d.ts.map +1 -0
  224. package/dist/inspect/component-set-spec/compact-spec.js +357 -0
  225. package/dist/inspect/component-set-spec/compact-spec.js.map +1 -0
  226. package/dist/inspect/component-set-spec/extract-slots.d.ts +5 -0
  227. package/dist/inspect/component-set-spec/extract-slots.d.ts.map +1 -0
  228. package/dist/inspect/component-set-spec/extract-slots.js +57 -0
  229. package/dist/inspect/component-set-spec/extract-slots.js.map +1 -0
  230. package/dist/inspect/component-set-spec/figma-node.d.ts +9 -0
  231. package/dist/inspect/component-set-spec/figma-node.d.ts.map +1 -0
  232. package/dist/inspect/component-set-spec/figma-node.js +31 -0
  233. package/dist/inspect/component-set-spec/figma-node.js.map +1 -0
  234. package/dist/inspect/component-set-spec/index.d.ts +2 -0
  235. package/dist/inspect/component-set-spec/index.d.ts.map +1 -0
  236. package/dist/inspect/component-set-spec/index.js +2 -0
  237. package/dist/inspect/component-set-spec/index.js.map +1 -0
  238. package/dist/inspect/component-set-spec/parse-props.d.ts +9 -0
  239. package/dist/inspect/component-set-spec/parse-props.d.ts.map +1 -0
  240. package/dist/inspect/component-set-spec/parse-props.js +96 -0
  241. package/dist/inspect/component-set-spec/parse-props.js.map +1 -0
  242. package/dist/inspect/component-set-spec/prop-name.d.ts +5 -0
  243. package/dist/inspect/component-set-spec/prop-name.d.ts.map +1 -0
  244. package/dist/inspect/component-set-spec/prop-name.js +26 -0
  245. package/dist/inspect/component-set-spec/prop-name.js.map +1 -0
  246. package/dist/inspect/component-set-spec/resolve-tokens.d.ts +4 -0
  247. package/dist/inspect/component-set-spec/resolve-tokens.d.ts.map +1 -0
  248. package/dist/inspect/component-set-spec/resolve-tokens.js +42 -0
  249. package/dist/inspect/component-set-spec/resolve-tokens.js.map +1 -0
  250. package/dist/inspect/component-set-spec/slim-context.d.ts +6 -0
  251. package/dist/inspect/component-set-spec/slim-context.d.ts.map +1 -0
  252. package/dist/inspect/component-set-spec/slim-context.js +2 -0
  253. package/dist/inspect/component-set-spec/slim-context.js.map +1 -0
  254. package/dist/inspect/component-set-spec/slim-node.d.ts +5 -0
  255. package/dist/inspect/component-set-spec/slim-node.d.ts.map +1 -0
  256. package/dist/inspect/component-set-spec/slim-node.js +393 -0
  257. package/dist/inspect/component-set-spec/slim-node.js.map +1 -0
  258. package/dist/inspect/component-set-spec/slim-text-export.d.ts +8 -0
  259. package/dist/inspect/component-set-spec/slim-text-export.d.ts.map +1 -0
  260. package/dist/inspect/component-set-spec/slim-text-export.js +74 -0
  261. package/dist/inspect/component-set-spec/slim-text-export.js.map +1 -0
  262. package/dist/inspect/component-set-spec/team-component-registry.d.ts +19 -0
  263. package/dist/inspect/component-set-spec/team-component-registry.d.ts.map +1 -0
  264. package/dist/inspect/component-set-spec/team-component-registry.js +96 -0
  265. package/dist/inspect/component-set-spec/team-component-registry.js.map +1 -0
  266. package/dist/inspect/component-set-spec/types.d.ts +127 -0
  267. package/dist/inspect/component-set-spec/types.d.ts.map +1 -0
  268. package/dist/inspect/component-set-spec/types.js +2 -0
  269. package/dist/inspect/component-set-spec/types.js.map +1 -0
  270. package/dist/inspect/component-set-spec/variable-registry.d.ts +8 -0
  271. package/dist/inspect/component-set-spec/variable-registry.d.ts.map +1 -0
  272. package/dist/inspect/component-set-spec/variable-registry.js +74 -0
  273. package/dist/inspect/component-set-spec/variable-registry.js.map +1 -0
  274. package/dist/inspect/component-set-spec/variant-axes.d.ts +2 -0
  275. package/dist/inspect/component-set-spec/variant-axes.d.ts.map +1 -0
  276. package/dist/inspect/component-set-spec/variant-axes.js +14 -0
  277. package/dist/inspect/component-set-spec/variant-axes.js.map +1 -0
  278. package/dist/inspect/contract/contract-format.d.ts +5 -0
  279. package/dist/inspect/contract/contract-format.d.ts.map +1 -0
  280. package/dist/inspect/contract/contract-format.js +26 -0
  281. package/dist/inspect/contract/contract-format.js.map +1 -0
  282. package/dist/inspect/contract/contract-lock.d.ts +75 -0
  283. package/dist/inspect/contract/contract-lock.d.ts.map +1 -0
  284. package/dist/inspect/contract/contract-lock.js +326 -0
  285. package/dist/inspect/contract/contract-lock.js.map +1 -0
  286. package/dist/inspect/contract/contract-schema.d.ts +51 -0
  287. package/dist/inspect/contract/contract-schema.d.ts.map +1 -0
  288. package/dist/inspect/contract/contract-schema.js +130 -0
  289. package/dist/inspect/contract/contract-schema.js.map +1 -0
  290. package/dist/inspect/contract/fingerprint.d.ts +9 -0
  291. package/dist/inspect/contract/fingerprint.d.ts.map +1 -0
  292. package/dist/inspect/contract/fingerprint.js +301 -0
  293. package/dist/inspect/contract/fingerprint.js.map +1 -0
  294. package/dist/inspect/contract/lock-metadata.d.ts +30 -0
  295. package/dist/inspect/contract/lock-metadata.d.ts.map +1 -0
  296. package/dist/inspect/contract/lock-metadata.js +101 -0
  297. package/dist/inspect/contract/lock-metadata.js.map +1 -0
  298. package/dist/inspect/contract/stable-stringify.d.ts +2 -0
  299. package/dist/inspect/contract/stable-stringify.d.ts.map +1 -0
  300. package/dist/inspect/contract/stable-stringify.js +14 -0
  301. package/dist/inspect/contract/stable-stringify.js.map +1 -0
  302. package/dist/inspect/contract/verify-component-contract.d.ts +19 -0
  303. package/dist/inspect/contract/verify-component-contract.d.ts.map +1 -0
  304. package/dist/inspect/contract/verify-component-contract.js +126 -0
  305. package/dist/inspect/contract/verify-component-contract.js.map +1 -0
  306. package/dist/inspect/errors.d.ts +4 -0
  307. package/dist/inspect/errors.d.ts.map +1 -0
  308. package/dist/inspect/errors.js +7 -0
  309. package/dist/inspect/errors.js.map +1 -0
  310. package/dist/inspect/export/assert-asset-exportable.d.ts +3 -0
  311. package/dist/inspect/export/assert-asset-exportable.d.ts.map +1 -0
  312. package/dist/inspect/export/assert-asset-exportable.js +45 -0
  313. package/dist/inspect/export/assert-asset-exportable.js.map +1 -0
  314. package/dist/inspect/export/export-nested-assets.d.ts +94 -0
  315. package/dist/inspect/export/export-nested-assets.d.ts.map +1 -0
  316. package/dist/inspect/export/export-nested-assets.js +333 -0
  317. package/dist/inspect/export/export-nested-assets.js.map +1 -0
  318. package/dist/inspect/export/export-node-preview.d.ts +24 -0
  319. package/dist/inspect/export/export-node-preview.d.ts.map +1 -0
  320. package/dist/inspect/export/export-node-preview.js +34 -0
  321. package/dist/inspect/export/export-node-preview.js.map +1 -0
  322. package/dist/inspect/export/export-variant-assets.d.ts +18 -0
  323. package/dist/inspect/export/export-variant-assets.d.ts.map +1 -0
  324. package/dist/inspect/export/export-variant-assets.js +127 -0
  325. package/dist/inspect/export/export-variant-assets.js.map +1 -0
  326. package/dist/inspect/export/normalize-exported-svg.d.ts +2 -0
  327. package/dist/inspect/export/normalize-exported-svg.d.ts.map +1 -0
  328. package/dist/inspect/export/normalize-exported-svg.js +15 -0
  329. package/dist/inspect/export/normalize-exported-svg.js.map +1 -0
  330. package/dist/inspect/export/rendered-image-bytes.d.ts +4 -0
  331. package/dist/inspect/export/rendered-image-bytes.d.ts.map +1 -0
  332. package/dist/inspect/export/rendered-image-bytes.js +24 -0
  333. package/dist/inspect/export/rendered-image-bytes.js.map +1 -0
  334. package/dist/inspect/export-contract-target.d.ts +7 -0
  335. package/dist/inspect/export-contract-target.d.ts.map +1 -0
  336. package/dist/inspect/export-contract-target.js +33 -0
  337. package/dist/inspect/export-contract-target.js.map +1 -0
  338. package/dist/inspect/fetch-file-entry.d.ts +4 -0
  339. package/dist/inspect/fetch-file-entry.d.ts.map +1 -0
  340. package/dist/inspect/fetch-file-entry.js +7 -0
  341. package/dist/inspect/fetch-file-entry.js.map +1 -0
  342. package/dist/inspect/fetch-file-node-entry.d.ts +4 -0
  343. package/dist/inspect/fetch-file-node-entry.d.ts.map +1 -0
  344. package/dist/inspect/fetch-file-node-entry.js +7 -0
  345. package/dist/inspect/fetch-file-node-entry.js.map +1 -0
  346. package/dist/inspect/figma-node-url.d.ts +3 -0
  347. package/dist/inspect/figma-node-url.d.ts.map +1 -0
  348. package/dist/inspect/figma-node-url.js +30 -0
  349. package/dist/inspect/figma-node-url.js.map +1 -0
  350. package/dist/inspect/get-node-component-set.d.ts +5 -0
  351. package/dist/inspect/get-node-component-set.d.ts.map +1 -0
  352. package/dist/inspect/get-node-component-set.js +10 -0
  353. package/dist/inspect/get-node-component-set.js.map +1 -0
  354. package/dist/inspect/index.d.ts +17 -0
  355. package/dist/inspect/index.d.ts.map +1 -0
  356. package/dist/inspect/index.js +17 -0
  357. package/dist/inspect/index.js.map +1 -0
  358. package/dist/inspect/list-all-component-sets.d.ts +3 -0
  359. package/dist/inspect/list-all-component-sets.d.ts.map +1 -0
  360. package/dist/inspect/list-all-component-sets.js +27 -0
  361. package/dist/inspect/list-all-component-sets.js.map +1 -0
  362. package/dist/inspect/list-component-set-properties.d.ts +4 -0
  363. package/dist/inspect/list-component-set-properties.d.ts.map +1 -0
  364. package/dist/inspect/list-component-set-properties.js +73 -0
  365. package/dist/inspect/list-component-set-properties.js.map +1 -0
  366. package/dist/inspect/node-contract/build-node-contract.d.ts +12 -0
  367. package/dist/inspect/node-contract/build-node-contract.d.ts.map +1 -0
  368. package/dist/inspect/node-contract/build-node-contract.js +212 -0
  369. package/dist/inspect/node-contract/build-node-contract.js.map +1 -0
  370. package/dist/inspect/node-contract/dependencies.d.ts +5 -0
  371. package/dist/inspect/node-contract/dependencies.d.ts.map +1 -0
  372. package/dist/inspect/node-contract/dependencies.js +84 -0
  373. package/dist/inspect/node-contract/dependencies.js.map +1 -0
  374. package/dist/inspect/node-contract/index.d.ts +6 -0
  375. package/dist/inspect/node-contract/index.d.ts.map +1 -0
  376. package/dist/inspect/node-contract/index.js +6 -0
  377. package/dist/inspect/node-contract/index.js.map +1 -0
  378. package/dist/inspect/node-contract/node-kind.d.ts +9 -0
  379. package/dist/inspect/node-contract/node-kind.d.ts.map +1 -0
  380. package/dist/inspect/node-contract/node-kind.js +31 -0
  381. package/dist/inspect/node-contract/node-kind.js.map +1 -0
  382. package/dist/inspect/node-contract/node-lock.d.ts +6 -0
  383. package/dist/inspect/node-contract/node-lock.d.ts.map +1 -0
  384. package/dist/inspect/node-contract/node-lock.js +181 -0
  385. package/dist/inspect/node-contract/node-lock.js.map +1 -0
  386. package/dist/inspect/node-contract/node-schema.d.ts +14 -0
  387. package/dist/inspect/node-contract/node-schema.d.ts.map +1 -0
  388. package/dist/inspect/node-contract/node-schema.js +137 -0
  389. package/dist/inspect/node-contract/node-schema.js.map +1 -0
  390. package/dist/inspect/node-contract/paths.d.ts +10 -0
  391. package/dist/inspect/node-contract/paths.d.ts.map +1 -0
  392. package/dist/inspect/node-contract/paths.js +29 -0
  393. package/dist/inspect/node-contract/paths.js.map +1 -0
  394. package/dist/inspect/node-contract/tokens.d.ts +4 -0
  395. package/dist/inspect/node-contract/tokens.d.ts.map +1 -0
  396. package/dist/inspect/node-contract/tokens.js +30 -0
  397. package/dist/inspect/node-contract/tokens.js.map +1 -0
  398. package/dist/inspect/node-contract/types.d.ts +84 -0
  399. package/dist/inspect/node-contract/types.d.ts.map +1 -0
  400. package/dist/inspect/node-contract/types.js +2 -0
  401. package/dist/inspect/node-contract/types.js.map +1 -0
  402. package/dist/inspect/node-contract/verify-node-contract.d.ts +20 -0
  403. package/dist/inspect/node-contract/verify-node-contract.d.ts.map +1 -0
  404. package/dist/inspect/node-contract/verify-node-contract.js +131 -0
  405. package/dist/inspect/node-contract/verify-node-contract.js.map +1 -0
  406. package/dist/inspect/resolve-team-component-set.d.ts +14 -0
  407. package/dist/inspect/resolve-team-component-set.d.ts.map +1 -0
  408. package/dist/inspect/resolve-team-component-set.js +77 -0
  409. package/dist/inspect/resolve-team-component-set.js.map +1 -0
  410. package/dist/inspect/schemas.d.ts +37 -0
  411. package/dist/inspect/schemas.d.ts.map +1 -0
  412. package/dist/inspect/schemas.js +79 -0
  413. package/dist/inspect/schemas.js.map +1 -0
  414. package/dist/inspect/team-index.d.ts +76 -0
  415. package/dist/inspect/team-index.d.ts.map +1 -0
  416. package/dist/inspect/team-index.js +361 -0
  417. package/dist/inspect/team-index.js.map +1 -0
  418. package/dist/inspect/types.d.ts +46 -0
  419. package/dist/inspect/types.d.ts.map +1 -0
  420. package/dist/inspect/types.js +2 -0
  421. package/dist/inspect/types.js.map +1 -0
  422. package/dist/test/fixtures.d.ts +3 -0
  423. package/dist/test/fixtures.d.ts.map +1 -0
  424. package/dist/test/fixtures.js +6 -0
  425. package/dist/test/fixtures.js.map +1 -0
  426. package/dist/zod/parse-valid-entries.d.ts +4 -0
  427. package/dist/zod/parse-valid-entries.d.ts.map +1 -0
  428. package/dist/zod/parse-valid-entries.js +20 -0
  429. package/dist/zod/parse-valid-entries.js.map +1 -0
  430. package/package.json +39 -0
@@ -0,0 +1,326 @@
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { parse } from "yaml";
4
+ import { FigmaInspectError } from "../errors.js";
5
+ import { serializeContractData } from "./contract-format.js";
6
+ import { defaultLockApproval, defaultLockDrift, hasContractSurfaceFingerprint, normalizeLockVersion, normalizeVersionedLockMetadata, } from "./lock-metadata.js";
7
+ function contractLockFileName(componentName) {
8
+ return `${componentName}.component-set.lock.yaml`;
9
+ }
10
+ export function resolveContractLockPath(directory, componentName) {
11
+ return path.join(directory, contractLockFileName(componentName));
12
+ }
13
+ function sortVariants(variants) {
14
+ return [...variants].sort((left, right) => left.name.localeCompare(right.name));
15
+ }
16
+ function sameSourceIdentity(left, right) {
17
+ return (left.fileKey === right.fileKey &&
18
+ left.nodeId === right.nodeId &&
19
+ (left.nodeType ?? "COMPONENT_SET") ===
20
+ (right.nodeType ?? "COMPONENT_SET") &&
21
+ left.componentSetKey === right.componentSetKey);
22
+ }
23
+ function sameVariantIdentity(left, right) {
24
+ return (left.key === right.key &&
25
+ left.nodeId === right.nodeId &&
26
+ left.name === right.name);
27
+ }
28
+ export function buildContractLock(input) {
29
+ return {
30
+ version: 2,
31
+ kind: "component-set",
32
+ source: { ...input.source, nodeType: "COMPONENT_SET" },
33
+ variants: sortVariants(input.variants),
34
+ fingerprints: {
35
+ ...input.fingerprints,
36
+ ...(input.fingerprints.assets
37
+ ? {
38
+ assets: Object.fromEntries(Object.entries(input.fingerprints.assets).sort(([left], [right]) => left.localeCompare(right))),
39
+ }
40
+ : {}),
41
+ },
42
+ approval: defaultLockApproval(),
43
+ drift: defaultLockDrift(),
44
+ };
45
+ }
46
+ export async function readContractLock(lockPath) {
47
+ let raw;
48
+ try {
49
+ raw = await readFile(lockPath, "utf8");
50
+ }
51
+ catch (error) {
52
+ if (typeof error === "object" &&
53
+ error !== null &&
54
+ "code" in error &&
55
+ error.code === "ENOENT") {
56
+ return undefined;
57
+ }
58
+ throw error;
59
+ }
60
+ const parsed = parse(raw);
61
+ const lock = normalizeContractLock(parsed);
62
+ if (!lock) {
63
+ throw new FigmaInspectError(`Invalid contract lock file: ${lockPath}`);
64
+ }
65
+ return lock;
66
+ }
67
+ function readRecordField(value, camelKey, snakeKey) {
68
+ if (typeof value !== "object" || value === null) {
69
+ return undefined;
70
+ }
71
+ const record = value;
72
+ return record[camelKey] ?? record[snakeKey];
73
+ }
74
+ function readStringField(value, camelKey, snakeKey) {
75
+ const field = readRecordField(value, camelKey, snakeKey);
76
+ return typeof field === "string" ? field : undefined;
77
+ }
78
+ function normalizeContractLockVariant(value) {
79
+ const key = readStringField(value, "key", "key");
80
+ const nodeId = readStringField(value, "nodeId", "node_id");
81
+ const name = readStringField(value, "name", "name");
82
+ const updatedAt = readStringField(value, "updatedAt", "updated_at");
83
+ if (!key || !nodeId || !name || !updatedAt) {
84
+ return undefined;
85
+ }
86
+ return { key, nodeId, name, updatedAt };
87
+ }
88
+ function normalizeContractLockSource(value) {
89
+ const fileKey = readStringField(value, "fileKey", "file_key");
90
+ const nodeId = readStringField(value, "nodeId", "node_id");
91
+ const nodeType = readStringField(value, "nodeType", "node_type");
92
+ const sourceUrl = readStringField(value, "sourceUrl", "source_url");
93
+ const componentSetKey = readStringField(value, "componentSetKey", "component_set_key");
94
+ const componentSetUpdatedAt = readStringField(value, "componentSetUpdatedAt", "component_set_updated_at");
95
+ if (!fileKey || !nodeId || !componentSetKey || !componentSetUpdatedAt) {
96
+ return undefined;
97
+ }
98
+ return {
99
+ fileKey,
100
+ nodeId,
101
+ ...(nodeType === "COMPONENT_SET" ? { nodeType } : {}),
102
+ ...(sourceUrl ? { sourceUrl } : {}),
103
+ componentSetKey,
104
+ componentSetUpdatedAt,
105
+ };
106
+ }
107
+ function normalizeContractLock(value) {
108
+ if (typeof value !== "object" || value === null) {
109
+ return undefined;
110
+ }
111
+ const record = value;
112
+ const version = normalizeLockVersion(record);
113
+ if (!version) {
114
+ return undefined;
115
+ }
116
+ if (version === 2 &&
117
+ (record.kind !== "component-set" ||
118
+ normalizeContractLockSource(record.source)?.nodeType !== "COMPONENT_SET")) {
119
+ return undefined;
120
+ }
121
+ const source = normalizeContractLockSource(record.source);
122
+ if (!source) {
123
+ return undefined;
124
+ }
125
+ if (!Array.isArray(record.variants)) {
126
+ return undefined;
127
+ }
128
+ const variants = record.variants
129
+ .map((variant) => normalizeContractLockVariant(variant))
130
+ .filter((variant) => variant !== undefined);
131
+ if (variants.length !== record.variants.length) {
132
+ return undefined;
133
+ }
134
+ const fingerprints = record.fingerprints;
135
+ if (typeof fingerprints !== "object" || fingerprints === null) {
136
+ return undefined;
137
+ }
138
+ const fingerprintRecord = fingerprints;
139
+ const tree = fingerprintRecord.tree;
140
+ const contractSurface = fingerprintRecord.contractSurface;
141
+ const contracts = fingerprintRecord.contracts;
142
+ if (typeof tree !== "string" || typeof contracts !== "string") {
143
+ return undefined;
144
+ }
145
+ if (version === 2 && typeof contractSurface !== "string") {
146
+ return undefined;
147
+ }
148
+ const assets = fingerprintRecord.assets;
149
+ let normalizedAssets;
150
+ if (assets !== undefined) {
151
+ if (typeof assets !== "object" || assets === null) {
152
+ return undefined;
153
+ }
154
+ normalizedAssets = {};
155
+ for (const [assetKey, hash] of Object.entries(assets)) {
156
+ if (typeof hash !== "string") {
157
+ return undefined;
158
+ }
159
+ normalizedAssets[assetKey] = hash;
160
+ }
161
+ }
162
+ const metadata = normalizeVersionedLockMetadata(record, version);
163
+ if (!metadata) {
164
+ return undefined;
165
+ }
166
+ const base = {
167
+ kind: "component-set",
168
+ variants,
169
+ approval: metadata.approval,
170
+ drift: metadata.drift,
171
+ };
172
+ if (version === 2) {
173
+ if (typeof contractSurface !== "string") {
174
+ return undefined;
175
+ }
176
+ return {
177
+ ...base,
178
+ version,
179
+ source: { ...source, nodeType: "COMPONENT_SET" },
180
+ fingerprints: {
181
+ tree,
182
+ contractSurface,
183
+ contracts,
184
+ ...(normalizedAssets ? { assets: normalizedAssets } : {}),
185
+ },
186
+ };
187
+ }
188
+ return {
189
+ ...base,
190
+ version,
191
+ source,
192
+ fingerprints: {
193
+ tree,
194
+ contracts,
195
+ ...(normalizedAssets ? { assets: normalizedAssets } : {}),
196
+ },
197
+ };
198
+ }
199
+ export function toLockVariants(components) {
200
+ return components.map((component) => ({
201
+ key: component.key,
202
+ nodeId: component.node_id,
203
+ name: component.name,
204
+ updatedAt: component.updated_at,
205
+ }));
206
+ }
207
+ function sameContractSurface(lock, live) {
208
+ if (hasContractSurfaceFingerprint(lock.fingerprints) &&
209
+ live.contractSurfaceFingerprint) {
210
+ return (lock.fingerprints.contractSurface === live.contractSurfaceFingerprint);
211
+ }
212
+ return lock.fingerprints.tree === live.treeFingerprint;
213
+ }
214
+ export function diffContractLock(lock, live) {
215
+ const lockedByNodeId = new Map(lock.variants.map((variant) => [variant.nodeId, variant]));
216
+ const liveByNodeId = new Map(live.variants.map((variant) => [variant.nodeId, variant]));
217
+ const changedVariants = [];
218
+ const addedVariants = [];
219
+ const removedVariants = [];
220
+ for (const liveVariant of live.variants) {
221
+ const locked = lockedByNodeId.get(liveVariant.nodeId);
222
+ if (!locked) {
223
+ addedVariants.push(liveVariant.name);
224
+ continue;
225
+ }
226
+ if (!sameVariantIdentity(locked, liveVariant)) {
227
+ changedVariants.push(liveVariant.name);
228
+ }
229
+ }
230
+ for (const lockedVariant of lock.variants) {
231
+ if (!liveByNodeId.has(lockedVariant.nodeId)) {
232
+ removedVariants.push(lockedVariant.name);
233
+ }
234
+ }
235
+ return {
236
+ source: !sameSourceIdentity(lock.source, live.source),
237
+ tree: !hasContractSurfaceFingerprint(lock.fingerprints) &&
238
+ lock.fingerprints.tree !== live.treeFingerprint,
239
+ contractSurface: !sameContractSurface(lock, live),
240
+ variants: changedVariants.sort((left, right) => left.localeCompare(right)),
241
+ addedVariants: addedVariants.sort((left, right) => left.localeCompare(right)),
242
+ removedVariants: removedVariants.sort((left, right) => left.localeCompare(right)),
243
+ };
244
+ }
245
+ export function isContractLockDiffEmpty(diff) {
246
+ return (!diff.source &&
247
+ !diff.tree &&
248
+ !diff.contractSurface &&
249
+ diff.variants.length === 0 &&
250
+ diff.addedVariants.length === 0 &&
251
+ diff.removedVariants.length === 0);
252
+ }
253
+ export async function writeContractLock(lockPath, lock) {
254
+ await writeFile(lockPath, serializeContractData(lock, "yaml"), "utf8");
255
+ }
256
+ export function collectUnchangedVariantNodeIds(previousLock, variants, currentTreeFingerprint, currentContractSurfaceFingerprint) {
257
+ const unchanged = new Set();
258
+ if (!previousLock) {
259
+ return unchanged;
260
+ }
261
+ const previousByNodeId = new Map(previousLock.variants.map((variant) => [variant.nodeId, variant]));
262
+ const treeIsUnchanged = currentTreeFingerprint !== undefined &&
263
+ previousLock.fingerprints.tree === currentTreeFingerprint;
264
+ const contractSurfaceIsUnchanged = currentContractSurfaceFingerprint !== undefined &&
265
+ hasContractSurfaceFingerprint(previousLock.fingerprints) &&
266
+ previousLock.fingerprints.contractSurface ===
267
+ currentContractSurfaceFingerprint;
268
+ const sourceSurfaceIsUnchanged = hasContractSurfaceFingerprint(previousLock.fingerprints)
269
+ ? contractSurfaceIsUnchanged
270
+ : treeIsUnchanged;
271
+ for (const variant of variants) {
272
+ const previous = previousByNodeId.get(variant.nodeId);
273
+ if (!previous) {
274
+ continue;
275
+ }
276
+ if (sourceSurfaceIsUnchanged && sameVariantIdentity(previous, variant)) {
277
+ unchanged.add(variant.nodeId);
278
+ continue;
279
+ }
280
+ if (previous.updatedAt === variant.updatedAt) {
281
+ unchanged.add(variant.nodeId);
282
+ }
283
+ }
284
+ return unchanged;
285
+ }
286
+ export function stabilizeContractLockDates(previousLock, lock) {
287
+ const sourceSurfaceIsUnchanged = previousLock &&
288
+ hasContractSurfaceFingerprint(previousLock.fingerprints) &&
289
+ hasContractSurfaceFingerprint(lock.fingerprints)
290
+ ? previousLock.fingerprints.contractSurface ===
291
+ lock.fingerprints.contractSurface
292
+ : previousLock?.fingerprints.tree === lock.fingerprints.tree;
293
+ if (!previousLock || !sourceSurfaceIsUnchanged) {
294
+ return lock;
295
+ }
296
+ const previousByNodeId = new Map(previousLock.variants.map((variant) => [variant.nodeId, variant]));
297
+ const source = sameSourceIdentity(previousLock.source, lock.source)
298
+ ? {
299
+ ...lock.source,
300
+ componentSetUpdatedAt: previousLock.source.componentSetUpdatedAt,
301
+ }
302
+ : lock.source;
303
+ const variants = lock.variants.map((variant) => {
304
+ const previous = previousByNodeId.get(variant.nodeId);
305
+ if (!previous || !sameVariantIdentity(previous, variant)) {
306
+ return variant;
307
+ }
308
+ return {
309
+ ...variant,
310
+ updatedAt: previous.updatedAt,
311
+ };
312
+ });
313
+ if (lock.version === 2) {
314
+ return {
315
+ ...lock,
316
+ source: { ...source, nodeType: "COMPONENT_SET" },
317
+ variants,
318
+ };
319
+ }
320
+ return {
321
+ ...lock,
322
+ source,
323
+ variants,
324
+ };
325
+ }
326
+ //# sourceMappingURL=contract-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-lock.js","sourceRoot":"","sources":["../../../src/inspect/contract/contract-lock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { z } from "zod";
2
+ import type { AssetContractMap } from "../component-set-pseudocode/assets-contract.js";
3
+ import { type ContractFormat } from "./contract-format.js";
4
+ declare const metaContractSchema: z.ZodObject<{
5
+ version: z.ZodLiteral<1>;
6
+ component: z.ZodOptional<z.ZodObject<{
7
+ id: z.ZodString;
8
+ key: z.ZodString;
9
+ name: z.ZodString;
10
+ fileKey: z.ZodString;
11
+ projectId: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
14
+ type: z.ZodEnum<{
15
+ boolean: "boolean";
16
+ text: "text";
17
+ instance: "instance";
18
+ variant: "variant";
19
+ }>;
20
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
21
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ }, z.core.$strip>>>;
23
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
24
+ kind: z.ZodEnum<{
25
+ swap: "swap";
26
+ nested: "nested";
27
+ }>;
28
+ component: z.ZodString;
29
+ }, z.core.$strip>>>;
30
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
31
+ id: z.ZodString;
32
+ key: z.ZodString;
33
+ name: z.ZodString;
34
+ fileKey: z.ZodString;
35
+ projectId: z.ZodString;
36
+ }, z.core.$strip>>>;
37
+ assets: z.ZodOptional<z.ZodType<AssetContractMap, unknown, z.core.$ZodTypeInternals<AssetContractMap, unknown>>>;
38
+ }, z.core.$strip>;
39
+ type MetaContractValidated = z.infer<typeof metaContractSchema>;
40
+ export interface ComponentContractArtifacts {
41
+ componentName: string;
42
+ meta: MetaContractValidated;
43
+ geometry: Record<string, unknown>;
44
+ visuals: Record<string, unknown>;
45
+ structureDsl: string;
46
+ assetsDir?: string;
47
+ }
48
+ export declare function readComponentContractArtifacts(contractDir: string, componentName: string, format?: ContractFormat): Promise<ComponentContractArtifacts>;
49
+ export declare function validateComponentContractArtifacts(artifacts: ComponentContractArtifacts, format?: ContractFormat): void;
50
+ export {};
51
+ //# sourceMappingURL=contract-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-schema.d.ts","sourceRoot":"","sources":["../../../src/inspect/contract/contract-schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAMvF,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AA8B9B,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtB,CAAC;AAEH,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAYhE,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiGD,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,cAAuB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,CAoDrC;AAED,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,0BAA0B,EACrC,MAAM,GAAE,cAAuB,GAC9B,IAAI,CASN"}
@@ -0,0 +1,130 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { parse } from "yaml";
4
+ import { z } from "zod";
5
+ import { resolveMetaContractPath, resolveStructureDslPath, } from "../component-set-pseudocode/build-pseudocode.js";
6
+ import { FigmaInspectError } from "../errors.js";
7
+ import { contractArtifactFileName, } from "./contract-format.js";
8
+ const teamComponentEntrySchema = z.object({
9
+ id: z.string().min(1),
10
+ key: z.string().min(1),
11
+ name: z.string().min(1),
12
+ fileKey: z.string().min(1),
13
+ projectId: z.string(),
14
+ });
15
+ const metaPropSchema = z.object({
16
+ type: z.enum(["boolean", "instance", "text", "variant"]),
17
+ default: z.union([z.boolean(), z.string()]).optional(),
18
+ options: z.array(z.string()).optional(),
19
+ });
20
+ const metaSlotSchema = z.object({
21
+ kind: z.enum(["swap", "nested"]),
22
+ component: z.string().min(1),
23
+ });
24
+ const assetEntrySchema = z.object({
25
+ path: z.string().min(1),
26
+ format: z.literal("svg"),
27
+ });
28
+ const assetContractMapSchema = z.lazy(() => z.record(z.string(), z.union([assetEntrySchema, assetContractMapSchema])));
29
+ const metaContractSchema = z.object({
30
+ version: z.literal(1),
31
+ component: teamComponentEntrySchema.optional(),
32
+ props: z.record(z.string(), metaPropSchema).optional(),
33
+ slots: z.record(z.string(), metaSlotSchema).optional(),
34
+ dependencies: z.array(teamComponentEntrySchema).optional(),
35
+ assets: assetContractMapSchema.optional(),
36
+ });
37
+ const variantTreeSchema = z.lazy(() => z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), variantTreeSchema])));
38
+ const geometryContractSchema = variantTreeSchema;
39
+ const visualsContractSchema = variantTreeSchema;
40
+ function formatSchemaIssues(error) {
41
+ return error.issues.map((issue) => {
42
+ const pathLabel = issue.path.length > 0 ? issue.path.join(".") : "(root)";
43
+ return `${pathLabel}: ${issue.message}`;
44
+ });
45
+ }
46
+ function parseRecord(raw, label, format) {
47
+ if (format === "json") {
48
+ let parsed;
49
+ try {
50
+ parsed = JSON.parse(raw);
51
+ }
52
+ catch {
53
+ throw new FigmaInspectError(`Invalid JSON in ${label}.`);
54
+ }
55
+ if (typeof parsed !== "object" ||
56
+ parsed === null ||
57
+ Array.isArray(parsed)) {
58
+ throw new FigmaInspectError(`${label} must be a JSON object.`);
59
+ }
60
+ return parsed;
61
+ }
62
+ return parseYamlRecord(raw, label);
63
+ }
64
+ function parseYamlRecord(raw, label) {
65
+ const parsed = parse(raw);
66
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
67
+ throw new FigmaInspectError(`${label} must be a YAML mapping.`);
68
+ }
69
+ return parsed;
70
+ }
71
+ function validateRecord(schema, value, label) {
72
+ const result = schema.safeParse(value);
73
+ if (!result.success) {
74
+ throw new FigmaInspectError(`Invalid ${label}:\n${formatSchemaIssues(result.error).join("\n")}`);
75
+ }
76
+ return result.data;
77
+ }
78
+ function validateStructureDsl(structureDsl, componentName, format) {
79
+ const lines = structureDsl.split("\n");
80
+ const header = lines[0]?.trim();
81
+ if (header !== `component ${componentName}`) {
82
+ throw new FigmaInspectError(`Invalid structure DSL: expected first line "component ${componentName}".`);
83
+ }
84
+ const requiredSnippets = [
85
+ "contracts {",
86
+ contractArtifactFileName(componentName, "visuals", format),
87
+ contractArtifactFileName(componentName, "geometry", format),
88
+ contractArtifactFileName(componentName, "meta", format),
89
+ "resolve {",
90
+ "templates {",
91
+ ];
92
+ for (const snippet of requiredSnippets) {
93
+ if (!structureDsl.includes(snippet)) {
94
+ throw new FigmaInspectError(`Invalid structure DSL: missing ${JSON.stringify(snippet)}.`);
95
+ }
96
+ }
97
+ if (structureDsl.includes(".component-set.assets.")) {
98
+ throw new FigmaInspectError("Invalid structure DSL: assets must live in meta.yaml, not a separate assets file.");
99
+ }
100
+ }
101
+ export async function readComponentContractArtifacts(contractDir, componentName, format = "yaml") {
102
+ const [metaRaw, geometryRaw, visualsRaw, structureDsl] = await Promise.all([
103
+ readFile(resolveMetaContractPath(contractDir, componentName, format), "utf8"),
104
+ readFile(path.join(contractDir, contractArtifactFileName(componentName, "geometry", format)), "utf8"),
105
+ readFile(path.join(contractDir, contractArtifactFileName(componentName, "visuals", format)), "utf8"),
106
+ readFile(resolveStructureDslPath(contractDir, componentName), "utf8"),
107
+ ]);
108
+ const meta = validateRecord(metaContractSchema, parseRecord(metaRaw, "meta contract", format), "meta contract");
109
+ const geometry = validateRecord(geometryContractSchema, parseRecord(geometryRaw, "geometry contract", format), "geometry contract");
110
+ const visuals = validateRecord(visualsContractSchema, parseRecord(visualsRaw, "visuals contract", format), "visuals contract");
111
+ validateStructureDsl(structureDsl, componentName, format);
112
+ const assetsDir = meta.assets
113
+ ? path.join(contractDir, `${componentName}.assets`)
114
+ : undefined;
115
+ return {
116
+ componentName,
117
+ meta,
118
+ geometry,
119
+ visuals,
120
+ structureDsl,
121
+ assetsDir,
122
+ };
123
+ }
124
+ export function validateComponentContractArtifacts(artifacts, format = "yaml") {
125
+ validateRecord(metaContractSchema, artifacts.meta, "meta contract");
126
+ validateRecord(geometryContractSchema, artifacts.geometry, "geometry contract");
127
+ validateRecord(visualsContractSchema, artifacts.visuals, "visuals contract");
128
+ validateStructureDsl(artifacts.structureDsl, artifacts.componentName, format);
129
+ }
130
+ //# sourceMappingURL=contract-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-schema.js","sourceRoot":"","sources":["../../../src/inspect/contract/contract-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { TeamComponentRegistry } from "../component-set-spec/team-component-registry.js";
2
+ import type { VariableRegistry } from "../component-set-spec/variable-registry.js";
3
+ import type { DocumentNode } from "../schemas.js";
4
+ export declare function fingerprintTree(tree: DocumentNode): string;
5
+ export declare function fingerprintContractSurface(tree: DocumentNode, variables?: VariableRegistry, teamComponents?: TeamComponentRegistry): string;
6
+ export declare function fingerprintContracts(visuals: Record<string, unknown>, geometry: Record<string, unknown>, meta: unknown, structureDsl: string): string;
7
+ export declare function variantAssetSlug(when: Record<string, string>, variantAxes: Record<string, string[]>): string;
8
+ export declare function fingerprintAssetFiles(assetsDir: string, slugs: string[]): Promise<Record<string, string>>;
9
+ //# sourceMappingURL=fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/inspect/contract/fingerprint.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAE1D;AA0WD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,YAAY,EAClB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,cAAc,CAAC,EAAE,qBAAqB,GACrC,MAAM,CAIR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,MAAM,GACnB,MAAM,CASR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACpC,MAAM,CAgBR;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAUjC"}