@nadicodeai/ui 0.21.0 → 1.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 (354) hide show
  1. package/AGENTS.md +6 -7
  2. package/LICENSES/PAPER-SHADERS-APACHE-2.0.txt +186 -0
  3. package/NOTICE +12 -0
  4. package/README.md +14 -21
  5. package/dist/agents.d.ts +10 -0
  6. package/dist/agents.d.ts.map +1 -0
  7. package/dist/agents.js +10 -0
  8. package/dist/components/agent-card.d.ts +13 -0
  9. package/dist/components/agent-card.d.ts.map +1 -0
  10. package/dist/components/agent-card.js +15 -0
  11. package/dist/components/agent-visual.d.ts +17 -0
  12. package/dist/components/agent-visual.d.ts.map +1 -0
  13. package/dist/components/agent-visual.js +59 -0
  14. package/dist/components/alert-dialog.js +1 -1
  15. package/dist/components/badge.d.ts +1 -1
  16. package/dist/components/badge.d.ts.map +1 -1
  17. package/dist/components/badge.js +9 -0
  18. package/dist/components/button.d.ts +1 -1
  19. package/dist/components/card.d.ts +5 -3
  20. package/dist/components/card.d.ts.map +1 -1
  21. package/dist/components/card.js +7 -7
  22. package/dist/components/chart.js +1 -1
  23. package/dist/components/combobox.js +1 -1
  24. package/dist/components/context-menu.js +1 -1
  25. package/dist/components/dialog.js +1 -1
  26. package/dist/components/drawer.js +1 -1
  27. package/dist/components/dropdown-menu.js +1 -1
  28. package/dist/components/empty.d.ts +5 -2
  29. package/dist/components/empty.d.ts.map +1 -1
  30. package/dist/components/empty.js +3 -3
  31. package/dist/components/feedback-state.js +1 -1
  32. package/dist/components/glass-control.d.ts +7 -0
  33. package/dist/components/glass-control.d.ts.map +1 -0
  34. package/dist/components/glass-control.js +14 -0
  35. package/dist/components/hover-card.js +1 -1
  36. package/dist/components/label-system.d.ts +1 -10
  37. package/dist/components/label-system.d.ts.map +1 -1
  38. package/dist/components/label-system.js +1 -7
  39. package/dist/components/live-demo.js +1 -1
  40. package/dist/components/menubar.js +1 -1
  41. package/dist/components/nav-bar.d.ts +6 -8
  42. package/dist/components/nav-bar.d.ts.map +1 -1
  43. package/dist/components/nav-bar.js +8 -9
  44. package/dist/components/navigation-menu.js +2 -2
  45. package/dist/components/popover.js +1 -1
  46. package/dist/components/select.js +1 -1
  47. package/dist/components/sheet.js +1 -1
  48. package/dist/components/sidebar.js +1 -1
  49. package/dist/components/sonner.js +2 -2
  50. package/dist/components/testimonials.d.ts +1 -1
  51. package/dist/components/testimonials.js +2 -2
  52. package/dist/components/tooltip.js +1 -1
  53. package/dist/components/use-case-bento.d.ts +2 -4
  54. package/dist/components/use-case-bento.d.ts.map +1 -1
  55. package/dist/components/use-case-bento.js +2 -3
  56. package/dist/hooks/index.d.ts +0 -1
  57. package/dist/hooks/index.d.ts.map +1 -1
  58. package/dist/hooks/index.js +0 -1
  59. package/dist/index.d.ts +3 -16
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +3 -16
  62. package/dist/internal/agent-visual/color.d.ts +4 -0
  63. package/dist/internal/agent-visual/color.d.ts.map +1 -0
  64. package/dist/internal/agent-visual/color.js +39 -0
  65. package/dist/internal/agent-visual/poster.d.ts +6 -0
  66. package/dist/internal/agent-visual/poster.d.ts.map +1 -0
  67. package/dist/internal/agent-visual/poster.js +35 -0
  68. package/dist/internal/agent-visual/recipes.d.ts +15 -0
  69. package/dist/internal/agent-visual/recipes.d.ts.map +1 -0
  70. package/dist/internal/agent-visual/recipes.js +72 -0
  71. package/dist/internal/agent-visual/renderer.d.ts +10 -0
  72. package/dist/internal/agent-visual/renderer.d.ts.map +1 -0
  73. package/dist/internal/agent-visual/renderer.js +112 -0
  74. package/dist/internal/agent-visual/shader.d.ts +2 -0
  75. package/dist/internal/agent-visual/shader.d.ts.map +1 -0
  76. package/dist/internal/agent-visual/shader.js +158 -0
  77. package/dist/internal/assistant-ui/attachment.d.ts +5 -0
  78. package/dist/internal/assistant-ui/attachment.d.ts.map +1 -0
  79. package/dist/internal/assistant-ui/attachment.js +93 -0
  80. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts +3 -0
  81. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts.map +1 -0
  82. package/dist/internal/assistant-ui/follow-up-suggestions.js +8 -0
  83. package/dist/internal/assistant-ui/markdown-text.d.ts +2 -0
  84. package/dist/internal/assistant-ui/markdown-text.d.ts.map +1 -0
  85. package/dist/internal/assistant-ui/markdown-text.js +54 -0
  86. package/dist/internal/assistant-ui/reasoning.d.ts +31 -0
  87. package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -0
  88. package/dist/internal/assistant-ui/reasoning.js +118 -0
  89. package/dist/internal/assistant-ui/thread.d.ts +26 -0
  90. package/dist/internal/assistant-ui/thread.d.ts.map +1 -0
  91. package/dist/internal/assistant-ui/thread.js +118 -0
  92. package/dist/internal/assistant-ui/tool-fallback.d.ts +10 -0
  93. package/dist/internal/assistant-ui/tool-fallback.d.ts.map +1 -0
  94. package/dist/internal/assistant-ui/tool-fallback.js +163 -0
  95. package/dist/internal/assistant-ui/tool-group.d.ts +18 -0
  96. package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -0
  97. package/dist/internal/assistant-ui/tool-group.js +44 -0
  98. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +8 -0
  99. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -0
  100. package/dist/internal/assistant-ui/tooltip-icon-button.js +10 -0
  101. package/dist/styles/globals.css +24 -209
  102. package/docs/agents/nadicodeai-ui.md +8 -8
  103. package/docs/component-classification.md +1 -1
  104. package/docs/consuming-cross-repo.md +12 -4
  105. package/docs/contract.md +83 -7
  106. package/docs/migration/1.0.0.md +75 -0
  107. package/docs/migration/base-ui-migration.md +0 -11
  108. package/docs/product-compositions.md +1 -1
  109. package/llms.txt +7 -6
  110. package/package.json +17 -29
  111. package/skills/nadicodeai-ui/SKILL.md +11 -7
  112. package/dist/ai-elements.d.ts +0 -49
  113. package/dist/ai-elements.d.ts.map +0 -1
  114. package/dist/ai-elements.js +0 -48
  115. package/dist/components/agent-avatar.d.ts +0 -7
  116. package/dist/components/agent-avatar.d.ts.map +0 -1
  117. package/dist/components/agent-avatar.js +0 -6
  118. package/dist/components/agent-chat.d.ts +0 -20
  119. package/dist/components/agent-chat.d.ts.map +0 -1
  120. package/dist/components/agent-chat.js +0 -10
  121. package/dist/components/agent-composer.d.ts +0 -56
  122. package/dist/components/agent-composer.d.ts.map +0 -1
  123. package/dist/components/agent-composer.js +0 -56
  124. package/dist/components/agent-message.d.ts +0 -117
  125. package/dist/components/agent-message.d.ts.map +0 -1
  126. package/dist/components/agent-message.js +0 -99
  127. package/dist/components/agent-thread.d.ts +0 -26
  128. package/dist/components/agent-thread.d.ts.map +0 -1
  129. package/dist/components/agent-thread.js +0 -63
  130. package/dist/components/agent-tool-approval.d.ts +0 -27
  131. package/dist/components/agent-tool-approval.d.ts.map +0 -1
  132. package/dist/components/agent-tool-approval.js +0 -43
  133. package/dist/components/ai-elements/agent.d.ts +0 -27
  134. package/dist/components/ai-elements/agent.d.ts.map +0 -1
  135. package/dist/components/ai-elements/agent.js +0 -25
  136. package/dist/components/ai-elements/artifact.d.ts +0 -24
  137. package/dist/components/ai-elements/artifact.d.ts.map +0 -1
  138. package/dist/components/ai-elements/artifact.js +0 -20
  139. package/dist/components/ai-elements/attachments.d.ts +0 -55
  140. package/dist/components/ai-elements/attachments.d.ts.map +0 -1
  141. package/dist/components/ai-elements/attachments.js +0 -125
  142. package/dist/components/ai-elements/audio-player.d.ts +0 -30
  143. package/dist/components/ai-elements/audio-player.d.ts.map +0 -1
  144. package/dist/components/ai-elements/audio-player.js +0 -41
  145. package/dist/components/ai-elements/canvas.d.ts +0 -8
  146. package/dist/components/ai-elements/canvas.d.ts.map +0 -1
  147. package/dist/components/ai-elements/canvas.js +0 -5
  148. package/dist/components/ai-elements/chain-of-thought.d.ts +0 -30
  149. package/dist/components/ai-elements/chain-of-thought.d.ts.map +0 -1
  150. package/dist/components/ai-elements/chain-of-thought.js +0 -49
  151. package/dist/components/ai-elements/checkpoint.d.ts +0 -12
  152. package/dist/components/ai-elements/checkpoint.d.ts.map +0 -1
  153. package/dist/components/ai-elements/checkpoint.js +0 -10
  154. package/dist/components/ai-elements/code-block.d.ts +0 -53
  155. package/dist/components/ai-elements/code-block.d.ts.map +0 -1
  156. package/dist/components/ai-elements/code-block.js +0 -239
  157. package/dist/components/ai-elements/commit.d.ts +0 -65
  158. package/dist/components/ai-elements/commit.d.ts.map +0 -1
  159. package/dist/components/ai-elements/commit.js +0 -83
  160. package/dist/components/ai-elements/confirmation.d.ts +0 -50
  161. package/dist/components/ai-elements/confirmation.d.ts.map +0 -1
  162. package/dist/components/ai-elements/confirmation.js +0 -57
  163. package/dist/components/ai-elements/connection.d.ts +0 -6
  164. package/dist/components/ai-elements/connection.d.ts.map +0 -1
  165. package/dist/components/ai-elements/connection.js +0 -10
  166. package/dist/components/ai-elements/context.d.ts +0 -33
  167. package/dist/components/ai-elements/context.d.ts.map +0 -1
  168. package/dist/components/ai-elements/context.js +0 -147
  169. package/dist/components/ai-elements/controls.d.ts +0 -5
  170. package/dist/components/ai-elements/controls.d.ts.map +0 -1
  171. package/dist/components/ai-elements/controls.js +0 -5
  172. package/dist/components/ai-elements/conversation.d.ts +0 -24
  173. package/dist/components/ai-elements/conversation.d.ts.map +0 -1
  174. package/dist/components/ai-elements/conversation.js +0 -41
  175. package/dist/components/ai-elements/edge.d.ts +0 -6
  176. package/dist/components/ai-elements/edge.d.ts.map +0 -1
  177. package/dist/components/ai-elements/edge.js +0 -88
  178. package/dist/components/ai-elements/environment-variables.d.ts +0 -39
  179. package/dist/components/ai-elements/environment-variables.d.ts.map +0 -1
  180. package/dist/components/ai-elements/environment-variables.js +0 -60
  181. package/dist/components/ai-elements/file-tree.d.ts +0 -27
  182. package/dist/components/ai-elements/file-tree.d.ts.map +0 -1
  183. package/dist/components/ai-elements/file-tree.js +0 -73
  184. package/dist/components/ai-elements/image.d.ts +0 -7
  185. package/dist/components/ai-elements/image.d.ts.map +0 -1
  186. package/dist/components/ai-elements/image.js +0 -3
  187. package/dist/components/ai-elements/inline-citation.d.ts +0 -39
  188. package/dist/components/ai-elements/inline-citation.d.ts.map +0 -1
  189. package/dist/components/ai-elements/inline-citation.js +0 -86
  190. package/dist/components/ai-elements/jsx-preview.d.ts +0 -30
  191. package/dist/components/ai-elements/jsx-preview.d.ts.map +0 -1
  192. package/dist/components/ai-elements/jsx-preview.js +0 -159
  193. package/dist/components/ai-elements/message.d.ts +0 -38
  194. package/dist/components/ai-elements/message.d.ts.map +0 -1
  195. package/dist/components/ai-elements/message.js +0 -91
  196. package/dist/components/ai-elements/mic-selector.d.ts +0 -46
  197. package/dist/components/ai-elements/mic-selector.d.ts.map +0 -1
  198. package/dist/components/ai-elements/mic-selector.js +0 -180
  199. package/dist/components/ai-elements/model-selector.d.ts +0 -36
  200. package/dist/components/ai-elements/model-selector.d.ts.map +0 -1
  201. package/dist/components/ai-elements/model-selector.js +0 -18
  202. package/dist/components/ai-elements/node.d.ts +0 -22
  203. package/dist/components/ai-elements/node.d.ts.map +0 -1
  204. package/dist/components/ai-elements/node.js +0 -12
  205. package/dist/components/ai-elements/open-in-chat.d.ts +0 -27
  206. package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
  207. package/dist/components/ai-elements/open-in-chat.js +0 -81
  208. package/dist/components/ai-elements/package-info.d.ts +0 -30
  209. package/dist/components/ai-elements/package-info.d.ts.map +0 -1
  210. package/dist/components/ai-elements/package-info.js +0 -50
  211. package/dist/components/ai-elements/panel.d.ts +0 -6
  212. package/dist/components/ai-elements/panel.d.ts.map +0 -1
  213. package/dist/components/ai-elements/panel.js +0 -5
  214. package/dist/components/ai-elements/persona.d.ts +0 -49
  215. package/dist/components/ai-elements/persona.d.ts.map +0 -1
  216. package/dist/components/ai-elements/persona.js +0 -175
  217. package/dist/components/ai-elements/plan.d.ts +0 -27
  218. package/dist/components/ai-elements/plan.d.ts.map +0 -1
  219. package/dist/components/ai-elements/plan.js +0 -34
  220. package/dist/components/ai-elements/prompt-input.d.ts +0 -149
  221. package/dist/components/ai-elements/prompt-input.d.ts.map +0 -1
  222. package/dist/components/ai-elements/prompt-input.js +0 -704
  223. package/dist/components/ai-elements/queue.d.ts +0 -62
  224. package/dist/components/ai-elements/queue.d.ts.map +0 -1
  225. package/dist/components/ai-elements/queue.js +0 -24
  226. package/dist/components/ai-elements/reasoning.d.ts +0 -27
  227. package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
  228. package/dist/components/ai-elements/reasoning.js +0 -92
  229. package/dist/components/ai-elements/sandbox.d.ts +0 -25
  230. package/dist/components/ai-elements/sandbox.d.ts.map +0 -1
  231. package/dist/components/ai-elements/sandbox.js +0 -15
  232. package/dist/components/ai-elements/schema-display.d.ts +0 -56
  233. package/dist/components/ai-elements/schema-display.d.ts.map +0 -1
  234. package/dist/components/ai-elements/schema-display.js +0 -90
  235. package/dist/components/ai-elements/shimmer.d.ts +0 -10
  236. package/dist/components/ai-elements/shimmer.d.ts.map +0 -1
  237. package/dist/components/ai-elements/shimmer.js +0 -11
  238. package/dist/components/ai-elements/snippet.d.ts +0 -19
  239. package/dist/components/ai-elements/snippet.d.ts.map +0 -1
  240. package/dist/components/ai-elements/snippet.js +0 -32
  241. package/dist/components/ai-elements/sources.d.ts +0 -13
  242. package/dist/components/ai-elements/sources.d.ts.map +0 -1
  243. package/dist/components/ai-elements/sources.js +0 -9
  244. package/dist/components/ai-elements/speech-input.d.ts +0 -55
  245. package/dist/components/ai-elements/speech-input.d.ts.map +0 -1
  246. package/dist/components/ai-elements/speech-input.js +0 -187
  247. package/dist/components/ai-elements/stack-trace.d.ts +0 -38
  248. package/dist/components/ai-elements/stack-trace.d.ts.map +0 -1
  249. package/dist/components/ai-elements/stack-trace.js +0 -181
  250. package/dist/components/ai-elements/suggestion.d.ts +0 -11
  251. package/dist/components/ai-elements/suggestion.d.ts.map +0 -1
  252. package/dist/components/ai-elements/suggestion.js +0 -13
  253. package/dist/components/ai-elements/task.d.ts +0 -15
  254. package/dist/components/ai-elements/task.d.ts.map +0 -1
  255. package/dist/components/ai-elements/task.js +0 -10
  256. package/dist/components/ai-elements/terminal.d.ts +0 -28
  257. package/dist/components/ai-elements/terminal.d.ts.map +0 -1
  258. package/dist/components/ai-elements/terminal.js +0 -55
  259. package/dist/components/ai-elements/test-results.d.ts +0 -59
  260. package/dist/components/ai-elements/test-results.d.ts.map +0 -1
  261. package/dist/components/ai-elements/test-results.js +0 -98
  262. package/dist/components/ai-elements/tool.d.ts +0 -32
  263. package/dist/components/ai-elements/tool.d.ts.map +0 -1
  264. package/dist/components/ai-elements/tool.js +0 -49
  265. package/dist/components/ai-elements/toolbar.d.ts +0 -6
  266. package/dist/components/ai-elements/toolbar.d.ts.map +0 -1
  267. package/dist/components/ai-elements/toolbar.js +0 -5
  268. package/dist/components/ai-elements/transcription.d.ts +0 -17
  269. package/dist/components/ai-elements/transcription.d.ts.map +0 -1
  270. package/dist/components/ai-elements/transcription.js +0 -36
  271. package/dist/components/ai-elements/voice-selector.d.ts +0 -65
  272. package/dist/components/ai-elements/voice-selector.d.ts.map +0 -1
  273. package/dist/components/ai-elements/voice-selector.js +0 -224
  274. package/dist/components/ai-elements/web-preview.d.ts +0 -35
  275. package/dist/components/ai-elements/web-preview.d.ts.map +0 -1
  276. package/dist/components/ai-elements/web-preview.js +0 -66
  277. package/dist/components/artifact-panel.d.ts +0 -130
  278. package/dist/components/artifact-panel.d.ts.map +0 -1
  279. package/dist/components/artifact-panel.js +0 -180
  280. package/dist/components/attachment.d.ts +0 -24
  281. package/dist/components/attachment.d.ts.map +0 -1
  282. package/dist/components/attachment.js +0 -68
  283. package/dist/components/bubble.d.ts +0 -17
  284. package/dist/components/bubble.d.ts.map +0 -1
  285. package/dist/components/bubble.js +0 -59
  286. package/dist/components/demo-surface.d.ts +0 -34
  287. package/dist/components/demo-surface.d.ts.map +0 -1
  288. package/dist/components/demo-surface.js +0 -21
  289. package/dist/components/files-preview.d.ts +0 -36
  290. package/dist/components/files-preview.d.ts.map +0 -1
  291. package/dist/components/files-preview.js +0 -85
  292. package/dist/components/marker.d.ts +0 -11
  293. package/dist/components/marker.d.ts.map +0 -1
  294. package/dist/components/marker.js +0 -34
  295. package/dist/components/message-scroller.d.ts +0 -17
  296. package/dist/components/message-scroller.d.ts.map +0 -1
  297. package/dist/components/message-scroller.js +0 -29
  298. package/dist/components/message.d.ts +0 -11
  299. package/dist/components/message.d.ts.map +0 -1
  300. package/dist/components/message.js +0 -21
  301. package/dist/components/state-notice.d.ts +0 -13
  302. package/dist/components/state-notice.d.ts.map +0 -1
  303. package/dist/components/state-notice.js +0 -8
  304. package/dist/components/watch-it-work-band.d.ts +0 -12
  305. package/dist/components/watch-it-work-band.d.ts.map +0 -1
  306. package/dist/components/watch-it-work-band.js +0 -8
  307. package/dist/hooks/use-controllable-state.d.ts +0 -9
  308. package/dist/hooks/use-controllable-state.d.ts.map +0 -1
  309. package/dist/hooks/use-controllable-state.js +0 -23
  310. package/dist/lib/agent-attachment.d.ts +0 -11
  311. package/dist/lib/agent-attachment.d.ts.map +0 -1
  312. package/dist/lib/agent-attachment.js +0 -19
  313. package/dist/lib/agent-contracts.d.ts +0 -132
  314. package/dist/lib/agent-contracts.d.ts.map +0 -1
  315. package/dist/lib/agent-contracts.js +0 -6
  316. package/dist/lib/agent-state.d.ts +0 -22
  317. package/dist/lib/agent-state.d.ts.map +0 -1
  318. package/dist/lib/agent-state.js +0 -96
  319. package/dist/lib/agent-work-state.d.ts +0 -36
  320. package/dist/lib/agent-work-state.d.ts.map +0 -1
  321. package/dist/lib/agent-work-state.js +0 -36
  322. package/dist/lib/message-scroller-primitive/components.d.ts +0 -17
  323. package/dist/lib/message-scroller-primitive/components.d.ts.map +0 -1
  324. package/dist/lib/message-scroller-primitive/components.js +0 -204
  325. package/dist/lib/message-scroller-primitive/geometry.d.ts +0 -51
  326. package/dist/lib/message-scroller-primitive/geometry.d.ts.map +0 -1
  327. package/dist/lib/message-scroller-primitive/geometry.js +0 -199
  328. package/dist/lib/message-scroller-primitive/index.d.ts +0 -12
  329. package/dist/lib/message-scroller-primitive/index.d.ts.map +0 -1
  330. package/dist/lib/message-scroller-primitive/index.js +0 -12
  331. package/dist/lib/message-scroller-primitive/stores.d.ts +0 -6
  332. package/dist/lib/message-scroller-primitive/stores.d.ts.map +0 -1
  333. package/dist/lib/message-scroller-primitive/stores.js +0 -53
  334. package/dist/lib/message-scroller-primitive/types.d.ts +0 -88
  335. package/dist/lib/message-scroller-primitive/types.d.ts.map +0 -1
  336. package/dist/lib/message-scroller-primitive/types.js +0 -40
  337. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts +0 -19
  338. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts.map +0 -1
  339. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.js +0 -188
  340. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts +0 -7
  341. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts.map +0 -1
  342. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.js +0 -506
  343. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts +0 -49
  344. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts.map +0 -1
  345. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.js +0 -90
  346. package/dist/lib/message-scroller-primitive/use-render.d.ts +0 -22
  347. package/dist/lib/message-scroller-primitive/use-render.d.ts.map +0 -1
  348. package/dist/lib/message-scroller-primitive/use-render.js +0 -113
  349. package/dist/lib/message-scroller-primitive/utils.d.ts +0 -4
  350. package/dist/lib/message-scroller-primitive/utils.d.ts.map +0 -1
  351. package/dist/lib/message-scroller-primitive/utils.js +0 -9
  352. package/docs/agent-work-surfaces.md +0 -132
  353. package/docs/migration/ai-elements-vendoring.md +0 -29
  354. package/docs/terminal-tui-semantics.md +0 -172
package/dist/index.d.ts CHANGED
@@ -1,17 +1,11 @@
1
1
  export * from "./components/accordion";
2
2
  export * from "./components/action-band";
3
3
  export * from "./components/action-status";
4
- export * from "./components/agent-avatar";
5
- export * from "./components/agent-chat";
6
- export * from "./components/agent-composer";
7
- export * from "./components/agent-message";
8
- export * from "./components/agent-thread";
9
- export * from "./components/agent-tool-approval";
10
4
  export * from "./components/alert";
11
5
  export * from "./components/alert-dialog";
12
- export * from "./components/artifact-panel";
6
+ export * from "./components/agent-card";
7
+ export * from "./components/agent-visual";
13
8
  export * from "./components/aspect-ratio";
14
- export * from "./components/attachment";
15
9
  export * from "./components/automation-section";
16
10
  export * from "./components/avatar";
17
11
  export * from "./components/badge";
@@ -21,7 +15,6 @@ export * from "./components/brand";
21
15
  export * from "./components/brand-field";
22
16
  export * from "./components/brand-icons";
23
17
  export * from "./components/breadcrumb";
24
- export * from "./components/bubble";
25
18
  export * from "./components/button";
26
19
  export * from "./components/button-group";
27
20
  export * from "./components/calendar";
@@ -47,7 +40,6 @@ export * from "./components/confirm-dialog";
47
40
  export * from "./components/contact";
48
41
  export * from "./components/context-menu";
49
42
  export * from "./components/dashboard-shell";
50
- export * from "./components/demo-surface";
51
43
  export * from "./components/desktop-shell";
52
44
  export * from "./components/dialog";
53
45
  export * from "./components/diff-count";
@@ -65,10 +57,10 @@ export * from "./components/feature-rows";
65
57
  export * from "./components/feedback-state";
66
58
  export * from "./components/field";
67
59
  export * from "./components/file-type-icon";
68
- export * from "./components/files-preview";
69
60
  export * from "./components/footer";
70
61
  export * from "./components/form";
71
62
  export * from "./components/glyph-spinner";
63
+ export * from "./components/glass-control";
72
64
  export * from "./components/handoff-banner";
73
65
  export * from "./components/hero";
74
66
  export * from "./components/hero-split";
@@ -85,12 +77,9 @@ export * from "./components/label-system";
85
77
  export * from "./components/live-demo";
86
78
  export * from "./components/logo-band";
87
79
  export * from "./components/logo-tile";
88
- export * from "./components/marker";
89
80
  export * from "./components/media-mount";
90
81
  export * from "./components/memory-item";
91
82
  export * from "./components/menubar";
92
- export * from "./components/message";
93
- export * from "./components/message-scroller";
94
83
  export * from "./components/native-select";
95
84
  export * from "./components/nav-bar";
96
85
  export * from "./components/navigation-menu";
@@ -122,7 +111,6 @@ export * from "./components/slider";
122
111
  export * from "./components/sonner";
123
112
  export * from "./components/spinner";
124
113
  export * from "./components/stat-block";
125
- export * from "./components/state-notice";
126
114
  export * from "./components/statement";
127
115
  export * from "./components/stats-band";
128
116
  export * from "./components/status-dot";
@@ -142,5 +130,4 @@ export * from "./components/tool-icon";
142
130
  export * from "./components/tooltip";
143
131
  export * from "./components/usage-meter";
144
132
  export * from "./components/use-case-bento";
145
- export * from "./components/watch-it-work-band";
146
133
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,17 +1,11 @@
1
1
  export * from "./components/accordion.js";
2
2
  export * from "./components/action-band.js";
3
3
  export * from "./components/action-status.js";
4
- export * from "./components/agent-avatar.js";
5
- export * from "./components/agent-chat.js";
6
- export * from "./components/agent-composer.js";
7
- export * from "./components/agent-message.js";
8
- export * from "./components/agent-thread.js";
9
- export * from "./components/agent-tool-approval.js";
10
4
  export * from "./components/alert.js";
11
5
  export * from "./components/alert-dialog.js";
12
- export * from "./components/artifact-panel.js";
6
+ export * from "./components/agent-card.js";
7
+ export * from "./components/agent-visual.js";
13
8
  export * from "./components/aspect-ratio.js";
14
- export * from "./components/attachment.js";
15
9
  export * from "./components/automation-section.js";
16
10
  export * from "./components/avatar.js";
17
11
  export * from "./components/badge.js";
@@ -21,7 +15,6 @@ export * from "./components/brand.js";
21
15
  export * from "./components/brand-field.js";
22
16
  export * from "./components/brand-icons.js";
23
17
  export * from "./components/breadcrumb.js";
24
- export * from "./components/bubble.js";
25
18
  export * from "./components/button.js";
26
19
  export * from "./components/button-group.js";
27
20
  export * from "./components/calendar.js";
@@ -47,7 +40,6 @@ export * from "./components/confirm-dialog.js";
47
40
  export * from "./components/contact.js";
48
41
  export * from "./components/context-menu.js";
49
42
  export * from "./components/dashboard-shell.js";
50
- export * from "./components/demo-surface.js";
51
43
  export * from "./components/desktop-shell.js";
52
44
  export * from "./components/dialog.js";
53
45
  export * from "./components/diff-count.js";
@@ -65,10 +57,10 @@ export * from "./components/feature-rows.js";
65
57
  export * from "./components/feedback-state.js";
66
58
  export * from "./components/field.js";
67
59
  export * from "./components/file-type-icon.js";
68
- export * from "./components/files-preview.js";
69
60
  export * from "./components/footer.js";
70
61
  export * from "./components/form.js";
71
62
  export * from "./components/glyph-spinner.js";
63
+ export * from "./components/glass-control.js";
72
64
  export * from "./components/handoff-banner.js";
73
65
  export * from "./components/hero.js";
74
66
  export * from "./components/hero-split.js";
@@ -85,12 +77,9 @@ export * from "./components/label-system.js";
85
77
  export * from "./components/live-demo.js";
86
78
  export * from "./components/logo-band.js";
87
79
  export * from "./components/logo-tile.js";
88
- export * from "./components/marker.js";
89
80
  export * from "./components/media-mount.js";
90
81
  export * from "./components/memory-item.js";
91
82
  export * from "./components/menubar.js";
92
- export * from "./components/message.js";
93
- export * from "./components/message-scroller.js";
94
83
  export * from "./components/native-select.js";
95
84
  export * from "./components/nav-bar.js";
96
85
  export * from "./components/navigation-menu.js";
@@ -122,7 +111,6 @@ export * from "./components/slider.js";
122
111
  export * from "./components/sonner.js";
123
112
  export * from "./components/spinner.js";
124
113
  export * from "./components/stat-block.js";
125
- export * from "./components/state-notice.js";
126
114
  export * from "./components/statement.js";
127
115
  export * from "./components/stats-band.js";
128
116
  export * from "./components/status-dot.js";
@@ -142,4 +130,3 @@ export * from "./components/tool-icon.js";
142
130
  export * from "./components/tooltip.js";
143
131
  export * from "./components/usage-meter.js";
144
132
  export * from "./components/use-case-bento.js";
145
- export * from "./components/watch-it-work-band.js";
@@ -0,0 +1,4 @@
1
+ type ShaderColor = [number, number, number, number];
2
+ export declare function resolveCampoColor(element: Element, variable: string): ShaderColor | null;
3
+ export {};
4
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/internal/agent-visual/color.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAyCpD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAExF"}
@@ -0,0 +1,39 @@
1
+ const clamp = (value) => Math.min(Math.max(value, 0), 1);
2
+ function linearToSrgb(value) {
3
+ const channel = clamp(value);
4
+ return channel <= 0.0031308 ? channel * 12.92 : 1.055 * channel ** (1 / 2.4) - 0.055;
5
+ }
6
+ function parseOklch(value) {
7
+ if (!value.startsWith("oklch"))
8
+ return null;
9
+ const start = value.indexOf("(");
10
+ const end = value.lastIndexOf(")");
11
+ if (start < 0 || end <= start)
12
+ return null;
13
+ const [channels, alphaValue] = value.slice(start + 1, end).split("/");
14
+ const [lightnessValue, chromaValue, hueValue] = channels?.trim().split(/\s+/) ?? [];
15
+ const lightness = Number.parseFloat(lightnessValue ?? "");
16
+ const chroma = Number.parseFloat(chromaValue ?? "");
17
+ const hue = Number.parseFloat(hueValue ?? "");
18
+ const alpha = alphaValue ? Number.parseFloat(alphaValue.trim()) : 1;
19
+ if (![lightness, chroma, hue, alpha].every(Number.isFinite))
20
+ return null;
21
+ const radians = (hue * Math.PI) / 180;
22
+ const a = chroma * Math.cos(radians);
23
+ const b = chroma * Math.sin(radians);
24
+ const lPrime = lightness + 0.3963377774 * a + 0.2158037573 * b;
25
+ const mPrime = lightness - 0.1055613458 * a - 0.0638541728 * b;
26
+ const sPrime = lightness - 0.0894841775 * a - 1.291485548 * b;
27
+ const l = lPrime ** 3;
28
+ const m = mPrime ** 3;
29
+ const s = sPrime ** 3;
30
+ return [
31
+ linearToSrgb(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s),
32
+ linearToSrgb(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s),
33
+ linearToSrgb(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s),
34
+ clamp(alpha),
35
+ ];
36
+ }
37
+ export function resolveCampoColor(element, variable) {
38
+ return parseOklch(getComputedStyle(element).getPropertyValue(variable).trim());
39
+ }
@@ -0,0 +1,6 @@
1
+ import { type AgentVisualRecipe } from "./recipes";
2
+ export declare function AgentVisualPoster({ className, recipe, }: {
3
+ className?: string;
4
+ recipe: AgentVisualRecipe;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=poster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poster.d.ts","sourceRoot":"","sources":["../../../src/internal/agent-visual/poster.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAiH7F,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,GACP,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,+BAgCA"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from "react";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { AGENT_VISUAL_RECIPE_SPECS, campoVariable } from "./recipes.js";
5
+ function Gradient({ id, recipe }) {
6
+ const colors = AGENT_VISUAL_RECIPE_SPECS[recipe].colors;
7
+ return (_jsx("linearGradient", { id: id, x1: "0", x2: "1", y1: "0", y2: "1", children: colors.map((color, index) => (_jsx("stop", { offset: `${(index / Math.max(colors.length - 1, 1)) * 100}%`, stopColor: `var(${campoVariable(color)})` }, color))) }));
8
+ }
9
+ function Surface({ clipId, gradientId, patternId, recipe, }) {
10
+ const { colors, material } = AGENT_VISUAL_RECIPE_SPECS[recipe];
11
+ if (material === "solid") {
12
+ return (_jsx("rect", { width: "160", height: "120", fill: `url(#${gradientId})`, clipPath: `url(#${clipId})` }));
13
+ }
14
+ if (material === "points") {
15
+ return (_jsx("g", { clipPath: `url(#${clipId})`, children: colors.map((color, index) => (_jsx("g", { transform: `translate(${index * 3} ${index * 2})`, children: Array.from({ length: 8 }, (_, row) => Array.from({ length: 11 }, (__, column) => (_jsx("circle", { cx: column * 16, cy: row * 16, fill: `var(${campoVariable(color)})`, r: 1.45 + ((row + column + index) % 3) * 0.35 }, `${row}-${column}`)))) }, color))) }));
16
+ }
17
+ if (material === "wire") {
18
+ return (_jsxs("g", { clipPath: `url(#${clipId})`, fill: "none", children: [Array.from({ length: 14 }, (_, index) => (_jsx("path", { d: `M ${-28 + index * 14} 0 L ${42 + index * 14} 120`, stroke: `var(${campoVariable(colors[index % colors.length])})`, strokeWidth: "1" }, `wire-a-${index}`))), Array.from({ length: 14 }, (_, index) => (_jsx("path", { d: `M ${-28 + index * 14} 120 L ${42 + index * 14} 0`, stroke: `var(${campoVariable(colors[(index + 1) % colors.length])})`, strokeWidth: "1" }, `wire-b-${index}`))), Array.from({ length: 9 }, (_, index) => (_jsx("path", { d: `M 0 ${index * 15} H 160`, stroke: `var(${campoVariable(colors[(index + 2) % colors.length])})`, strokeWidth: "0.8" }, `wire-c-${index}`)))] }));
19
+ }
20
+ return (_jsxs("g", { clipPath: `url(#${clipId})`, children: [_jsx("rect", { width: "160", height: "120", fill: `url(#${patternId})` }), Array.from({ length: 46 }, (_, index) => {
21
+ const color = colors[index % colors.length];
22
+ const x = 20 + ((index * 37) % 125);
23
+ const y = 12 + ((index * 53) % 98);
24
+ const radius = 0.8 + ((index * 7) % 8) * 0.28;
25
+ return (_jsx("circle", { cx: x, cy: y, fill: `var(${campoVariable(color)})`, opacity: 0.48 + (index % 5) * 0.12, r: radius }, `particle-${index}`));
26
+ })] }));
27
+ }
28
+ export function AgentVisualPoster({ className, recipe, }) {
29
+ const id = useId().replaceAll(":", "");
30
+ const clipId = `${id}-clip`;
31
+ const gradientId = `${id}-gradient`;
32
+ const patternId = `${id}-particles`;
33
+ const colors = AGENT_VISUAL_RECIPE_SPECS[recipe].colors;
34
+ return (_jsxs("svg", { "aria-hidden": "true", className: cn("size-full", className), "data-agent-visual-poster": "true", focusable: "false", preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 160 120", children: [_jsxs("defs", { children: [_jsx("clipPath", { id: clipId, children: AGENT_VISUAL_RECIPE_SPECS[recipe].posterForm.map(([cx, cy, radius], index) => (_jsx("circle", { cx: cx, cy: cy, r: radius }, index))) }), _jsx(Gradient, { id: gradientId, recipe: recipe }), _jsxs("pattern", { id: patternId, width: "14", height: "14", patternUnits: "userSpaceOnUse", children: [_jsx("circle", { cx: "2", cy: "3", r: "1.1", fill: `var(${campoVariable(colors[0])})` }), _jsx("circle", { cx: "10", cy: "8", r: "2.1", fill: `var(${campoVariable(colors[1] ?? colors[0])})` }), _jsx("circle", { cx: "5", cy: "12", r: "0.7", fill: `var(${campoVariable(colors[2] ?? colors[0])})` })] })] }), _jsx(Surface, { clipId: clipId, gradientId: gradientId, patternId: patternId, recipe: recipe })] }));
35
+ }
@@ -0,0 +1,15 @@
1
+ export type AgentVisualRecipe = "general" | "reasoning" | "coordination" | "communication" | "execution";
2
+ export type AgentVisualMaterial = "solid" | "points" | "wire" | "particles";
3
+ type Campo = "arancio" | "cobalto" | "giallo" | "inchiostro" | "rosso" | "verde";
4
+ export type AgentVisualRecipeSpec = {
5
+ colors: readonly Campo[];
6
+ count: number;
7
+ frame: number;
8
+ material: AgentVisualMaterial;
9
+ posterForm: readonly (readonly [number, number, number])[];
10
+ size: number;
11
+ };
12
+ export declare const AGENT_VISUAL_RECIPE_SPECS: Record<AgentVisualRecipe, AgentVisualRecipeSpec>;
13
+ export declare function campoVariable(campo: Campo): string;
14
+ export {};
15
+ //# sourceMappingURL=recipes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../../src/internal/agent-visual/recipes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,cAAc,GACd,eAAe,GACf,WAAW,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5E,KAAK,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAoEtF,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,UAEzC"}
@@ -0,0 +1,72 @@
1
+ export const AGENT_VISUAL_RECIPE_SPECS = {
2
+ general: {
3
+ colors: ["cobalto", "verde", "arancio", "giallo", "rosso"],
4
+ count: 10,
5
+ frame: 0,
6
+ material: "solid",
7
+ posterForm: [
8
+ [45, 64, 29],
9
+ [68, 42, 32],
10
+ [99, 45, 34],
11
+ [116, 71, 27],
12
+ [79, 80, 35],
13
+ ],
14
+ size: 0.83,
15
+ },
16
+ reasoning: {
17
+ colors: ["cobalto", "verde", "giallo"],
18
+ count: 10,
19
+ frame: 0,
20
+ material: "points",
21
+ posterForm: [
22
+ [44, 61, 28],
23
+ [69, 39, 31],
24
+ [98, 44, 34],
25
+ [113, 71, 29],
26
+ [76, 80, 34],
27
+ ],
28
+ size: 0.83,
29
+ },
30
+ coordination: {
31
+ colors: ["verde", "cobalto", "arancio"],
32
+ count: 8,
33
+ frame: 2_700,
34
+ material: "wire",
35
+ posterForm: [
36
+ [48, 61, 31],
37
+ [77, 40, 33],
38
+ [111, 58, 29],
39
+ [90, 82, 27],
40
+ ],
41
+ size: 0.76,
42
+ },
43
+ communication: {
44
+ colors: ["giallo", "arancio", "rosso"],
45
+ count: 12,
46
+ frame: 5_400,
47
+ material: "solid",
48
+ posterForm: [
49
+ [51, 55, 29],
50
+ [79, 43, 35],
51
+ [107, 63, 30],
52
+ [77, 80, 28],
53
+ ],
54
+ size: 0.69,
55
+ },
56
+ execution: {
57
+ colors: ["rosso", "arancio", "cobalto"],
58
+ count: 6,
59
+ frame: 8_100,
60
+ material: "particles",
61
+ posterForm: [
62
+ [48, 65, 28],
63
+ [78, 52, 39],
64
+ [109, 64, 32],
65
+ [82, 86, 24],
66
+ ],
67
+ size: 0.92,
68
+ },
69
+ };
70
+ export function campoVariable(campo) {
71
+ return `--nc-campo-${campo}`;
72
+ }
@@ -0,0 +1,10 @@
1
+ import { type AgentVisualRecipe } from "./recipes";
2
+ type AgentVisualRendererProps = {
3
+ host: HTMLElement;
4
+ onReady: () => void;
5
+ onUnavailable: () => void;
6
+ recipe: AgentVisualRecipe;
7
+ };
8
+ export default function AgentVisualRenderer({ host, onReady, onUnavailable, recipe, }: AgentVisualRendererProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/internal/agent-visual/renderer.tsx"],"names":[],"mappings":"AAYA,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAU7F,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,IAAI,EACJ,OAAO,EACP,aAAa,EACb,MAAM,GACP,EAAE,wBAAwB,+BA8G1B"}
@@ -0,0 +1,112 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { defaultObjectSizing, getShaderNoiseTexture, metaballsFragmentShader, ShaderFitOptions, ShaderMount as PaperShaderMount, } from "@paper-design/shaders";
4
+ import { useEffect, useRef } from "react";
5
+ import { resolveCampoColor } from "./color.js";
6
+ import { AGENT_VISUAL_RECIPE_SPECS, campoVariable } from "./recipes.js";
7
+ import { AGENT_VISUAL_SHADER } from "./shader.js";
8
+ const MATERIAL_INDEX = {
9
+ particles: 3,
10
+ points: 1,
11
+ solid: 0,
12
+ wire: 2,
13
+ };
14
+ export default function AgentVisualRenderer({ host, onReady, onUnavailable, recipe, }) {
15
+ const mountRef = useRef(null);
16
+ useEffect(() => {
17
+ const mount = mountRef.current;
18
+ if (!mount)
19
+ return;
20
+ const spec = AGENT_VISUAL_RECIPE_SPECS[recipe];
21
+ const isSolid = spec.material === "solid";
22
+ const colors = spec.colors.map((color) => resolveCampoColor(host, campoVariable(color)));
23
+ const colorBack = resolveCampoColor(host, campoVariable("inchiostro"));
24
+ const hasPalette = colors.every((color) => color !== null) && colorBack !== null;
25
+ if (!hasPalette) {
26
+ onUnavailable();
27
+ return;
28
+ }
29
+ let cancelled = false;
30
+ let canvas = null;
31
+ let readyFrame = 0;
32
+ let shaderMount = null;
33
+ const clearMount = () => {
34
+ mount.replaceChildren();
35
+ mount.removeAttribute("data-paper-shader");
36
+ };
37
+ const disposeMount = () => {
38
+ try {
39
+ shaderMount?.dispose();
40
+ }
41
+ catch {
42
+ // The deterministic poster remains visible even if vendor cleanup fails.
43
+ }
44
+ shaderMount = null;
45
+ clearMount();
46
+ };
47
+ const handleContextLost = (event) => {
48
+ event.preventDefault();
49
+ cancelled = true;
50
+ cancelAnimationFrame(readyFrame);
51
+ readyFrame = 0;
52
+ canvas?.removeEventListener("webglcontextlost", handleContextLost);
53
+ canvas = null;
54
+ disposeMount();
55
+ onUnavailable();
56
+ };
57
+ const initialize = async () => {
58
+ try {
59
+ const noiseTexture = getShaderNoiseTexture();
60
+ if (noiseTexture && !noiseTexture.complete)
61
+ await noiseTexture.decode();
62
+ if (cancelled)
63
+ return;
64
+ shaderMount = new PaperShaderMount(mount, isSolid ? metaballsFragmentShader : AGENT_VISUAL_SHADER, {
65
+ u_colorBack: colorBack,
66
+ u_colors: colors,
67
+ u_colorsCount: colors.length,
68
+ u_count: spec.count,
69
+ u_fit: ShaderFitOptions[defaultObjectSizing.fit],
70
+ u_noiseTexture: noiseTexture,
71
+ u_offsetX: defaultObjectSizing.offsetX,
72
+ u_offsetY: defaultObjectSizing.offsetY,
73
+ u_originX: defaultObjectSizing.originX,
74
+ u_originY: defaultObjectSizing.originY,
75
+ u_rotation: defaultObjectSizing.rotation,
76
+ u_scale: 1.15,
77
+ u_size: spec.size,
78
+ u_worldHeight: defaultObjectSizing.worldHeight,
79
+ u_worldWidth: defaultObjectSizing.worldWidth,
80
+ ...(isSolid
81
+ ? {}
82
+ : {
83
+ u_detail: 0.55,
84
+ u_material: MATERIAL_INDEX[spec.material],
85
+ }),
86
+ }, undefined, 0.24, spec.frame, undefined, 720_000);
87
+ canvas = shaderMount.canvasElement;
88
+ canvas.addEventListener("webglcontextlost", handleContextLost);
89
+ readyFrame = requestAnimationFrame(() => {
90
+ readyFrame = 0;
91
+ if (!cancelled)
92
+ onReady();
93
+ });
94
+ }
95
+ catch {
96
+ canvas?.removeEventListener("webglcontextlost", handleContextLost);
97
+ canvas = null;
98
+ disposeMount();
99
+ if (!cancelled)
100
+ onUnavailable();
101
+ }
102
+ };
103
+ void initialize();
104
+ return () => {
105
+ cancelled = true;
106
+ cancelAnimationFrame(readyFrame);
107
+ canvas?.removeEventListener("webglcontextlost", handleContextLost);
108
+ disposeMount();
109
+ };
110
+ }, [host, onReady, onUnavailable, recipe]);
111
+ return _jsx("div", { className: "size-full", ref: mountRef });
112
+ }
@@ -0,0 +1,2 @@
1
+ export declare const AGENT_VISUAL_SHADER = "#version 300 es\nprecision mediump float;\n\nuniform float u_time;\nuniform sampler2D u_noiseTexture;\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[8];\nuniform float u_colorsCount;\nuniform float u_size;\nuniform float u_count;\nuniform float u_material;\nuniform float u_detail;\nuniform vec2 u_resolution;\n\nin vec2 v_objectUV;\nout vec4 fragColor;\n\n#define TWO_PI 6.28318530718\n\nfloat randomR(vec2 p) {\n vec2 uv = floor(p) / 100. + .5;\n return texture(u_noiseTexture, fract(uv)).r;\n}\n\nfloat noise(float x) {\n float i = floor(x);\n float f = fract(x);\n float u = f * f * (3.0 - 2.0 * f);\n return mix(randomR(vec2(i, 0.0)), randomR(vec2(i + 1.0, 0.0)), u);\n}\n\nfloat getBallShape(vec2 uv, vec2 c, float p) {\n float s = .5 * length(uv - c);\n s = 1. - clamp(s, 0., 1.);\n return pow(s, p);\n}\n\nfloat hash21(vec2 p) {\n p = fract(p * vec2(123.34, 456.21));\n p += dot(p, p + 45.32);\n return fract(p.x * p.y);\n}\n\nfloat orderedPoints(vec2 surfaceUV, float depth) {\n float density = clamp(min(u_resolution.x, u_resolution.y) / 12.0 * u_detail, 6.0, 34.0);\n vec2 pointUV = fract(surfaceUV * density) - 0.5;\n float radius = mix(0.14, 0.23, depth);\n return 1.0 - smoothstep(radius * 0.7, radius, length(pointUV));\n}\n\nfloat triangularWire(vec2 surfaceUV, float depth) {\n float density = clamp(min(u_resolution.x, u_resolution.y) / 16.0 * u_detail, 5.0, 26.0);\n vec2 grid = surfaceUV * density;\n float horizontal = abs(fract(grid.y) - 0.5);\n float diagonalA = abs(fract(grid.x + grid.y * 0.5) - 0.5);\n float diagonalB = abs(fract(grid.x - grid.y * 0.5) - 0.5);\n float nearestLine = min(horizontal, min(diagonalA, diagonalB));\n float width = mix(0.032, 0.072, depth);\n return 1.0 - smoothstep(width * 0.55, width, nearestLine);\n}\n\nfloat particleLayer(vec2 surfaceUV, float density, float depth, float time, float layerSeed, float threshold) {\n vec2 gridUV = surfaceUV * density + layerSeed;\n vec2 cell = floor(gridUV);\n vec2 local = fract(gridUV) - 0.5;\n float seed = hash21(cell + layerSeed);\n vec2 jitter = vec2(hash21(cell + layerSeed + 3.17), hash21(cell + layerSeed + 8.41)) - 0.5;\n jitter *= 0.72;\n jitter += 0.08 * vec2(sin(time * 0.42 + seed * 18.0 + layerSeed), cos(time * 0.31 + seed * 14.0 - layerSeed));\n float radius = mix(0.055, 0.175, hash21(cell + layerSeed + 14.3)) * mix(0.78, 1.35, depth);\n float particle = 1.0 - smoothstep(radius * 0.68, radius, length(local - jitter));\n float brightness = mix(0.45, 1.0, hash21(cell + layerSeed + 24.7));\n return particle * step(threshold, seed) * brightness;\n}\n\nfloat livingParticles(vec2 surfaceUV, float depth, float time) {\n float density = clamp(min(u_resolution.x, u_resolution.y) / 6.5 * u_detail, 13.0, 68.0);\n float dust = particleLayer(surfaceUV, density, depth, time, 0.0, 0.16);\n float motes = particleLayer(surfaceUV, density * 0.46, depth, time * 0.72, 19.7, 0.62);\n return max(dust * 0.78, motes);\n}\n\nfloat surfacePattern(vec2 surfaceUV, float depth, float material, float time) {\n if (material < 0.5) return 1.0;\n if (material < 1.5) return orderedPoints(surfaceUV, depth);\n if (material < 2.5) return triangularWire(surfaceUV, depth);\n return livingParticles(surfaceUV, depth, time);\n}\n\nvoid main() {\n vec2 shape_uv = v_objectUV + .5;\n const float firstFrameOffset = 2503.4;\n float t = .2 * (u_time + firstFrameOffset);\n vec3 totalColor = vec3(0.);\n float totalShape = 0.;\n float totalOpacity = 0.;\n vec2 weightedCenter = vec2(0.);\n vec2 weightedOrientation = vec2(0.);\n float centerWeight = 0.;\n\n for (int i = 0; i < 20; i++) {\n if (i >= int(ceil(u_count))) break;\n float idxFract = float(i) / 20.0;\n float angle = TWO_PI * idxFract;\n float speed = 1. - .2 * idxFract;\n vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noise(angle * 10. + float(i) + t * speed), noise(angle * 20. + float(i) - t * speed)) - .5);\n int safeIndex = i % int(u_colorsCount + 0.5);\n vec4 ballColor = u_colors[safeIndex];\n ballColor.rgb *= ballColor.a;\n float sizeFrac = 1.;\n if (float(i) > floor(u_count - 1.)) sizeFrac *= fract(u_count);\n float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);\n shape *= pow(u_size, .2);\n shape = smoothstep(0., 1., shape);\n totalColor += ballColor.rgb * shape;\n totalShape += shape;\n totalOpacity += ballColor.a * shape;\n float centerContribution = shape * shape;\n weightedCenter += pos * centerContribution;\n weightedOrientation += vec2(cos(angle), sin(angle)) * centerContribution;\n centerWeight += centerContribution;\n }\n\n totalColor /= max(totalShape, 1e-4);\n totalOpacity /= max(totalShape, 1e-4);\n float edgeWidth = fwidth(totalShape);\n float finalShape = smoothstep(.4, .4 + edgeWidth, totalShape);\n vec2 fieldCenter = weightedCenter / max(centerWeight, 1e-4);\n vec2 fieldVector = shape_uv - fieldCenter;\n float depth = smoothstep(0.4, 1.45, totalShape);\n float fieldRotation = 0.18 * atan(weightedOrientation.y, weightedOrientation.x);\n float rotationCos = cos(fieldRotation);\n float rotationSin = sin(fieldRotation);\n vec2 surfaceUV = fieldCenter + mat2(rotationCos, rotationSin, -rotationSin, rotationCos) * fieldVector * (1.0 + 0.1 * depth);\n vec2 gradient = vec2(dFdx(totalShape), dFdy(totalShape));\n vec2 gradientDirection = gradient / max(length(gradient), 1e-4);\n surfaceUV += gradientDirection * 0.008 * sin(totalShape * 4.0);\n float feature = surfacePattern(surfaceUV, depth, u_material, t);\n vec3 normal = normalize(vec3(-gradient * 36.0, 1.0));\n vec3 lightDirection = normalize(vec3(-0.45, 0.65, 0.8));\n float surfaceLight = 0.62 + 0.38 * max(dot(normal, lightDirection), 0.0);\n float baseSurface = mix(0.012, 0.06, depth);\n float surface = u_material < 0.5 ? 1.0 : mix(baseSurface, surfaceLight, feature);\n vec3 color = totalColor * finalShape * surface;\n float opacity = totalOpacity * finalShape * surface;\n vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n color = color + bgColor * (1. - opacity);\n opacity = opacity + u_colorBack.a * (1. - opacity);\n color += 1. / 256. * (fract(sin(dot(.014 * gl_FragCoord.xy, vec2(12.9898, 78.233))) * 43758.5453123) - .5);\n fragColor = vec4(color, opacity);\n}\n";
2
+ //# sourceMappingURL=shader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shader.d.ts","sourceRoot":"","sources":["../../../src/internal/agent-visual/shader.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,+oMAuJ/B,CAAC"}