@nac3/forge-cli 1.0.52 → 1.0.53

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 (265) hide show
  1. package/dist/version.d.ts +1 -1
  2. package/dist/version.js +1 -1
  3. package/package.json +113 -111
  4. package/yujin-design-system/_preview.mjs +77 -0
  5. package/yujin-design-system/components/_index.json +156 -0
  6. package/yujin-design-system/components/accordion.yujin.json +24 -0
  7. package/yujin-design-system/components/alert.yujin.json +30 -0
  8. package/yujin-design-system/components/avatar.yujin.json +23 -0
  9. package/yujin-design-system/components/badge.yujin.json +30 -0
  10. package/yujin-design-system/components/breadcrumb.yujin.json +22 -0
  11. package/yujin-design-system/components/button.yujin.json +35 -0
  12. package/yujin-design-system/components/card.yujin.json +33 -0
  13. package/yujin-design-system/components/checkbox.yujin.json +25 -0
  14. package/yujin-design-system/components/datepicker.yujin.json +26 -0
  15. package/yujin-design-system/components/dropdown.yujin.json +26 -0
  16. package/yujin-design-system/components/file-upload.yujin.json +25 -0
  17. package/yujin-design-system/components/form-field.yujin.json +29 -0
  18. package/yujin-design-system/components/input.yujin.json +32 -0
  19. package/yujin-design-system/components/kanban-card.yujin.json +32 -0
  20. package/yujin-design-system/components/modal.yujin.json +28 -0
  21. package/yujin-design-system/components/pagination.yujin.json +24 -0
  22. package/yujin-design-system/components/progress.yujin.json +23 -0
  23. package/yujin-design-system/components/radio.yujin.json +24 -0
  24. package/yujin-design-system/components/search-bar.yujin.json +26 -0
  25. package/yujin-design-system/components/select.yujin.json +25 -0
  26. package/yujin-design-system/components/sidebar.yujin.json +28 -0
  27. package/yujin-design-system/components/skeleton.yujin.json +23 -0
  28. package/yujin-design-system/components/slider.yujin.json +22 -0
  29. package/yujin-design-system/components/switch.yujin.json +23 -0
  30. package/yujin-design-system/components/table.yujin.json +28 -0
  31. package/yujin-design-system/components/tabs.yujin.json +28 -0
  32. package/yujin-design-system/components/toast.yujin.json +28 -0
  33. package/yujin-design-system/components/tooltip.yujin.json +27 -0
  34. package/yujin-design-system/components/topbar.yujin.json +23 -0
  35. package/yujin-design-system/components/view.yujin.json +24 -0
  36. package/yujin-design-system/fonts/README.md +31 -0
  37. package/yujin-design-system/icons/sumie/abacus-soroban.svg +1 -0
  38. package/yujin-design-system/icons/sumie/antenna-signal.svg +1 -0
  39. package/yujin-design-system/icons/sumie/anvil-block.svg +1 -0
  40. package/yujin-design-system/icons/sumie/arrow-down-trend.svg +1 -0
  41. package/yujin-design-system/icons/sumie/arrow-up-trend.svg +1 -0
  42. package/yujin-design-system/icons/sumie/aurora-band.svg +1 -0
  43. package/yujin-design-system/icons/sumie/badge-id.svg +1 -0
  44. package/yujin-design-system/icons/sumie/badge-medal.svg +1 -0
  45. package/yujin-design-system/icons/sumie/bamboo-stalk.svg +1 -0
  46. package/yujin-design-system/icons/sumie/bandage-cross.svg +1 -0
  47. package/yujin-design-system/icons/sumie/barcode-strip.svg +1 -0
  48. package/yujin-design-system/icons/sumie/barrel-cask.svg +1 -0
  49. package/yujin-design-system/icons/sumie/bell-temple.svg +1 -0
  50. package/yujin-design-system/icons/sumie/bird-perched.svg +1 -0
  51. package/yujin-design-system/icons/sumie/boat-junk.svg +1 -0
  52. package/yujin-design-system/icons/sumie/boat-sail.svg +1 -0
  53. package/yujin-design-system/icons/sumie/book-bound.svg +1 -0
  54. package/yujin-design-system/icons/sumie/bow-arrow.svg +1 -0
  55. package/yujin-design-system/icons/sumie/box-crate.svg +1 -0
  56. package/yujin-design-system/icons/sumie/box-stacked.svg +1 -0
  57. package/yujin-design-system/icons/sumie/brain-cells.svg +1 -0
  58. package/yujin-design-system/icons/sumie/branch-sakura.svg +1 -0
  59. package/yujin-design-system/icons/sumie/bridge-arched.svg +1 -0
  60. package/yujin-design-system/icons/sumie/briefcase.svg +1 -0
  61. package/yujin-design-system/icons/sumie/brush-ink.svg +1 -0
  62. package/yujin-design-system/icons/sumie/brush-tip.svg +1 -0
  63. package/yujin-design-system/icons/sumie/butterfly-wing.svg +1 -0
  64. package/yujin-design-system/icons/sumie/calendar-grid.svg +1 -0
  65. package/yujin-design-system/icons/sumie/caliper-precision.svg +1 -0
  66. package/yujin-design-system/icons/sumie/cart-basket.svg +1 -0
  67. package/yujin-design-system/icons/sumie/castle-walls.svg +1 -0
  68. package/yujin-design-system/icons/sumie/cat-whisker.svg +1 -0
  69. package/yujin-design-system/icons/sumie/check-mark.svg +1 -0
  70. package/yujin-design-system/icons/sumie/check-shield.svg +1 -0
  71. package/yujin-design-system/icons/sumie/chopsticks.svg +1 -0
  72. package/yujin-design-system/icons/sumie/circuit-node.svg +1 -0
  73. package/yujin-design-system/icons/sumie/clipboard-list.svg +1 -0
  74. package/yujin-design-system/icons/sumie/cloud-curl.svg +1 -0
  75. package/yujin-design-system/icons/sumie/cloud-platform.svg +1 -0
  76. package/yujin-design-system/icons/sumie/coin-mon.svg +1 -0
  77. package/yujin-design-system/icons/sumie/coin-stack.svg +1 -0
  78. package/yujin-design-system/icons/sumie/comb-wooden.svg +1 -0
  79. package/yujin-design-system/icons/sumie/comet-trail.svg +1 -0
  80. package/yujin-design-system/icons/sumie/compass-marine.svg +1 -0
  81. package/yujin-design-system/icons/sumie/conveyor-belt.svg +1 -0
  82. package/yujin-design-system/icons/sumie/crane-flying.svg +1 -0
  83. package/yujin-design-system/icons/sumie/cross-mark.svg +1 -0
  84. package/yujin-design-system/icons/sumie/database-disk.svg +1 -0
  85. package/yujin-design-system/icons/sumie/deer-antler.svg +1 -0
  86. package/yujin-design-system/icons/sumie/document-page.svg +1 -0
  87. package/yujin-design-system/icons/sumie/dragon-curl.svg +1 -0
  88. package/yujin-design-system/icons/sumie/eclipse-ring.svg +1 -0
  89. package/yujin-design-system/icons/sumie/envelope-letter.svg +1 -0
  90. package/yujin-design-system/icons/sumie/eye-vision.svg +1 -0
  91. package/yujin-design-system/icons/sumie/fan-folded.svg +1 -0
  92. package/yujin-design-system/icons/sumie/fan-open.svg +1 -0
  93. package/yujin-design-system/icons/sumie/fern-frond.svg +1 -0
  94. package/yujin-design-system/icons/sumie/flag-banner.svg +1 -0
  95. package/yujin-design-system/icons/sumie/flame-forge.svg +1 -0
  96. package/yujin-design-system/icons/sumie/folder-tab.svg +1 -0
  97. package/yujin-design-system/icons/sumie/forklift.svg +1 -0
  98. package/yujin-design-system/icons/sumie/fox-tail.svg +1 -0
  99. package/yujin-design-system/icons/sumie/gear-cog.svg +1 -0
  100. package/yujin-design-system/icons/sumie/gear-double.svg +1 -0
  101. package/yujin-design-system/icons/sumie/gift-wrapped.svg +1 -0
  102. package/yujin-design-system/icons/sumie/globe-grid.svg +1 -0
  103. package/yujin-design-system/icons/sumie/gong-disk.svg +1 -0
  104. package/yujin-design-system/icons/sumie/hammer-craft.svg +1 -0
  105. package/yujin-design-system/icons/sumie/handshake-knot.svg +1 -0
  106. package/yujin-design-system/icons/sumie/heart-affinity.svg +1 -0
  107. package/yujin-design-system/icons/sumie/helmet-care.svg +1 -0
  108. package/yujin-design-system/icons/sumie/horse-gallop.svg +1 -0
  109. package/yujin-design-system/icons/sumie/house-traditional.svg +1 -0
  110. package/yujin-design-system/icons/sumie/incense-stick.svg +1 -0
  111. package/yujin-design-system/icons/sumie/inkstone-suzuri.svg +1 -0
  112. package/yujin-design-system/icons/sumie/invoice-doc.svg +1 -0
  113. package/yujin-design-system/icons/sumie/iris-bloom.svg +1 -0
  114. package/yujin-design-system/icons/sumie/key-skeleton.svg +1 -0
  115. package/yujin-design-system/icons/sumie/kimono-robe.svg +1 -0
  116. package/yujin-design-system/icons/sumie/koi-leaping.svg +1 -0
  117. package/yujin-design-system/icons/sumie/koi-pond.svg +1 -0
  118. package/yujin-design-system/icons/sumie/lantern-stone.svg +1 -0
  119. package/yujin-design-system/icons/sumie/ledger-tally.svg +1 -0
  120. package/yujin-design-system/icons/sumie/lifebuoy-ring.svg +1 -0
  121. package/yujin-design-system/icons/sumie/lock-shut.svg +1 -0
  122. package/yujin-design-system/icons/sumie/lotus-flower.svg +1 -0
  123. package/yujin-design-system/icons/sumie/magnify-glass.svg +1 -0
  124. package/yujin-design-system/icons/sumie/manifest.json +1263 -0
  125. package/yujin-design-system/icons/sumie/maple-leaf.svg +1 -0
  126. package/yujin-design-system/icons/sumie/mask-noh.svg +1 -0
  127. package/yujin-design-system/icons/sumie/megaphone-flare.svg +1 -0
  128. package/yujin-design-system/icons/sumie/mic-voice.svg +1 -0
  129. package/yujin-design-system/icons/sumie/mirror-bronze.svg +1 -0
  130. package/yujin-design-system/icons/sumie/mobile-phone.svg +1 -0
  131. package/yujin-design-system/icons/sumie/moon-full.svg +1 -0
  132. package/yujin-design-system/icons/sumie/moon-half.svg +1 -0
  133. package/yujin-design-system/icons/sumie/mountain-mist.svg +1 -0
  134. package/yujin-design-system/icons/sumie/mountain-twin.svg +1 -0
  135. package/yujin-design-system/icons/sumie/owl-eye.svg +1 -0
  136. package/yujin-design-system/icons/sumie/pagoda-tiers.svg +1 -0
  137. package/yujin-design-system/icons/sumie/pallet-stack.svg +1 -0
  138. package/yujin-design-system/icons/sumie/paper-lantern.svg +1 -0
  139. package/yujin-design-system/icons/sumie/paper-plane.svg +1 -0
  140. package/yujin-design-system/icons/sumie/pay-card.svg +1 -0
  141. package/yujin-design-system/icons/sumie/pdf-stack.svg +1 -0
  142. package/yujin-design-system/icons/sumie/pencil-write.svg +1 -0
  143. package/yujin-design-system/icons/sumie/people-pair.svg +1 -0
  144. package/yujin-design-system/icons/sumie/people-trio.svg +1 -0
  145. package/yujin-design-system/icons/sumie/person-bow.svg +1 -0
  146. package/yujin-design-system/icons/sumie/phoenix-tail.svg +1 -0
  147. package/yujin-design-system/icons/sumie/piggy-bank.svg +1 -0
  148. package/yujin-design-system/icons/sumie/pin-location.svg +1 -0
  149. package/yujin-design-system/icons/sumie/pine-tree.svg +1 -0
  150. package/yujin-design-system/icons/sumie/pipeline-funnel.svg +1 -0
  151. package/yujin-design-system/icons/sumie/plane-flight.svg +1 -0
  152. package/yujin-design-system/icons/sumie/plug-power.svg +1 -0
  153. package/yujin-design-system/icons/sumie/plum-blossom.svg +1 -0
  154. package/yujin-design-system/icons/sumie/qr-grid.svg +1 -0
  155. package/yujin-design-system/icons/sumie/rabbit-hop.svg +1 -0
  156. package/yujin-design-system/icons/sumie/rain-falling.svg +1 -0
  157. package/yujin-design-system/icons/sumie/receipt-strip.svg +1 -0
  158. package/yujin-design-system/icons/sumie/reed-grass.svg +1 -0
  159. package/yujin-design-system/icons/sumie/rice-bowl.svg +1 -0
  160. package/yujin-design-system/icons/sumie/river-bend.svg +1 -0
  161. package/yujin-design-system/icons/sumie/rock-stack.svg +1 -0
  162. package/yujin-design-system/icons/sumie/rope-shimenawa.svg +1 -0
  163. package/yujin-design-system/icons/sumie/safe-vault.svg +1 -0
  164. package/yujin-design-system/icons/sumie/sake-bottle.svg +1 -0
  165. package/yujin-design-system/icons/sumie/sandal-geta.svg +1 -0
  166. package/yujin-design-system/icons/sumie/scales-balance.svg +1 -0
  167. package/yujin-design-system/icons/sumie/scroll-rolled.svg +1 -0
  168. package/yujin-design-system/icons/sumie/seal-stamp.svg +1 -0
  169. package/yujin-design-system/icons/sumie/server-rack.svg +1 -0
  170. package/yujin-design-system/icons/sumie/shield-knight.svg +1 -0
  171. package/yujin-design-system/icons/sumie/shrine-roof.svg +1 -0
  172. package/yujin-design-system/icons/sumie/signature-loop.svg +1 -0
  173. package/yujin-design-system/icons/sumie/snow-flake.svg +1 -0
  174. package/yujin-design-system/icons/sumie/spark-ai.svg +1 -0
  175. package/yujin-design-system/icons/sumie/spark-burst.svg +1 -0
  176. package/yujin-design-system/icons/sumie/speech-cloud.svg +1 -0
  177. package/yujin-design-system/icons/sumie/spider-silk.svg +1 -0
  178. package/yujin-design-system/icons/sumie/star-cluster.svg +1 -0
  179. package/yujin-design-system/icons/sumie/star-five.svg +1 -0
  180. package/yujin-design-system/icons/sumie/star-rating.svg +1 -0
  181. package/yujin-design-system/icons/sumie/sun-rising.svg +1 -0
  182. package/yujin-design-system/icons/sumie/sword-katana.svg +1 -0
  183. package/yujin-design-system/icons/sumie/tablet-flat.svg +1 -0
  184. package/yujin-design-system/icons/sumie/tag-price.svg +1 -0
  185. package/yujin-design-system/icons/sumie/target-bullseye.svg +1 -0
  186. package/yujin-design-system/icons/sumie/tax-stamp.svg +1 -0
  187. package/yujin-design-system/icons/sumie/tea-cup.svg +1 -0
  188. package/yujin-design-system/icons/sumie/tea-house.svg +1 -0
  189. package/yujin-design-system/icons/sumie/tea-pot.svg +1 -0
  190. package/yujin-design-system/icons/sumie/temple-gate.svg +1 -0
  191. package/yujin-design-system/icons/sumie/thermo-bulb.svg +1 -0
  192. package/yujin-design-system/icons/sumie/thread-spool.svg +1 -0
  193. package/yujin-design-system/icons/sumie/tiger-claw.svg +1 -0
  194. package/yujin-design-system/icons/sumie/time-clock.svg +1 -0
  195. package/yujin-design-system/icons/sumie/torii-double.svg +1 -0
  196. package/yujin-design-system/icons/sumie/train-rail.svg +1 -0
  197. package/yujin-design-system/icons/sumie/truck-cargo.svg +1 -0
  198. package/yujin-design-system/icons/sumie/turtle-shell.svg +1 -0
  199. package/yujin-design-system/icons/sumie/umbrella-folded.svg +1 -0
  200. package/yujin-design-system/icons/sumie/umbrella-wagasa.svg +1 -0
  201. package/yujin-design-system/icons/sumie/wallet-pouch.svg +1 -0
  202. package/yujin-design-system/icons/sumie/warehouse-roof.svg +1 -0
  203. package/yujin-design-system/icons/sumie/wave-curl.svg +1 -0
  204. package/yujin-design-system/icons/sumie/wave-great.svg +1 -0
  205. package/yujin-design-system/icons/sumie/willow-leaf.svg +1 -0
  206. package/yujin-design-system/icons/sumie/wind-gust.svg +1 -0
  207. package/yujin-design-system/icons/sumie/wrench-spanner.svg +1 -0
  208. package/yujin-design-system/manifest.json +69 -0
  209. package/yujin-design-system/preview.html +32 -0
  210. package/yujin-design-system/tokens/yujin-tokens.css +2386 -0
  211. package/yujin-design-system/tokens/yujin-tokens.json +1170 -0
  212. package/yujin-design-system-artdeco/icons/_generate.mjs +142 -0
  213. package/yujin-design-system-artdeco/icons/artdeco/add.svg +1 -0
  214. package/yujin-design-system-artdeco/icons/artdeco/arrow-right.svg +1 -0
  215. package/yujin-design-system-artdeco/icons/artdeco/bell.svg +1 -0
  216. package/yujin-design-system-artdeco/icons/artdeco/briefcase.svg +1 -0
  217. package/yujin-design-system-artdeco/icons/artdeco/building.svg +1 -0
  218. package/yujin-design-system-artdeco/icons/artdeco/calendar.svg +1 -0
  219. package/yujin-design-system-artdeco/icons/artdeco/chart-bar.svg +1 -0
  220. package/yujin-design-system-artdeco/icons/artdeco/chart-line.svg +1 -0
  221. package/yujin-design-system-artdeco/icons/artdeco/chat.svg +1 -0
  222. package/yujin-design-system-artdeco/icons/artdeco/check.svg +1 -0
  223. package/yujin-design-system-artdeco/icons/artdeco/chevron-right.svg +1 -0
  224. package/yujin-design-system-artdeco/icons/artdeco/clipboard.svg +1 -0
  225. package/yujin-design-system-artdeco/icons/artdeco/clock.svg +1 -0
  226. package/yujin-design-system-artdeco/icons/artdeco/close.svg +1 -0
  227. package/yujin-design-system-artdeco/icons/artdeco/coin.svg +1 -0
  228. package/yujin-design-system-artdeco/icons/artdeco/dashboard.svg +1 -0
  229. package/yujin-design-system-artdeco/icons/artdeco/database.svg +1 -0
  230. package/yujin-design-system-artdeco/icons/artdeco/delete.svg +1 -0
  231. package/yujin-design-system-artdeco/icons/artdeco/document.svg +1 -0
  232. package/yujin-design-system-artdeco/icons/artdeco/download.svg +1 -0
  233. package/yujin-design-system-artdeco/icons/artdeco/edit.svg +1 -0
  234. package/yujin-design-system-artdeco/icons/artdeco/expand.svg +1 -0
  235. package/yujin-design-system-artdeco/icons/artdeco/filter.svg +1 -0
  236. package/yujin-design-system-artdeco/icons/artdeco/folder.svg +1 -0
  237. package/yujin-design-system-artdeco/icons/artdeco/globe.svg +1 -0
  238. package/yujin-design-system-artdeco/icons/artdeco/handshake.svg +1 -0
  239. package/yujin-design-system-artdeco/icons/artdeco/heart.svg +1 -0
  240. package/yujin-design-system-artdeco/icons/artdeco/home.svg +1 -0
  241. package/yujin-design-system-artdeco/icons/artdeco/info.svg +1 -0
  242. package/yujin-design-system-artdeco/icons/artdeco/invoice.svg +1 -0
  243. package/yujin-design-system-artdeco/icons/artdeco/list.svg +1 -0
  244. package/yujin-design-system-artdeco/icons/artdeco/lock.svg +1 -0
  245. package/yujin-design-system-artdeco/icons/artdeco/mail.svg +1 -0
  246. package/yujin-design-system-artdeco/icons/artdeco/manifest.json +365 -0
  247. package/yujin-design-system-artdeco/icons/artdeco/menu.svg +1 -0
  248. package/yujin-design-system-artdeco/icons/artdeco/phone.svg +1 -0
  249. package/yujin-design-system-artdeco/icons/artdeco/search.svg +1 -0
  250. package/yujin-design-system-artdeco/icons/artdeco/send.svg +1 -0
  251. package/yujin-design-system-artdeco/icons/artdeco/settings.svg +1 -0
  252. package/yujin-design-system-artdeco/icons/artdeco/share.svg +1 -0
  253. package/yujin-design-system-artdeco/icons/artdeco/shield.svg +1 -0
  254. package/yujin-design-system-artdeco/icons/artdeco/star.svg +1 -0
  255. package/yujin-design-system-artdeco/icons/artdeco/sun.svg +1 -0
  256. package/yujin-design-system-artdeco/icons/artdeco/table.svg +1 -0
  257. package/yujin-design-system-artdeco/icons/artdeco/tag.svg +1 -0
  258. package/yujin-design-system-artdeco/icons/artdeco/target.svg +1 -0
  259. package/yujin-design-system-artdeco/icons/artdeco/user.svg +1 -0
  260. package/yujin-design-system-artdeco/icons/artdeco/users.svg +1 -0
  261. package/yujin-design-system-artdeco/icons/artdeco/warning.svg +1 -0
  262. package/yujin-design-system-artdeco/manifest.json +44 -0
  263. package/yujin-design-system-artdeco/preview.html +25 -0
  264. package/yujin-design-system-artdeco/tokens/artdeco-tokens.css +145 -0
  265. package/yujin-design-system-artdeco/tokens/artdeco-tokens.json +40 -0
package/dist/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Yujin Forge CLI version. Kept in sync with package.json by the npm
3
3
  * "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
4
4
  */
5
- export declare const VERSION = "1.0.52";
5
+ export declare const VERSION = "1.0.53";
6
6
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  * Yujin Forge CLI version. Kept in sync with package.json by the npm
3
3
  * "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
4
4
  */
5
- export const VERSION = '1.0.52';
5
+ export const VERSION = '1.0.53';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,111 +1,113 @@
1
- {
2
- "name": "@nac3/forge-cli",
3
- "version": "1.0.52",
4
- "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
- "license": "SEE LICENSE IN LICENSE",
6
- "author": "Pablo Kuschnirof <pablo@rpaforce.com>",
7
- "homepage": "https://github.com/yujinapp/yujin-forge#readme",
8
- "bugs": {
9
- "url": "https://github.com/yujinapp/yujin-forge/issues"
10
- },
11
- "bin": {
12
- "yf": "./dist/bin/yf.js"
13
- },
14
- "type": "module",
15
- "exports": {
16
- ".": "./dist/index.js"
17
- },
18
- "scripts": {
19
- "version": "node scripts/sync_version.mjs && git add src/version.ts",
20
- "build": "tsc && node scripts/copy_qa_assets.mjs",
21
- "dev": "tsx watch src/bin/yf.ts",
22
- "typecheck": "tsc --noEmit",
23
- "typecheck:all": "pnpm typecheck && pnpm --filter @yujin/hito4-server typecheck && pnpm --filter @yujin/forge-mobile typecheck",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "lint": "tsc --noEmit",
27
- "yf": "tsx src/bin/yf.ts",
28
- "catalog:lint": "node scripts/catalog_lint.mjs",
29
- "pairing:check": "node scripts/check_pairing_sync.mjs",
30
- "brain-matrix:gate": "node scripts/brain_matrix_gate.mjs",
31
- "hito4:lint": "node scripts/hito4_lint_bundle.mjs",
32
- "publish-alpha-emergency": "node scripts/publish_alpha_emergency.mjs",
33
- "prepublishOnly": "pnpm run build && pnpm run typecheck && pnpm run catalog:lint && pnpm run test && pnpm run brain-matrix:gate && pnpm run hito4:lint"
34
- },
35
- "dependencies": {
36
- "@anthropic-ai/sdk": "^0.32.1",
37
- "@aws-sdk/client-ecs": "^3.1053.0",
38
- "@noble/ciphers": "^2.2.0",
39
- "@noble/hashes": "^2.2.0",
40
- "@scure/base": "^2.2.0",
41
- "better-sqlite3": "^12.10.0",
42
- "commander": "12.1.0",
43
- "dotenv": "^17.4.2",
44
- "kleur": "4.1.5",
45
- "mammoth": "^1.8.0",
46
- "node-html-parser": "6.1.13",
47
- "pdfjs-dist": "^4.10.38",
48
- "prompts": "2.4.2",
49
- "qrcode": "^1.5.4",
50
- "typescript": "5.7.2",
51
- "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
52
- },
53
- "devDependencies": {
54
- "@playwright/test": "^1.60.0",
55
- "@types/better-sqlite3": "^7.6.13",
56
- "@types/node": "22.10.2",
57
- "@types/prompts": "2.4.9",
58
- "@types/qrcode": "^1.5.6",
59
- "acorn": "^8.16.0",
60
- "pixelmatch": "^7.2.0",
61
- "pngjs": "^7.0.0",
62
- "tsx": "4.19.2",
63
- "vitest": "2.1.8"
64
- },
65
- "engines": {
66
- "node": ">=18.17",
67
- "pnpm": ">=9"
68
- },
69
- "packageManager": "pnpm@11.3.0",
70
- "files": [
71
- "dist",
72
- "templates",
73
- "docs/manuals",
74
- "docs/SQ.md",
75
- "docs/SQ_BY_STEP.yaml",
76
- "docs/doctrine",
77
- "src/i18n/catalogs",
78
- "README.md",
79
- "LICENSE"
80
- ],
81
- "keywords": [
82
- "nac",
83
- "nac-3",
84
- "react",
85
- "framework",
86
- "claude-code",
87
- "yujin",
88
- "voice",
89
- "whisper",
90
- "elevenlabs",
91
- "tts",
92
- "stt",
93
- "document-reader",
94
- "pdf",
95
- "docx",
96
- "epub",
97
- "spec-ingest",
98
- "scaffolding",
99
- "accessibility",
100
- "voice-first",
101
- "adip"
102
- ],
103
- "repository": {
104
- "type": "git",
105
- "url": "git+https://github.com/yujinapp/yujin-forge.git"
106
- },
107
- "publishConfig": {
108
- "access": "public",
109
- "tag": "latest"
110
- }
111
- }
1
+ {
2
+ "name": "@nac3/forge-cli",
3
+ "version": "1.0.53",
4
+ "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
+ "license": "SEE LICENSE IN LICENSE",
6
+ "author": "Pablo Kuschnirof <pablo@rpaforce.com>",
7
+ "homepage": "https://github.com/yujinapp/yujin-forge#readme",
8
+ "bugs": {
9
+ "url": "https://github.com/yujinapp/yujin-forge/issues"
10
+ },
11
+ "bin": {
12
+ "yf": "./dist/bin/yf.js"
13
+ },
14
+ "type": "module",
15
+ "exports": {
16
+ ".": "./dist/index.js"
17
+ },
18
+ "scripts": {
19
+ "version": "node scripts/sync_version.mjs && git add src/version.ts",
20
+ "build": "tsc && node scripts/copy_qa_assets.mjs",
21
+ "dev": "tsx watch src/bin/yf.ts",
22
+ "typecheck": "tsc --noEmit",
23
+ "typecheck:all": "pnpm typecheck && pnpm --filter @yujin/hito4-server typecheck && pnpm --filter @yujin/forge-mobile typecheck",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "lint": "tsc --noEmit",
27
+ "yf": "tsx src/bin/yf.ts",
28
+ "catalog:lint": "node scripts/catalog_lint.mjs",
29
+ "pairing:check": "node scripts/check_pairing_sync.mjs",
30
+ "brain-matrix:gate": "node scripts/brain_matrix_gate.mjs",
31
+ "hito4:lint": "node scripts/hito4_lint_bundle.mjs",
32
+ "publish-alpha-emergency": "node scripts/publish_alpha_emergency.mjs",
33
+ "prepublishOnly": "pnpm run build && pnpm run typecheck && pnpm run catalog:lint && pnpm run test && pnpm run brain-matrix:gate && pnpm run hito4:lint"
34
+ },
35
+ "dependencies": {
36
+ "@anthropic-ai/sdk": "^0.32.1",
37
+ "@aws-sdk/client-ecs": "^3.1053.0",
38
+ "@noble/ciphers": "^2.2.0",
39
+ "@noble/hashes": "^2.2.0",
40
+ "@scure/base": "^2.2.0",
41
+ "better-sqlite3": "^12.10.0",
42
+ "commander": "12.1.0",
43
+ "dotenv": "^17.4.2",
44
+ "kleur": "4.1.5",
45
+ "mammoth": "^1.8.0",
46
+ "node-html-parser": "6.1.13",
47
+ "pdfjs-dist": "^4.10.38",
48
+ "prompts": "2.4.2",
49
+ "qrcode": "^1.5.4",
50
+ "typescript": "5.7.2",
51
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
52
+ },
53
+ "devDependencies": {
54
+ "@playwright/test": "^1.60.0",
55
+ "@types/better-sqlite3": "^7.6.13",
56
+ "@types/node": "22.10.2",
57
+ "@types/prompts": "2.4.9",
58
+ "@types/qrcode": "^1.5.6",
59
+ "acorn": "^8.16.0",
60
+ "pixelmatch": "^7.2.0",
61
+ "pngjs": "^7.0.0",
62
+ "tsx": "4.19.2",
63
+ "vitest": "2.1.8"
64
+ },
65
+ "engines": {
66
+ "node": ">=18.17",
67
+ "pnpm": ">=9"
68
+ },
69
+ "packageManager": "pnpm@11.3.0",
70
+ "files": [
71
+ "dist",
72
+ "templates",
73
+ "docs/manuals",
74
+ "docs/SQ.md",
75
+ "docs/SQ_BY_STEP.yaml",
76
+ "docs/doctrine",
77
+ "src/i18n/catalogs",
78
+ "yujin-design-system",
79
+ "yujin-design-system-artdeco",
80
+ "README.md",
81
+ "LICENSE"
82
+ ],
83
+ "keywords": [
84
+ "nac",
85
+ "nac-3",
86
+ "react",
87
+ "framework",
88
+ "claude-code",
89
+ "yujin",
90
+ "voice",
91
+ "whisper",
92
+ "elevenlabs",
93
+ "tts",
94
+ "stt",
95
+ "document-reader",
96
+ "pdf",
97
+ "docx",
98
+ "epub",
99
+ "spec-ingest",
100
+ "scaffolding",
101
+ "accessibility",
102
+ "voice-first",
103
+ "adip"
104
+ ],
105
+ "repository": {
106
+ "type": "git",
107
+ "url": "git+https://github.com/yujinapp/yujin-forge.git"
108
+ },
109
+ "publishConfig": {
110
+ "access": "public",
111
+ "tag": "latest"
112
+ }
113
+ }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Yujin Design System (sumi-e default) -- visual preview generator.
3
+ *
4
+ * Mirrors the art deco variant's preview: reads the package's own palette,
5
+ * kanji wordmarks and 170 sumi-e icons and emits a self-contained
6
+ * preview.html (palette swatches + wordmarks + every icon). Run
7
+ * `node _preview.mjs`. ASCII-only (the kanji live in data, not source).
8
+ */
9
+ import { promises as fs } from 'node:fs';
10
+ import path from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+
13
+ const ROOT = path.dirname(fileURLToPath(import.meta.url));
14
+ const ICONS_DIR = path.join(ROOT, 'icons', 'sumie');
15
+
16
+ const run = async () => {
17
+ const man = JSON.parse(await fs.readFile(path.join(ROOT, 'manifest.json'), 'utf-8'));
18
+ const idx = JSON.parse(await fs.readFile(path.join(ICONS_DIR, 'manifest.json'), 'utf-8'));
19
+
20
+ /* inline each icon SVG */
21
+ const cells = [];
22
+ for (const ic of idx.icons) {
23
+ let svg = '';
24
+ try { svg = (await fs.readFile(path.join(ICONS_DIR, ic.file), 'utf-8')).trim(); } catch { continue; }
25
+ cells.push(`<figure><span class="ic">${svg}</span><figcaption>${ic.slug}</figcaption></figure>`);
26
+ }
27
+
28
+ const swatches = [
29
+ ['Acento (indigo)', '#2D3A8C'], ['Indigo claro', '#5A66E8'], ['Indigo light', '#C8CDFA'],
30
+ ['Exito (teal)', '#0F6E66'], ['Teal claro', '#1D9E94'],
31
+ ['Atencion (ambar)', '#9B6A05'], ['Peligro (coral)', '#943020'],
32
+ ['Tinta', '#1A1815'], ['Warm 600', '#615E58'], ['Warm 100', '#F2F0EC'],
33
+ ['Pagina', '#FAFAF7'], ['Superficie', '#FFFFFF'],
34
+ ];
35
+ const swatchHtml = swatches.map(([n, c]) =>
36
+ `<div class="sw"><span style="background:${c}"></span><b>${n}</b><code>${c}</code></div>`).join('');
37
+
38
+ const wm = man.icons.kanji.wordmarks;
39
+ const wordmarks = Object.entries(wm).map(([k, v]) =>
40
+ `<div class="wm"><span class="kj">${v}</span><code>${k}</code></div>`).join('');
41
+
42
+ const html = `<!doctype html><html lang="es"><head><meta charset="utf-8">
43
+ <meta name="viewport" content="width=device-width,initial-scale=1">
44
+ <title>Yujin Design System -- sumi-e</title>
45
+ <link rel="stylesheet" href="tokens/yujin-tokens.css">
46
+ <style>
47
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;700&display=swap');
48
+ body{margin:0;background:#FAFAF7;color:#1A1815;font-family:Inter,system-ui,sans-serif}
49
+ .page{max-width:1000px;margin:0 auto;padding:52px 28px 90px}
50
+ .mark{font-family:'Noto Serif JP',serif;font-size:52px;color:#2D3A8C;line-height:1;margin:0}
51
+ h1{font-size:26px;font-weight:700;margin:10px 0 2px;letter-spacing:-.01em}
52
+ .lema{color:#615E58;font-style:italic;margin:0 0 30px;font-size:14px}
53
+ h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#2D3A8C;margin:42px 0 16px;border-bottom:2px solid #C8CDFA;padding-bottom:8px}
54
+ .sw{display:inline-flex;align-items:center;gap:8px;margin:0 18px 12px 0;font-size:12px}
55
+ .sw span{width:34px;height:34px;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:inline-block}
56
+ .sw code{color:#615E58}
57
+ .wms{display:flex;gap:26px;flex-wrap:wrap}
58
+ .wm{text-align:center}.wm .kj{font-family:'Noto Serif JP',serif;font-size:40px;color:#1A1815;display:block}
59
+ .wm code{color:#615E58;font-size:11px}
60
+ .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:9px}
61
+ figure{margin:0;background:#fff;border:1px solid #F2F0EC;border-radius:10px;padding:14px 6px 8px;text-align:center;transition:border-color .15s}
62
+ figure:hover{border-color:#5A66E8}
63
+ .ic svg{width:32px;height:32px;color:#1A1815}
64
+ figcaption{margin-top:8px;font-size:10.5px;color:#615E58}
65
+ </style></head>
66
+ <body><div class="page">
67
+ <p class="mark">&#21451;&#20154;</p>
68
+ <h1>Yujin Design System</h1>
69
+ <p class="lema">${man.lema}</p>
70
+ <h2>Paleta</h2><div>${swatchHtml}</div>
71
+ <h2>Wordmarks kanji</h2><div class="wms">${wordmarks}</div>
72
+ <h2>Iconografia sumi-e &middot; ${cells.length} iconos</h2><div class="grid">${cells.join('')}</div>
73
+ </div></body></html>`;
74
+ await fs.writeFile(path.join(ROOT, 'preview.html'), html, 'utf-8');
75
+ console.log('wrote preview.html with', cells.length, 'sumi-e icons +', Object.keys(wm).length, 'wordmarks');
76
+ };
77
+ run().catch((e) => { console.error(e); process.exit(1); });
@@ -0,0 +1,156 @@
1
+ {
2
+ "generated_at": "2026-06-04T20:56:15.091Z",
3
+ "count": 30,
4
+ "components": [
5
+ {
6
+ "slug": "card",
7
+ "category": "surface",
8
+ "file": "card.yujin.json"
9
+ },
10
+ {
11
+ "slug": "modal",
12
+ "category": "surface",
13
+ "file": "modal.yujin.json"
14
+ },
15
+ {
16
+ "slug": "sidebar",
17
+ "category": "surface",
18
+ "file": "sidebar.yujin.json"
19
+ },
20
+ {
21
+ "slug": "view",
22
+ "category": "surface",
23
+ "file": "view.yujin.json"
24
+ },
25
+ {
26
+ "slug": "topbar",
27
+ "category": "surface",
28
+ "file": "topbar.yujin.json"
29
+ },
30
+ {
31
+ "slug": "breadcrumb",
32
+ "category": "surface",
33
+ "file": "breadcrumb.yujin.json"
34
+ },
35
+ {
36
+ "slug": "tabs",
37
+ "category": "surface",
38
+ "file": "tabs.yujin.json"
39
+ },
40
+ {
41
+ "slug": "accordion",
42
+ "category": "surface",
43
+ "file": "accordion.yujin.json"
44
+ },
45
+ {
46
+ "slug": "button",
47
+ "category": "control",
48
+ "file": "button.yujin.json"
49
+ },
50
+ {
51
+ "slug": "input",
52
+ "category": "control",
53
+ "file": "input.yujin.json"
54
+ },
55
+ {
56
+ "slug": "form-field",
57
+ "category": "control",
58
+ "file": "form-field.yujin.json"
59
+ },
60
+ {
61
+ "slug": "select",
62
+ "category": "control",
63
+ "file": "select.yujin.json"
64
+ },
65
+ {
66
+ "slug": "datepicker",
67
+ "category": "control",
68
+ "file": "datepicker.yujin.json"
69
+ },
70
+ {
71
+ "slug": "file-upload",
72
+ "category": "control",
73
+ "file": "file-upload.yujin.json"
74
+ },
75
+ {
76
+ "slug": "dropdown",
77
+ "category": "control",
78
+ "file": "dropdown.yujin.json"
79
+ },
80
+ {
81
+ "slug": "switch",
82
+ "category": "control",
83
+ "file": "switch.yujin.json"
84
+ },
85
+ {
86
+ "slug": "checkbox",
87
+ "category": "control",
88
+ "file": "checkbox.yujin.json"
89
+ },
90
+ {
91
+ "slug": "radio",
92
+ "category": "control",
93
+ "file": "radio.yujin.json"
94
+ },
95
+ {
96
+ "slug": "slider",
97
+ "category": "control",
98
+ "file": "slider.yujin.json"
99
+ },
100
+ {
101
+ "slug": "search-bar",
102
+ "category": "control",
103
+ "file": "search-bar.yujin.json"
104
+ },
105
+ {
106
+ "slug": "badge",
107
+ "category": "display",
108
+ "file": "badge.yujin.json"
109
+ },
110
+ {
111
+ "slug": "avatar",
112
+ "category": "display",
113
+ "file": "avatar.yujin.json"
114
+ },
115
+ {
116
+ "slug": "tooltip",
117
+ "category": "display",
118
+ "file": "tooltip.yujin.json"
119
+ },
120
+ {
121
+ "slug": "alert",
122
+ "category": "display",
123
+ "file": "alert.yujin.json"
124
+ },
125
+ {
126
+ "slug": "toast",
127
+ "category": "display",
128
+ "file": "toast.yujin.json"
129
+ },
130
+ {
131
+ "slug": "progress",
132
+ "category": "display",
133
+ "file": "progress.yujin.json"
134
+ },
135
+ {
136
+ "slug": "skeleton",
137
+ "category": "display",
138
+ "file": "skeleton.yujin.json"
139
+ },
140
+ {
141
+ "slug": "table",
142
+ "category": "data",
143
+ "file": "table.yujin.json"
144
+ },
145
+ {
146
+ "slug": "kanban-card",
147
+ "category": "data",
148
+ "file": "kanban-card.yujin.json"
149
+ },
150
+ {
151
+ "slug": "pagination",
152
+ "category": "data",
153
+ "file": "pagination.yujin.json"
154
+ }
155
+ ]
156
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "accordion",
3
+ "category": "surface",
4
+ "nac3_id": "yujin.accordion",
5
+ "description": "accordion -- Yujin Design System default surface component",
6
+ "html": "<div class=\"yj-accordion\" data-nac-id=\"yujin.accordion\" data-nac-role=\"accordion\">{{items}}</div>",
7
+ "css": ".yj-accordion details{border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) 0}\n.yj-accordion summary{font:500 var(--font-size-md)/1.4 var(--font-family-sans);cursor:pointer;color:var(--color-text-primary)}",
8
+ "variants": [
9
+ "default",
10
+ "flush",
11
+ "bordered"
12
+ ],
13
+ "props": [
14
+ "items"
15
+ ],
16
+ "token_refs": [
17
+ "color-border-subtle",
18
+ "space-",
19
+ "font-size-md",
20
+ "font-family-sans",
21
+ "color-text-primary"
22
+ ],
23
+ "sumie_icon_hint": null
24
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "slug": "alert",
3
+ "category": "display",
4
+ "nac3_id": "yujin.alert",
5
+ "description": "alert -- Yujin Design System default display component",
6
+ "html": "<div class=\"yj-alert yj-alert-{{variant}}\" role=\"alert\" data-nac-id=\"yujin.alert\" data-nac-role=\"alert\">{{children}}</div>",
7
+ "css": ".yj-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-bg-subtle);font:400 var(--font-size-sm)/1.5 var(--font-family-sans)}\n.yj-alert-success{background:var(--color-teal-50);border-color:var(--color-teal-200);color:var(--color-teal-600)}\n.yj-alert-warning{background:var(--color-amber-50);border-color:var(--color-amber-200);color:var(--color-amber-600)}\n.yj-alert-danger{background:var(--color-coral-50);border-color:var(--color-coral-200);color:var(--color-coral-600)}",
8
+ "variants": [
9
+ "info",
10
+ "success",
11
+ "warning",
12
+ "danger"
13
+ ],
14
+ "props": [
15
+ "variant",
16
+ "children"
17
+ ],
18
+ "token_refs": [
19
+ "space-",
20
+ "radius-md",
21
+ "color-border-subtle",
22
+ "color-bg-subtle",
23
+ "font-size-sm",
24
+ "font-family-sans",
25
+ "color-teal-",
26
+ "color-amber-",
27
+ "color-coral-"
28
+ ],
29
+ "sumie_icon_hint": null
30
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "slug": "avatar",
3
+ "category": "display",
4
+ "nac3_id": "yujin.avatar",
5
+ "description": "avatar -- Yujin Design System default display component",
6
+ "html": "<div class=\"yj-avatar\" data-nac-id=\"yujin.avatar\" data-nac-role=\"avatar\"><img src=\"{{src}}\" alt=\"{{alt}}\" /></div>",
7
+ "css": ".yj-avatar{display:inline-block;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--color-warm-100)}\n.yj-avatar img{width:100%;height:100%;object-fit:cover}",
8
+ "variants": [
9
+ "default",
10
+ "small",
11
+ "large",
12
+ "rounded-square"
13
+ ],
14
+ "props": [
15
+ "src",
16
+ "alt",
17
+ "size?"
18
+ ],
19
+ "token_refs": [
20
+ "color-warm-"
21
+ ],
22
+ "sumie_icon_hint": null
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "slug": "badge",
3
+ "category": "display",
4
+ "nac3_id": "yujin.badge",
5
+ "description": "badge -- Yujin Design System default display component",
6
+ "html": "<span class=\"yj-badge yj-badge-{{variant}}\" data-nac-id=\"yujin.badge\" data-nac-role=\"badge\">{{label}}</span>",
7
+ "css": ".yj-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:999px;font:600 var(--font-size-xs)/1.2 var(--font-family-sans);background:var(--color-bg-subtle);color:var(--color-text-secondary)}\n.yj-badge-success{background:var(--color-teal-50);color:var(--color-teal-600)}\n.yj-badge-warning{background:var(--color-amber-50);color:var(--color-amber-600)}\n.yj-badge-danger{background:var(--color-coral-50);color:var(--color-coral-600)}",
8
+ "variants": [
9
+ "default",
10
+ "success",
11
+ "warning",
12
+ "danger",
13
+ "info"
14
+ ],
15
+ "props": [
16
+ "label",
17
+ "variant"
18
+ ],
19
+ "token_refs": [
20
+ "space-",
21
+ "font-size-xs",
22
+ "font-family-sans",
23
+ "color-bg-subtle",
24
+ "color-text-secondary",
25
+ "color-teal-",
26
+ "color-amber-",
27
+ "color-coral-"
28
+ ],
29
+ "sumie_icon_hint": null
30
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "slug": "breadcrumb",
3
+ "category": "surface",
4
+ "nac3_id": "yujin.breadcrumb",
5
+ "description": "breadcrumb -- Yujin Design System default surface component",
6
+ "html": "<nav class=\"yj-breadcrumb\" aria-label=\"breadcrumb\" data-nac-id=\"yujin.breadcrumb\" data-nac-role=\"breadcrumb\">\n <ol>{{items}}</ol>\n</nav>",
7
+ "css": ".yj-breadcrumb ol{display:flex;gap:var(--space-2);list-style:none;padding:0;margin:0;font:400 var(--font-size-sm)/1.4 var(--font-family-sans);color:var(--color-text-secondary)}\n.yj-breadcrumb li:not(:last-child)::after{content:\" / \";margin-left:var(--space-2);color:var(--color-text-tertiary)}",
8
+ "variants": [
9
+ "default"
10
+ ],
11
+ "props": [
12
+ "items"
13
+ ],
14
+ "token_refs": [
15
+ "space-",
16
+ "font-size-sm",
17
+ "font-family-sans",
18
+ "color-text-secondary",
19
+ "color-text-tertiary"
20
+ ],
21
+ "sumie_icon_hint": null
22
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "slug": "button",
3
+ "category": "control",
4
+ "nac3_id": "yujin.button",
5
+ "description": "button -- Yujin Design System default control component",
6
+ "html": "<button class=\"yj-btn yj-btn-{{variant}}\" data-nac-id=\"yujin.button\" data-nac-role=\"action\" data-nac-action=\"{{action}}\">{{label}}</button>",
7
+ "css": ".yj-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:600 var(--font-size-sm)/1.4 var(--font-family-sans);cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--space-2)}\n.yj-btn-primary{background:var(--color-accent);color:var(--color-warm-0)}\n.yj-btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-default)}\n.yj-btn-ghost{background:transparent;color:var(--color-accent-text)}\n.yj-btn-danger{background:var(--color-coral-400);color:var(--color-warm-0)}",
8
+ "variants": [
9
+ "primary",
10
+ "secondary",
11
+ "ghost",
12
+ "danger",
13
+ "icon-only"
14
+ ],
15
+ "props": [
16
+ "label",
17
+ "variant",
18
+ "action",
19
+ "disabled?"
20
+ ],
21
+ "token_refs": [
22
+ "space-",
23
+ "radius-md",
24
+ "font-size-sm",
25
+ "font-family-sans",
26
+ "color-accent",
27
+ "color-warm-",
28
+ "color-bg-surface",
29
+ "color-text-primary",
30
+ "color-border-default",
31
+ "color-accent-text",
32
+ "color-coral-"
33
+ ],
34
+ "sumie_icon_hint": null
35
+ }