@nadicodeai/ui 0.20.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 (350) hide show
  1. package/AGENTS.md +4 -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/brand-icons/apple.d.ts +18 -0
  8. package/dist/components/brand-icons/apple.d.ts.map +1 -0
  9. package/dist/components/brand-icons/apple.js +22 -0
  10. package/dist/components/brand-icons/brand-icon.d.ts +22 -0
  11. package/dist/components/brand-icons/brand-icon.d.ts.map +1 -0
  12. package/dist/components/brand-icons/brand-icon.js +26 -0
  13. package/dist/components/brand-icons/linux.d.ts +18 -0
  14. package/dist/components/brand-icons/linux.d.ts.map +1 -0
  15. package/dist/components/brand-icons/linux.js +25 -0
  16. package/dist/components/brand-icons/windows.d.ts +18 -0
  17. package/dist/components/brand-icons/windows.d.ts.map +1 -0
  18. package/dist/components/brand-icons/windows.js +22 -0
  19. package/dist/components/brand-icons.d.ts +5 -0
  20. package/dist/components/brand-icons.d.ts.map +1 -0
  21. package/dist/components/brand-icons.js +10 -0
  22. package/dist/components/button.d.ts +1 -1
  23. package/dist/components/button.js +1 -1
  24. package/dist/components/card-marketing.js +2 -2
  25. package/dist/components/card.d.ts +4 -3
  26. package/dist/components/card.d.ts.map +1 -1
  27. package/dist/components/card.js +12 -2
  28. package/dist/components/chart-breakdown-table.js +1 -1
  29. package/dist/components/chart-bullet-bar.d.ts +18 -2
  30. package/dist/components/chart-bullet-bar.d.ts.map +1 -1
  31. package/dist/components/chart-bullet-bar.js +62 -9
  32. package/dist/components/chart-date-range-control.d.ts +11 -1
  33. package/dist/components/chart-date-range-control.d.ts.map +1 -1
  34. package/dist/components/chart-date-range-control.js +13 -3
  35. package/dist/components/chart-entity-colors.d.ts +7 -1
  36. package/dist/components/chart-entity-colors.d.ts.map +1 -1
  37. package/dist/components/chart-entity-colors.js +7 -1
  38. package/dist/components/chart-kpi-stat.d.ts.map +1 -1
  39. package/dist/components/chart-kpi-stat.js +1 -1
  40. package/dist/components/chart-time-series.d.ts.map +1 -1
  41. package/dist/components/chart-time-series.js +62 -4
  42. package/dist/components/chart.js +2 -2
  43. package/dist/components/code-editor-mockup.js +1 -1
  44. package/dist/components/nav-bar.js +1 -1
  45. package/dist/components/radio-group.d.ts +1 -1
  46. package/dist/components/radio-group.d.ts.map +1 -1
  47. package/dist/components/radio-group.js +2 -2
  48. package/dist/components/theme-mode-switcher.d.ts +10 -3
  49. package/dist/components/theme-mode-switcher.d.ts.map +1 -1
  50. package/dist/components/theme-mode-switcher.js +14 -7
  51. package/dist/components/use-case-bento.d.ts +2 -4
  52. package/dist/components/use-case-bento.d.ts.map +1 -1
  53. package/dist/components/use-case-bento.js +2 -3
  54. package/dist/eslint/index.js +91 -0
  55. package/dist/eslint/rules/jsx-class-utility.js +231 -0
  56. package/dist/eslint/rules/no-deprecated-zod-api.js +156 -0
  57. package/dist/eslint/rules/no-design-system-src-import.js +11 -0
  58. package/dist/eslint/rules/no-invalid-token-utility.js +46 -0
  59. package/dist/eslint/rules/no-native-visible-control.js +86 -0
  60. package/dist/eslint/rules/no-raw-color-utility.js +109 -0
  61. package/dist/eslint/rules/no-raw-focus-ring-width.js +30 -0
  62. package/dist/eslint/rules/no-raw-logo-import.js +41 -0
  63. package/dist/eslint/rules/no-shadcn-appearance-override.js +191 -0
  64. package/dist/eslint/rules/no-token-category-bypass.js +53 -0
  65. package/dist/eslint/rules/no-ui-src-import.js +10 -0
  66. package/dist/eslint/rules/no-unpinned-vercel-functions-import.js +100 -0
  67. package/dist/eslint/rules/src-import-boundary.js +207 -0
  68. package/dist/hooks/index.d.ts +0 -1
  69. package/dist/hooks/index.d.ts.map +1 -1
  70. package/dist/hooks/index.js +0 -1
  71. package/dist/index.d.ts +1 -16
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +1 -16
  74. package/dist/internal/assistant-ui/attachment.d.ts +5 -0
  75. package/dist/internal/assistant-ui/attachment.d.ts.map +1 -0
  76. package/dist/internal/assistant-ui/attachment.js +93 -0
  77. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts +3 -0
  78. package/dist/internal/assistant-ui/follow-up-suggestions.d.ts.map +1 -0
  79. package/dist/internal/assistant-ui/follow-up-suggestions.js +8 -0
  80. package/dist/internal/assistant-ui/markdown-text.d.ts +2 -0
  81. package/dist/internal/assistant-ui/markdown-text.d.ts.map +1 -0
  82. package/dist/internal/assistant-ui/markdown-text.js +54 -0
  83. package/dist/internal/assistant-ui/reasoning.d.ts +31 -0
  84. package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -0
  85. package/dist/internal/assistant-ui/reasoning.js +118 -0
  86. package/dist/internal/assistant-ui/thread.d.ts +26 -0
  87. package/dist/internal/assistant-ui/thread.d.ts.map +1 -0
  88. package/dist/internal/assistant-ui/thread.js +118 -0
  89. package/dist/internal/assistant-ui/tool-fallback.d.ts +10 -0
  90. package/dist/internal/assistant-ui/tool-fallback.d.ts.map +1 -0
  91. package/dist/internal/assistant-ui/tool-fallback.js +163 -0
  92. package/dist/internal/assistant-ui/tool-group.d.ts +18 -0
  93. package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -0
  94. package/dist/internal/assistant-ui/tool-group.js +44 -0
  95. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +8 -0
  96. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -0
  97. package/dist/internal/assistant-ui/tooltip-icon-button.js +10 -0
  98. package/dist/styles/globals.css +3 -209
  99. package/docs/agents/nadicodeai-ui.md +4 -6
  100. package/docs/component-classification.md +1 -1
  101. package/docs/consuming-cross-repo.md +32 -3
  102. package/docs/contract.md +16 -6
  103. package/docs/migration/base-ui-migration.md +0 -11
  104. package/docs/product-compositions.md +1 -1
  105. package/llms.txt +5 -6
  106. package/package.json +17 -29
  107. package/skills/nadicodeai-ui/SKILL.md +5 -7
  108. package/dist/ai-elements.d.ts +0 -49
  109. package/dist/ai-elements.d.ts.map +0 -1
  110. package/dist/ai-elements.js +0 -48
  111. package/dist/components/agent-avatar.d.ts +0 -7
  112. package/dist/components/agent-avatar.d.ts.map +0 -1
  113. package/dist/components/agent-avatar.js +0 -6
  114. package/dist/components/agent-chat.d.ts +0 -20
  115. package/dist/components/agent-chat.d.ts.map +0 -1
  116. package/dist/components/agent-chat.js +0 -10
  117. package/dist/components/agent-composer.d.ts +0 -56
  118. package/dist/components/agent-composer.d.ts.map +0 -1
  119. package/dist/components/agent-composer.js +0 -56
  120. package/dist/components/agent-message.d.ts +0 -117
  121. package/dist/components/agent-message.d.ts.map +0 -1
  122. package/dist/components/agent-message.js +0 -99
  123. package/dist/components/agent-thread.d.ts +0 -26
  124. package/dist/components/agent-thread.d.ts.map +0 -1
  125. package/dist/components/agent-thread.js +0 -63
  126. package/dist/components/agent-tool-approval.d.ts +0 -27
  127. package/dist/components/agent-tool-approval.d.ts.map +0 -1
  128. package/dist/components/agent-tool-approval.js +0 -43
  129. package/dist/components/ai-elements/agent.d.ts +0 -27
  130. package/dist/components/ai-elements/agent.d.ts.map +0 -1
  131. package/dist/components/ai-elements/agent.js +0 -25
  132. package/dist/components/ai-elements/artifact.d.ts +0 -24
  133. package/dist/components/ai-elements/artifact.d.ts.map +0 -1
  134. package/dist/components/ai-elements/artifact.js +0 -20
  135. package/dist/components/ai-elements/attachments.d.ts +0 -55
  136. package/dist/components/ai-elements/attachments.d.ts.map +0 -1
  137. package/dist/components/ai-elements/attachments.js +0 -125
  138. package/dist/components/ai-elements/audio-player.d.ts +0 -30
  139. package/dist/components/ai-elements/audio-player.d.ts.map +0 -1
  140. package/dist/components/ai-elements/audio-player.js +0 -41
  141. package/dist/components/ai-elements/canvas.d.ts +0 -8
  142. package/dist/components/ai-elements/canvas.d.ts.map +0 -1
  143. package/dist/components/ai-elements/canvas.js +0 -5
  144. package/dist/components/ai-elements/chain-of-thought.d.ts +0 -30
  145. package/dist/components/ai-elements/chain-of-thought.d.ts.map +0 -1
  146. package/dist/components/ai-elements/chain-of-thought.js +0 -49
  147. package/dist/components/ai-elements/checkpoint.d.ts +0 -12
  148. package/dist/components/ai-elements/checkpoint.d.ts.map +0 -1
  149. package/dist/components/ai-elements/checkpoint.js +0 -10
  150. package/dist/components/ai-elements/code-block.d.ts +0 -53
  151. package/dist/components/ai-elements/code-block.d.ts.map +0 -1
  152. package/dist/components/ai-elements/code-block.js +0 -239
  153. package/dist/components/ai-elements/commit.d.ts +0 -65
  154. package/dist/components/ai-elements/commit.d.ts.map +0 -1
  155. package/dist/components/ai-elements/commit.js +0 -83
  156. package/dist/components/ai-elements/confirmation.d.ts +0 -50
  157. package/dist/components/ai-elements/confirmation.d.ts.map +0 -1
  158. package/dist/components/ai-elements/confirmation.js +0 -57
  159. package/dist/components/ai-elements/connection.d.ts +0 -6
  160. package/dist/components/ai-elements/connection.d.ts.map +0 -1
  161. package/dist/components/ai-elements/connection.js +0 -10
  162. package/dist/components/ai-elements/context.d.ts +0 -33
  163. package/dist/components/ai-elements/context.d.ts.map +0 -1
  164. package/dist/components/ai-elements/context.js +0 -147
  165. package/dist/components/ai-elements/controls.d.ts +0 -5
  166. package/dist/components/ai-elements/controls.d.ts.map +0 -1
  167. package/dist/components/ai-elements/controls.js +0 -5
  168. package/dist/components/ai-elements/conversation.d.ts +0 -24
  169. package/dist/components/ai-elements/conversation.d.ts.map +0 -1
  170. package/dist/components/ai-elements/conversation.js +0 -41
  171. package/dist/components/ai-elements/edge.d.ts +0 -6
  172. package/dist/components/ai-elements/edge.d.ts.map +0 -1
  173. package/dist/components/ai-elements/edge.js +0 -88
  174. package/dist/components/ai-elements/environment-variables.d.ts +0 -39
  175. package/dist/components/ai-elements/environment-variables.d.ts.map +0 -1
  176. package/dist/components/ai-elements/environment-variables.js +0 -60
  177. package/dist/components/ai-elements/file-tree.d.ts +0 -27
  178. package/dist/components/ai-elements/file-tree.d.ts.map +0 -1
  179. package/dist/components/ai-elements/file-tree.js +0 -73
  180. package/dist/components/ai-elements/image.d.ts +0 -7
  181. package/dist/components/ai-elements/image.d.ts.map +0 -1
  182. package/dist/components/ai-elements/image.js +0 -3
  183. package/dist/components/ai-elements/inline-citation.d.ts +0 -39
  184. package/dist/components/ai-elements/inline-citation.d.ts.map +0 -1
  185. package/dist/components/ai-elements/inline-citation.js +0 -86
  186. package/dist/components/ai-elements/jsx-preview.d.ts +0 -30
  187. package/dist/components/ai-elements/jsx-preview.d.ts.map +0 -1
  188. package/dist/components/ai-elements/jsx-preview.js +0 -159
  189. package/dist/components/ai-elements/message.d.ts +0 -38
  190. package/dist/components/ai-elements/message.d.ts.map +0 -1
  191. package/dist/components/ai-elements/message.js +0 -91
  192. package/dist/components/ai-elements/mic-selector.d.ts +0 -46
  193. package/dist/components/ai-elements/mic-selector.d.ts.map +0 -1
  194. package/dist/components/ai-elements/mic-selector.js +0 -180
  195. package/dist/components/ai-elements/model-selector.d.ts +0 -36
  196. package/dist/components/ai-elements/model-selector.d.ts.map +0 -1
  197. package/dist/components/ai-elements/model-selector.js +0 -18
  198. package/dist/components/ai-elements/node.d.ts +0 -22
  199. package/dist/components/ai-elements/node.d.ts.map +0 -1
  200. package/dist/components/ai-elements/node.js +0 -12
  201. package/dist/components/ai-elements/open-in-chat.d.ts +0 -27
  202. package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
  203. package/dist/components/ai-elements/open-in-chat.js +0 -81
  204. package/dist/components/ai-elements/package-info.d.ts +0 -30
  205. package/dist/components/ai-elements/package-info.d.ts.map +0 -1
  206. package/dist/components/ai-elements/package-info.js +0 -50
  207. package/dist/components/ai-elements/panel.d.ts +0 -6
  208. package/dist/components/ai-elements/panel.d.ts.map +0 -1
  209. package/dist/components/ai-elements/panel.js +0 -5
  210. package/dist/components/ai-elements/persona.d.ts +0 -49
  211. package/dist/components/ai-elements/persona.d.ts.map +0 -1
  212. package/dist/components/ai-elements/persona.js +0 -175
  213. package/dist/components/ai-elements/plan.d.ts +0 -27
  214. package/dist/components/ai-elements/plan.d.ts.map +0 -1
  215. package/dist/components/ai-elements/plan.js +0 -34
  216. package/dist/components/ai-elements/prompt-input.d.ts +0 -149
  217. package/dist/components/ai-elements/prompt-input.d.ts.map +0 -1
  218. package/dist/components/ai-elements/prompt-input.js +0 -704
  219. package/dist/components/ai-elements/queue.d.ts +0 -62
  220. package/dist/components/ai-elements/queue.d.ts.map +0 -1
  221. package/dist/components/ai-elements/queue.js +0 -24
  222. package/dist/components/ai-elements/reasoning.d.ts +0 -27
  223. package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
  224. package/dist/components/ai-elements/reasoning.js +0 -92
  225. package/dist/components/ai-elements/sandbox.d.ts +0 -25
  226. package/dist/components/ai-elements/sandbox.d.ts.map +0 -1
  227. package/dist/components/ai-elements/sandbox.js +0 -15
  228. package/dist/components/ai-elements/schema-display.d.ts +0 -56
  229. package/dist/components/ai-elements/schema-display.d.ts.map +0 -1
  230. package/dist/components/ai-elements/schema-display.js +0 -90
  231. package/dist/components/ai-elements/shimmer.d.ts +0 -10
  232. package/dist/components/ai-elements/shimmer.d.ts.map +0 -1
  233. package/dist/components/ai-elements/shimmer.js +0 -11
  234. package/dist/components/ai-elements/snippet.d.ts +0 -19
  235. package/dist/components/ai-elements/snippet.d.ts.map +0 -1
  236. package/dist/components/ai-elements/snippet.js +0 -32
  237. package/dist/components/ai-elements/sources.d.ts +0 -13
  238. package/dist/components/ai-elements/sources.d.ts.map +0 -1
  239. package/dist/components/ai-elements/sources.js +0 -9
  240. package/dist/components/ai-elements/speech-input.d.ts +0 -55
  241. package/dist/components/ai-elements/speech-input.d.ts.map +0 -1
  242. package/dist/components/ai-elements/speech-input.js +0 -187
  243. package/dist/components/ai-elements/stack-trace.d.ts +0 -38
  244. package/dist/components/ai-elements/stack-trace.d.ts.map +0 -1
  245. package/dist/components/ai-elements/stack-trace.js +0 -181
  246. package/dist/components/ai-elements/suggestion.d.ts +0 -11
  247. package/dist/components/ai-elements/suggestion.d.ts.map +0 -1
  248. package/dist/components/ai-elements/suggestion.js +0 -13
  249. package/dist/components/ai-elements/task.d.ts +0 -15
  250. package/dist/components/ai-elements/task.d.ts.map +0 -1
  251. package/dist/components/ai-elements/task.js +0 -10
  252. package/dist/components/ai-elements/terminal.d.ts +0 -28
  253. package/dist/components/ai-elements/terminal.d.ts.map +0 -1
  254. package/dist/components/ai-elements/terminal.js +0 -55
  255. package/dist/components/ai-elements/test-results.d.ts +0 -59
  256. package/dist/components/ai-elements/test-results.d.ts.map +0 -1
  257. package/dist/components/ai-elements/test-results.js +0 -98
  258. package/dist/components/ai-elements/tool.d.ts +0 -32
  259. package/dist/components/ai-elements/tool.d.ts.map +0 -1
  260. package/dist/components/ai-elements/tool.js +0 -49
  261. package/dist/components/ai-elements/toolbar.d.ts +0 -6
  262. package/dist/components/ai-elements/toolbar.d.ts.map +0 -1
  263. package/dist/components/ai-elements/toolbar.js +0 -5
  264. package/dist/components/ai-elements/transcription.d.ts +0 -17
  265. package/dist/components/ai-elements/transcription.d.ts.map +0 -1
  266. package/dist/components/ai-elements/transcription.js +0 -36
  267. package/dist/components/ai-elements/voice-selector.d.ts +0 -65
  268. package/dist/components/ai-elements/voice-selector.d.ts.map +0 -1
  269. package/dist/components/ai-elements/voice-selector.js +0 -224
  270. package/dist/components/ai-elements/web-preview.d.ts +0 -35
  271. package/dist/components/ai-elements/web-preview.d.ts.map +0 -1
  272. package/dist/components/ai-elements/web-preview.js +0 -66
  273. package/dist/components/artifact-panel.d.ts +0 -130
  274. package/dist/components/artifact-panel.d.ts.map +0 -1
  275. package/dist/components/artifact-panel.js +0 -180
  276. package/dist/components/attachment.d.ts +0 -24
  277. package/dist/components/attachment.d.ts.map +0 -1
  278. package/dist/components/attachment.js +0 -68
  279. package/dist/components/bubble.d.ts +0 -17
  280. package/dist/components/bubble.d.ts.map +0 -1
  281. package/dist/components/bubble.js +0 -59
  282. package/dist/components/demo-surface.d.ts +0 -34
  283. package/dist/components/demo-surface.d.ts.map +0 -1
  284. package/dist/components/demo-surface.js +0 -21
  285. package/dist/components/files-preview.d.ts +0 -36
  286. package/dist/components/files-preview.d.ts.map +0 -1
  287. package/dist/components/files-preview.js +0 -85
  288. package/dist/components/marker.d.ts +0 -11
  289. package/dist/components/marker.d.ts.map +0 -1
  290. package/dist/components/marker.js +0 -34
  291. package/dist/components/message-scroller.d.ts +0 -17
  292. package/dist/components/message-scroller.d.ts.map +0 -1
  293. package/dist/components/message-scroller.js +0 -29
  294. package/dist/components/message.d.ts +0 -11
  295. package/dist/components/message.d.ts.map +0 -1
  296. package/dist/components/message.js +0 -21
  297. package/dist/components/state-notice.d.ts +0 -13
  298. package/dist/components/state-notice.d.ts.map +0 -1
  299. package/dist/components/state-notice.js +0 -8
  300. package/dist/components/watch-it-work-band.d.ts +0 -12
  301. package/dist/components/watch-it-work-band.d.ts.map +0 -1
  302. package/dist/components/watch-it-work-band.js +0 -8
  303. package/dist/hooks/use-controllable-state.d.ts +0 -9
  304. package/dist/hooks/use-controllable-state.d.ts.map +0 -1
  305. package/dist/hooks/use-controllable-state.js +0 -23
  306. package/dist/lib/agent-attachment.d.ts +0 -11
  307. package/dist/lib/agent-attachment.d.ts.map +0 -1
  308. package/dist/lib/agent-attachment.js +0 -19
  309. package/dist/lib/agent-contracts.d.ts +0 -132
  310. package/dist/lib/agent-contracts.d.ts.map +0 -1
  311. package/dist/lib/agent-contracts.js +0 -6
  312. package/dist/lib/agent-state.d.ts +0 -22
  313. package/dist/lib/agent-state.d.ts.map +0 -1
  314. package/dist/lib/agent-state.js +0 -96
  315. package/dist/lib/agent-work-state.d.ts +0 -36
  316. package/dist/lib/agent-work-state.d.ts.map +0 -1
  317. package/dist/lib/agent-work-state.js +0 -36
  318. package/dist/lib/message-scroller-primitive/components.d.ts +0 -17
  319. package/dist/lib/message-scroller-primitive/components.d.ts.map +0 -1
  320. package/dist/lib/message-scroller-primitive/components.js +0 -204
  321. package/dist/lib/message-scroller-primitive/geometry.d.ts +0 -51
  322. package/dist/lib/message-scroller-primitive/geometry.d.ts.map +0 -1
  323. package/dist/lib/message-scroller-primitive/geometry.js +0 -199
  324. package/dist/lib/message-scroller-primitive/index.d.ts +0 -12
  325. package/dist/lib/message-scroller-primitive/index.d.ts.map +0 -1
  326. package/dist/lib/message-scroller-primitive/index.js +0 -12
  327. package/dist/lib/message-scroller-primitive/stores.d.ts +0 -6
  328. package/dist/lib/message-scroller-primitive/stores.d.ts.map +0 -1
  329. package/dist/lib/message-scroller-primitive/stores.js +0 -53
  330. package/dist/lib/message-scroller-primitive/types.d.ts +0 -88
  331. package/dist/lib/message-scroller-primitive/types.d.ts.map +0 -1
  332. package/dist/lib/message-scroller-primitive/types.js +0 -40
  333. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts +0 -19
  334. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts.map +0 -1
  335. package/dist/lib/message-scroller-primitive/use-message-scroller-commands.js +0 -188
  336. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts +0 -7
  337. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts.map +0 -1
  338. package/dist/lib/message-scroller-primitive/use-message-scroller-controller.js +0 -506
  339. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts +0 -49
  340. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts.map +0 -1
  341. package/dist/lib/message-scroller-primitive/use-message-scroller-refs.js +0 -90
  342. package/dist/lib/message-scroller-primitive/use-render.d.ts +0 -22
  343. package/dist/lib/message-scroller-primitive/use-render.d.ts.map +0 -1
  344. package/dist/lib/message-scroller-primitive/use-render.js +0 -113
  345. package/dist/lib/message-scroller-primitive/utils.d.ts +0 -4
  346. package/dist/lib/message-scroller-primitive/utils.d.ts.map +0 -1
  347. package/dist/lib/message-scroller-primitive/utils.js +0 -9
  348. package/docs/agent-work-surfaces.md +0 -132
  349. package/docs/migration/ai-elements-vendoring.md +0 -29
  350. package/docs/terminal-tui-semantics.md +0 -172
@@ -1,21 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils.js";
3
- const defaultDemoSurfaceLabels = {
4
- approvalLabel: "Human approval",
5
- approveAction: "Approve",
6
- editAction: "Edit",
7
- liveDemoLabel: "live demo",
8
- };
9
- function delayStep(index) {
10
- return {
11
- "--nc-anim-delay": `calc(var(--nc-duration-stagger) * ${index})`,
12
- };
13
- }
14
- function DemoSurface({ script, title = "Nadia", className, children, autoplay = true, labels, ...props }) {
15
- if (!script) {
16
- return (_jsx("div", { "data-slot": "demo-surface", className: cn("grid min-h-0 bg-card", className), ...props, children: children }));
17
- }
18
- const demoLabels = { ...defaultDemoSurfaceLabels, ...labels };
19
- return (_jsxs("div", { "data-slot": "demo-surface", className: cn("nc-chat-thread h-[var(--nc-h-bento-mobile-main)] min-h-0 lg:h-full", className), "data-nc-autoplay": autoplay ? "" : undefined, "data-nc-autoplay-name": title, ...props, children: [_jsxs("div", { className: "nc-chat-thread-header", children: [_jsx("span", { className: "nc-agent-avatar", "data-accent": script.accent, "aria-hidden": "true", children: "NA" }), _jsxs("div", { className: "nc-chat-thread-identity", children: [_jsx("div", { className: "nc-chat-thread-domain", children: script.domain }), _jsxs("div", { className: "nc-chat-thread-name", children: [_jsx("span", { children: title }), _jsxs("span", { className: "nc-chat-thread-role", children: ["/ ", script.role] })] })] }), _jsx("span", { className: "nc-chat-thread-workflow", children: script.workflow })] }), _jsxs("div", { className: "nc-chat-thread-body", children: [_jsx("div", { className: "nc-chat-bubble-user nc-anim-msg-in", style: delayStep(0), children: script.user }), _jsx("div", { className: "nc-chat-bubble-agent nc-anim-msg-in", "data-accent": script.accent, style: delayStep(1), children: script.agent }), script.traces.map((trace, index) => (_jsx("div", { className: "nc-tool-call-trace nc-anim-msg-in", style: delayStep(index + 2), children: trace }, trace))), _jsxs("div", { className: "nc-artifact-preview nc-anim-msg-in", "data-kind": script.artifactKind, style: delayStep(5), children: [_jsxs("div", { className: "nc-artifact-preview-header", children: [_jsx("span", { className: "nc-artifact-preview-title", children: script.artifactTitle }), _jsx("span", { className: "nc-artifact-preview-kind", children: script.artifactKindLabel ?? script.artifactKind })] }), _jsx("div", { className: "nc-artifact-preview-body", children: script.artifactBody })] }), _jsxs("div", { className: "nc-approval-gate nc-anim-msg-in", style: delayStep(6), children: [_jsx("span", { className: "nc-approval-gate-label", children: demoLabels.approvalLabel }), _jsx("span", { className: "nc-approval-gate-title", children: script.approvalTitle }), _jsx("span", { className: "nc-approval-gate-copy", children: script.approvalCopy }), _jsxs("span", { className: "nc-approval-gate-actions", children: [_jsx("button", { type: "button", children: demoLabels.approveAction }), _jsx("button", { type: "button", "data-variant": "secondary", children: demoLabels.editAction })] })] })] }), _jsx("div", { className: "nc-chat-thread-footer", children: _jsxs("div", { className: "nc-usage-meter", children: [_jsxs("div", { className: "nc-usage-meter-meta", children: [_jsx("span", { children: script.role }), _jsx("span", { className: "nc-usage-meter-sep", children: "/" }), _jsx("span", { children: script.steps }), _jsx("span", { className: "nc-usage-meter-spacer" }), _jsx("span", { children: demoLabels.liveDemoLabel })] }), _jsx("div", { className: "nc-usage-meter-track", children: _jsx("div", { className: "nc-usage-meter-fill", style: { "--nc-usage": script.usage } }) })] }) })] }));
20
- }
21
- export { DemoSurface };
@@ -1,36 +0,0 @@
1
- import * as React from "react";
2
- import type { BundledLanguage } from "shiki";
3
- import { FileTree } from "./ai-elements/file-tree";
4
- import { type AgentRedactionRule } from "./artifact-panel";
5
- export type AgentFileStatus = "unchanged" | "added" | "modified" | "deleted" | "blocked" | "running";
6
- export type AgentFileNode = {
7
- id: string;
8
- name: string;
9
- path: string;
10
- type: "file" | "directory";
11
- status?: AgentFileStatus;
12
- description?: string;
13
- language?: BundledLanguage;
14
- content?: string;
15
- redaction?: AgentRedactionRule;
16
- children?: AgentFileNode[];
17
- };
18
- declare function ProjectFileTree({ files, selectedPath, defaultExpandedPaths, expandedPaths, onExpandedPathsChange, onSelectFile, className, ...props }: Omit<React.ComponentProps<typeof FileTree>, "defaultExpanded" | "expanded" | "onExpandedChange" | "onSelect"> & {
19
- files: AgentFileNode[];
20
- selectedPath?: string;
21
- defaultExpandedPaths?: string[];
22
- expandedPaths?: string[];
23
- onExpandedPathsChange?: (paths: string[]) => void;
24
- onSelectFile?: (node: AgentFileNode) => void;
25
- }): React.JSX.Element;
26
- declare function FilesPreview({ files, selectedPath, defaultExpandedPaths, onSelectFile, previewActions, className, treeClassName, previewClassName, ...props }: React.ComponentProps<"div"> & {
27
- files: AgentFileNode[];
28
- selectedPath?: string;
29
- defaultExpandedPaths?: string[];
30
- onSelectFile?: (node: AgentFileNode) => void;
31
- previewActions?: React.ReactNode;
32
- treeClassName?: string;
33
- previewClassName?: string;
34
- }): React.JSX.Element;
35
- export { FilesPreview, ProjectFileTree };
36
- //# sourceMappingURL=files-preview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files-preview.d.ts","sourceRoot":"","sources":["../../src/components/files-preview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAgC,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,OAAO,GACP,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC;AA4EF,iBAAS,eAAe,CAAC,EACvB,KAAK,EACL,YAAY,EACZ,oBAA2C,EAC3C,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CACL,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EACrC,iBAAiB,GAAG,UAAU,GAAG,kBAAkB,GAAG,UAAU,CACjE,GAAG;IACF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,qBAuCA;AA4CD,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,qBA2CA;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1,85 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import * as React from "react";
4
- import { CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, FileIcon, FolderIcon, } from "lucide-react";
5
- import { FileTree, FileTreeFile, FileTreeFolder } from "./ai-elements/file-tree.js";
6
- import { CodeBlock } from "./ai-elements/code-block.js";
7
- import { RedactedNotice, getAgentRedactionText, } from "./artifact-panel.js";
8
- import { Badge } from "./badge.js";
9
- import { FeedbackState } from "./feedback-state.js";
10
- import { cn } from "../lib/utils.js";
11
- const defaultCodeLanguage = "plaintext";
12
- const EMPTY_EXPANDED_PATHS = [];
13
- const fileStatusMeta = {
14
- added: { label: "Added", icon: _jsx(CircleCheckIcon, { className: "size-3" }) },
15
- blocked: { label: "Blocked", icon: _jsx(CircleAlertIcon, { className: "size-3" }) },
16
- deleted: { label: "Deleted", icon: _jsx(CircleDashedIcon, { className: "size-3" }) },
17
- modified: { label: "Modified", icon: _jsx(CircleDotIcon, { className: "size-3" }) },
18
- running: { label: "Running", icon: _jsx(CircleDotIcon, { className: "size-3" }) },
19
- };
20
- function collectNodes(nodes, map = new Map()) {
21
- for (const node of nodes) {
22
- map.set(node.path, node);
23
- if (node.children) {
24
- collectNodes(node.children, map);
25
- }
26
- }
27
- return map;
28
- }
29
- function findFirstFile(nodes) {
30
- for (const node of nodes) {
31
- if (node.type === "file") {
32
- return node;
33
- }
34
- const child = findFirstFile(node.children ?? []);
35
- if (child) {
36
- return child;
37
- }
38
- }
39
- return undefined;
40
- }
41
- function FileStatusBadge({ status }) {
42
- if (!status || status === "unchanged") {
43
- return null;
44
- }
45
- const { icon, label } = fileStatusMeta[status];
46
- return (_jsxs(Badge, { "data-slot": "file-status-badge", variant: "outline", className: "gap-1", children: [icon, label] }));
47
- }
48
- function renderFileNode(node) {
49
- if (node.type === "directory") {
50
- return (_jsx(FileTreeFolder, { path: node.path, name: node.name, children: (node.children ?? []).map(renderFileNode) }, node.id));
51
- }
52
- return (_jsxs(FileTreeFile, { path: node.path, name: node.name, children: [_jsx("span", { className: "size-4 shrink-0" }), _jsx(FileIcon, { className: "size-4 shrink-0 text-muted-foreground" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: node.name }), _jsx(FileStatusBadge, { status: node.status })] }, node.id));
53
- }
54
- function ProjectFileTree({ files, selectedPath, defaultExpandedPaths = EMPTY_EXPANDED_PATHS, expandedPaths, onExpandedPathsChange, onSelectFile, className, ...props }) {
55
- const nodeByPath = React.useMemo(() => collectNodes(files), [files]);
56
- const defaultExpanded = React.useMemo(() => new Set(defaultExpandedPaths), [defaultExpandedPaths]);
57
- const controlledExpanded = React.useMemo(() => (expandedPaths ? new Set(expandedPaths) : undefined), [expandedPaths]);
58
- return (_jsx("div", { "data-slot": "project-file-tree", className: className, children: _jsx(FileTree, { selectedPath: selectedPath, defaultExpanded: defaultExpanded, expanded: controlledExpanded, onExpandedChange: (paths) => onExpandedPathsChange?.([...paths]), onSelect: (path) => {
59
- const node = nodeByPath.get(path);
60
- if (node) {
61
- onSelectFile?.(node);
62
- }
63
- }, ...props, children: files.length > 0 ? (files.map(renderFileNode)) : (_jsx(FeedbackState, { status: "empty", title: "No files", compact: true, className: "rounded-md border-0 bg-transparent" })) }) }));
64
- }
65
- function FilePreviewBody({ file }) {
66
- if (!file) {
67
- return (_jsx(FeedbackState, { status: "empty", title: "No file selected", compact: true, className: "rounded-md border-0 bg-transparent" }));
68
- }
69
- if (file.redaction) {
70
- return _jsx(RedactedNotice, { redaction: file.redaction });
71
- }
72
- if (file.type === "directory") {
73
- return (_jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [_jsx(FolderIcon, { className: "size-4" }), file.description ?? "Directory selected."] }));
74
- }
75
- if (file.content) {
76
- return (_jsx(CodeBlock, { code: file.content, language: file.language ?? defaultCodeLanguage, showLineNumbers: true }));
77
- }
78
- return (_jsx("div", { className: "text-sm text-muted-foreground", children: getAgentRedactionText(file.redaction) ?? file.description ?? "File content is not loaded." }));
79
- }
80
- function FilesPreview({ files, selectedPath, defaultExpandedPaths, onSelectFile, previewActions, className, treeClassName, previewClassName, ...props }) {
81
- const nodeByPath = React.useMemo(() => collectNodes(files), [files]);
82
- const selectedFile = (selectedPath ? nodeByPath.get(selectedPath) : undefined) ?? findFirstFile(files);
83
- return (_jsxs("div", { "data-slot": "files-preview", className: cn("grid gap-4 rounded-lg border bg-background p-3 md:grid-cols-[minmax(14rem,18rem)_1fr]", className), ...props, children: [_jsx(ProjectFileTree, { files: files, selectedPath: selectedFile?.path, defaultExpandedPaths: defaultExpandedPaths, onSelectFile: onSelectFile, className: treeClassName }), _jsxs("section", { "data-slot": "files-preview-panel", className: cn("min-w-0 rounded-md border bg-card", previewClassName), children: [_jsxs("header", { className: "flex items-center justify-between gap-3 border-b px-3 py-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-sm font-medium", children: selectedFile?.name ?? "Preview" }), selectedFile?.path && (_jsx("div", { className: "truncate text-xs text-muted-foreground", children: selectedFile.path }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx(FileStatusBadge, { status: selectedFile?.status }), previewActions] })] }), _jsx("div", { className: "p-3", children: _jsx(FilePreviewBody, { file: selectedFile }) })] })] }));
84
- }
85
- export { FilesPreview, ProjectFileTree };
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- import { useRender } from "@base-ui/react/use-render";
3
- import { type VariantProps } from "class-variance-authority";
4
- declare const markerVariants: (props?: ({
5
- variant?: "separator" | "default" | "border" | null | undefined;
6
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
- declare function Marker({ className, variant, render, ...props }: useRender.ComponentProps<"div"> & VariantProps<typeof markerVariants>): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
8
- declare function MarkerIcon({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
9
- declare function MarkerContent({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
10
- export { Marker, MarkerIcon, MarkerContent, markerVariants };
11
- //# sourceMappingURL=marker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../src/components/marker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;8EAYnB,CAAC;AAEF,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,0EAevE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBASxE;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAW3E;AAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
@@ -1,34 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { mergeProps } from "@base-ui/react/merge-props";
3
- import { useRender } from "@base-ui/react/use-render";
4
- import { cva } from "class-variance-authority";
5
- import { cn } from "../lib/utils.js";
6
- const markerVariants = cva("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", {
7
- variants: {
8
- variant: {
9
- default: "",
10
- separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
11
- border: "border-b border-border pb-2",
12
- },
13
- },
14
- });
15
- function Marker({ className, variant = "default", render, ...props }) {
16
- return useRender({
17
- defaultTagName: "div",
18
- props: mergeProps({
19
- className: cn(markerVariants({ variant, className })),
20
- }, props),
21
- render,
22
- state: {
23
- slot: "marker",
24
- variant,
25
- },
26
- });
27
- }
28
- function MarkerIcon({ className, ...props }) {
29
- return (_jsx("span", { "data-slot": "marker-icon", "aria-hidden": "true", className: cn("size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
30
- }
31
- function MarkerContent({ className, ...props }) {
32
- return (_jsx("span", { "data-slot": "marker-content", className: cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props }));
33
- }
34
- export { Marker, MarkerIcon, MarkerContent, markerVariants };
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import { Button } from "./button";
3
- import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "../lib/message-scroller-primitive/index";
4
- declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>): React.JSX.Element;
5
- declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Root>): React.JSX.Element;
6
- declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>): React.JSX.Element;
7
- declare function MessageScrollerContent({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Content>): React.JSX.Element;
8
- declare function MessageScrollerItem({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Item>): React.JSX.Element;
9
- type MessageScrollerButtonProps = Omit<React.ComponentProps<typeof MessageScrollerPrimitive.Button>, "render"> & {
10
- variant?: React.ComponentProps<typeof Button>["variant"];
11
- size?: React.ComponentProps<typeof Button>["size"];
12
- };
13
- declare function MessageScrollerButton({ className, children, direction, variant, size, ...props }: MessageScrollerButtonProps): React.JSX.Element;
14
- export { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, };
15
- export type { MessageScrollerButtonProps };
16
- export type { MessageScrollerDefaultScrollPosition, MessageScrollerScrollAlign, MessageScrollerScrollable, MessageScrollerScrollOptions, MessageScrollerVisibilityState, } from "../lib/message-scroller-primitive/index";
17
- //# sourceMappingURL=message-scroller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-scroller.d.ts","sourceRoot":"","sources":["../../src/components/message-scroller.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,eAAe,IAAI,wBAAwB,EAC3C,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,kCAAkC,CAAC;AAQ1C,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,QAAQ,CAAC,qBAGtE;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,IAAI,CAAC,qBAW5D;AAED,iBAAS,uBAAuB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,QAAQ,CAAC,qBAWhE;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,OAAO,CAAC,qBAQ/D;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,IAAI,CAAC,qBAW5D;AAED,KAAK,0BAA0B,GAAG,IAAI,CACpC,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,MAAM,CAAC,EAC5D,QAAQ,CACT,GAAG;IACF,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,SAAiB,EACjB,OAAqB,EACrB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,0BAA0B,qBAuB5B;AAED,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,GAC7B,CAAC;AAEF,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C,YAAY,EACV,oCAAoC,EACpC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC"}
@@ -1,29 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { ArrowDownIcon } from "lucide-react";
4
- import { Button } from "./button.js";
5
- import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, } from "../lib/message-scroller-primitive/index.js";
6
- import { cn } from "../lib/utils.js";
7
- // Headless behavior (viewport ref, follow-bottom, visibility, scroll commands)
8
- // lives in the vendored primitive under ../lib/message-scroller-primitive. This file
9
- // is the styled brand wrapper: data-slots plus token-only classes over each
10
- // primitive part.
11
- function MessageScrollerProvider(props) {
12
- return _jsx(MessageScrollerPrimitive.Provider, { ...props });
13
- }
14
- function MessageScroller({ className, ...props }) {
15
- return (_jsx(MessageScrollerPrimitive.Root, { "data-slot": "message-scroller", className: cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className), ...props }));
16
- }
17
- function MessageScrollerViewport({ className, ...props }) {
18
- return (_jsx(MessageScrollerPrimitive.Viewport, { "data-slot": "message-scroller-viewport", className: cn("scroll-fade-b size-full min-h-0 min-w-0 overflow-y-auto overscroll-contain contain-content", className), ...props }));
19
- }
20
- function MessageScrollerContent({ className, ...props }) {
21
- return (_jsx(MessageScrollerPrimitive.Content, { "data-slot": "message-scroller-content", className: cn("flex h-max min-h-full flex-col gap-6", className), ...props }));
22
- }
23
- function MessageScrollerItem({ className, ...props }) {
24
- return (_jsx(MessageScrollerPrimitive.Item, { "data-slot": "message-scroller-item", className: cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className), ...props }));
25
- }
26
- function MessageScrollerButton({ className, children, direction = "end", variant = "secondary", size = "icon-sm", ...props }) {
27
- return (_jsx(MessageScrollerPrimitive.Button, { direction: direction, "data-slot": "message-scroller-button", "data-direction": direction, render: _jsx(Button, { variant: variant, size: size }), className: cn("absolute bottom-4 left-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-[var(--nc-duration-open)] ease-[var(--nc-ease-out-strong)] hover:bg-muted hover:text-foreground motion-reduce:transition-none data-[active=false]:pointer-events-none data-[active=false]:scale-[0.98] data-[active=false]:opacity-0 data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:bottom-auto data-[direction=start]:data-[active=false]:-translate-y-full data-[direction=start]:[&_svg]:rotate-180", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(ArrowDownIcon, { "data-icon": true }), _jsx("span", { className: "sr-only", children: direction === "end" ? "Scroll to end" : "Scroll to start" })] })) }));
28
- }
29
- export { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, };
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- declare function MessageGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
3
- declare function Message({ className, align, ...props }: React.ComponentProps<"div"> & {
4
- align?: "start" | "end";
5
- }): React.JSX.Element;
6
- declare function MessageAvatar({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
7
- declare function MessageContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
8
- declare function MessageHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
9
- declare function MessageFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
- export { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };
11
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQzE;AAED,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,KAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,qBAY3D;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW3E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils.js";
3
- function MessageGroup({ className, ...props }) {
4
- return (_jsx("div", { "data-slot": "message-group", className: cn("flex min-w-0 flex-col gap-2", className), ...props }));
5
- }
6
- function Message({ className, align = "start", ...props }) {
7
- return (_jsx("div", { "data-slot": "message", "data-align": align, className: cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className), ...props }));
8
- }
9
- function MessageAvatar({ className, ...props }) {
10
- return (_jsx("div", { "data-slot": "message-avatar", className: cn("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className), ...props }));
11
- }
12
- function MessageContent({ className, ...props }) {
13
- return (_jsx("div", { "data-slot": "message-content", className: cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className), ...props }));
14
- }
15
- function MessageHeader({ className, ...props }) {
16
- return (_jsx("div", { "data-slot": "message-header", className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className), ...props }));
17
- }
18
- function MessageFooter({ className, ...props }) {
19
- return (_jsx("div", { "data-slot": "message-footer", className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className), ...props }));
20
- }
21
- export { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };
@@ -1,13 +0,0 @@
1
- import * as React from "react";
2
- import type { AgentWorkState } from "./agent-message";
3
- declare function StateNotice({ state, icon: Icon, title, description, actions, className, ...props }: {
4
- state: Exclude<AgentWorkState, "empty" | "idle">;
5
- icon: React.ComponentType<{
6
- className?: string;
7
- }>;
8
- title: React.ReactNode;
9
- description?: React.ReactNode;
10
- actions?: React.ReactNode;
11
- } & Omit<React.ComponentProps<"div">, "title">): React.JSX.Element;
12
- export { StateNotice };
13
- //# sourceMappingURL=state-notice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-notice.d.ts","sourceRoot":"","sources":["../../src/components/state-notice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,iBAAS,WAAW,CAAC,EACnB,KAAK,EACL,IAAI,EAAE,IAAI,EACV,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAsB7C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { statePresentation } from "../lib/agent-work-state.js";
3
- import { cn } from "../lib/utils.js";
4
- function StateNotice({ state, icon: Icon, title, description, actions, className, ...props }) {
5
- const { role, busy } = statePresentation(state);
6
- return (_jsxs("div", { "data-agent-state": state, role: role, className: cn("flex flex-wrap items-center gap-3 border bg-muted/30 text-sm", className), ...props, children: [_jsx(Icon, { className: cn("size-4 text-muted-foreground", busy && "motion-safe:animate-spin motion-reduce:animate-pulse") }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "font-medium", children: title }), description && _jsx("div", { className: "text-muted-foreground", children: description })] }), actions] }));
7
- }
8
- export { StateNotice };
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
- import { type DemoSurfaceLabels, type DemoSurfaceScript } from "./demo-surface";
3
- declare function WatchItWorkBand({ kicker, title, lead, primaryDemo, secondaryDemo, demoLabels, className, ...props }: React.ComponentProps<"div"> & {
4
- kicker?: string;
5
- title?: string;
6
- lead?: string;
7
- primaryDemo?: DemoSurfaceScript;
8
- secondaryDemo?: DemoSurfaceScript;
9
- demoLabels?: Partial<DemoSurfaceLabels>;
10
- }): React.JSX.Element;
11
- export { WatchItWorkBand };
12
- //# sourceMappingURL=watch-it-work-band.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watch-it-work-band.d.ts","sourceRoot":"","sources":["../../src/components/watch-it-work-band.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAe,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE7F,iBAAS,eAAe,CAAC,EACvB,MAAgC,EAChC,KAAuB,EACvB,IAAI,EACJ,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC,qBAsBA;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SeamGrid } from "./seam-grid.js";
3
- import { Bento, BentoItem } from "./bento.js";
4
- import { DemoSurface } from "./demo-surface.js";
5
- function WatchItWorkBand({ kicker = "Product demonstration", title = "Watch it work", lead, primaryDemo, secondaryDemo, demoLabels, className, ...props }) {
6
- return (_jsx(SeamGrid, { "data-slot": "watch-it-work-band", className: className, ...props, children: _jsxs(Bento, { children: [_jsxs(BentoItem, { span: 4, children: [_jsx("p", { className: "nc-type-caption-mono text-muted-foreground uppercase", children: kicker }), _jsx("h2", { className: "nc-type-title-md text-foreground", children: title }), lead ? _jsx("p", { className: "nc-type-body-md text-muted-foreground", children: lead }) : null] }), primaryDemo ? (_jsx(BentoItem, { span: 4, surface: "soft", stretch: true, className: "p-[var(--nc-sm)]", children: _jsx(DemoSurface, { labels: demoLabels, script: primaryDemo, title: "Conversation" }) })) : null, secondaryDemo ? (_jsx(BentoItem, { span: 4, surface: "soft", stretch: true, className: "p-[var(--nc-sm)]", children: _jsx(DemoSurface, { labels: demoLabels, script: secondaryDemo, title: "Screen" }) })) : null] }) }));
7
- }
8
- export { WatchItWorkBand };
@@ -1,9 +0,0 @@
1
- type SetStateAction<T> = T | ((previousValue: T) => T);
2
- type UseControllableStateParams<T> = {
3
- defaultProp?: T;
4
- onChange?: (value: T) => void;
5
- prop?: T;
6
- };
7
- declare function useControllableState<T>({ defaultProp, onChange, prop }: UseControllableStateParams<T>): readonly [T, (nextValue: SetStateAction<T>) => void];
8
- export { useControllableState };
9
- //# sourceMappingURL=use-controllable-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-controllable-state.d.ts","sourceRoot":"","sources":["../../src/hooks/use-controllable-state.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvD,KAAK,0BAA0B,CAAC,CAAC,IAAI;IACnC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC,4BAW/E,cAAc,CAAC,CAAC,CAAC,WAkBhC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,23 +0,0 @@
1
- "use client";
2
- import * as React from "react";
3
- function useControllableState({ defaultProp, onChange, prop }) {
4
- const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultProp);
5
- const isControlled = prop !== undefined;
6
- const value = isControlled ? prop : uncontrolledValue;
7
- const onChangeRef = React.useRef(onChange);
8
- React.useEffect(() => {
9
- onChangeRef.current = onChange;
10
- }, [onChange]);
11
- const setValue = React.useCallback((nextValue) => {
12
- const resolvedValue = typeof nextValue === "function" ? nextValue(value) : nextValue;
13
- if (Object.is(value, resolvedValue)) {
14
- return;
15
- }
16
- if (!isControlled) {
17
- setUncontrolledValue(resolvedValue);
18
- }
19
- onChangeRef.current?.(resolvedValue);
20
- }, [isControlled, value]);
21
- return [value, setValue];
22
- }
23
- export { useControllableState };
@@ -1,11 +0,0 @@
1
- import type { AttachmentData } from "../components/ai-elements/attachments";
2
- type AgentAttachmentDataInput = {
3
- id: string;
4
- type: "file" | "image" | "audio" | "video" | "source";
5
- name: string;
6
- mediaType?: string;
7
- url?: string;
8
- };
9
- declare function agentAttachmentToData(attachment: AgentAttachmentDataInput): AttachmentData;
10
- export { agentAttachmentToData };
11
- //# sourceMappingURL=agent-attachment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-attachment.d.ts","sourceRoot":"","sources":["../../src/lib/agent-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,iBAAS,qBAAqB,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc,CAkBnF;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,19 +0,0 @@
1
- function agentAttachmentToData(attachment) {
2
- if (attachment.type === "source") {
3
- return {
4
- filename: attachment.name,
5
- id: attachment.id,
6
- mediaType: attachment.mediaType ?? "text/plain",
7
- title: attachment.name,
8
- type: "source-document",
9
- };
10
- }
11
- return {
12
- filename: attachment.name,
13
- id: attachment.id,
14
- mediaType: attachment.mediaType,
15
- type: "file",
16
- url: attachment.url,
17
- };
18
- }
19
- export { agentAttachmentToData };
@@ -1,132 +0,0 @@
1
- export type AgentApprovalChoice = "run" | "deny" | "session" | "always";
2
- export type AgentApprovalAlias = "approve-once" | "reject" | "approve-session" | "approve-always";
3
- export declare const agentApprovalAliases: {
4
- readonly always: "approve-always";
5
- readonly deny: "reject";
6
- readonly run: "approve-once";
7
- readonly session: "approve-session";
8
- };
9
- export interface AgentApprovalRequest {
10
- /** False when the backend cannot honor a permanent approval. */
11
- allowPermanent?: boolean;
12
- command: string;
13
- description: string;
14
- }
15
- export interface AgentClarifyRequest {
16
- choices: string[] | null;
17
- /** Whether the user may provide an answer outside the listed choices. */
18
- otherAllowed: boolean;
19
- question: string;
20
- }
21
- export type AgentTodoStatus = "pending" | "in_progress" | "completed" | "cancelled";
22
- export interface AgentTodoItem {
23
- content: string;
24
- id: string;
25
- status: AgentTodoStatus;
26
- }
27
- export interface AgentModelPricing {
28
- /** Formatted cached-input price, or null when unavailable. */
29
- cache: string | null;
30
- free: boolean;
31
- /** Formatted input price per million tokens. */
32
- input: string;
33
- /** Formatted output price per million tokens. */
34
- output: string;
35
- }
36
- export interface AgentModelOptionProvider {
37
- authenticated?: boolean;
38
- auth_type?: string;
39
- free_tier?: boolean;
40
- is_current?: boolean;
41
- is_user_defined?: boolean;
42
- key_env?: string;
43
- models?: string[];
44
- name: string;
45
- pricing?: Record<string, AgentModelPricing>;
46
- slug: string;
47
- total_models?: number;
48
- /** Model ids locked for the current free-tier account. */
49
- unavailable_models?: string[];
50
- warning?: string;
51
- }
52
- export interface AgentModelOptions {
53
- model?: string;
54
- provider?: string;
55
- providers?: AgentModelOptionProvider[];
56
- }
57
- export interface AgentSessionListItem {
58
- active: boolean;
59
- id: string;
60
- preview: string | null;
61
- title: string | null;
62
- }
63
- export type AgentSubagentStatus = "completed" | "error" | "failed" | "interrupted" | "queued" | "running" | "timeout";
64
- export interface AgentSubagentOutputEntry {
65
- isError: boolean;
66
- preview: string;
67
- tool: string;
68
- }
69
- export interface AgentSubagentProgress {
70
- apiCalls?: number;
71
- costUsd?: number;
72
- depth: number;
73
- durationSeconds?: number;
74
- filesRead?: string[];
75
- filesWritten?: string[];
76
- goal: string;
77
- id: string;
78
- index: number;
79
- inputTokens?: number;
80
- iteration?: number;
81
- model?: string;
82
- notes: string[];
83
- outputTail?: AgentSubagentOutputEntry[];
84
- outputTokens?: number;
85
- parentId: null | string;
86
- reasoningTokens?: number;
87
- startedAt?: number;
88
- status: AgentSubagentStatus;
89
- summary?: string;
90
- taskCount: number;
91
- thinking: string[];
92
- toolCount: number;
93
- tools: string[];
94
- toolsets?: string[];
95
- }
96
- export interface AgentSubagentAggregate {
97
- activeCount: number;
98
- costUsd: number;
99
- descendantCount: number;
100
- filesTouched: number;
101
- hotness: number;
102
- inputTokens: number;
103
- maxDepthFromHere: number;
104
- outputTokens: number;
105
- totalDuration: number;
106
- totalTools: number;
107
- }
108
- export interface AgentSubagentNode {
109
- aggregate: AgentSubagentAggregate;
110
- children: AgentSubagentNode[];
111
- item: AgentSubagentProgress;
112
- }
113
- export type AgentDiffLineKind = "add" | "remove" | "context";
114
- export interface AgentDiffLine {
115
- kind: AgentDiffLineKind;
116
- newNo?: number;
117
- oldNo?: number;
118
- text: string;
119
- }
120
- export interface AgentDiffFile {
121
- lines: AgentDiffLine[];
122
- path: string;
123
- }
124
- export type AgentQueuedMessage = string;
125
- export type AgentQueue = AgentQueuedMessage[];
126
- export interface AgentUsage {
127
- cap: number;
128
- currency: string;
129
- period: string;
130
- spent: number;
131
- }
132
- //# sourceMappingURL=agent-contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-contracts.d.ts","sourceRoot":"","sources":["../../src/lib/agent-contracts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export const agentApprovalAliases = {
2
- always: "approve-always",
3
- deny: "reject",
4
- run: "approve-once",
5
- session: "approve-session",
6
- };
@@ -1,22 +0,0 @@
1
- export interface AgentQueueWindow<T> {
2
- end: number;
3
- hasEarlier: boolean;
4
- hasLater: boolean;
5
- start: number;
6
- window: T[];
7
- }
8
- export declare function getAgentQueueWindow<T>(items: readonly T[], activeIndex: number | null, windowSize?: number): AgentQueueWindow<T>;
9
- export interface AgentStreamingSplit {
10
- stablePrefix: string;
11
- unstableSuffix: string;
12
- }
13
- export declare function splitAgentStreamingMarkdown(text: string, previousStablePrefix?: string): AgentStreamingSplit;
14
- export interface AgentRenderBudgetMessage {
15
- weight: number;
16
- }
17
- export interface AgentRenderBudgetWindow<T> {
18
- hasEarlier: boolean;
19
- window: T[];
20
- }
21
- export declare function windowAgentMessagesByBudget<T extends AgentRenderBudgetMessage>(messages: readonly T[], budget: number): AgentRenderBudgetWindow<T>;
22
- //# sourceMappingURL=agent-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-state.d.ts","sourceRoot":"","sources":["../../src/lib/agent-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,CAAC;CACb;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,SAAI,GACb,gBAAgB,CAAC,CAAC,CAAC,CAerB;AAmED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,oBAAoB,SAAK,GACxB,mBAAmB,CAYrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC;CACb;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,EAC5E,QAAQ,EAAE,SAAS,CAAC,EAAE,EACtB,MAAM,EAAE,MAAM,GACb,uBAAuB,CAAC,CAAC,CAAC,CAiB5B"}