@agentuity/workbench 0.0.64 → 0.0.65

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 (405) hide show
  1. package/dist/components/App.d.ts +6 -0
  2. package/dist/components/App.d.ts.map +1 -0
  3. package/dist/components/App.js +13 -0
  4. package/dist/components/App.js.map +1 -0
  5. package/dist/components/ConnectionStatus.d.ts +7 -0
  6. package/dist/components/ConnectionStatus.d.ts.map +1 -0
  7. package/dist/components/ConnectionStatus.js +52 -0
  8. package/dist/components/ConnectionStatus.js.map +1 -0
  9. package/dist/components/Inline.d.ts +10 -0
  10. package/dist/components/Inline.d.ts.map +1 -0
  11. package/dist/components/Inline.js +11 -0
  12. package/dist/components/Inline.js.map +1 -0
  13. package/dist/components/ai-elements/actions.d.ts +10 -0
  14. package/dist/components/ai-elements/actions.d.ts.map +1 -0
  15. package/dist/components/ai-elements/actions.js +14 -0
  16. package/dist/components/ai-elements/actions.js.map +1 -0
  17. package/dist/components/ai-elements/artifact.d.ts +24 -0
  18. package/dist/components/ai-elements/artifact.d.ts.map +1 -0
  19. package/dist/components/ai-elements/artifact.js +21 -0
  20. package/dist/components/ai-elements/artifact.js.map +1 -0
  21. package/dist/components/ai-elements/branch.d.ts +21 -0
  22. package/dist/components/ai-elements/branch.d.ts.map +1 -0
  23. package/dist/components/ai-elements/branch.js +71 -0
  24. package/dist/components/ai-elements/branch.js.map +1 -0
  25. package/dist/components/ai-elements/canvas.d.ts +9 -0
  26. package/dist/components/ai-elements/canvas.d.ts.map +1 -0
  27. package/dist/components/ai-elements/canvas.js +6 -0
  28. package/dist/components/ai-elements/canvas.js.map +1 -0
  29. package/dist/components/ai-elements/chain-of-thought.d.ts +30 -0
  30. package/dist/components/ai-elements/chain-of-thought.d.ts.map +1 -0
  31. package/dist/components/ai-elements/chain-of-thought.js +52 -0
  32. package/dist/components/ai-elements/chain-of-thought.js.map +1 -0
  33. package/dist/components/ai-elements/code-block.d.ts +18 -0
  34. package/dist/components/ai-elements/code-block.d.ts.map +1 -0
  35. package/dist/components/ai-elements/code-block.js +89 -0
  36. package/dist/components/ai-elements/code-block.js.map +1 -0
  37. package/dist/components/ai-elements/confirmation.d.ts +27 -0
  38. package/dist/components/ai-elements/confirmation.d.ts.map +1 -0
  39. package/dist/components/ai-elements/confirmation.js +57 -0
  40. package/dist/components/ai-elements/confirmation.js.map +1 -0
  41. package/dist/components/ai-elements/connection.d.ts +3 -0
  42. package/dist/components/ai-elements/connection.d.ts.map +1 -0
  43. package/dist/components/ai-elements/connection.js +4 -0
  44. package/dist/components/ai-elements/connection.js.map +1 -0
  45. package/dist/components/ai-elements/context.d.ts +33 -0
  46. package/dist/components/ai-elements/context.d.ts.map +1 -0
  47. package/dist/components/ai-elements/context.js +167 -0
  48. package/dist/components/ai-elements/context.js.map +1 -0
  49. package/dist/components/ai-elements/controls.d.ts +5 -0
  50. package/dist/components/ai-elements/controls.d.ts.map +1 -0
  51. package/dist/components/ai-elements/controls.js +6 -0
  52. package/dist/components/ai-elements/controls.js.map +1 -0
  53. package/dist/components/ai-elements/conversation.d.ts +16 -0
  54. package/dist/components/ai-elements/conversation.d.ts.map +1 -0
  55. package/dist/components/ai-elements/conversation.js +18 -0
  56. package/dist/components/ai-elements/conversation.js.map +1 -0
  57. package/dist/components/ai-elements/edge.d.ts +6 -0
  58. package/dist/components/ai-elements/edge.d.ts.map +1 -0
  59. package/dist/components/ai-elements/edge.js +83 -0
  60. package/dist/components/ai-elements/edge.js.map +1 -0
  61. package/dist/components/ai-elements/image.d.ts +7 -0
  62. package/dist/components/ai-elements/image.d.ts.map +1 -0
  63. package/dist/components/ai-elements/image.js +4 -0
  64. package/dist/components/ai-elements/image.js.map +1 -0
  65. package/dist/components/ai-elements/inline-citation.d.ts +39 -0
  66. package/dist/components/ai-elements/inline-citation.d.ts.map +1 -0
  67. package/dist/components/ai-elements/inline-citation.js +62 -0
  68. package/dist/components/ai-elements/inline-citation.js.map +1 -0
  69. package/dist/components/ai-elements/loader.d.ts +6 -0
  70. package/dist/components/ai-elements/loader.d.ts.map +1 -0
  71. package/dist/components/ai-elements/loader.js +5 -0
  72. package/dist/components/ai-elements/loader.js.map +1 -0
  73. package/dist/components/ai-elements/message.d.ts +20 -0
  74. package/dist/components/ai-elements/message.d.ts.map +1 -0
  75. package/dist/components/ai-elements/message.js +26 -0
  76. package/dist/components/ai-elements/message.js.map +1 -0
  77. package/dist/components/ai-elements/node.d.ts +22 -0
  78. package/dist/components/ai-elements/node.d.ts.map +1 -0
  79. package/dist/components/ai-elements/node.js +12 -0
  80. package/dist/components/ai-elements/node.js.map +1 -0
  81. package/dist/components/ai-elements/open-in-chat.d.ts +29 -0
  82. package/dist/components/ai-elements/open-in-chat.d.ts.map +1 -0
  83. package/dist/components/ai-elements/open-in-chat.js +97 -0
  84. package/dist/components/ai-elements/open-in-chat.js.map +1 -0
  85. package/dist/components/ai-elements/panel.d.ts +6 -0
  86. package/dist/components/ai-elements/panel.d.ts.map +1 -0
  87. package/dist/components/ai-elements/panel.js +5 -0
  88. package/dist/components/ai-elements/panel.js.map +1 -0
  89. package/dist/components/ai-elements/plan.d.ts +26 -0
  90. package/dist/components/ai-elements/plan.d.ts.map +1 -0
  91. package/dist/components/ai-elements/plan.js +32 -0
  92. package/dist/components/ai-elements/plan.js.map +1 -0
  93. package/dist/components/ai-elements/prompt-input.d.ts +187 -0
  94. package/dist/components/ai-elements/prompt-input.d.ts.map +1 -0
  95. package/dist/components/ai-elements/prompt-input.js +544 -0
  96. package/dist/components/ai-elements/prompt-input.js.map +1 -0
  97. package/dist/components/ai-elements/queue.d.ts +62 -0
  98. package/dist/components/ai-elements/queue.d.ts.map +1 -0
  99. package/dist/components/ai-elements/queue.js +25 -0
  100. package/dist/components/ai-elements/queue.js.map +1 -0
  101. package/dist/components/ai-elements/reasoning.d.ts +17 -0
  102. package/dist/components/ai-elements/reasoning.d.ts.map +1 -0
  103. package/dist/components/ai-elements/reasoning.js +77 -0
  104. package/dist/components/ai-elements/reasoning.js.map +1 -0
  105. package/dist/components/ai-elements/response.d.ts +6 -0
  106. package/dist/components/ai-elements/response.d.ts.map +1 -0
  107. package/dist/components/ai-elements/response.js +8 -0
  108. package/dist/components/ai-elements/response.js.map +1 -0
  109. package/dist/components/ai-elements/shimmer.d.ts +10 -0
  110. package/dist/components/ai-elements/shimmer.d.ts.map +1 -0
  111. package/dist/components/ai-elements/shimmer.js +19 -0
  112. package/dist/components/ai-elements/shimmer.js.map +1 -0
  113. package/dist/components/ai-elements/sources.d.ts +13 -0
  114. package/dist/components/ai-elements/sources.d.ts.map +1 -0
  115. package/dist/components/ai-elements/sources.js +10 -0
  116. package/dist/components/ai-elements/sources.js.map +1 -0
  117. package/dist/components/ai-elements/suggestion.d.ts +11 -0
  118. package/dist/components/ai-elements/suggestion.d.ts.map +1 -0
  119. package/dist/components/ai-elements/suggestion.js +13 -0
  120. package/dist/components/ai-elements/suggestion.js.map +1 -0
  121. package/dist/components/ai-elements/task.d.ts +15 -0
  122. package/dist/components/ai-elements/task.d.ts.map +1 -0
  123. package/dist/components/ai-elements/task.js +11 -0
  124. package/dist/components/ai-elements/task.js.map +1 -0
  125. package/dist/components/ai-elements/tool.d.ts +24 -0
  126. package/dist/components/ai-elements/tool.d.ts.map +1 -0
  127. package/dist/components/ai-elements/tool.js +47 -0
  128. package/dist/components/ai-elements/tool.js.map +1 -0
  129. package/dist/components/ai-elements/toolbar.d.ts +6 -0
  130. package/dist/components/ai-elements/toolbar.d.ts.map +1 -0
  131. package/dist/components/ai-elements/toolbar.js +5 -0
  132. package/dist/components/ai-elements/toolbar.js.map +1 -0
  133. package/dist/components/ai-elements/web-preview.d.ts +35 -0
  134. package/dist/components/ai-elements/web-preview.d.ts.map +1 -0
  135. package/dist/components/ai-elements/web-preview.js +63 -0
  136. package/dist/components/ai-elements/web-preview.js.map +1 -0
  137. package/dist/components/internal/Chat.d.ts +11 -0
  138. package/dist/components/internal/Chat.d.ts.map +1 -0
  139. package/dist/components/internal/Chat.js +52 -0
  140. package/dist/components/internal/Chat.js.map +1 -0
  141. package/dist/components/internal/Header.d.ts +10 -0
  142. package/dist/components/internal/Header.d.ts.map +1 -0
  143. package/dist/components/internal/Header.js +31 -0
  144. package/dist/components/internal/Header.js.map +1 -0
  145. package/dist/components/internal/InputSection.d.ts +14 -0
  146. package/dist/components/internal/InputSection.d.ts.map +1 -0
  147. package/dist/components/internal/InputSection.js +212 -0
  148. package/dist/components/internal/InputSection.js.map +1 -0
  149. package/dist/components/internal/Schema.d.ts +7 -0
  150. package/dist/components/internal/Schema.d.ts.map +1 -0
  151. package/dist/components/internal/Schema.js +14 -0
  152. package/dist/components/internal/Schema.js.map +1 -0
  153. package/dist/components/internal/WorkbenchProvider.d.ts +11 -0
  154. package/dist/components/internal/WorkbenchProvider.d.ts.map +1 -0
  155. package/dist/components/internal/WorkbenchProvider.js +224 -0
  156. package/dist/components/internal/WorkbenchProvider.js.map +1 -0
  157. package/dist/components/internal/logo.d.ts +2 -0
  158. package/dist/components/internal/logo.d.ts.map +1 -0
  159. package/dist/components/internal/logo.js +5 -0
  160. package/dist/components/internal/logo.js.map +1 -0
  161. package/dist/components/ui/alert.d.ts +10 -0
  162. package/dist/components/ui/alert.d.ts.map +1 -0
  163. package/dist/components/ui/alert.js +25 -0
  164. package/dist/components/ui/alert.js.map +1 -0
  165. package/dist/components/ui/avatar.d.ts +7 -0
  166. package/dist/components/ui/avatar.d.ts.map +1 -0
  167. package/dist/components/ui/avatar.js +14 -0
  168. package/dist/components/ui/avatar.js.map +1 -0
  169. package/dist/components/ui/badge.d.ts +10 -0
  170. package/dist/components/ui/badge.d.ts.map +1 -0
  171. package/dist/components/ui/badge.js +23 -0
  172. package/dist/components/ui/badge.js.map +1 -0
  173. package/dist/components/ui/button.d.ts +3 -4
  174. package/dist/components/ui/button.d.ts.map +1 -1
  175. package/dist/components/ui/button.js.map +1 -1
  176. package/dist/components/ui/card.d.ts +2 -1
  177. package/dist/components/ui/card.d.ts.map +1 -1
  178. package/dist/components/ui/card.js +4 -1
  179. package/dist/components/ui/card.js.map +1 -1
  180. package/dist/components/ui/carousel.d.ts +20 -0
  181. package/dist/components/ui/carousel.d.ts.map +1 -0
  182. package/dist/components/ui/carousel.js +92 -0
  183. package/dist/components/ui/carousel.js.map +1 -0
  184. package/dist/components/ui/checkbox.d.ts +5 -0
  185. package/dist/components/ui/checkbox.d.ts.map +1 -0
  186. package/dist/components/ui/checkbox.js +9 -0
  187. package/dist/components/ui/checkbox.js.map +1 -0
  188. package/dist/components/ui/collapsible.d.ts +6 -0
  189. package/dist/components/ui/collapsible.d.ts.map +1 -0
  190. package/dist/components/ui/collapsible.js +14 -0
  191. package/dist/components/ui/collapsible.js.map +1 -0
  192. package/dist/components/ui/command.d.ts +19 -0
  193. package/dist/components/ui/command.d.ts.map +1 -0
  194. package/dist/components/ui/command.js +34 -0
  195. package/dist/components/ui/command.js.map +1 -0
  196. package/dist/components/ui/dialog.d.ts +16 -0
  197. package/dist/components/ui/dialog.d.ts.map +1 -0
  198. package/dist/components/ui/dialog.js +36 -0
  199. package/dist/components/ui/dialog.js.map +1 -0
  200. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  201. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  202. package/dist/components/ui/dropdown-menu.js +52 -0
  203. package/dist/components/ui/dropdown-menu.js.map +1 -0
  204. package/dist/components/ui/field.d.ts +25 -0
  205. package/dist/components/ui/field.d.ts.map +1 -0
  206. package/dist/components/ui/field.js +74 -0
  207. package/dist/components/ui/field.js.map +1 -0
  208. package/dist/components/ui/form.d.ts +25 -0
  209. package/dist/components/ui/form.d.ts.map +1 -0
  210. package/dist/components/ui/form.js +58 -0
  211. package/dist/components/ui/form.js.map +1 -0
  212. package/dist/components/ui/hover-card.d.ts +7 -0
  213. package/dist/components/ui/hover-card.d.ts.map +1 -0
  214. package/dist/components/ui/hover-card.js +14 -0
  215. package/dist/components/ui/hover-card.js.map +1 -0
  216. package/dist/components/ui/input-group.d.ts +17 -0
  217. package/dist/components/ui/input-group.d.ts.map +1 -0
  218. package/dist/components/ui/input-group.js +64 -0
  219. package/dist/components/ui/input-group.js.map +1 -0
  220. package/dist/components/ui/input.d.ts +1 -2
  221. package/dist/components/ui/input.d.ts.map +1 -1
  222. package/dist/components/ui/input.js +3 -5
  223. package/dist/components/ui/input.js.map +1 -1
  224. package/dist/components/ui/label.d.ts +5 -0
  225. package/dist/components/ui/label.d.ts.map +1 -0
  226. package/dist/components/ui/label.js +9 -0
  227. package/dist/components/ui/label.js.map +1 -0
  228. package/dist/components/ui/popover.d.ts +8 -0
  229. package/dist/components/ui/popover.d.ts.map +1 -0
  230. package/dist/components/ui/popover.js +18 -0
  231. package/dist/components/ui/popover.js.map +1 -0
  232. package/dist/components/ui/progress.d.ts +5 -0
  233. package/dist/components/ui/progress.d.ts.map +1 -0
  234. package/dist/components/ui/progress.js +9 -0
  235. package/dist/components/ui/progress.js.map +1 -0
  236. package/dist/components/ui/resizable-provider.d.ts +15 -0
  237. package/dist/components/ui/resizable-provider.d.ts.map +1 -0
  238. package/dist/components/ui/resizable-provider.js +54 -0
  239. package/dist/components/ui/resizable-provider.js.map +1 -0
  240. package/dist/components/ui/resizable.d.ts +9 -0
  241. package/dist/components/ui/resizable.d.ts.map +1 -0
  242. package/dist/components/ui/resizable.js +16 -0
  243. package/dist/components/ui/resizable.js.map +1 -0
  244. package/dist/components/ui/scroll-area.d.ts +6 -0
  245. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  246. package/dist/components/ui/scroll-area.js +11 -0
  247. package/dist/components/ui/scroll-area.js.map +1 -0
  248. package/dist/components/ui/select.d.ts +16 -0
  249. package/dist/components/ui/select.d.ts.map +1 -0
  250. package/dist/components/ui/select.js +39 -0
  251. package/dist/components/ui/select.js.map +1 -0
  252. package/dist/components/ui/separator.d.ts +5 -0
  253. package/dist/components/ui/separator.d.ts.map +1 -0
  254. package/dist/components/ui/separator.js +9 -0
  255. package/dist/components/ui/separator.js.map +1 -0
  256. package/dist/components/ui/switch.d.ts +5 -0
  257. package/dist/components/ui/switch.d.ts.map +1 -0
  258. package/dist/components/ui/switch.js +8 -0
  259. package/dist/components/ui/switch.js.map +1 -0
  260. package/dist/components/ui/tabs.d.ts +8 -0
  261. package/dist/components/ui/tabs.d.ts.map +1 -0
  262. package/dist/components/ui/tabs.js +17 -0
  263. package/dist/components/ui/tabs.js.map +1 -0
  264. package/dist/components/ui/textarea.d.ts +4 -0
  265. package/dist/components/ui/textarea.d.ts.map +1 -0
  266. package/dist/components/ui/textarea.js +7 -0
  267. package/dist/components/ui/textarea.js.map +1 -0
  268. package/dist/components/ui/theme-provider.d.ts +14 -0
  269. package/dist/components/ui/theme-provider.d.ts.map +1 -0
  270. package/dist/components/ui/theme-provider.js +37 -0
  271. package/dist/components/ui/theme-provider.js.map +1 -0
  272. package/dist/components/ui/theme-toggle.d.ts +2 -0
  273. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  274. package/dist/components/ui/theme-toggle.js +10 -0
  275. package/dist/components/ui/theme-toggle.js.map +1 -0
  276. package/dist/components/ui/toggle.d.ts +10 -0
  277. package/dist/components/ui/toggle.d.ts.map +1 -0
  278. package/dist/components/ui/toggle.js +26 -0
  279. package/dist/components/ui/toggle.js.map +1 -0
  280. package/dist/components/ui/tooltip.d.ts +8 -0
  281. package/dist/components/ui/tooltip.d.ts.map +1 -0
  282. package/dist/components/ui/tooltip.js +17 -0
  283. package/dist/components/ui/tooltip.js.map +1 -0
  284. package/dist/components.d.ts +10 -6
  285. package/dist/components.d.ts.map +1 -1
  286. package/dist/components.js +11 -36
  287. package/dist/components.js.map +1 -1
  288. package/dist/hooks/index.d.ts +6 -0
  289. package/dist/hooks/index.d.ts.map +1 -0
  290. package/dist/hooks/index.js +4 -0
  291. package/dist/hooks/index.js.map +1 -0
  292. package/dist/hooks/useAgentSchemas.d.ts +70 -0
  293. package/dist/hooks/useAgentSchemas.d.ts.map +1 -0
  294. package/dist/hooks/useAgentSchemas.js +90 -0
  295. package/dist/hooks/useAgentSchemas.js.map +1 -0
  296. package/dist/hooks/useWorkbenchSchemas.d.ts +56 -0
  297. package/dist/hooks/useWorkbenchSchemas.d.ts.map +1 -0
  298. package/dist/hooks/useWorkbenchSchemas.js +63 -0
  299. package/dist/hooks/useWorkbenchSchemas.js.map +1 -0
  300. package/dist/hooks/useWorkbenchWebsocket.d.ts +14 -0
  301. package/dist/hooks/useWorkbenchWebsocket.d.ts.map +1 -0
  302. package/dist/hooks/useWorkbenchWebsocket.js +163 -0
  303. package/dist/hooks/useWorkbenchWebsocket.js.map +1 -0
  304. package/dist/index.d.ts +3 -3
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js +4 -5
  307. package/dist/index.js.map +1 -1
  308. package/dist/server.d.ts +3 -0
  309. package/dist/server.d.ts.map +1 -0
  310. package/dist/server.js +5 -0
  311. package/dist/server.js.map +1 -0
  312. package/dist/styles.css +3423 -196
  313. package/dist/types/config.d.ts +29 -0
  314. package/dist/types/config.d.ts.map +1 -0
  315. package/dist/types/config.js +2 -0
  316. package/dist/types/config.js.map +1 -0
  317. package/dist/types.d.ts +1 -1
  318. package/dist/types.d.ts.map +1 -1
  319. package/dist/workbench.d.ts +1 -2
  320. package/dist/workbench.d.ts.map +1 -1
  321. package/dist/workbench.js +0 -2
  322. package/dist/workbench.js.map +1 -1
  323. package/package.json +50 -7
  324. package/src/components/App.tsx +29 -0
  325. package/src/components/ConnectionStatus.tsx +67 -0
  326. package/src/components/Inline.tsx +16 -0
  327. package/src/components/ai-elements/actions.tsx +60 -0
  328. package/src/components/ai-elements/artifact.tsx +118 -0
  329. package/src/components/ai-elements/branch.tsx +187 -0
  330. package/src/components/ai-elements/canvas.tsx +24 -0
  331. package/src/components/ai-elements/chain-of-thought.tsx +198 -0
  332. package/src/components/ai-elements/code-block.tsx +175 -0
  333. package/src/components/ai-elements/confirmation.tsx +119 -0
  334. package/src/components/ai-elements/connection.tsx +16 -0
  335. package/src/components/ai-elements/context.tsx +357 -0
  336. package/src/components/ai-elements/controls.tsx +18 -0
  337. package/src/components/ai-elements/conversation.tsx +90 -0
  338. package/src/components/ai-elements/edge.tsx +131 -0
  339. package/src/components/ai-elements/image.tsx +16 -0
  340. package/src/components/ai-elements/inline-citation.tsx +246 -0
  341. package/src/components/ai-elements/loader.tsx +88 -0
  342. package/src/components/ai-elements/message.tsx +63 -0
  343. package/src/components/ai-elements/node.tsx +66 -0
  344. package/src/components/ai-elements/open-in-chat.tsx +333 -0
  345. package/src/components/ai-elements/panel.tsx +12 -0
  346. package/src/components/ai-elements/plan.tsx +123 -0
  347. package/src/components/ai-elements/prompt-input.tsx +1203 -0
  348. package/src/components/ai-elements/queue.tsx +231 -0
  349. package/src/components/ai-elements/reasoning.tsx +163 -0
  350. package/src/components/ai-elements/response.tsx +19 -0
  351. package/src/components/ai-elements/shimmer.tsx +53 -0
  352. package/src/components/ai-elements/sources.tsx +53 -0
  353. package/src/components/ai-elements/suggestion.tsx +47 -0
  354. package/src/components/ai-elements/task.tsx +64 -0
  355. package/src/components/ai-elements/tool.tsx +136 -0
  356. package/src/components/ai-elements/toolbar.tsx +13 -0
  357. package/src/components/ai-elements/web-preview.tsx +238 -0
  358. package/src/components/internal/Chat.tsx +183 -0
  359. package/src/components/internal/Header.tsx +77 -0
  360. package/src/components/internal/InputSection.tsx +427 -0
  361. package/src/components/internal/Schema.tsx +111 -0
  362. package/src/components/internal/WorkbenchProvider.tsx +265 -0
  363. package/src/components/internal/logo.tsx +11 -0
  364. package/src/components/ui/alert.tsx +60 -0
  365. package/src/components/ui/avatar.tsx +42 -0
  366. package/src/components/ui/badge.tsx +40 -0
  367. package/src/components/ui/button.tsx +10 -5
  368. package/src/components/ui/card.tsx +4 -1
  369. package/src/components/ui/carousel.tsx +234 -0
  370. package/src/components/ui/checkbox.tsx +27 -0
  371. package/src/components/ui/collapsible.tsx +21 -0
  372. package/src/components/ui/command.tsx +153 -0
  373. package/src/components/ui/dialog.tsx +127 -0
  374. package/src/components/ui/dropdown-menu.tsx +228 -0
  375. package/src/components/ui/field.tsx +234 -0
  376. package/src/components/ui/form.tsx +154 -0
  377. package/src/components/ui/hover-card.tsx +36 -0
  378. package/src/components/ui/input-group.tsx +158 -0
  379. package/src/components/ui/input.tsx +16 -18
  380. package/src/components/ui/label.tsx +21 -0
  381. package/src/components/ui/popover.tsx +42 -0
  382. package/src/components/ui/progress.tsx +28 -0
  383. package/src/components/ui/resizable-provider.tsx +83 -0
  384. package/src/components/ui/resizable.tsx +54 -0
  385. package/src/components/ui/scroll-area.tsx +54 -0
  386. package/src/components/ui/select.tsx +172 -0
  387. package/src/components/ui/separator.tsx +28 -0
  388. package/src/components/ui/switch.tsx +26 -0
  389. package/src/components/ui/tabs.tsx +52 -0
  390. package/src/components/ui/textarea.tsx +18 -0
  391. package/src/components/ui/theme-provider.tsx +71 -0
  392. package/src/components/ui/theme-toggle.tsx +30 -0
  393. package/src/components/ui/toggle.tsx +44 -0
  394. package/src/components/ui/tooltip.tsx +55 -0
  395. package/src/components.tsx +28 -74
  396. package/src/hooks/index.ts +19 -0
  397. package/src/hooks/useAgentSchemas.ts +144 -0
  398. package/src/hooks/useWorkbenchSchemas.ts +69 -0
  399. package/src/hooks/useWorkbenchWebsocket.ts +220 -0
  400. package/src/index.ts +5 -11
  401. package/src/server.ts +6 -0
  402. package/src/styles.css +214 -59
  403. package/src/types/config.ts +34 -0
  404. package/src/types.ts +1 -1
  405. package/src/workbench.ts +1 -4
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button } from '../ui/button';
4
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
5
+ import { Input } from '../ui/input';
6
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../ui/tooltip';
7
+ import { cn } from '../../lib/utils';
8
+ import { ChevronDownIcon } from 'lucide-react';
9
+ import { createContext, useContext, useEffect, useState } from 'react';
10
+ const WebPreviewContext = createContext(null);
11
+ const useWebPreview = () => {
12
+ const context = useContext(WebPreviewContext);
13
+ if (!context) {
14
+ throw new Error('WebPreview components must be used within a WebPreview');
15
+ }
16
+ return context;
17
+ };
18
+ export const WebPreview = ({ className, children, defaultUrl = '', onUrlChange, ...props }) => {
19
+ const [url, setUrl] = useState(defaultUrl);
20
+ const [consoleOpen, setConsoleOpen] = useState(false);
21
+ const handleUrlChange = (newUrl) => {
22
+ setUrl(newUrl);
23
+ onUrlChange?.(newUrl);
24
+ };
25
+ const contextValue = {
26
+ url,
27
+ setUrl: handleUrlChange,
28
+ consoleOpen,
29
+ setConsoleOpen,
30
+ };
31
+ return (_jsx(WebPreviewContext.Provider, { value: contextValue, children: _jsx("div", { className: cn('flex size-full flex-col rounded-lg border bg-card', className), ...props, children: children }) }));
32
+ };
33
+ export const WebPreviewNavigation = ({ className, children, ...props }) => (_jsx("div", { className: cn('flex items-center gap-1 border-b p-2', className), ...props, children: children }));
34
+ export const WebPreviewNavigationButton = ({ onClick, disabled, tooltip, children, ...props }) => (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: "h-8 w-8 p-0 hover:text-foreground", disabled: disabled, onClick: onClick, size: "sm", variant: "ghost", ...props, children: children }) }), _jsx(TooltipContent, { children: _jsx("p", { children: tooltip }) })] }) }));
35
+ export const WebPreviewUrl = ({ value, onChange, onKeyDown, ...props }) => {
36
+ const { url, setUrl } = useWebPreview();
37
+ const [inputValue, setInputValue] = useState(url);
38
+ // Sync input value with context URL when it changes externally
39
+ useEffect(() => {
40
+ setInputValue(url);
41
+ }, [url]);
42
+ const handleChange = (event) => {
43
+ setInputValue(event.target.value);
44
+ onChange?.(event);
45
+ };
46
+ const handleKeyDown = (event) => {
47
+ if (event.key === 'Enter') {
48
+ const target = event.target;
49
+ setUrl(target.value);
50
+ }
51
+ onKeyDown?.(event);
52
+ };
53
+ return (_jsx(Input, { className: "h-8 flex-1 text-sm", onChange: onChange ?? handleChange, onKeyDown: handleKeyDown, placeholder: "Enter URL...", value: value ?? inputValue, ...props }));
54
+ };
55
+ export const WebPreviewBody = ({ className, loading, src, ...props }) => {
56
+ const { url } = useWebPreview();
57
+ return (_jsxs("div", { className: "flex-1", children: [_jsx("iframe", { className: cn('size-full', className), sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-presentation", src: (src ?? url) || undefined, title: "Preview", ...props }), loading] }));
58
+ };
59
+ export const WebPreviewConsole = ({ className, logs = [], children, ...props }) => {
60
+ const { consoleOpen, setConsoleOpen } = useWebPreview();
61
+ return (_jsxs(Collapsible, { className: cn('border-t bg-muted/50 font-mono text-sm', className), onOpenChange: setConsoleOpen, open: consoleOpen, ...props, children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { className: "flex w-full items-center justify-between p-4 text-left font-medium hover:bg-muted/50", variant: "ghost", children: ["Console", _jsx(ChevronDownIcon, { className: cn('h-4 w-4 transition-transform duration-200', consoleOpen && 'rotate-180') })] }) }), _jsx(CollapsibleContent, { className: cn('px-4 pb-4', 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in'), children: _jsxs("div", { className: "max-h-48 space-y-1 overflow-y-auto", children: [logs.length === 0 ? (_jsx("p", { className: "text-muted-foreground", children: "No console output" })) : (logs.map((log, index) => (_jsxs("div", { className: cn('text-xs', log.level === 'error' && 'text-destructive', log.level === 'warn' && 'text-yellow-600', log.level === 'log' && 'text-foreground'), children: [_jsx("span", { className: "text-muted-foreground", children: log.timestamp.toLocaleTimeString() }), ' ', log.message] }, `${log.timestamp.getTime()}-${index}`)))), children] }) })] }));
62
+ };
63
+ //# sourceMappingURL=web-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-preview.js","sourceRoot":"","sources":["../../../src/components/ai-elements/web-preview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import '../../styles.css';
2
+ export interface ChatProps {
3
+ className?: string;
4
+ }
5
+ /**
6
+ * Chat component - conversation and input area (everything except header)
7
+ * Must be used within WorkbenchProvider
8
+ */
9
+ export declare function Chat({ className: _className }: ChatProps): import("react/jsx-runtime").JSX.Element;
10
+ export default Chat;
11
+ //# sourceMappingURL=Chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAgB1B,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,2CA4JxD;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import '../../styles.css';
3
+ import { useState } from 'react';
4
+ import { ChevronRight, Copy, Loader, RefreshCcw } from 'lucide-react';
5
+ import { Action, Actions } from '../ai-elements/actions';
6
+ import { Conversation, ConversationContent, ConversationScrollButton, } from '../ai-elements/conversation';
7
+ import { Message, MessageContent } from '../ai-elements/message';
8
+ import { InputSection } from './InputSection';
9
+ import { Shimmer } from '../ai-elements/shimmer';
10
+ import { cn } from '../../lib/utils';
11
+ import { useWorkbench } from './WorkbenchProvider';
12
+ import { Schema } from './Schema';
13
+ /**
14
+ * Chat component - conversation and input area (everything except header)
15
+ * Must be used within WorkbenchProvider
16
+ */
17
+ export function Chat({ className: _className }) {
18
+ const { agents, suggestions, messages, selectedAgent, setSelectedAgent, isLoading, submitMessage, } = useWorkbench();
19
+ const [value, setValue] = useState('');
20
+ const [schemaOpen, setSchemaOpen] = useState(false);
21
+ const handleSubmit = async () => {
22
+ const selectedAgentData = agents[selectedAgent];
23
+ const hasInputSchema = selectedAgentData?.schema?.input?.json;
24
+ // If agent has no input schema, submit without requiring input
25
+ if (!hasInputSchema) {
26
+ await submitMessage('');
27
+ return;
28
+ }
29
+ // For agents with input schema, require input
30
+ if (!value.trim())
31
+ return;
32
+ await submitMessage(value);
33
+ setValue('');
34
+ };
35
+ return (_jsxs("div", { className: "relative flex flex-1 overflow-hidden", children: [_jsxs("div", { className: cn('flex flex-col flex-1 transition-all duration-300 ease-in-out min-w-0', schemaOpen && 'mr-[600px]'), children: [_jsxs(Conversation, { className: "flex-1 overflow-y-auto", children: [_jsx(ConversationContent, { className: "pb-0", children: messages.map(({ role, parts, id }) => {
36
+ const isStreaming = parts.some((part) => part.type === 'text' && part.state === 'streaming');
37
+ return (_jsxs("div", { className: "mb-2", children: [role === 'assistant' && (_jsxs("div", { className: cn('w-fit flex items-center mb-2 text-muted-foreground text-sm transition-colors', !isStreaming && 'hover:text-foreground cursor-pointer'), children: [_jsx(Loader, { className: cn('size-4 transition-all', isStreaming || isLoading ? 'animate-spin mr-2' : 'w-0 mr-2.5') }), isStreaming || isLoading ? (_jsx(Shimmer, { duration: 1, children: "Running..." })) : (_jsxs(_Fragment, { children: ["Ran for", _jsx("span", { className: "mx-1", children: "2.9s" }), "and consumed", _jsx("span", { className: "mx-1", children: "124 tokens" }), _jsx(ChevronRight, { className: "size-4" })] }))] })), !(isStreaming || isLoading) && (_jsxs(_Fragment, { children: [_jsx(Message, { from: role, className: "p-0", children: _jsx(MessageContent, { children: parts.map((part, index) => {
38
+ switch (part.type) {
39
+ case 'text':
40
+ return (_jsx("div", { children: part.text || '' }, `${id}-${part.text}-${index}`));
41
+ }
42
+ }) }) }, id), _jsxs(Actions, { className: cn('mt-1 gap-0', role === 'user' && 'justify-end'), children: [role === 'user' && (_jsx(Action, { label: "Retry", className: "size-8 hover:bg-transparent!", onClick: () => setValue(parts
43
+ .filter((part) => part.type === 'text')
44
+ .map((part) => part.text)
45
+ .join('')), children: _jsx(RefreshCcw, { className: "size-4" }) })), _jsx(Action, { onClick: () => navigator.clipboard.writeText(parts
46
+ .filter((part) => part.type === 'text')
47
+ .map((part) => part.text)
48
+ .join('')), label: "Copy", className: "size-8 hover:bg-transparent!", children: _jsx(Copy, { className: "size-4" }) })] })] }))] }, id));
49
+ }) }), _jsx(ConversationScrollButton, {})] }), _jsx(InputSection, { value: value, onChange: setValue, onSubmit: handleSubmit, isLoading: isLoading, agents: agents, selectedAgent: selectedAgent, setSelectedAgent: setSelectedAgent, suggestions: suggestions, onSchemaOpen: () => setSchemaOpen(true) })] }), _jsx(Schema, { open: schemaOpen, onOpenChange: setSchemaOpen })] }));
50
+ }
51
+ export default Chat;
52
+ //# sourceMappingURL=Chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/components/internal/Chat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface HeaderProps {
2
+ className?: string;
3
+ }
4
+ /**
5
+ * Header component - navigation bar with logo, title, and settings
6
+ * Must be used within WorkbenchProvider
7
+ */
8
+ export declare function Header({ className }: HeaderProps): import("react/jsx-runtime").JSX.Element;
9
+ export default Header;
10
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Header.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAiCD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,2CA2BhD;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Settings } from 'lucide-react';
3
+ import Logo from './logo';
4
+ import { Button } from '../ui/button';
5
+ import { ThemeToggle } from '../ui/theme-toggle';
6
+ import { useWorkbench } from './WorkbenchProvider';
7
+ function StatusIndicator({ status }) {
8
+ if (status === 'connected') {
9
+ return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-green-600 dark:text-green-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-green-500 animate-pulse" }), _jsx("span", { children: "Connected" })] }));
10
+ }
11
+ if (status === 'restarting') {
12
+ return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-amber-500 animate-spin" }), _jsx("span", { children: "Restarting..." })] }));
13
+ }
14
+ if (status === 'disconnected') {
15
+ return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-red-500" }), _jsx("span", { children: "Disconnected" })] }));
16
+ }
17
+ return null;
18
+ }
19
+ /**
20
+ * Header component - navigation bar with logo, title, and settings
21
+ * Must be used within WorkbenchProvider
22
+ */
23
+ export function Header({ className }) {
24
+ const { connectionStatus } = useWorkbench();
25
+ const LogoComponent = Logo;
26
+ const title = 'Workbench';
27
+ const showSettings = true;
28
+ return (_jsxs("nav", { className: `flex items-center justify-between gap-6 py-2 px-4 border-b ${className || ''}`, children: [_jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx(LogoComponent, {}), _jsx("h1", { className: "mt-0.5 text-sm", children: title })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(StatusIndicator, { status: connectionStatus }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(ThemeToggle, {}), showSettings && (_jsx(Button, { size: "icon", variant: "ghost", children: _jsx(Settings, {}) }))] })] })] }));
29
+ }
30
+ export default Header;
31
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/internal/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,SAAS,eAAe,CAAC,EAAE,MAAM,EAAgC;IAChE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CACN,eAAK,SAAS,EAAC,sEAAsE,aACpF,cAAK,SAAS,EAAC,iDAAiD,GAAO,EACvE,uCAAsB,IACjB,CACN,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,CACN,eAAK,SAAS,EAAC,sEAAsE,aACpF,cAAK,SAAS,EAAC,gDAAgD,GAAO,EACtE,2CAA0B,IACrB,CACN,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CACN,eAAK,SAAS,EAAC,kEAAkE,aAChF,cAAK,SAAS,EAAC,iCAAiC,GAAO,EACvD,0CAAyB,IACpB,CACN,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,SAAS,EAAe;IAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC;IAE1B,OAAO,CACN,eACC,SAAS,EAAE,8DAA8D,SAAS,IAAI,EAAE,EAAE,aAE1F,eAAK,SAAS,EAAC,2BAA2B,aACzC,KAAC,aAAa,KAAG,EACjB,aAAI,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAM,IACtC,EACN,eAAK,SAAS,EAAC,yBAAyB,aACvC,KAAC,eAAe,IAAC,MAAM,EAAE,gBAAgB,GAAI,EAC7C,eAAK,SAAS,EAAC,yBAAyB,aACvC,KAAC,WAAW,KAAG,EACd,YAAY,IAAI,CAChB,KAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,YAClC,KAAC,QAAQ,KAAG,GACJ,CACT,IACI,IACD,IACD,CACN,CAAC;AACH,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AgentSchemaData } from '../../hooks/useAgentSchemas';
2
+ export interface InputSectionProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onSubmit: () => void | Promise<void>;
6
+ isLoading: boolean;
7
+ agents: Record<string, AgentSchemaData>;
8
+ selectedAgent: string;
9
+ setSelectedAgent: (agentId: string) => void;
10
+ suggestions: string[];
11
+ onSchemaOpen: () => void;
12
+ }
13
+ export declare function InputSection({ value, onChange, onSubmit, isLoading, agents, selectedAgent, setSelectedAgent, suggestions, onSchemaOpen, }: InputSectionProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=InputSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputSection.d.ts","sourceRoot":"","sources":["../../../src/components/internal/InputSection.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKnE,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB;AAcD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,YAAY,GACZ,EAAE,iBAAiB,2CAsWnB"}
@@ -0,0 +1,212 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef, useState } from 'react';
3
+ import { CheckIcon, ChevronsUpDownIcon, FileJson, SendIcon, Loader2Icon, Sparkles, } from 'lucide-react';
4
+ import { init } from 'modern-monaco';
5
+ import { PromptInput, PromptInputBody, PromptInputFooter, PromptInputTextarea, } from '../ai-elements/prompt-input';
6
+ import { Button } from '../ui/button';
7
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from '../ui/command';
8
+ import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
9
+ import { Select, SelectContent, SelectItem, SelectTrigger } from '../ui/select';
10
+ import { cn } from '../../lib/utils';
11
+ import { convertJsonSchemaToZod } from 'zod-from-json-schema';
12
+ import { zocker } from 'zocker';
13
+ function isSchemaRootObject(schemaJson) {
14
+ if (!schemaJson)
15
+ return false;
16
+ try {
17
+ return (schemaJson.type === 'object' ||
18
+ (schemaJson.type === undefined && schemaJson.properties !== undefined));
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ }
24
+ export function InputSection({ value, onChange, onSubmit, isLoading, agents, selectedAgent, setSelectedAgent, suggestions, onSchemaOpen, }) {
25
+ const [agentSelectOpen, setAgentSelectOpen] = useState(false);
26
+ const monacoEditorRef = useRef(null);
27
+ const editorInstanceRef = useRef(null);
28
+ const selectedAgentData = agents[selectedAgent];
29
+ // Determine input type for switch case
30
+ const inputType = useMemo(() => {
31
+ const schema = selectedAgentData?.schema?.input?.json;
32
+ if (!schema) {
33
+ return 'none'; // Agent has no input schema
34
+ }
35
+ if (isSchemaRootObject(schema)) {
36
+ return 'object'; // Complex object schema
37
+ }
38
+ if (schema.type === 'string') {
39
+ return 'string'; // String schema
40
+ }
41
+ return 'none'; // Default to none for other types
42
+ }, [selectedAgentData?.schema.input?.json]);
43
+ const isObjectSchema = inputType === 'object';
44
+ const handleGenerateSample = () => {
45
+ if (!selectedAgentData?.schema.input?.json || !isObjectSchema)
46
+ return;
47
+ try {
48
+ const jsonSchema = selectedAgentData.schema.input.json;
49
+ const schemaObject = typeof jsonSchema === 'string' ? JSON.parse(jsonSchema) : jsonSchema;
50
+ const zodSchema = convertJsonSchemaToZod(schemaObject);
51
+ const sampleData = zocker(zodSchema).generate();
52
+ const sampleJson = JSON.stringify(sampleData, null, 2);
53
+ onChange(sampleJson);
54
+ // Update Monaco editor directly if it exists
55
+ if (editorInstanceRef.current) {
56
+ editorInstanceRef.current.setValue(sampleJson);
57
+ editorInstanceRef.current.layout();
58
+ }
59
+ }
60
+ catch (error) {
61
+ console.error('Failed to generate sample JSON:', error);
62
+ }
63
+ };
64
+ useEffect(() => {
65
+ if (!isObjectSchema || !monacoEditorRef.current) {
66
+ if (editorInstanceRef.current) {
67
+ editorInstanceRef.current.dispose();
68
+ editorInstanceRef.current = null;
69
+ }
70
+ return;
71
+ }
72
+ let isMounted = true;
73
+ let disposed = false;
74
+ let resizeObserver = null;
75
+ init({
76
+ theme: 'vitesse-dark',
77
+ langs: ['json'],
78
+ }).then((monaco) => {
79
+ if (!isMounted || !monacoEditorRef.current)
80
+ return;
81
+ if (editorInstanceRef.current) {
82
+ editorInstanceRef.current.dispose();
83
+ }
84
+ // Configure JSON schema if available
85
+ const jsonSchema = selectedAgentData?.schema.input?.json;
86
+ if (jsonSchema) {
87
+ // Parse schema if it's a string, otherwise use directly
88
+ const schemaObject = typeof jsonSchema === 'string' ? JSON.parse(jsonSchema) : jsonSchema;
89
+ // Access json namespace directly from monaco
90
+ if ('json' in monaco && typeof monaco.json === 'object' && monaco.json !== null) {
91
+ const jsonModule = monaco.json;
92
+ if ('jsonDefaults' in jsonModule &&
93
+ typeof jsonModule.jsonDefaults === 'object' &&
94
+ jsonModule.jsonDefaults !== null) {
95
+ const jsonDefaults = jsonModule.jsonDefaults;
96
+ if ('setDiagnosticsOptions' in jsonDefaults &&
97
+ typeof jsonDefaults.setDiagnosticsOptions === 'function') {
98
+ jsonDefaults.setDiagnosticsOptions({
99
+ validate: true,
100
+ schemas: [
101
+ {
102
+ // URI is just an identifier, doesn't need to be a real URL
103
+ uri: `agentuity://schema/${selectedAgentData.metadata.id}/input`,
104
+ fileMatch: ['*'],
105
+ schema: schemaObject,
106
+ },
107
+ ],
108
+ });
109
+ }
110
+ }
111
+ }
112
+ }
113
+ // Set initial height
114
+ const container = monacoEditorRef.current;
115
+ container.style.height = '64px'; // min-h-16 = 4rem = 64px
116
+ const editor = monaco.editor.create(container, {
117
+ value: value || '{}',
118
+ language: 'json',
119
+ minimap: { enabled: false },
120
+ fontSize: 14,
121
+ lineNumbers: 'off',
122
+ scrollBeyondLastLine: false,
123
+ wordWrap: 'on',
124
+ automaticLayout: true,
125
+ scrollbar: {
126
+ vertical: 'auto',
127
+ horizontal: 'auto',
128
+ },
129
+ padding: { top: 12, bottom: 12 },
130
+ });
131
+ // Make background transparent
132
+ setTimeout(() => {
133
+ if (disposed)
134
+ return;
135
+ const editorElement = container.querySelector('.monaco-editor');
136
+ if (editorElement) {
137
+ editorElement.style.backgroundColor = 'transparent';
138
+ }
139
+ const backgroundElement = container.querySelector('.monaco-editor .monaco-editor-background');
140
+ if (backgroundElement) {
141
+ backgroundElement.style.backgroundColor = 'transparent';
142
+ }
143
+ const viewLines = container.querySelector('.monaco-editor .view-lines');
144
+ if (viewLines) {
145
+ viewLines.style.backgroundColor = 'transparent';
146
+ }
147
+ }, 0);
148
+ editor.onDidChangeModelContent(() => {
149
+ const newValue = editor.getValue();
150
+ onChange(newValue);
151
+ // Auto-resize based on content
152
+ if (container) {
153
+ const contentHeight = editor.getContentHeight();
154
+ const maxHeight = 192; // max-h-48 = 12rem = 192px
155
+ const minHeight = 64; // min-h-16 = 4rem = 64px
156
+ const newHeight = Math.min(Math.max(contentHeight + 24, minHeight), maxHeight);
157
+ container.style.height = `${newHeight}px`;
158
+ editor.layout();
159
+ }
160
+ });
161
+ // Resize observer for container size changes
162
+ resizeObserver = new ResizeObserver(() => {
163
+ if (!disposed && editor && isMounted) {
164
+ editor.layout();
165
+ }
166
+ });
167
+ resizeObserver.observe(container);
168
+ // Force layout update after creation
169
+ setTimeout(() => {
170
+ if (disposed)
171
+ return;
172
+ editor.layout();
173
+ }, 0);
174
+ editorInstanceRef.current = editor;
175
+ });
176
+ return () => {
177
+ isMounted = false;
178
+ disposed = true;
179
+ if (resizeObserver) {
180
+ resizeObserver.disconnect();
181
+ }
182
+ if (editorInstanceRef.current) {
183
+ editorInstanceRef.current.dispose();
184
+ editorInstanceRef.current = null;
185
+ }
186
+ };
187
+ }, [isObjectSchema, onChange, selectedAgentData]);
188
+ useEffect(() => {
189
+ if (isObjectSchema && editorInstanceRef.current) {
190
+ const currentValue = editorInstanceRef.current.getValue();
191
+ if (currentValue !== value) {
192
+ editorInstanceRef.current.setValue(value || '{}');
193
+ }
194
+ }
195
+ }, [value, isObjectSchema]);
196
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center gap-2 py-2 px-3", children: [_jsxs(Popover, { open: agentSelectOpen, onOpenChange: setAgentSelectOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { "aria-expanded": agentSelectOpen, className: "font-normal bg-transparent dark:bg-transparent", variant: "outline", size: "sm", children: [agents[selectedAgent]?.metadata.name || 'Select agent', _jsx(ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })] }) }), _jsx(PopoverContent, { className: "w-fit p-0", children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: "Search agents..." }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No agents found." }), _jsx(CommandGroup, { children: Object.values(agents).map((agent) => (_jsxs(CommandItem, { value: agent.metadata.identifier, onSelect: (currentValue) => {
197
+ setSelectedAgent(currentValue);
198
+ setAgentSelectOpen(false);
199
+ }, children: [_jsx(CheckIcon, { className: cn('size-4 text-green-500', selectedAgent === agent.metadata.identifier
200
+ ? 'opacity-100'
201
+ : 'opacity-0') }), agent.metadata.name] }, agent.metadata.identifier))) })] })] }) })] }), suggestions.length > 0 && (_jsxs(Select, { onValueChange: (value) => onChange(value), children: [_jsx(SelectTrigger, { size: "sm", className: "ml-auto bg-transparent dark:bg-transparent text-foreground!", children: "Suggestions" }), _jsx(SelectContent, { className: "text-sm", side: "top", align: "end", children: suggestions.map((suggestion) => (_jsx(SelectItem, { value: suggestion, children: suggestion }, suggestion))) })] })), isObjectSchema && (_jsxs(Button, { "aria-label": "Generate Sample JSON", size: "sm", variant: "outline", className: "bg-none font-normal", onClick: handleGenerateSample, children: [_jsx(Sparkles, { className: "size-4" }), " Sample"] })), _jsxs(Button, { "aria-label": "View Schema", size: "sm", variant: "outline", className: "bg-none font-normal", onClick: onSchemaOpen, children: [_jsx(FileJson, { className: "size-4" }), " Schema"] })] }), _jsxs(PromptInput, { onSubmit: onSubmit, className: "px-3 pb-3", children: [_jsx(PromptInputBody, { children: (() => {
202
+ switch (inputType) {
203
+ case 'object':
204
+ return (_jsx("div", { ref: monacoEditorRef, className: "w-full rounded-md bg-transparent overflow-hidden", style: { minHeight: '64px', maxHeight: '192px', height: '64px' } }));
205
+ case 'string':
206
+ return (_jsx(PromptInputTextarea, { placeholder: "Enter a message to send...", value: value, onChange: (e) => onChange(e.target.value) }));
207
+ default:
208
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center ", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: _jsxs("span", { className: "font-medium", children: ["This agent has not input schema.", ' '] }) }), _jsxs(Button, { "aria-label": "Run Agent", size: "sm", variant: "default", disabled: isLoading, onClick: onSubmit, className: "mt-2", children: [isLoading ? (_jsx(Loader2Icon, { className: "size-4 animate-spin mr-2" })) : (_jsx(SendIcon, { className: "size-4 mr-2" })), "Run Agent"] })] }));
209
+ }
210
+ })() }), _jsx(PromptInputFooter, { children: inputType !== 'none' && (_jsx(Button, { "aria-label": "Submit", size: "icon", variant: "default", disabled: isLoading || (inputType === 'string' && !value.trim()), onClick: onSubmit, className: "ml-auto", children: isLoading ? (_jsx(Loader2Icon, { className: "size-4 animate-spin" })) : (_jsx(SendIcon, { className: "size-4" })) })) })] })] }));
211
+ }
212
+ //# sourceMappingURL=InputSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputSection.js","sourceRoot":"","sources":["../../../src/components/internal/InputSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface SchemaProps {
2
+ open: boolean;
3
+ onOpenChange: (open: boolean) => void;
4
+ }
5
+ export declare function Schema({ open, onOpenChange }: SchemaProps): import("react/jsx-runtime").JSX.Element;
6
+ export default Schema;
7
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Schema.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW,2CA+FzD;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { X, FileJson } from 'lucide-react';
3
+ import { Button } from '../ui/button';
4
+ import { CodeBlock, CodeBlockCopyButton } from '../ai-elements/code-block';
5
+ import { ScrollArea } from '../ui/scroll-area';
6
+ import { cn } from '../../lib/utils';
7
+ import { useWorkbench } from './WorkbenchProvider';
8
+ export function Schema({ open, onOpenChange }) {
9
+ const { agents, selectedAgent, schemasLoading, schemasError } = useWorkbench();
10
+ const selectedAgentData = agents[selectedAgent] || null;
11
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: cn('absolute top-0 right-0 h-full w-[600px] max-w-[90vw] bg-background border-l border-border z-50 shadow-xl transition-transform duration-300 ease-in-out flex flex-col', open ? 'translate-x-0' : 'translate-x-full'), children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FileJson, { className: "size-5 text-muted-foreground" }), _jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Schema" }), selectedAgentData && (_jsx("p", { className: "text-sm text-muted-foreground", children: selectedAgentData.metadata.name }))] })] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: () => onOpenChange(false), className: "size-8", children: _jsx(X, { className: "size-4" }) })] }), _jsx(ScrollArea, { className: "flex-1", children: _jsxs("div", { className: "p-6 space-y-6", children: [schemasLoading && (_jsx("div", { className: "text-center text-muted-foreground py-8", children: "Loading schemas..." })), schemasError && (_jsxs("div", { className: "rounded-md bg-destructive/10 text-destructive p-4", children: [_jsx("p", { className: "font-medium", children: "Error loading schemas" }), _jsx("p", { className: "text-sm mt-1", children: schemasError.message })] })), !schemasLoading && !schemasError && !selectedAgentData && (_jsx("div", { className: "text-center text-muted-foreground py-8", children: _jsx("p", { children: "No schema available for selected agent" }) })), !schemasLoading && !schemasError && selectedAgentData && (_jsxs(_Fragment, { children: [selectedAgentData.schema.input?.code ? (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-muted-foreground uppercase tracking-wide", children: "Input Schema" }), _jsx(CodeBlock, { code: selectedAgentData.schema.input?.code, language: "typescript", children: _jsx(CodeBlockCopyButton, {}) })] })) : null, selectedAgentData.schema.output?.code ? (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-muted-foreground uppercase tracking-wide", children: "Output Schema" }), _jsx(CodeBlock, { code: selectedAgentData.schema.output?.code, language: "typescript", children: _jsx(CodeBlockCopyButton, {}) })] })) : null] }))] }) })] }) }));
12
+ }
13
+ export default Schema;
14
+ //# sourceMappingURL=Schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/internal/Schema.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { WorkbenchConfig } from '@agentuity/core/workbench';
3
+ import type { WorkbenchContextType } from '../../types/config';
4
+ export declare function useWorkbench(): WorkbenchContextType;
5
+ interface WorkbenchProviderProps {
6
+ config: WorkbenchConfig;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare function WorkbenchProvider({ config, children }: WorkbenchProviderProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=WorkbenchProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkbenchProvider.d.ts","sourceRoot":"","sources":["../../../src/components/internal/WorkbenchProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,oBAAoB,CAAC;AAMjF,wBAAgB,YAAY,yBAM3B;AAED,UAAU,sBAAsB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAkP7E"}