@nadicodeai/ui 0.21.0 → 0.22.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 (293) hide show
  1. package/AGENTS.md +2 -3
  2. package/README.md +14 -21
  3. package/dist/agents.d.ts +10 -0
  4. package/dist/agents.d.ts.map +1 -0
  5. package/dist/agents.js +9 -0
  6. package/dist/components/badge.d.ts +1 -1
  7. package/dist/components/button.d.ts +1 -1
  8. package/dist/components/use-case-bento.d.ts +2 -4
  9. package/dist/components/use-case-bento.d.ts.map +1 -1
  10. package/dist/components/use-case-bento.js +2 -3
  11. package/dist/hooks/index.d.ts +0 -1
  12. package/dist/hooks/index.d.ts.map +1 -1
  13. package/dist/hooks/index.js +0 -1
  14. package/dist/index.d.ts +0 -16
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +0 -16
  17. package/dist/internal/assistant-ui/attachment.d.ts +5 -0
  18. package/dist/internal/assistant-ui/attachment.d.ts.map +1 -0
  19. package/dist/internal/assistant-ui/attachment.js +93 -0
  20. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts +3 -0
  21. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts.map +1 -0
  22. package/dist/internal/assistant-ui/follow-up-suggestions.js +8 -0
  23. package/dist/internal/assistant-ui/markdown-text.d.ts +2 -0
  24. package/dist/internal/assistant-ui/markdown-text.d.ts.map +1 -0
  25. package/dist/internal/assistant-ui/markdown-text.js +54 -0
  26. package/dist/internal/assistant-ui/reasoning.d.ts +31 -0
  27. package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -0
  28. package/dist/internal/assistant-ui/reasoning.js +118 -0
  29. package/dist/internal/assistant-ui/thread.d.ts +26 -0
  30. package/dist/internal/assistant-ui/thread.d.ts.map +1 -0
  31. package/dist/internal/assistant-ui/thread.js +118 -0
  32. package/dist/internal/assistant-ui/tool-fallback.d.ts +10 -0
  33. package/dist/internal/assistant-ui/tool-fallback.d.ts.map +1 -0
  34. package/dist/internal/assistant-ui/tool-fallback.js +163 -0
  35. package/dist/internal/assistant-ui/tool-group.d.ts +18 -0
  36. package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -0
  37. package/dist/internal/assistant-ui/tool-group.js +44 -0
  38. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +8 -0
  39. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -0
  40. package/dist/internal/assistant-ui/tooltip-icon-button.js +10 -0
  41. package/dist/styles/globals.css +3 -209
  42. package/docs/agents/nadicodeai-ui.md +4 -6
  43. package/docs/component-classification.md +1 -1
  44. package/docs/consuming-cross-repo.md +9 -3
  45. package/docs/contract.md +6 -6
  46. package/docs/migration/base-ui-migration.md +0 -11
  47. package/docs/product-compositions.md +1 -1
  48. package/llms.txt +5 -6
  49. package/package.json +10 -28
  50. package/skills/nadicodeai-ui/SKILL.md +5 -7
  51. package/dist/ai-elements.d.ts +0 -49
  52. package/dist/ai-elements.d.ts.map +0 -1
  53. package/dist/ai-elements.js +0 -48
  54. package/dist/components/agent-avatar.d.ts +0 -7
  55. package/dist/components/agent-avatar.d.ts.map +0 -1
  56. package/dist/components/agent-avatar.js +0 -6
  57. package/dist/components/agent-chat.d.ts +0 -20
  58. package/dist/components/agent-chat.d.ts.map +0 -1
  59. package/dist/components/agent-chat.js +0 -10
  60. package/dist/components/agent-composer.d.ts +0 -56
  61. package/dist/components/agent-composer.d.ts.map +0 -1
  62. package/dist/components/agent-composer.js +0 -56
  63. package/dist/components/agent-message.d.ts +0 -117
  64. package/dist/components/agent-message.d.ts.map +0 -1
  65. package/dist/components/agent-message.js +0 -99
  66. package/dist/components/agent-thread.d.ts +0 -26
  67. package/dist/components/agent-thread.d.ts.map +0 -1
  68. package/dist/components/agent-thread.js +0 -63
  69. package/dist/components/agent-tool-approval.d.ts +0 -27
  70. package/dist/components/agent-tool-approval.d.ts.map +0 -1
  71. package/dist/components/agent-tool-approval.js +0 -43
  72. package/dist/components/ai-elements/agent.d.ts +0 -27
  73. package/dist/components/ai-elements/agent.d.ts.map +0 -1
  74. package/dist/components/ai-elements/agent.js +0 -25
  75. package/dist/components/ai-elements/artifact.d.ts +0 -24
  76. package/dist/components/ai-elements/artifact.d.ts.map +0 -1
  77. package/dist/components/ai-elements/artifact.js +0 -20
  78. package/dist/components/ai-elements/attachments.d.ts +0 -55
  79. package/dist/components/ai-elements/attachments.d.ts.map +0 -1
  80. package/dist/components/ai-elements/attachments.js +0 -125
  81. package/dist/components/ai-elements/audio-player.d.ts +0 -30
  82. package/dist/components/ai-elements/audio-player.d.ts.map +0 -1
  83. package/dist/components/ai-elements/audio-player.js +0 -41
  84. package/dist/components/ai-elements/canvas.d.ts +0 -8
  85. package/dist/components/ai-elements/canvas.d.ts.map +0 -1
  86. package/dist/components/ai-elements/canvas.js +0 -5
  87. package/dist/components/ai-elements/chain-of-thought.d.ts +0 -30
  88. package/dist/components/ai-elements/chain-of-thought.d.ts.map +0 -1
  89. package/dist/components/ai-elements/chain-of-thought.js +0 -49
  90. package/dist/components/ai-elements/checkpoint.d.ts +0 -12
  91. package/dist/components/ai-elements/checkpoint.d.ts.map +0 -1
  92. package/dist/components/ai-elements/checkpoint.js +0 -10
  93. package/dist/components/ai-elements/code-block.d.ts +0 -53
  94. package/dist/components/ai-elements/code-block.d.ts.map +0 -1
  95. package/dist/components/ai-elements/code-block.js +0 -239
  96. package/dist/components/ai-elements/commit.d.ts +0 -65
  97. package/dist/components/ai-elements/commit.d.ts.map +0 -1
  98. package/dist/components/ai-elements/commit.js +0 -83
  99. package/dist/components/ai-elements/confirmation.d.ts +0 -50
  100. package/dist/components/ai-elements/confirmation.d.ts.map +0 -1
  101. package/dist/components/ai-elements/confirmation.js +0 -57
  102. package/dist/components/ai-elements/connection.d.ts +0 -6
  103. package/dist/components/ai-elements/connection.d.ts.map +0 -1
  104. package/dist/components/ai-elements/connection.js +0 -10
  105. package/dist/components/ai-elements/context.d.ts +0 -33
  106. package/dist/components/ai-elements/context.d.ts.map +0 -1
  107. package/dist/components/ai-elements/context.js +0 -147
  108. package/dist/components/ai-elements/controls.d.ts +0 -5
  109. package/dist/components/ai-elements/controls.d.ts.map +0 -1
  110. package/dist/components/ai-elements/controls.js +0 -5
  111. package/dist/components/ai-elements/conversation.d.ts +0 -24
  112. package/dist/components/ai-elements/conversation.d.ts.map +0 -1
  113. package/dist/components/ai-elements/conversation.js +0 -41
  114. package/dist/components/ai-elements/edge.d.ts +0 -6
  115. package/dist/components/ai-elements/edge.d.ts.map +0 -1
  116. package/dist/components/ai-elements/edge.js +0 -88
  117. package/dist/components/ai-elements/environment-variables.d.ts +0 -39
  118. package/dist/components/ai-elements/environment-variables.d.ts.map +0 -1
  119. package/dist/components/ai-elements/environment-variables.js +0 -60
  120. package/dist/components/ai-elements/file-tree.d.ts +0 -27
  121. package/dist/components/ai-elements/file-tree.d.ts.map +0 -1
  122. package/dist/components/ai-elements/file-tree.js +0 -73
  123. package/dist/components/ai-elements/image.d.ts +0 -7
  124. package/dist/components/ai-elements/image.d.ts.map +0 -1
  125. package/dist/components/ai-elements/image.js +0 -3
  126. package/dist/components/ai-elements/inline-citation.d.ts +0 -39
  127. package/dist/components/ai-elements/inline-citation.d.ts.map +0 -1
  128. package/dist/components/ai-elements/inline-citation.js +0 -86
  129. package/dist/components/ai-elements/jsx-preview.d.ts +0 -30
  130. package/dist/components/ai-elements/jsx-preview.d.ts.map +0 -1
  131. package/dist/components/ai-elements/jsx-preview.js +0 -159
  132. package/dist/components/ai-elements/message.d.ts +0 -38
  133. package/dist/components/ai-elements/message.d.ts.map +0 -1
  134. package/dist/components/ai-elements/message.js +0 -91
  135. package/dist/components/ai-elements/mic-selector.d.ts +0 -46
  136. package/dist/components/ai-elements/mic-selector.d.ts.map +0 -1
  137. package/dist/components/ai-elements/mic-selector.js +0 -180
  138. package/dist/components/ai-elements/model-selector.d.ts +0 -36
  139. package/dist/components/ai-elements/model-selector.d.ts.map +0 -1
  140. package/dist/components/ai-elements/model-selector.js +0 -18
  141. package/dist/components/ai-elements/node.d.ts +0 -22
  142. package/dist/components/ai-elements/node.d.ts.map +0 -1
  143. package/dist/components/ai-elements/node.js +0 -12
  144. package/dist/components/ai-elements/open-in-chat.d.ts +0 -27
  145. package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
  146. package/dist/components/ai-elements/open-in-chat.js +0 -81
  147. package/dist/components/ai-elements/package-info.d.ts +0 -30
  148. package/dist/components/ai-elements/package-info.d.ts.map +0 -1
  149. package/dist/components/ai-elements/package-info.js +0 -50
  150. package/dist/components/ai-elements/panel.d.ts +0 -6
  151. package/dist/components/ai-elements/panel.d.ts.map +0 -1
  152. package/dist/components/ai-elements/panel.js +0 -5
  153. package/dist/components/ai-elements/persona.d.ts +0 -49
  154. package/dist/components/ai-elements/persona.d.ts.map +0 -1
  155. package/dist/components/ai-elements/persona.js +0 -175
  156. package/dist/components/ai-elements/plan.d.ts +0 -27
  157. package/dist/components/ai-elements/plan.d.ts.map +0 -1
  158. package/dist/components/ai-elements/plan.js +0 -34
  159. package/dist/components/ai-elements/prompt-input.d.ts +0 -149
  160. package/dist/components/ai-elements/prompt-input.d.ts.map +0 -1
  161. package/dist/components/ai-elements/prompt-input.js +0 -704
  162. package/dist/components/ai-elements/queue.d.ts +0 -62
  163. package/dist/components/ai-elements/queue.d.ts.map +0 -1
  164. package/dist/components/ai-elements/queue.js +0 -24
  165. package/dist/components/ai-elements/reasoning.d.ts +0 -27
  166. package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
  167. package/dist/components/ai-elements/reasoning.js +0 -92
  168. package/dist/components/ai-elements/sandbox.d.ts +0 -25
  169. package/dist/components/ai-elements/sandbox.d.ts.map +0 -1
  170. package/dist/components/ai-elements/sandbox.js +0 -15
  171. package/dist/components/ai-elements/schema-display.d.ts +0 -56
  172. package/dist/components/ai-elements/schema-display.d.ts.map +0 -1
  173. package/dist/components/ai-elements/schema-display.js +0 -90
  174. package/dist/components/ai-elements/shimmer.d.ts +0 -10
  175. package/dist/components/ai-elements/shimmer.d.ts.map +0 -1
  176. package/dist/components/ai-elements/shimmer.js +0 -11
  177. package/dist/components/ai-elements/snippet.d.ts +0 -19
  178. package/dist/components/ai-elements/snippet.d.ts.map +0 -1
  179. package/dist/components/ai-elements/snippet.js +0 -32
  180. package/dist/components/ai-elements/sources.d.ts +0 -13
  181. package/dist/components/ai-elements/sources.d.ts.map +0 -1
  182. package/dist/components/ai-elements/sources.js +0 -9
  183. package/dist/components/ai-elements/speech-input.d.ts +0 -55
  184. package/dist/components/ai-elements/speech-input.d.ts.map +0 -1
  185. package/dist/components/ai-elements/speech-input.js +0 -187
  186. package/dist/components/ai-elements/stack-trace.d.ts +0 -38
  187. package/dist/components/ai-elements/stack-trace.d.ts.map +0 -1
  188. package/dist/components/ai-elements/stack-trace.js +0 -181
  189. package/dist/components/ai-elements/suggestion.d.ts +0 -11
  190. package/dist/components/ai-elements/suggestion.d.ts.map +0 -1
  191. package/dist/components/ai-elements/suggestion.js +0 -13
  192. package/dist/components/ai-elements/task.d.ts +0 -15
  193. package/dist/components/ai-elements/task.d.ts.map +0 -1
  194. package/dist/components/ai-elements/task.js +0 -10
  195. package/dist/components/ai-elements/terminal.d.ts +0 -28
  196. package/dist/components/ai-elements/terminal.d.ts.map +0 -1
  197. package/dist/components/ai-elements/terminal.js +0 -55
  198. package/dist/components/ai-elements/test-results.d.ts +0 -59
  199. package/dist/components/ai-elements/test-results.d.ts.map +0 -1
  200. package/dist/components/ai-elements/test-results.js +0 -98
  201. package/dist/components/ai-elements/tool.d.ts +0 -32
  202. package/dist/components/ai-elements/tool.d.ts.map +0 -1
  203. package/dist/components/ai-elements/tool.js +0 -49
  204. package/dist/components/ai-elements/toolbar.d.ts +0 -6
  205. package/dist/components/ai-elements/toolbar.d.ts.map +0 -1
  206. package/dist/components/ai-elements/toolbar.js +0 -5
  207. package/dist/components/ai-elements/transcription.d.ts +0 -17
  208. package/dist/components/ai-elements/transcription.d.ts.map +0 -1
  209. package/dist/components/ai-elements/transcription.js +0 -36
  210. package/dist/components/ai-elements/voice-selector.d.ts +0 -65
  211. package/dist/components/ai-elements/voice-selector.d.ts.map +0 -1
  212. package/dist/components/ai-elements/voice-selector.js +0 -224
  213. package/dist/components/ai-elements/web-preview.d.ts +0 -35
  214. package/dist/components/ai-elements/web-preview.d.ts.map +0 -1
  215. package/dist/components/ai-elements/web-preview.js +0 -66
  216. package/dist/components/artifact-panel.d.ts +0 -130
  217. package/dist/components/artifact-panel.d.ts.map +0 -1
  218. package/dist/components/artifact-panel.js +0 -180
  219. package/dist/components/attachment.d.ts +0 -24
  220. package/dist/components/attachment.d.ts.map +0 -1
  221. package/dist/components/attachment.js +0 -68
  222. package/dist/components/bubble.d.ts +0 -17
  223. package/dist/components/bubble.d.ts.map +0 -1
  224. package/dist/components/bubble.js +0 -59
  225. package/dist/components/demo-surface.d.ts +0 -34
  226. package/dist/components/demo-surface.d.ts.map +0 -1
  227. package/dist/components/demo-surface.js +0 -21
  228. package/dist/components/files-preview.d.ts +0 -36
  229. package/dist/components/files-preview.d.ts.map +0 -1
  230. package/dist/components/files-preview.js +0 -85
  231. package/dist/components/marker.d.ts +0 -11
  232. package/dist/components/marker.d.ts.map +0 -1
  233. package/dist/components/marker.js +0 -34
  234. package/dist/components/message-scroller.d.ts +0 -17
  235. package/dist/components/message-scroller.d.ts.map +0 -1
  236. package/dist/components/message-scroller.js +0 -29
  237. package/dist/components/message.d.ts +0 -11
  238. package/dist/components/message.d.ts.map +0 -1
  239. package/dist/components/message.js +0 -21
  240. package/dist/components/state-notice.d.ts +0 -13
  241. package/dist/components/state-notice.d.ts.map +0 -1
  242. package/dist/components/state-notice.js +0 -8
  243. package/dist/components/watch-it-work-band.d.ts +0 -12
  244. package/dist/components/watch-it-work-band.d.ts.map +0 -1
  245. package/dist/components/watch-it-work-band.js +0 -8
  246. package/dist/hooks/use-controllable-state.d.ts +0 -9
  247. package/dist/hooks/use-controllable-state.d.ts.map +0 -1
  248. package/dist/hooks/use-controllable-state.js +0 -23
  249. package/dist/lib/agent-attachment.d.ts +0 -11
  250. package/dist/lib/agent-attachment.d.ts.map +0 -1
  251. package/dist/lib/agent-attachment.js +0 -19
  252. package/dist/lib/agent-contracts.d.ts +0 -132
  253. package/dist/lib/agent-contracts.d.ts.map +0 -1
  254. package/dist/lib/agent-contracts.js +0 -6
  255. package/dist/lib/agent-state.d.ts +0 -22
  256. package/dist/lib/agent-state.d.ts.map +0 -1
  257. package/dist/lib/agent-state.js +0 -96
  258. package/dist/lib/agent-work-state.d.ts +0 -36
  259. package/dist/lib/agent-work-state.d.ts.map +0 -1
  260. package/dist/lib/agent-work-state.js +0 -36
  261. package/dist/lib/message-scroller-primitive/components.d.ts +0 -17
  262. package/dist/lib/message-scroller-primitive/components.d.ts.map +0 -1
  263. package/dist/lib/message-scroller-primitive/components.js +0 -204
  264. package/dist/lib/message-scroller-primitive/geometry.d.ts +0 -51
  265. package/dist/lib/message-scroller-primitive/geometry.d.ts.map +0 -1
  266. package/dist/lib/message-scroller-primitive/geometry.js +0 -199
  267. package/dist/lib/message-scroller-primitive/index.d.ts +0 -12
  268. package/dist/lib/message-scroller-primitive/index.d.ts.map +0 -1
  269. package/dist/lib/message-scroller-primitive/index.js +0 -12
  270. package/dist/lib/message-scroller-primitive/stores.d.ts +0 -6
  271. package/dist/lib/message-scroller-primitive/stores.d.ts.map +0 -1
  272. package/dist/lib/message-scroller-primitive/stores.js +0 -53
  273. package/dist/lib/message-scroller-primitive/types.d.ts +0 -88
  274. package/dist/lib/message-scroller-primitive/types.d.ts.map +0 -1
  275. package/dist/lib/message-scroller-primitive/types.js +0 -40
  276. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts +0 -19
  277. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts.map +0 -1
  278. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.js +0 -188
  279. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts +0 -7
  280. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts.map +0 -1
  281. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.js +0 -506
  282. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts +0 -49
  283. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts.map +0 -1
  284. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.js +0 -90
  285. package/dist/lib/message-scroller-primitive/use-render.d.ts +0 -22
  286. package/dist/lib/message-scroller-primitive/use-render.d.ts.map +0 -1
  287. package/dist/lib/message-scroller-primitive/use-render.js +0 -113
  288. package/dist/lib/message-scroller-primitive/utils.d.ts +0 -4
  289. package/dist/lib/message-scroller-primitive/utils.d.ts.map +0 -1
  290. package/dist/lib/message-scroller-primitive/utils.js +0 -9
  291. package/docs/agent-work-surfaces.md +0 -132
  292. package/docs/migration/ai-elements-vendoring.md +0 -29
  293. package/docs/terminal-tui-semantics.md +0 -172
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-render.d.ts","sourceRoot":"","sources":["../../../src/lib/message-scroller-primitive/use-render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,KAAK,cAAc,CAAC,MAAM,SAAS,WAAW,IAAI,CAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,KACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,KAAK,UAAU,CAAC,MAAM,SAAS,WAAW,IAAI,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAE1F,KAAK,sBAAsB,CAAC,MAAM,SAAS,WAAW,IAAI,OAAO,CAAC;KAC/D,CAAC,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS;CACjG,CAAC,CAAC;AAEH,KAAK,uBAAuB,CAC1B,QAAQ,SAAS,KAAK,CAAC,WAAW,EAClC,MAAM,SAAS,WAAW,GAAG,WAAW,IACtC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,gBAAgB,CAAC,QAAQ,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,SAAS,WAAW,IAAI;IACtF,cAAc,EAAE,QAAQ,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACzD,CAAC;AAEF,iBAAS,SAAS,CAAC,QAAQ,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,SAAS,WAAW,GAAG,WAAW,EAAE,EAC/F,cAAc,EACd,KAAK,EACL,MAAM,EACN,KAAoB,EACpB,sBAAsB,GACvB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,6EA6BpC;AAED,iBAAS,UAAU,CAAC,QAAQ,SAAS,KAAK,CAAC,WAAW,EACpD,GAAG,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,GA4C7E,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CACvD;AAqDD,iBAAS,WAAW,CAAC,CAAC,EACpB,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GACvC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAgBlC;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,uBAAuB,EAAE,CAAC"}
@@ -1,113 +0,0 @@
1
- // Vendored from @shadcn/react 0.2.1 (upstream github.com/shadcn-ui).
2
- // Adapted only for repo import paths and formatting; not added as an npm dependency.
3
- // A poor man's version of base-ui useRender.
4
- // see https://base-ui.com/react/utils/use-render.
5
- // TODO: Replace if base-ui useRender is published as a package.
6
- import * as React from "react";
7
- function useRender({ defaultTagName, props, render, state = {}, stateAttributesMapping, }) {
8
- const elementProps = mergeProps(getStateAttributes(state, stateAttributesMapping), props);
9
- if (!render) {
10
- return React.createElement(defaultTagName, elementProps);
11
- }
12
- if (typeof render === "function") {
13
- return render(elementProps, state);
14
- }
15
- if (!React.isValidElement(render)) {
16
- return null;
17
- }
18
- const renderProps = render.props;
19
- const propsWithRenderProps = mergeProps(elementProps, renderProps);
20
- const propsWithRef = {
21
- ...propsWithRenderProps,
22
- ref: composeRefs(elementProps.ref, renderProps.ref),
23
- };
24
- return React.cloneElement(render, propsWithRef);
25
- }
26
- function mergeProps(...sources) {
27
- const result = {};
28
- for (const source of sources) {
29
- if (!source) {
30
- continue;
31
- }
32
- const sourceProps = source;
33
- for (const key of Object.keys(sourceProps)) {
34
- const value = sourceProps[key];
35
- if (value === undefined) {
36
- continue;
37
- }
38
- const current = result[key];
39
- if (key === "className") {
40
- result[key] = [current, value].filter(Boolean).join(" ");
41
- }
42
- else if (key === "style") {
43
- result[key] = {
44
- ...current,
45
- ...value,
46
- };
47
- }
48
- else if (key === "ref") {
49
- result[key] = composeRefs(current, value);
50
- }
51
- else if (isEventHandler(key) &&
52
- typeof current === "function" &&
53
- typeof value === "function") {
54
- result[key] = composeEventHandlers(value, current);
55
- }
56
- else {
57
- result[key] = value;
58
- }
59
- }
60
- }
61
- return result;
62
- }
63
- function getStateAttributes(state, mapping) {
64
- const props = {};
65
- for (const key of Object.keys(state)) {
66
- const value = state[key];
67
- const attributes = mapping?.[key]?.(value);
68
- if (attributes) {
69
- Object.assign(props, attributes);
70
- continue;
71
- }
72
- if (key === "slot") {
73
- props["data-slot"] = value;
74
- continue;
75
- }
76
- const attribute = `data-${String(key).replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)}`;
77
- if (typeof value === "boolean") {
78
- props[attribute] = value ? "" : undefined;
79
- }
80
- else if (value !== null && value !== undefined) {
81
- props[attribute] = String(value);
82
- }
83
- }
84
- return props;
85
- }
86
- function composeEventHandlers(theirs, ours) {
87
- return function handleEvent(event) {
88
- theirs(event);
89
- if (!event.defaultPrevented) {
90
- ours(event);
91
- }
92
- };
93
- }
94
- function isEventHandler(key) {
95
- return /^on[A-Z]/.test(key);
96
- }
97
- function composeRefs(...refs) {
98
- const validRefs = refs.filter(Boolean);
99
- if (validRefs.length === 0) {
100
- return undefined;
101
- }
102
- return (value) => {
103
- for (const ref of validRefs) {
104
- if (typeof ref === "function") {
105
- ref(value);
106
- }
107
- else if (ref) {
108
- ref.current = value;
109
- }
110
- }
111
- };
112
- }
113
- export { composeRefs, mergeProps, useRender };
@@ -1,4 +0,0 @@
1
- import * as React from "react";
2
- declare function useLatest<T>(value: T): React.RefObject<T>;
3
- export { useLatest };
4
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/message-scroller-primitive/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,iBAAS,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,sBAM7B;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,9 +0,0 @@
1
- // Vendored from @shadcn/react 0.2.1 (upstream github.com/shadcn-ui).
2
- // Adapted only for repo import paths and formatting; not added as an npm dependency.
3
- import * as React from "react";
4
- function useLatest(value) {
5
- const ref = React.useRef(value);
6
- ref.current = value;
7
- return ref;
8
- }
9
- export { useLatest };
@@ -1,132 +0,0 @@
1
- # Agent Work Surfaces
2
-
3
- Presentational agent surfaces for Nadia-flavored chat, composer, approval,
4
- artifact, file, preview, diff, and terminal summary UI, plus the identity slots
5
- they compose from. These components render serializable state models and leave
6
- runtime behavior to the consuming app.
7
-
8
- ## Design-System Family Convergence
9
-
10
- The React agent layer is the React face of the design-system Agentic Work
11
- Surface CSS families (`design-system/DESIGN.md`). Each component consumes its
12
- `nc-*` family class for identity — surface, border, chrome — and adds Tailwind
13
- only for layout and spacing; the CSS family owns any value it already sets. The
14
- families arrive through the UI package's complete React stylesheet interface.
15
- Consumer setup lives in [`consuming-cross-repo.md`](consuming-cross-repo.md);
16
- the component styling invariant lives in [`contract.md`](contract.md).
17
-
18
- - `AgentThread` -> `nc-chat-thread`.
19
- - `AgentMessage` text bubbles -> `nc-chat-bubble-user` / `nc-chat-bubble-agent`;
20
- the tool row -> `nc-tool-call-trace`.
21
- - `AgentToolApproval` -> `nc-approval-gate`.
22
- - `ArtifactPanel` -> `nc-artifact-preview`.
23
- - `AgentAvatar` -> `nc-agent-avatar`, `UsageMeter` -> `nc-usage-meter`,
24
- `RunTimeline` -> `nc-run-timeline`, `MemoryItem` -> `nc-memory-item`,
25
- `HandoffBanner` -> `nc-handoff-banner`.
26
-
27
- ## Components
28
-
29
- - `AgentChat` combines an `AgentThread` with an optional `AgentComposer`.
30
- - `AgentThread` renders message lists plus empty, queued, streaming, interrupted,
31
- retryable, permission-denied, and fatal state banners.
32
- - `AgentMessage` renders user, assistant, and system messages with text,
33
- reasoning summaries, tool calls, source references, artifacts, attachments,
34
- and state notices.
35
- - `AgentComposer` renders a controlled or uncontrolled input surface with
36
- attachments, queue panel, submit or stop control, and slash or mention slots.
37
- - `AgentToolApproval` renders the approval choices `run`, `deny`, `session`,
38
- and `always` with stable action meanings.
39
- - `ArtifactPanel` renders text, code, diff, terminal summary, preview,
40
- stack-trace, and test-result artifacts.
41
- - `FilesPreview` and `ProjectFileTree` render a serializable project tree and
42
- file preview without desktop IPC.
43
- - `AgentAvatar` renders an agent identity slot with an optional accent ring; the
44
- chrome is reusable and the initials, image, or generated asset are slotted.
45
- - `UsageMeter` renders a token, cost, latency, or run-count meta row from
46
- serializable `fields` and `trailing` strings over an optional progress track
47
- driven by `usage`, with a `children` slot for custom meta content.
48
- - `RunTimeline` renders a vertical step thread for a run, handoff, or workflow
49
- from serializable steps (`title`, `label`, `detail`) with `ready`, `running`,
50
- `review`, `blocked`, and `complete` step states and a per-step `detailSlot`
51
- escape hatch.
52
- - `MemoryItem` renders a remembered-fact row from a serializable `label` and
53
- `fact`, with a `children` slot that replaces the fact.
54
- - `HandoffBanner` renders an agent-to-agent or human-to-agent handoff surface
55
- from a serializable `reason` and `destination`, with a `children` slot that
56
- replaces the model.
57
-
58
- ## State Models
59
-
60
- The public models are plain JSON-shaped data. React nodes are accepted only as
61
- explicit slots such as `composer`, `slashMenu`, `mentionMenu`, `toolActions`,
62
- `retryAction`, `previewActions`, or `actions`.
63
-
64
- ```tsx
65
- import { AgentChat } from "@nadicodeai/ui/components/agent-chat"
66
-
67
- const messages = [
68
- {
69
- id: "assistant-1",
70
- role: "assistant",
71
- metadata: {
72
- kind: "agent",
73
- label: "Nadia",
74
- model: "synthetic-model",
75
- },
76
- parts: [
77
- {
78
- type: "text",
79
- text: "I reviewed the synthetic fixture.",
80
- },
81
- {
82
- type: "reasoning",
83
- reasoning: {
84
- id: "reasoning-1",
85
- status: "available",
86
- summary: "Package primitives cover the requested surface.",
87
- },
88
- },
89
- ],
90
- },
91
- ] as const
92
-
93
- export function FixtureChat() {
94
- return <AgentChat messages={[...messages]} state="idle" />
95
- }
96
- ```
97
-
98
- ## Redaction
99
-
100
- Use `AgentRedactionRule` whenever a payload cannot be shown. Redaction labels
101
- exist for secrets, environment values, terminal transcripts, user memory, and
102
- private reasoning. The component should receive the redaction object instead of
103
- the protected value.
104
-
105
- ```tsx
106
- const redactedTool = {
107
- id: "tool-1",
108
- name: "fixture_check",
109
- status: "error",
110
- redaction: {
111
- redacted: true,
112
- category: "secret",
113
- },
114
- } as const
115
- ```
116
-
117
- ## Approval Meanings
118
-
119
- `AgentToolApproval` emits both the user-facing choice and a stable action value:
120
-
121
- - `run` -> `approve-once`
122
- - `deny` -> `reject`
123
- - `session` -> `approve-session`
124
- - `always` -> `approve-always`
125
-
126
- Consumers own the approval action handler and persistence.
127
-
128
- ## Runtime Boundary
129
-
130
- These components do not open files, execute commands, persist messages, call
131
- models, stream tokens, retry tools, or talk to a desktop process. Pass callbacks
132
- or slots for those behaviors from the consuming app.
@@ -1,29 +0,0 @@
1
- # AI Elements Vendoring
2
-
3
- `@nadicodeai/ui/src/components/ai-elements/*` is vendored source, not a
4
- dependency. It was pulled from
5
- [github.com/vercel/ai-elements](https://github.com/vercel/ai-elements) on
6
- 2026-06-22 in monorepo commit `c2b97003` ("feat(ui): package shadcn and ai
7
- elements") — 48 components. The upstream ref at vendor time was not recorded;
8
- every re-vendor from now on records the upstream ref it checked in the log
9
- below. Since vendoring, the components have been adapted
10
- in place: the Base UI migration (`docs/migration/base-ui-migration.md`),
11
- `src/hooks/use-controllable-state.ts` replacing
12
- `@radix-ui/react-use-controllable-state`, and theming onto brand tokens.
13
-
14
- Upstream `ai-elements` is still Radix-based. Re-vendoring an item is a diff,
15
- not a copy:
16
-
17
- 1. Fetch the upstream item's current source (`shadcn` CLI against the
18
- `@ai-elements` registry, or the upstream repo directly).
19
- 2. Diff it against our adapted file in
20
- `@nadicodeai/ui/src/components/ai-elements/`.
21
- 3. Re-apply the Base UI migration and token adaptations to whatever upstream
22
- changed — do not reintroduce Radix imports or raw palette values.
23
- 4. Record the upstream ref checked below.
24
-
25
- ## Re-vendor log
26
-
27
- | Date | Upstream ref checked | Notes |
28
- | --- | --- | --- |
29
- | 2026-06-22 | not recorded | Initial vendor, 48 components (monorepo commit `c2b97003`). |
@@ -1,172 +0,0 @@
1
- # Terminal/TUI Semantics
2
-
3
- This document owns the serializable names that a terminal, React Ink, or other
4
- TUI consumer may use to preserve the meaning of shared agent states. It does not
5
- define CSS custom properties, color values, light/dark mappings, a terminal
6
- runtime, or a package export.
7
-
8
- The framework-free data contracts live in `src/lib/agent-contracts.ts` and
9
- `src/lib/agent-state.ts`. Canonical visual tokens and mode behavior live only in
10
- [`design-system/DESIGN.md`](../../../design-system/DESIGN.md). A real TUI
11
- renderer may consume `@nadicodeai/design-system/tokens/dtcg` and implement its
12
- own technology adapter, but it must not copy a UI-local palette or treat this
13
- document as a second theme source.
14
-
15
- Do not put raw terminal output, secrets, environment values, user memory, hidden
16
- chain-of-thought, or provider content in package examples or fixtures. Use
17
- synthetic summaries and explicit redaction fields.
18
-
19
- ## Naming rules
20
-
21
- - Names use dot-case strings such as `terminal.foreground`, `tool.running`, and
22
- `approval.session`.
23
- - DOM and TUI state names carry the same meaning. A renderer chooses its own
24
- glyph, spacing, ANSI escape, and interaction behavior.
25
- - Run-state parity uses `ready`, `running`, `review`, `blocked`, and `complete`.
26
- - Tool and command status uses `pending`, `running`, `success`, `warning`,
27
- `error`, and `muted`.
28
- - Adding a visual value or mode mapping is a design-system change, not a new
29
- serializable state.
30
-
31
- ## Terminal and ANSI roles
32
-
33
- | Serializable role | Meaning |
34
- | --- | --- |
35
- | `terminal.foreground` | Default terminal text. |
36
- | `terminal.background` | Default terminal canvas. |
37
- | `terminal.muted` | Timestamps, separators, and low-priority metadata. |
38
- | `terminal.cursor` | Text cursor or focused prompt caret. |
39
- | `terminal.selection` | Selected text treatment. |
40
-
41
- ANSI names follow the protocol vocabulary without inventing branded aliases:
42
-
43
- - `terminal.ansi.<color>` where `<color>` is `black`, `red`, `green`, `yellow`,
44
- `blue`, `magenta`, `cyan`, or `white`.
45
- - `terminal.ansi.bright-<color>` for the corresponding bright foreground.
46
-
47
- ## Code and diff roles
48
-
49
- | Serializable role | Meaning |
50
- | --- | --- |
51
- | `code.foreground` | Default code text. |
52
- | `code.background` | Code block or inline-preview surface. |
53
- | `code.border` | Code surface border or gutter divider. |
54
- | `code.token.keyword` | Syntax keyword. |
55
- | `code.token.string` | Syntax string. |
56
- | `code.token.comment` | Syntax comment. |
57
- | `code.token.function` | Syntax function. |
58
- | `diff.added` | Added content. |
59
- | `diff.added.line` | Added line. |
60
- | `diff.added.word` | Added inline word span. |
61
- | `diff.removed` | Removed content. |
62
- | `diff.removed.line` | Removed line. |
63
- | `diff.removed.word` | Removed inline word span. |
64
- | `diff.modified` | Modified context. |
65
- | `diff.modified.hunk` | Hunk marker or changed context. |
66
- | `diff.modified.file-header` | Modified file header. |
67
-
68
- ## Trace and command status
69
-
70
- Trace severity describes technical trails and diagnostic summaries. It is not a
71
- license to store raw logs in package examples.
72
-
73
- | Serializable state | Meaning |
74
- | --- | --- |
75
- | `trace.info` | Informational trace row. |
76
- | `trace.success` | Completed trace row. |
77
- | `trace.warning` | Recoverable warning. |
78
- | `trace.error` | Failed trace row. |
79
- | `trace.muted` | Low-priority diagnostic metadata. |
80
- | `command.queued` | Queued but not started. |
81
- | `command.pending` | Waiting for scheduler, input, or approval. |
82
- | `command.running` | Currently executing. |
83
- | `command.success` | Finished successfully. |
84
- | `command.warning` | Finished with warnings or partial recovery. |
85
- | `command.error` | Failed. |
86
- | `command.paused` | Paused by a user or runtime. |
87
- | `command.blocked` | Blocked by a missing permission, precondition, or input. |
88
- | `command.complete` | Completed run. |
89
-
90
- ## Provider and model status
91
-
92
- | Serializable state | Meaning |
93
- | --- | --- |
94
- | `provider.online` | Provider is available. |
95
- | `provider.offline` | Provider is unavailable. |
96
- | `provider.degraded` | Provider is available with degraded capacity. |
97
- | `provider.error` | Provider cannot serve requests. |
98
- | `model.available` | Model is available for selection. |
99
- | `model.selected` | Model is selected or focused. |
100
- | `model.context-warning` | Context window is near a configured limit. |
101
- | `model.cost-warning` | Model is budget-sensitive. |
102
- | `model.rate-limited` | Rate limiting is active or likely. |
103
- | `model.unavailable` | Model cannot be selected. |
104
-
105
- ## Approval choices
106
-
107
- Consumers own behavior, keyboard shortcuts, and persistence.
108
-
109
- | Serializable choice | Meaning |
110
- | --- | --- |
111
- | `approval.run` | Run once. |
112
- | `approval.deny` | Deny this action. |
113
- | `approval.session` | Allow for this session. |
114
- | `approval.always` | Allow persistently where app policy permits. |
115
-
116
- ## Message and tool states
117
-
118
- | Serializable state | Meaning |
119
- | --- | --- |
120
- | `message.user` | Human-authored message. |
121
- | `message.assistant` | Assistant-authored message. |
122
- | `message.system` | User-visible system or policy summary. |
123
- | `message.reasoning` | Reasoning summary disclosure, not hidden chain-of-thought. |
124
- | `message.tool` | Tool call or result summary. |
125
- | `message.artifact` | Artifact reference, preview, or generated-file summary. |
126
- | `message.source` | Source or citation reference. |
127
- | `message.queued` | Queued message. |
128
- | `message.streaming` | Partial assistant output is streaming. |
129
- | `message.interrupted` | Generation stopped before completion. |
130
- | `message.retryable` | Retry is available. |
131
- | `message.permission-denied` | Blocked by a user, policy, or permission. |
132
- | `message.fatal` | Non-recoverable message failure. |
133
- | `tool.pending` | Waiting to start or waiting for approval. |
134
- | `tool.running` | Active tool call. |
135
- | `tool.success` | Tool call completed successfully. |
136
- | `tool.warning` | Tool call completed with a warning or degraded result. |
137
- | `tool.error` | Tool call failed. |
138
- | `tool.muted` | Low-priority tool metadata. |
139
-
140
- ## Layout hints and prompt glyphs
141
-
142
- Layout hints are serializable meanings, not CSS aliases:
143
-
144
- | Serializable role | Meaning |
145
- | --- | --- |
146
- | `message.spacing.compact` | Dense rows for active streams and tool trails. |
147
- | `message.spacing.default` | Standard chat or TUI rhythm. |
148
- | `message.spacing.loose` | Review, approval, or long-form summary rhythm. |
149
- | `message.indent.user` | User-message indent. |
150
- | `message.indent.assistant` | Assistant-message indent. |
151
- | `message.indent.tool` | Tool-trail indent. |
152
- | `promptGlyph.user` | Human prompt marker. |
153
- | `promptGlyph.assistant` | Assistant prompt marker. |
154
- | `promptGlyph.system` | System or notice marker. |
155
- | `promptGlyph.tool` | Tool-trail marker. |
156
- | `promptGlyph.approval` | Approval prompt marker. |
157
- | `promptGlyph.continuation` | Wrapped or continued-line marker. |
158
-
159
- ## Serializable shape
160
-
161
- The package does not export a TUI-specific type. A consumer can mirror the
162
- framework-free state shape without importing React DOM components:
163
-
164
- ```json
165
- {
166
- "messageState": "message.streaming",
167
- "toolState": "tool.running",
168
- "approvalChoice": "approval.run",
169
- "severity": "trace.info",
170
- "redactedSummary": "Synthetic action summary"
171
- }
172
- ```