@superinterface/react 1.0.3 → 1.0.5

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 (340) hide show
  1. package/dist/chunk-DP5XKPRM.mjs +8 -0
  2. package/dist/chunk-DP5XKPRM.mjs.map +1 -0
  3. package/dist/chunk-E4KDALPU.mjs +11 -0
  4. package/dist/chunk-E4KDALPU.mjs.map +1 -0
  5. package/dist/chunk-QPW4QQ26.mjs +49 -0
  6. package/dist/chunk-QPW4QQ26.mjs.map +1 -0
  7. package/dist/index.d.mts +561 -0
  8. package/dist/index.d.ts +561 -8
  9. package/dist/index.js +1850 -21
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +1899 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/dist/lib/index.d.mts +3 -0
  14. package/dist/lib/index.d.ts +3 -1
  15. package/dist/lib/index.js +32 -4
  16. package/dist/lib/index.js.map +1 -1
  17. package/dist/lib/index.mjs +7 -0
  18. package/dist/lib/index.mjs.map +1 -0
  19. package/dist/mutationFns.d.mts +31 -0
  20. package/dist/mutationFns.d.ts +31 -3
  21. package/dist/mutationFns.js +160 -8
  22. package/dist/mutationFns.js.map +1 -1
  23. package/dist/mutationFns.mjs +84 -0
  24. package/dist/mutationFns.mjs.map +1 -0
  25. package/dist/queryFns.d.mts +15 -0
  26. package/dist/queryFns.d.ts +15 -2
  27. package/dist/queryFns.js +202 -6
  28. package/dist/queryFns.js.map +1 -1
  29. package/dist/queryFns.mjs +126 -0
  30. package/dist/queryFns.mjs.map +1 -0
  31. package/dist/queryKeys.d.mts +5 -0
  32. package/dist/queryKeys.d.ts +5 -2
  33. package/dist/queryKeys.js +36 -6
  34. package/dist/queryKeys.js.map +1 -1
  35. package/dist/queryKeys.mjs +9 -0
  36. package/dist/queryKeys.mjs.map +1 -0
  37. package/dist/types/index.d.mts +33 -0
  38. package/dist/types/index.d.ts +10 -8
  39. package/dist/types/index.js +17 -1
  40. package/dist/types/index.js.map +1 -1
  41. package/dist/types/index.mjs +1 -0
  42. package/dist/types/index.mjs.map +1 -0
  43. package/package.json +9 -2
  44. package/dist/components/examples/Examples/Example/index.d.ts +0 -12
  45. package/dist/components/examples/Examples/Example/index.js +0 -27
  46. package/dist/components/examples/Examples/Example/index.js.map +0 -1
  47. package/dist/components/examples/Examples/index.d.ts +0 -13
  48. package/dist/components/examples/Examples/index.js +0 -32
  49. package/dist/components/examples/Examples/index.js.map +0 -1
  50. package/dist/components/messageGroups/MessagesGroupBase/AssistantAvatar.d.ts +0 -1
  51. package/dist/components/messageGroups/MessagesGroupBase/AssistantAvatar.js +0 -13
  52. package/dist/components/messageGroups/MessagesGroupBase/AssistantAvatar.js.map +0 -1
  53. package/dist/components/messageGroups/MessagesGroupBase/Name.d.ts +0 -6
  54. package/dist/components/messageGroups/MessagesGroupBase/Name.js +0 -8
  55. package/dist/components/messageGroups/MessagesGroupBase/Name.js.map +0 -1
  56. package/dist/components/messageGroups/MessagesGroupBase/index.d.ts +0 -6
  57. package/dist/components/messageGroups/MessagesGroupBase/index.js +0 -14
  58. package/dist/components/messageGroups/MessagesGroupBase/index.js.map +0 -1
  59. package/dist/components/messages/Form/Submit/index.d.ts +0 -6
  60. package/dist/components/messages/Form/Submit/index.js +0 -10
  61. package/dist/components/messages/Form/Submit/index.js.map +0 -1
  62. package/dist/components/messages/Form/index.d.ts +0 -19
  63. package/dist/components/messages/Form/index.js +0 -77
  64. package/dist/components/messages/Form/index.js.map +0 -1
  65. package/dist/components/messages/Message/TextContent/index.d.ts +0 -6
  66. package/dist/components/messages/Message/TextContent/index.js +0 -16
  67. package/dist/components/messages/Message/TextContent/index.js.map +0 -1
  68. package/dist/components/messages/Message/index.d.ts +0 -6
  69. package/dist/components/messages/Message/index.js +0 -36
  70. package/dist/components/messages/Message/index.js.map +0 -1
  71. package/dist/components/messages/Messages/Content/MessageGroup/Content/index.d.ts +0 -6
  72. package/dist/components/messages/Messages/Content/MessageGroup/Content/index.js +0 -9
  73. package/dist/components/messages/Messages/Content/MessageGroup/Content/index.js.map +0 -1
  74. package/dist/components/messages/Messages/Content/MessageGroup/index.d.ts +0 -6
  75. package/dist/components/messages/Messages/Content/MessageGroup/index.js +0 -18
  76. package/dist/components/messages/Messages/Content/MessageGroup/index.js.map +0 -1
  77. package/dist/components/messages/Messages/Content/index.d.ts +0 -6
  78. package/dist/components/messages/Messages/Content/index.js +0 -14
  79. package/dist/components/messages/Messages/Content/index.js.map +0 -1
  80. package/dist/components/messages/Messages/ProgressMessage/index.d.ts +0 -7
  81. package/dist/components/messages/Messages/ProgressMessage/index.js +0 -20
  82. package/dist/components/messages/Messages/ProgressMessage/index.js.map +0 -1
  83. package/dist/components/messages/Messages/index.d.ts +0 -16
  84. package/dist/components/messages/Messages/index.js +0 -40
  85. package/dist/components/messages/Messages/index.js.map +0 -1
  86. package/dist/components/runSteps/RunStep/ToolCalls/Starting/index.d.ts +0 -1
  87. package/dist/components/runSteps/RunStep/ToolCalls/Starting/index.js +0 -11
  88. package/dist/components/runSteps/RunStep/ToolCalls/Starting/index.js.map +0 -1
  89. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.d.ts +0 -7
  90. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.js +0 -8
  91. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.js.map +0 -1
  92. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/Title.d.ts +0 -6
  93. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/Title.js +0 -17
  94. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/Title.js.map +0 -1
  95. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/index.d.ts +0 -7
  96. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/index.js +0 -13
  97. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/index.js.map +0 -1
  98. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Content/index.d.ts +0 -6
  99. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Content/index.js +0 -37
  100. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Content/index.js.map +0 -1
  101. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Icon.d.ts +0 -6
  102. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Icon.js +0 -18
  103. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Icon.js.map +0 -1
  104. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/Title.d.ts +0 -6
  105. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/Title.js +0 -17
  106. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/Title.js.map +0 -1
  107. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/index.d.ts +0 -7
  108. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/index.js +0 -13
  109. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/index.js.map +0 -1
  110. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.d.ts +0 -7
  111. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.js +0 -17
  112. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.js.map +0 -1
  113. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/index.d.ts +0 -8
  114. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/index.js +0 -18
  115. package/dist/components/runSteps/RunStep/ToolCalls/ToolCall/index.js.map +0 -1
  116. package/dist/components/runSteps/RunStep/ToolCalls/index.d.ts +0 -7
  117. package/dist/components/runSteps/RunStep/ToolCalls/index.js +0 -10
  118. package/dist/components/runSteps/RunStep/ToolCalls/index.js.map +0 -1
  119. package/dist/components/runSteps/RunStep/index.d.ts +0 -6
  120. package/dist/components/runSteps/RunStep/index.js +0 -13
  121. package/dist/components/runSteps/RunStep/index.js.map +0 -1
  122. package/dist/components/runSteps/RunSteps/index.d.ts +0 -6
  123. package/dist/components/runSteps/RunSteps/index.js +0 -9
  124. package/dist/components/runSteps/RunSteps/index.js.map +0 -1
  125. package/dist/components/skeletons/MessagesSkeleton/index.d.ts +0 -2
  126. package/dist/components/skeletons/MessagesSkeleton/index.js +0 -17
  127. package/dist/components/skeletons/MessagesSkeleton/index.js.map +0 -1
  128. package/dist/components/skeletons/RunSkeleton/index.d.ts +0 -1
  129. package/dist/components/skeletons/RunSkeleton/index.js +0 -12
  130. package/dist/components/skeletons/RunSkeleton/index.js.map +0 -1
  131. package/dist/components/skeletons/Skeleton/index.d.ts +0 -6
  132. package/dist/components/skeletons/Skeleton/index.js +0 -10
  133. package/dist/components/skeletons/Skeleton/index.js.map +0 -1
  134. package/dist/components/skeletons/StartingContentSkeleton/index.d.ts +0 -1
  135. package/dist/components/skeletons/StartingContentSkeleton/index.js +0 -8
  136. package/dist/components/skeletons/StartingContentSkeleton/index.js.map +0 -1
  137. package/dist/components/skeletons/StartingSkeleton/index.d.ts +0 -6
  138. package/dist/components/skeletons/StartingSkeleton/index.js +0 -17
  139. package/dist/components/skeletons/StartingSkeleton/index.js.map +0 -1
  140. package/dist/components/spinners/Spinner/index.d.ts +0 -1
  141. package/dist/components/spinners/Spinner/index.js +0 -7
  142. package/dist/components/spinners/Spinner/index.js.map +0 -1
  143. package/dist/components/textareas/TextareaBase/index.d.ts +0 -2
  144. package/dist/components/textareas/TextareaBase/index.js +0 -28
  145. package/dist/components/textareas/TextareaBase/index.js.map +0 -1
  146. package/dist/components/toolCalls/ToolCallBase/ToolCallTitle.d.ts +0 -6
  147. package/dist/components/toolCalls/ToolCallBase/ToolCallTitle.js +0 -8
  148. package/dist/components/toolCalls/ToolCallBase/ToolCallTitle.js.map +0 -1
  149. package/dist/components/toolCalls/ToolCallBase/index.d.ts +0 -6
  150. package/dist/components/toolCalls/ToolCallBase/index.js +0 -12
  151. package/dist/components/toolCalls/ToolCallBase/index.js.map +0 -1
  152. package/dist/contexts/assistants/AssistantNameContext/index.d.ts +0 -2
  153. package/dist/contexts/assistants/AssistantNameContext/index.js +0 -6
  154. package/dist/contexts/assistants/AssistantNameContext/index.js.map +0 -1
  155. package/dist/contexts/avatars/AssistantAvatarContext/index.d.ts +0 -2
  156. package/dist/contexts/avatars/AssistantAvatarContext/index.js +0 -9
  157. package/dist/contexts/avatars/AssistantAvatarContext/index.js.map +0 -1
  158. package/dist/contexts/markdown/MarkdownContext/index.d.ts +0 -5
  159. package/dist/contexts/markdown/MarkdownContext/index.js +0 -10
  160. package/dist/contexts/markdown/MarkdownContext/index.js.map +0 -1
  161. package/dist/contexts/markdown/MarkdownContext/lib/components/Link.d.ts +0 -4
  162. package/dist/contexts/markdown/MarkdownContext/lib/components/Link.js +0 -8
  163. package/dist/contexts/markdown/MarkdownContext/lib/components/Link.js.map +0 -1
  164. package/dist/contexts/markdown/MarkdownContext/lib/components/ListItem.d.ts +0 -2
  165. package/dist/contexts/markdown/MarkdownContext/lib/components/ListItem.js +0 -8
  166. package/dist/contexts/markdown/MarkdownContext/lib/components/ListItem.js.map +0 -1
  167. package/dist/contexts/markdown/MarkdownContext/lib/components/OrderedList.d.ts +0 -2
  168. package/dist/contexts/markdown/MarkdownContext/lib/components/OrderedList.js +0 -8
  169. package/dist/contexts/markdown/MarkdownContext/lib/components/OrderedList.js.map +0 -1
  170. package/dist/contexts/markdown/MarkdownContext/lib/components/Paragraph.d.ts +0 -2
  171. package/dist/contexts/markdown/MarkdownContext/lib/components/Paragraph.js +0 -8
  172. package/dist/contexts/markdown/MarkdownContext/lib/components/Paragraph.js.map +0 -1
  173. package/dist/contexts/markdown/MarkdownContext/lib/components/Strong.d.ts +0 -2
  174. package/dist/contexts/markdown/MarkdownContext/lib/components/Strong.js +0 -8
  175. package/dist/contexts/markdown/MarkdownContext/lib/components/Strong.js.map +0 -1
  176. package/dist/contexts/markdown/MarkdownContext/lib/components/UnorderedList.d.ts +0 -2
  177. package/dist/contexts/markdown/MarkdownContext/lib/components/UnorderedList.js +0 -8
  178. package/dist/contexts/markdown/MarkdownContext/lib/components/UnorderedList.js.map +0 -1
  179. package/dist/contexts/markdown/MarkdownContext/lib/components/index.d.ts +0 -2
  180. package/dist/contexts/markdown/MarkdownContext/lib/components/index.js +0 -18
  181. package/dist/contexts/markdown/MarkdownContext/lib/components/index.js.map +0 -1
  182. package/dist/hooks/actions/useHandleAction/index.d.ts +0 -107
  183. package/dist/hooks/actions/useHandleAction/index.js +0 -21
  184. package/dist/hooks/actions/useHandleAction/index.js.map +0 -1
  185. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/index.d.ts +0 -8
  186. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/index.js +0 -11
  187. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/index.js.map +0 -1
  188. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.d.ts +0 -10
  189. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.js +0 -25
  190. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.js.map +0 -1
  191. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/toolOutput/index.d.ts +0 -12
  192. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/toolOutput/index.js +0 -19
  193. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/toolOutput/index.js.map +0 -1
  194. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/onSettled.d.ts +0 -6
  195. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/onSettled.js +0 -18
  196. package/dist/hooks/actions/useHandleAction/lib/mutationOptions/onSettled.js.map +0 -1
  197. package/dist/hooks/actions/useManageActions/index.d.ts +0 -10
  198. package/dist/hooks/actions/useManageActions/index.js +0 -32
  199. package/dist/hooks/actions/useManageActions/index.js.map +0 -1
  200. package/dist/hooks/messageGroups/useMessageGroups/index.d.ts +0 -8
  201. package/dist/hooks/messageGroups/useMessageGroups/index.js +0 -10
  202. package/dist/hooks/messageGroups/useMessageGroups/index.js.map +0 -1
  203. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.d.ts +0 -6
  204. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.js +0 -30
  205. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.js.map +0 -1
  206. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/index.d.ts +0 -7
  207. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/index.js +0 -12
  208. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/index.js.map +0 -1
  209. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/newGroupItem.d.ts +0 -11
  210. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/newGroupItem.js +0 -11
  211. package/dist/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/newGroupItem.js.map +0 -1
  212. package/dist/hooks/messages/useCreateMessage/index.d.ts +0 -107
  213. package/dist/hooks/messages/useCreateMessage/index.js +0 -21
  214. package/dist/hooks/messages/useCreateMessage/index.js.map +0 -1
  215. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/index.d.ts +0 -15
  216. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/index.js +0 -21
  217. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/index.js.map +0 -1
  218. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.d.ts +0 -9
  219. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.js +0 -18
  220. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.js.map +0 -1
  221. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onError.d.ts +0 -9
  222. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onError.js +0 -12
  223. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onError.js.map +0 -1
  224. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.d.ts +0 -6
  225. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.js +0 -55
  226. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.js.map +0 -1
  227. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.d.ts +0 -9
  228. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.js +0 -16
  229. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.js.map +0 -1
  230. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.d.ts +0 -6
  231. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.js +0 -13
  232. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.js.map +0 -1
  233. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSuccess.d.ts +0 -7
  234. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSuccess.js +0 -37
  235. package/dist/hooks/messages/useCreateMessage/lib/mutationOptions/onSuccess.js.map +0 -1
  236. package/dist/hooks/messages/useLatestMessage/index.d.ts +0 -139
  237. package/dist/hooks/messages/useLatestMessage/index.js +0 -14
  238. package/dist/hooks/messages/useLatestMessage/index.js.map +0 -1
  239. package/dist/hooks/messages/useMessages/index.d.ts +0 -135
  240. package/dist/hooks/messages/useMessages/index.js +0 -23
  241. package/dist/hooks/messages/useMessages/index.js.map +0 -1
  242. package/dist/hooks/messages/useMessages/lib/queryOptions/index.d.ts +0 -6
  243. package/dist/hooks/messages/useMessages/lib/queryOptions/index.js +0 -22
  244. package/dist/hooks/messages/useMessages/lib/queryOptions/index.js.map +0 -1
  245. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.d.ts +0 -18
  246. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.js +0 -26
  247. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.js.map +0 -1
  248. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.d.ts +0 -5
  249. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.js +0 -12
  250. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.js.map +0 -1
  251. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.d.ts +0 -20
  252. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.js +0 -34
  253. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.js.map +0 -1
  254. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/hasNextPage.d.ts +0 -4
  255. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/hasNextPage.js +0 -11
  256. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/hasNextPage.js.map +0 -1
  257. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/index.d.ts +0 -7
  258. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/index.js +0 -25
  259. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/index.js.map +0 -1
  260. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/messagesLimit.d.ts +0 -1
  261. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/messagesLimit.js +0 -5
  262. package/dist/hooks/messages/useMessages/lib/queryOptions/queryFn/messagesLimit.js.map +0 -1
  263. package/dist/hooks/messages/useMessages/lib/queryOptions/queryKey.d.ts +0 -1
  264. package/dist/hooks/messages/useMessages/lib/queryOptions/queryKey.js +0 -6
  265. package/dist/hooks/messages/useMessages/lib/queryOptions/queryKey.js.map +0 -1
  266. package/dist/hooks/misc/useInfiniteScroll/index.d.ts +0 -12
  267. package/dist/hooks/misc/useInfiniteScroll/index.js +0 -31
  268. package/dist/hooks/misc/useInfiniteScroll/index.js.map +0 -1
  269. package/dist/hooks/misc/useThrottledEffect/index.d.ts +0 -1
  270. package/dist/hooks/misc/useThrottledEffect/index.js +0 -22
  271. package/dist/hooks/misc/useThrottledEffect/index.js.map +0 -1
  272. package/dist/hooks/runs/useCreateRun/index.d.ts +0 -107
  273. package/dist/hooks/runs/useCreateRun/index.js +0 -21
  274. package/dist/hooks/runs/useCreateRun/index.js.map +0 -1
  275. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/index.d.ts +0 -9
  276. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/index.js +0 -13
  277. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/index.js.map +0 -1
  278. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.d.ts +0 -10
  279. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.js +0 -20
  280. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.js.map +0 -1
  281. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSettled.d.ts +0 -6
  282. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSettled.js +0 -18
  283. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSettled.js.map +0 -1
  284. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSuccess.d.ts +0 -6
  285. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSuccess.js +0 -34
  286. package/dist/hooks/runs/useCreateRun/lib/mutationOptions/onSuccess.js.map +0 -1
  287. package/dist/hooks/runs/useIsRunActive/index.d.ts +0 -144
  288. package/dist/hooks/runs/useIsRunActive/index.js +0 -47
  289. package/dist/hooks/runs/useIsRunActive/index.js.map +0 -1
  290. package/dist/hooks/runs/useLatestRun/index.d.ts +0 -139
  291. package/dist/hooks/runs/useLatestRun/index.js +0 -14
  292. package/dist/hooks/runs/useLatestRun/index.js.map +0 -1
  293. package/dist/hooks/runs/useManageRuns/index.d.ts +0 -11
  294. package/dist/hooks/runs/useManageRuns/index.js +0 -43
  295. package/dist/hooks/runs/useManageRuns/index.js.map +0 -1
  296. package/dist/hooks/runs/usePolling/index.d.ts +0 -8
  297. package/dist/hooks/runs/usePolling/index.js +0 -24
  298. package/dist/hooks/runs/usePolling/index.js.map +0 -1
  299. package/dist/hooks/runs/usePolling/lib/refetch.d.ts +0 -7
  300. package/dist/hooks/runs/usePolling/lib/refetch.js +0 -15
  301. package/dist/hooks/runs/usePolling/lib/refetch.js.map +0 -1
  302. package/dist/hooks/runs/useRuns/index.d.ts +0 -135
  303. package/dist/hooks/runs/useRuns/index.js +0 -19
  304. package/dist/hooks/runs/useRuns/index.js.map +0 -1
  305. package/dist/hooks/runs/useRuns/lib/getRuns.d.ts +0 -7
  306. package/dist/hooks/runs/useRuns/lib/getRuns.js +0 -10
  307. package/dist/hooks/runs/useRuns/lib/getRuns.js.map +0 -1
  308. package/dist/hooks/runs/useRuns/lib/queryOptions/index.d.ts +0 -7
  309. package/dist/hooks/runs/useRuns/lib/queryOptions/index.js +0 -22
  310. package/dist/hooks/runs/useRuns/lib/queryOptions/index.js.map +0 -1
  311. package/dist/hooks/runs/useRuns/lib/queryOptions/queryFn.d.ts +0 -6
  312. package/dist/hooks/runs/useRuns/lib/queryOptions/queryFn.js +0 -18
  313. package/dist/hooks/runs/useRuns/lib/queryOptions/queryFn.js.map +0 -1
  314. package/dist/hooks/runs/useRuns/lib/queryOptions/queryKey.d.ts +0 -1
  315. package/dist/hooks/runs/useRuns/lib/queryOptions/queryKey.js +0 -6
  316. package/dist/hooks/runs/useRuns/lib/queryOptions/queryKey.js.map +0 -1
  317. package/dist/hooks/threads/useThreadLifecycles/index.d.ts +0 -14
  318. package/dist/hooks/threads/useThreadLifecycles/index.js +0 -24
  319. package/dist/hooks/threads/useThreadLifecycles/index.js.map +0 -1
  320. package/dist/lib/ai/index.d.ts +0 -3
  321. package/dist/lib/ai/index.js +0 -18
  322. package/dist/lib/ai/index.js.map +0 -1
  323. package/dist/lib/messages/extendMessage.d.ts +0 -18
  324. package/dist/lib/messages/extendMessage.js +0 -21
  325. package/dist/lib/messages/extendMessage.js.map +0 -1
  326. package/dist/lib/messages/order.d.ts +0 -6
  327. package/dist/lib/messages/order.js +0 -7
  328. package/dist/lib/messages/order.js.map +0 -1
  329. package/dist/lib/optimistic/isOptimistic.d.ts +0 -5
  330. package/dist/lib/optimistic/isOptimistic.js +0 -10
  331. package/dist/lib/optimistic/isOptimistic.js.map +0 -1
  332. package/dist/lib/optimistic/optimisticId.d.ts +0 -1
  333. package/dist/lib/optimistic/optimisticId.js +0 -7
  334. package/dist/lib/optimistic/optimisticId.js.map +0 -1
  335. package/dist/lib/runSteps/getRunSteps/index.d.ts +0 -6
  336. package/dist/lib/runSteps/getRunSteps/index.js +0 -10
  337. package/dist/lib/runSteps/getRunSteps/index.js.map +0 -1
  338. package/dist/lib/runs/isRunEditingMessage/index.d.ts +0 -6
  339. package/dist/lib/runs/isRunEditingMessage/index.js +0 -23
  340. package/dist/lib/runs/isRunEditingMessage/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,23 +1,1852 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useIsRunActive = exports.useCreateMessage = exports.useLatestMessage = exports.useMessages = exports.useThreadLifecycles = exports.useQuery = exports.useQueryClient = exports.QueryClientProvider = exports.QueryClient = exports.Form = exports.Messages = void 0;
4
- var Messages_1 = require("./components/messages/Messages");
5
- Object.defineProperty(exports, "Messages", { enumerable: true, get: function () { return Messages_1.Messages; } });
6
- var Form_1 = require("./components/messages/Form");
7
- Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
8
- var react_query_1 = require("@tanstack/react-query");
9
- Object.defineProperty(exports, "QueryClient", { enumerable: true, get: function () { return react_query_1.QueryClient; } });
10
- Object.defineProperty(exports, "QueryClientProvider", { enumerable: true, get: function () { return react_query_1.QueryClientProvider; } });
11
- Object.defineProperty(exports, "useQueryClient", { enumerable: true, get: function () { return react_query_1.useQueryClient; } });
12
- Object.defineProperty(exports, "useQuery", { enumerable: true, get: function () { return react_query_1.useQuery; } });
13
- var useThreadLifecycles_1 = require("./hooks/threads/useThreadLifecycles");
14
- Object.defineProperty(exports, "useThreadLifecycles", { enumerable: true, get: function () { return useThreadLifecycles_1.useThreadLifecycles; } });
15
- var useMessages_1 = require("./hooks/messages/useMessages");
16
- Object.defineProperty(exports, "useMessages", { enumerable: true, get: function () { return useMessages_1.useMessages; } });
17
- var useLatestMessage_1 = require("./hooks/messages/useLatestMessage");
18
- Object.defineProperty(exports, "useLatestMessage", { enumerable: true, get: function () { return useLatestMessage_1.useLatestMessage; } });
19
- var useCreateMessage_1 = require("./hooks/messages/useCreateMessage");
20
- Object.defineProperty(exports, "useCreateMessage", { enumerable: true, get: function () { return useCreateMessage_1.useCreateMessage; } });
21
- var useIsRunActive_1 = require("./hooks/runs/useIsRunActive");
22
- Object.defineProperty(exports, "useIsRunActive", { enumerable: true, get: function () { return useIsRunActive_1.useIsRunActive; } });
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ Form: () => Form,
34
+ Messages: () => Messages,
35
+ QueryClient: () => import_react_query8.QueryClient,
36
+ QueryClientProvider: () => import_react_query8.QueryClientProvider,
37
+ useCreateMessage: () => useCreateMessage,
38
+ useIsRunActive: () => useIsRunActive,
39
+ useLatestMessage: () => useLatestMessage,
40
+ useMessages: () => useMessages,
41
+ useQuery: () => import_react_query8.useQuery,
42
+ useQueryClient: () => import_react_query8.useQueryClient,
43
+ useThreadLifecycles: () => useThreadLifecycles
44
+ });
45
+ module.exports = __toCommonJS(src_exports);
46
+
47
+ // src/components/messages/Messages/index.tsx
48
+ var import_themes29 = require("@radix-ui/themes");
49
+
50
+ // src/hooks/misc/useInfiniteScroll/index.tsx
51
+ var import_react2 = require("react");
52
+ var import_react_intersection_observer = require("react-intersection-observer");
53
+
54
+ // src/hooks/misc/useThrottledEffect/index.tsx
55
+ var import_lodash = __toESM(require("lodash"));
56
+ var import_react = require("react");
57
+ var useThrottledEffect = (cb, delay, additionalDeps) => {
58
+ const cbRef = (0, import_react.useRef)(cb);
59
+ const throttledCb = (0, import_react.useCallback)(
60
+ import_lodash.default.throttle((...args) => cbRef.current(...args), delay, {
61
+ leading: true,
62
+ trailing: true
63
+ }),
64
+ [delay]
65
+ );
66
+ (0, import_react.useEffect)(() => {
67
+ cbRef.current = cb;
68
+ });
69
+ (0, import_react.useEffect)(throttledCb, [throttledCb, ...additionalDeps]);
70
+ };
71
+
72
+ // src/hooks/misc/useInfiniteScroll/index.tsx
73
+ var useInfiniteScroll = ({
74
+ isFetchingNextPage,
75
+ hasNextPage,
76
+ fetchNextPage
77
+ }) => {
78
+ const containerRef = (0, import_react2.useRef)(null);
79
+ const { ref: loaderRef, inView } = (0, import_react_intersection_observer.useInView)({
80
+ root: containerRef.current,
81
+ rootMargin: "0px",
82
+ threshold: 0.1
83
+ });
84
+ useThrottledEffect(
85
+ () => {
86
+ if (isFetchingNextPage)
87
+ return;
88
+ if (!inView)
89
+ return;
90
+ if (!hasNextPage)
91
+ return;
92
+ console.log("Fetching next page");
93
+ fetchNextPage();
94
+ },
95
+ 500,
96
+ [inView, isFetchingNextPage, hasNextPage, fetchNextPage]
97
+ );
98
+ return {
99
+ containerRef,
100
+ loaderRef,
101
+ inView
102
+ };
103
+ };
104
+
105
+ // src/components/skeletons/MessagesSkeleton/index.tsx
106
+ var import_react4 = require("react");
107
+ var import_themes4 = require("@radix-ui/themes");
108
+
109
+ // src/components/skeletons/Skeleton/index.tsx
110
+ var import_themes = require("@radix-ui/themes");
111
+ var import_jsx_runtime = (
112
+ // @ts-ignore-next-line
113
+ require("react/jsx-runtime")
114
+ );
115
+ var Skeleton = ({
116
+ className,
117
+ ...rest
118
+ }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
+ import_themes.Flex,
120
+ {
121
+ className: `animate-pulse rounded-3 bg-gray-5 ${className}`,
122
+ ...rest
123
+ }
124
+ );
125
+
126
+ // src/components/messageGroups/MessagesGroupBase/index.tsx
127
+ var import_react3 = require("react");
128
+ var import_themes2 = require("@radix-ui/themes");
129
+ var import_jsx_runtime2 = require("react/jsx-runtime");
130
+ var MessagesGroupBase = (0, import_react3.forwardRef)(function MessagesGroupBase2({
131
+ children
132
+ }, ref) {
133
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
134
+ import_themes2.Container,
135
+ {
136
+ ref,
137
+ size: "2",
138
+ grow: "0",
139
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
140
+ import_themes2.Flex,
141
+ {
142
+ shrink: "0",
143
+ gap: "3",
144
+ children
145
+ }
146
+ )
147
+ }
148
+ );
149
+ });
150
+
151
+ // src/components/messageGroups/MessagesGroupBase/Name.tsx
152
+ var import_themes3 = require("@radix-ui/themes");
153
+ var import_jsx_runtime3 = require("react/jsx-runtime");
154
+ var Name = ({
155
+ children
156
+ }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
157
+ import_themes3.Flex,
158
+ {
159
+ height: "5",
160
+ align: "center",
161
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
162
+ import_themes3.Text,
163
+ {
164
+ size: "2",
165
+ weight: "bold",
166
+ children
167
+ }
168
+ )
169
+ }
170
+ );
171
+
172
+ // src/components/skeletons/MessagesSkeleton/index.tsx
173
+ var import_jsx_runtime4 = require("react/jsx-runtime");
174
+ var MessagesSkeleton = (0, import_react4.forwardRef)(function MessagesSkeleton2(_props, ref) {
175
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
176
+ MessagesGroupBase,
177
+ {
178
+ ref,
179
+ children: [
180
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
181
+ import_themes4.Avatar,
182
+ {
183
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes4.Flex, {}),
184
+ size: "1",
185
+ className: "animate-pulse"
186
+ }
187
+ ),
188
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
189
+ import_themes4.Box,
190
+ {
191
+ pb: "3",
192
+ children: [
193
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Name, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
194
+ Skeleton,
195
+ {
196
+ height: "1",
197
+ className: "w-[128px]"
198
+ }
199
+ ) }),
200
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
201
+ Skeleton,
202
+ {
203
+ height: "2",
204
+ className: "w-[256px]"
205
+ }
206
+ ),
207
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
208
+ Skeleton,
209
+ {
210
+ height: "2",
211
+ className: "w-[256px] mt-2"
212
+ }
213
+ ),
214
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
215
+ Skeleton,
216
+ {
217
+ height: "2",
218
+ className: "w-[256px] mt-2"
219
+ }
220
+ )
221
+ ]
222
+ }
223
+ )
224
+ ]
225
+ }
226
+ );
227
+ });
228
+
229
+ // src/hooks/messages/useMessages/index.tsx
230
+ var import_react5 = require("react");
231
+ var import_react_query = require("@tanstack/react-query");
232
+
233
+ // src/hooks/messages/useMessages/lib/queryOptions/queryKey.ts
234
+ var queryKey = () => ["messages"];
235
+
236
+ // src/hooks/messages/useMessages/lib/queryOptions/index.ts
237
+ var queryOptions = {
238
+ queryKey: queryKey(),
239
+ // queryFn: ({
240
+ // pageParam,
241
+ // }: { pageParam?: string }) => (
242
+ // queryFn({
243
+ // ...(pageParam ? { cursor: pageParam } : {}),
244
+ // })
245
+ // ),
246
+ initialPageParam: void 0,
247
+ getNextPageParam: (lastPage) => {
248
+ if (!lastPage.hasNextPage)
249
+ return null;
250
+ return lastPage.lastId;
251
+ }
252
+ };
253
+
254
+ // src/hooks/messages/useMessages/index.tsx
255
+ var messages = ({
256
+ props
257
+ }) => {
258
+ if (!props.data)
259
+ return [];
260
+ return props.data.pages.reduce((acc, page) => acc.concat(page.data), []);
261
+ };
262
+ var useMessages = ({
263
+ messagesQueryOptions
264
+ }) => {
265
+ const props = (0, import_react_query.useInfiniteQuery)({
266
+ ...queryOptions,
267
+ ...messagesQueryOptions
268
+ });
269
+ return (0, import_react5.useMemo)(() => ({
270
+ ...props,
271
+ messages: messages({ props })
272
+ }), [props]);
273
+ };
274
+
275
+ // src/hooks/runs/useManageRuns/index.tsx
276
+ var import_react9 = require("react");
277
+
278
+ // src/hooks/messages/useLatestMessage/index.ts
279
+ var import_react6 = require("react");
280
+ var useLatestMessage = (args) => {
281
+ const props = useMessages(args);
282
+ return (0, import_react6.useMemo)(() => ({
283
+ ...props,
284
+ latestMessage: props.messages[0] || null
285
+ }), [props]);
286
+ };
287
+
288
+ // src/hooks/runs/useLatestRun/index.ts
289
+ var import_react8 = require("react");
290
+
291
+ // src/hooks/runs/useRuns/index.tsx
292
+ var import_react7 = require("react");
293
+ var import_react_query2 = require("@tanstack/react-query");
294
+
295
+ // src/hooks/runs/useRuns/lib/queryOptions/queryKey.ts
296
+ var queryKey2 = () => ["runs"];
297
+
298
+ // src/hooks/runs/useRuns/lib/queryOptions/index.ts
299
+ var queryOptions2 = {
300
+ queryKey: queryKey2(),
301
+ // queryFn: ({
302
+ // pageParam,
303
+ // }: { pageParam?: string }) => (
304
+ // queryFn({
305
+ // assistantConversationId,
306
+ // })
307
+ // ),
308
+ initialPageParam: void 0,
309
+ getNextPageParam: (lastPage) => {
310
+ if (!lastPage.hasNextPage)
311
+ return null;
312
+ return lastPage.lastId;
313
+ },
314
+ limit: 10
315
+ };
316
+
317
+ // src/hooks/runs/useRuns/lib/getRuns.ts
318
+ var getRuns = ({
319
+ data: data2
320
+ }) => {
321
+ if (!data2)
322
+ return [];
323
+ return data2.pages.reduce((acc, page) => acc.concat(page.data), []);
324
+ };
325
+
326
+ // src/hooks/runs/useRuns/index.tsx
327
+ var useRuns = ({
328
+ runsQueryOptions
329
+ }) => {
330
+ const props = (0, import_react_query2.useInfiniteQuery)({
331
+ ...queryOptions2,
332
+ ...runsQueryOptions
333
+ });
334
+ return (0, import_react7.useMemo)(() => ({
335
+ ...props,
336
+ runs: getRuns({ data: props.data })
337
+ }), [props]);
338
+ };
339
+
340
+ // src/hooks/runs/useLatestRun/index.ts
341
+ var useLatestRun = (args) => {
342
+ const props = useRuns(args);
343
+ return (0, import_react8.useMemo)(() => ({
344
+ ...props,
345
+ latestRun: props.runs[0]
346
+ }), [props]);
347
+ };
348
+
349
+ // src/hooks/runs/useCreateRun/index.ts
350
+ var import_react_query3 = require("@tanstack/react-query");
351
+
352
+ // src/hooks/runs/useCreateRun/lib/mutationOptions/onSuccess.ts
353
+ var onSuccess = ({
354
+ queryClient
355
+ }) => (response) => queryClient.setQueryData(
356
+ queryKey2(),
357
+ (prevData) => {
358
+ if (!prevData) {
359
+ return {
360
+ pageParams: [],
361
+ pages: [
362
+ {
363
+ data: [response.run],
364
+ hasNextPage: false,
365
+ lastId: response.run.id
366
+ }
367
+ ]
368
+ };
369
+ }
370
+ const [latestPage, ...pagesRest] = prevData.pages;
371
+ return {
372
+ ...prevData,
373
+ pages: [
374
+ {
375
+ ...latestPage,
376
+ data: [
377
+ response.run,
378
+ ...latestPage.data
379
+ ]
380
+ },
381
+ ...pagesRest
382
+ ]
383
+ };
384
+ }
385
+ );
386
+
387
+ // src/hooks/runs/useCreateRun/lib/mutationOptions/onSettled.ts
388
+ var onSettled = ({
389
+ queryClient
390
+ }) => (response) => {
391
+ if (!response) {
392
+ throw new Error("useCreateRun onSettled: response is undefined");
393
+ }
394
+ queryClient.invalidateQueries({
395
+ queryKey: queryKey()
396
+ });
397
+ queryClient.invalidateQueries({
398
+ queryKey: queryKey2()
399
+ });
400
+ };
401
+
402
+ // src/hooks/runs/useCreateRun/lib/mutationOptions/index.ts
403
+ var mutationOptions = ({
404
+ queryClient
405
+ }) => ({
406
+ // mutationFn,
407
+ onSuccess: onSuccess({ queryClient }),
408
+ onSettled: onSettled({ queryClient })
409
+ });
410
+
411
+ // src/hooks/runs/useCreateRun/index.ts
412
+ var useCreateRun = ({
413
+ createRunMutationOptions
414
+ }) => {
415
+ const queryClient = (0, import_react_query3.useQueryClient)();
416
+ const mutationProps = (0, import_react_query3.useMutation)({
417
+ ...mutationOptions({
418
+ queryClient
419
+ }),
420
+ ...createRunMutationOptions
421
+ });
422
+ return {
423
+ ...mutationProps,
424
+ createRun: mutationProps.mutate
425
+ };
426
+ };
427
+
428
+ // src/lib/optimistic/isOptimistic.ts
429
+ var import_lodash2 = __toESM(require("lodash"));
430
+ var isOptimistic = ({
431
+ id
432
+ }) => import_lodash2.default.startsWith(id, "-");
433
+
434
+ // src/hooks/runs/useManageRuns/index.tsx
435
+ var useManageRuns = ({
436
+ messagesQueryOptions,
437
+ runsQueryOptions,
438
+ createRunMutationOptions
439
+ }) => {
440
+ const latestRunProps = useLatestRun({
441
+ runsQueryOptions
442
+ });
443
+ const latestMessageProps = useLatestMessage({
444
+ messagesQueryOptions
445
+ });
446
+ const createRunProps = useCreateRun({
447
+ createRunMutationOptions
448
+ });
449
+ (0, import_react9.useEffect)(() => {
450
+ if (createRunProps.isPending)
451
+ return;
452
+ if (latestRunProps.isFetching)
453
+ return;
454
+ if (latestMessageProps.isFetching)
455
+ return;
456
+ if (!latestMessageProps.latestMessage)
457
+ return;
458
+ if (latestMessageProps.latestMessage.role !== "user")
459
+ return;
460
+ if (isOptimistic({ id: latestMessageProps.latestMessage.id }))
461
+ return;
462
+ if (!latestRunProps.latestRun || latestMessageProps.latestMessage.created_at > latestRunProps.latestRun.created_at) {
463
+ createRunProps.createRun();
464
+ }
465
+ }, [
466
+ createRunProps,
467
+ latestRunProps,
468
+ latestMessageProps
469
+ ]);
470
+ return null;
471
+ };
472
+
473
+ // src/hooks/runs/usePolling/index.tsx
474
+ var import_react_query5 = require("@tanstack/react-query");
475
+
476
+ // src/hooks/runs/useIsRunActive/index.tsx
477
+ var import_react10 = require("react");
478
+ var import_react_query4 = require("@tanstack/react-query");
479
+
480
+ // src/lib/runs/isRunEditingMessage/index.ts
481
+ var import_lodash3 = __toESM(require("lodash"));
482
+ var isRunEditingMessage = ({
483
+ message
484
+ }) => {
485
+ if (!message)
486
+ return false;
487
+ if (message.role === "user")
488
+ return false;
489
+ if (!message.run_id)
490
+ return false;
491
+ const hasContent = import_lodash3.default.some(message.content, (content) => {
492
+ var _a;
493
+ return content.type !== "text" || content.type === "text" && ((_a = content.text) == null ? void 0 : _a.value) !== "";
494
+ });
495
+ return !hasContent;
496
+ };
497
+
498
+ // src/hooks/runs/useIsRunActive/index.tsx
499
+ var statuses = [
500
+ "queued",
501
+ // 'completed',
502
+ "in_progress",
503
+ "cancelling",
504
+ "requires_action"
505
+ ];
506
+ var isRunActive = ({
507
+ latestRunProps,
508
+ latestMessageProps,
509
+ isMutating
510
+ }) => {
511
+ var _a, _b;
512
+ if ((_b = (_a = latestMessageProps.latestMessage) == null ? void 0 : _a.metadata) == null ? void 0 : _b.isBlocking)
513
+ return false;
514
+ if (isMutating > 0)
515
+ return true;
516
+ if (!latestRunProps.latestRun)
517
+ return false;
518
+ if (statuses.includes(latestRunProps.latestRun.status))
519
+ return true;
520
+ return isRunEditingMessage({ message: latestMessageProps.latestMessage });
521
+ };
522
+ var useIsRunActive = ({
523
+ messagesQueryOptions,
524
+ runsQueryOptions
525
+ }) => {
526
+ const latestRunProps = useLatestRun({
527
+ runsQueryOptions
528
+ });
529
+ const latestMessageProps = useLatestMessage({
530
+ messagesQueryOptions
531
+ });
532
+ const isMutating = (0, import_react_query4.useIsMutating)();
533
+ return (0, import_react10.useMemo)(() => ({
534
+ ...latestRunProps,
535
+ isRunActive: isRunActive({
536
+ latestRunProps,
537
+ latestMessageProps,
538
+ isMutating
539
+ })
540
+ }), [latestRunProps, latestMessageProps, isMutating]);
541
+ };
542
+
543
+ // src/hooks/runs/usePolling/index.tsx
544
+ var import_react_use = require("react-use");
545
+
546
+ // src/hooks/runs/usePolling/lib/refetch.ts
547
+ var refetch = async ({
548
+ queryClient,
549
+ latestRun
550
+ }) => {
551
+ await queryClient.invalidateQueries({
552
+ queryKey: queryKey()
553
+ });
554
+ await queryClient.invalidateQueries({
555
+ queryKey: queryKey2()
556
+ });
557
+ };
558
+
559
+ // src/hooks/runs/usePolling/index.tsx
560
+ var usePolling = ({
561
+ messagesQueryOptions,
562
+ runsQueryOptions
563
+ }) => {
564
+ const queryClient = (0, import_react_query5.useQueryClient)();
565
+ const isRunActiveProps = useIsRunActive({
566
+ messagesQueryOptions,
567
+ runsQueryOptions
568
+ });
569
+ (0, import_react_use.useInterval)(
570
+ () => {
571
+ refetch({
572
+ queryClient,
573
+ latestRun: isRunActiveProps.latestRun
574
+ });
575
+ console.log("poll refetched");
576
+ },
577
+ isRunActiveProps.isRunActive ? 3e3 : null
578
+ );
579
+ return null;
580
+ };
581
+
582
+ // src/hooks/actions/useManageActions/index.tsx
583
+ var import_react11 = require("react");
584
+
585
+ // src/hooks/actions/useHandleAction/index.tsx
586
+ var import_react_query6 = require("@tanstack/react-query");
587
+
588
+ // src/hooks/actions/useHandleAction/lib/mutationOptions/onSettled.ts
589
+ var onSettled2 = ({
590
+ queryClient
591
+ }) => (response) => {
592
+ if (!response) {
593
+ throw new Error("useHandleAction onSettled: response is undefined");
594
+ }
595
+ queryClient.invalidateQueries({
596
+ queryKey: queryKey()
597
+ });
598
+ queryClient.invalidateQueries({
599
+ queryKey: queryKey2()
600
+ });
601
+ };
602
+
603
+ // src/hooks/actions/useHandleAction/lib/mutationOptions/index.ts
604
+ var mutationOptions2 = ({
605
+ queryClient
606
+ }) => ({
607
+ // mutationFn,
608
+ onSettled: onSettled2({ queryClient })
609
+ });
610
+
611
+ // src/hooks/actions/useHandleAction/index.tsx
612
+ var useHandleAction = ({
613
+ handleActionMutationOptions
614
+ }) => {
615
+ const queryClient = (0, import_react_query6.useQueryClient)();
616
+ const mutationProps = (0, import_react_query6.useMutation)({
617
+ ...mutationOptions2({
618
+ queryClient
619
+ }),
620
+ ...handleActionMutationOptions
621
+ });
622
+ return {
623
+ ...mutationProps,
624
+ handleAction: mutationProps.mutate
625
+ };
626
+ };
627
+
628
+ // src/hooks/actions/useManageActions/index.tsx
629
+ var useManageActions = ({
630
+ runsQueryOptions,
631
+ handleActionMutationOptions
632
+ }) => {
633
+ const latestRunProps = useLatestRun({
634
+ runsQueryOptions
635
+ });
636
+ const handleActionProps = useHandleAction({
637
+ handleActionMutationOptions
638
+ });
639
+ (0, import_react11.useEffect)(() => {
640
+ if (handleActionProps.isPending)
641
+ return;
642
+ if (latestRunProps.isFetching)
643
+ return;
644
+ if (!latestRunProps.latestRun)
645
+ return;
646
+ if (latestRunProps.latestRun.status !== "requires_action")
647
+ return;
648
+ console.log("requires action", {
649
+ latestRunProps
650
+ });
651
+ handleActionProps.handleAction({ latestRun: latestRunProps.latestRun });
652
+ }, [handleActionProps, latestRunProps]);
653
+ return null;
654
+ };
655
+
656
+ // src/hooks/threads/useThreadLifecycles/index.tsx
657
+ var useThreadLifecycles = ({
658
+ messagesQueryOptions,
659
+ runsQueryOptions,
660
+ createRunMutationOptions,
661
+ handleActionMutationOptions
662
+ }) => {
663
+ useManageRuns({
664
+ messagesQueryOptions,
665
+ runsQueryOptions,
666
+ createRunMutationOptions
667
+ });
668
+ useManageActions({
669
+ runsQueryOptions,
670
+ handleActionMutationOptions
671
+ });
672
+ usePolling({
673
+ messagesQueryOptions,
674
+ runsQueryOptions
675
+ });
676
+ return null;
677
+ };
678
+
679
+ // src/hooks/messageGroups/useMessageGroups/index.ts
680
+ var import_react12 = require("react");
681
+
682
+ // src/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.ts
683
+ var import_lodash4 = __toESM(require("lodash"));
684
+ var import_radash2 = require("radash");
685
+
686
+ // src/lib/messages/order.ts
687
+ var import_radash = require("radash");
688
+ var order = ({ messages: messages2 }) => (0, import_radash.sort)(messages2, (m) => m.created_at, true);
689
+
690
+ // src/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/newGroupItem.ts
691
+ var newGroupItem = ({ message }) => ({
692
+ id: message.id,
693
+ role: message.role,
694
+ createdAt: message.created_at,
695
+ messages: [message]
696
+ });
697
+
698
+ // src/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/index.ts
699
+ var newGroup = ({ groups, message }) => [
700
+ ...groups,
701
+ newGroupItem({
702
+ message
703
+ })
704
+ ];
705
+
706
+ // src/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.ts
707
+ var messageGroups = ({
708
+ messages: messages2
709
+ }) => import_lodash4.default.reduce(
710
+ order({ messages: messages2 }),
711
+ (groups, message) => {
712
+ const group = (0, import_radash2.last)(groups);
713
+ if (!group)
714
+ return newGroup({ groups, message });
715
+ if (group.role !== message.role) {
716
+ return newGroup({
717
+ groups,
718
+ message
719
+ });
720
+ }
721
+ return [
722
+ ...import_lodash4.default.dropRight(groups),
723
+ {
724
+ ...group,
725
+ messages: [...group.messages, message]
726
+ }
727
+ ];
728
+ },
729
+ []
730
+ );
731
+
732
+ // src/hooks/messageGroups/useMessageGroups/index.ts
733
+ var useMessageGroups = ({
734
+ messages: messages2
735
+ }) => (0, import_react12.useMemo)(
736
+ () => ({
737
+ messageGroups: messageGroups({ messages: messages2 })
738
+ }),
739
+ [messages2]
740
+ );
741
+
742
+ // src/components/messages/Messages/Content/MessageGroup/index.tsx
743
+ var import_react21 = require("react");
744
+ var import_themes25 = require("@radix-ui/themes");
745
+ var import_react_icons4 = require("@radix-ui/react-icons");
746
+
747
+ // src/components/messageGroups/MessagesGroupBase/AssistantAvatar.tsx
748
+ var import_react14 = require("react");
749
+ var import_themes6 = require("@radix-ui/themes");
750
+
751
+ // src/contexts/avatars/AssistantAvatarContext/index.tsx
752
+ var import_react13 = require("react");
753
+ var import_themes5 = require("@radix-ui/themes");
754
+ var import_react_icons = require("@radix-ui/react-icons");
755
+ var import_jsx_runtime5 = require("react/jsx-runtime");
756
+ var AssistantAvatarContext = (0, import_react13.createContext)(
757
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
758
+ import_themes5.Avatar,
759
+ {
760
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_icons.LightningBoltIcon, {}),
761
+ size: "1"
762
+ }
763
+ )
764
+ );
765
+
766
+ // src/components/messageGroups/MessagesGroupBase/AssistantAvatar.tsx
767
+ var import_jsx_runtime6 = require("react/jsx-runtime");
768
+ var AssistantAvatar = () => {
769
+ const AssistantAvatarContextValue = (0, import_react14.useContext)(AssistantAvatarContext);
770
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
771
+ import_themes6.Flex,
772
+ {
773
+ shrink: "0",
774
+ className: "rounded-3 overflow-hidden h-[24px] w-[24px]",
775
+ children: AssistantAvatarContextValue
776
+ }
777
+ );
778
+ };
779
+
780
+ // src/contexts/assistants/AssistantNameContext/index.tsx
781
+ var import_react15 = require("react");
782
+ var AssistantNameContext = (0, import_react15.createContext)("Assistant");
783
+
784
+ // src/components/messages/Messages/Content/MessageGroup/Content/index.tsx
785
+ var import_themes24 = require("@radix-ui/themes");
786
+
787
+ // src/components/messages/Message/index.tsx
788
+ var import_react20 = require("react");
789
+ var import_themes23 = require("@radix-ui/themes");
790
+
791
+ // src/components/runSteps/RunSteps/index.tsx
792
+ var import_themes16 = require("@radix-ui/themes");
793
+
794
+ // src/components/runSteps/RunStep/ToolCalls/index.tsx
795
+ var import_themes15 = require("@radix-ui/themes");
796
+
797
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
798
+ var import_themes13 = require("@radix-ui/themes");
799
+
800
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/index.tsx
801
+ var import_themes10 = require("@radix-ui/themes");
802
+
803
+ // src/components/toolCalls/ToolCallBase/index.tsx
804
+ var import_react16 = require("react");
805
+ var import_themes7 = require("@radix-ui/themes");
806
+ var import_jsx_runtime7 = require("react/jsx-runtime");
807
+ var ToolCallBase = (0, import_react16.forwardRef)(function ToolCallBase2({
808
+ children
809
+ }, ref) {
810
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
811
+ import_themes7.Flex,
812
+ {
813
+ py: "1",
814
+ ml: "-2",
815
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes7.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
816
+ import_themes7.Button,
817
+ {
818
+ size: "1",
819
+ color: "gold",
820
+ variant: "outline",
821
+ style: {
822
+ boxShadow: "none"
823
+ },
824
+ children
825
+ }
826
+ ) })
827
+ }
828
+ );
829
+ });
830
+
831
+ // src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
832
+ var import_themes8 = require("@radix-ui/themes");
833
+ var import_jsx_runtime8 = require("react/jsx-runtime");
834
+ var ToolCallTitle = ({
835
+ children
836
+ }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
837
+ import_themes8.Text,
838
+ {
839
+ weight: "regular",
840
+ children
841
+ }
842
+ );
843
+
844
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Icon.tsx
845
+ var import_react_icons2 = require("@radix-ui/react-icons");
846
+ var import_jsx_runtime9 = require("react/jsx-runtime");
847
+ var Icon = ({
848
+ runStep
849
+ }) => {
850
+ if (runStep.completed_at) {
851
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CheckCircledIcon, {});
852
+ } else if (runStep.cancelled_at) {
853
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleBackslashIcon, {});
854
+ } else {
855
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleIcon, {});
856
+ }
857
+ };
858
+
859
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Content/index.tsx
860
+ var import_react17 = require("react");
861
+ var import_themes9 = require("@radix-ui/themes");
862
+ var import_jsx_runtime10 = require("react/jsx-runtime");
863
+ var Content = ({
864
+ fn
865
+ }) => {
866
+ const args = (0, import_react17.useMemo)(() => {
867
+ let result = null;
868
+ try {
869
+ result = JSON.parse(fn.arguments);
870
+ } catch (error) {
871
+ console.error(error);
872
+ }
873
+ return result;
874
+ }, [fn]);
875
+ const output = (0, import_react17.useMemo)(() => {
876
+ if (!fn.output) {
877
+ return null;
878
+ }
879
+ let result = null;
880
+ try {
881
+ result = JSON.parse(fn.output);
882
+ } catch (error) {
883
+ console.error(error);
884
+ }
885
+ return result;
886
+ }, [fn]);
887
+ if (!args) {
888
+ return null;
889
+ }
890
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
891
+ import_themes9.Code,
892
+ {
893
+ variant: "ghost",
894
+ color: "gold",
895
+ className: "whitespace-pre break-words",
896
+ children: [
897
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Box, { children: args && JSON.stringify(args, null, 2) }),
898
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Box, { children: output && JSON.stringify(output, null, 2) })
899
+ ]
900
+ }
901
+ );
902
+ };
903
+
904
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/Title.tsx
905
+ var import_jsx_runtime11 = require("react/jsx-runtime");
906
+ var Title = ({
907
+ runStep
908
+ }) => {
909
+ if (runStep.completed_at) {
910
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: "Finished getting domains availability" });
911
+ } else if (runStep.cancelled_at) {
912
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: "Cancelled getting domains availability" });
913
+ } else {
914
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: "Getting domains availability" });
915
+ }
916
+ };
917
+
918
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Availabilities/index.tsx
919
+ var import_jsx_runtime12 = require("react/jsx-runtime");
920
+ var Availabilities = ({
921
+ fn,
922
+ runStep
923
+ }) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_themes10.PopoverRoot, { children: [
924
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(ToolCallBase, { children: [
925
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { runStep }),
926
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ToolCallTitle, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Title, { runStep }) })
927
+ ] }),
928
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
929
+ import_themes10.PopoverContent,
930
+ {
931
+ className: "max-h-[500px]",
932
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Content, { fn })
933
+ }
934
+ )
935
+ ] });
936
+
937
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/index.tsx
938
+ var import_themes11 = require("@radix-ui/themes");
939
+
940
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/Title.tsx
941
+ var import_jsx_runtime13 = require("react/jsx-runtime");
942
+ var Title2 = ({
943
+ runStep
944
+ }) => {
945
+ if (runStep.completed_at) {
946
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: "Finished getting domains scores" });
947
+ } else if (runStep.cancelled_at) {
948
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: "Cancelled getting domains scores" });
949
+ } else {
950
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: "Getting domains scores" });
951
+ }
952
+ };
953
+
954
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/Scores/index.tsx
955
+ var import_jsx_runtime14 = require("react/jsx-runtime");
956
+ var Scores = ({
957
+ fn,
958
+ runStep
959
+ }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_themes11.PopoverRoot, { children: [
960
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(ToolCallBase, { children: [
961
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { runStep }),
962
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallTitle, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Title2, { runStep }) })
963
+ ] }),
964
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
965
+ import_themes11.PopoverContent,
966
+ {
967
+ className: "max-h-[500px]",
968
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Content, { fn })
969
+ }
970
+ )
971
+ ] });
972
+
973
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
974
+ var import_jsx_runtime15 = require("react/jsx-runtime");
975
+ var Fn = ({
976
+ fn,
977
+ runStep
978
+ }) => {
979
+ if (fn.name === "getAvailabilities") {
980
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
981
+ Availabilities,
982
+ {
983
+ fn,
984
+ runStep
985
+ }
986
+ );
987
+ } else if (fn.name === "getScores") {
988
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
989
+ Scores,
990
+ {
991
+ fn,
992
+ runStep
993
+ }
994
+ );
995
+ }
996
+ return null;
997
+ };
998
+
999
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
1000
+ var import_themes12 = require("@radix-ui/themes");
1001
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1002
+ var CodeInterpreter = ({
1003
+ codeInterpreter
1004
+ }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Flex, { children: codeInterpreter.input });
1005
+
1006
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
1007
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1008
+ var ToolCall = ({
1009
+ toolCall,
1010
+ runStep
1011
+ }) => {
1012
+ if (toolCall.type === "function") {
1013
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1014
+ Fn,
1015
+ {
1016
+ fn: toolCall.function,
1017
+ runStep
1018
+ }
1019
+ );
1020
+ }
1021
+ if (toolCall.type === "code_interpreter") {
1022
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1023
+ CodeInterpreter,
1024
+ {
1025
+ codeInterpreter: toolCall.code_interpreter,
1026
+ runStep
1027
+ }
1028
+ );
1029
+ }
1030
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.Flex, { children: toolCall.type });
1031
+ };
1032
+
1033
+ // src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
1034
+ var import_themes14 = require("@radix-ui/themes");
1035
+ var import_react_icons3 = require("@radix-ui/react-icons");
1036
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1037
+ var Starting = () => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_themes14.PopoverRoot, { children: [
1038
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(ToolCallBase, { children: [
1039
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_icons3.CircleIcon, {}),
1040
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCallTitle, { children: "Starting actions" })
1041
+ ] }),
1042
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1043
+ import_themes14.PopoverContent,
1044
+ {
1045
+ className: "max-h-[500px]",
1046
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_themes14.Text, { children: "Getting ready to connect to domain API" })
1047
+ }
1048
+ )
1049
+ ] });
1050
+
1051
+ // src/components/runSteps/RunStep/ToolCalls/index.tsx
1052
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1053
+ var ToolCalls = ({
1054
+ stepDetails,
1055
+ runStep
1056
+ }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1057
+ import_themes15.Flex,
1058
+ {
1059
+ direction: "column",
1060
+ children: [
1061
+ !stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Starting, {}),
1062
+ stepDetails.tool_calls.map((toolCall) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1063
+ ToolCall,
1064
+ {
1065
+ toolCall,
1066
+ runStep
1067
+ },
1068
+ toolCall.id
1069
+ ))
1070
+ ]
1071
+ }
1072
+ );
1073
+
1074
+ // src/components/runSteps/RunStep/index.tsx
1075
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1076
+ var RunStep = ({
1077
+ runStep
1078
+ }) => {
1079
+ if (runStep.step_details.type === "tool_calls") {
1080
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1081
+ ToolCalls,
1082
+ {
1083
+ stepDetails: runStep.step_details,
1084
+ runStep
1085
+ }
1086
+ );
1087
+ }
1088
+ return null;
1089
+ };
1090
+
1091
+ // src/components/runSteps/RunSteps/index.tsx
1092
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1093
+ var RunSteps = ({
1094
+ runSteps
1095
+ }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1096
+ import_themes16.Flex,
1097
+ {
1098
+ direction: "column-reverse",
1099
+ children: runSteps.map((runStep) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1100
+ RunStep,
1101
+ {
1102
+ runStep
1103
+ },
1104
+ runStep.id
1105
+ ))
1106
+ }
1107
+ );
1108
+
1109
+ // src/components/messages/Message/TextContent/index.tsx
1110
+ var import_react19 = require("react");
1111
+ var import_react_markdown = __toESM(require("react-markdown"));
1112
+
1113
+ // src/contexts/markdown/MarkdownContext/index.ts
1114
+ var import_react18 = require("react");
1115
+
1116
+ // src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
1117
+ var import_themes17 = require("@radix-ui/themes");
1118
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1119
+ var Paragraph = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1120
+ import_themes17.Box,
1121
+ {
1122
+ pb: "3",
1123
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1124
+ import_themes17.Text,
1125
+ {
1126
+ size: "3",
1127
+ className: "whitespace-pre-line break-words",
1128
+ children
1129
+ }
1130
+ )
1131
+ }
1132
+ );
1133
+
1134
+ // src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
1135
+ var import_themes18 = require("@radix-ui/themes");
1136
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1137
+ var Link = ({ children, href }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1138
+ import_themes18.Link,
1139
+ {
1140
+ href,
1141
+ children
1142
+ }
1143
+ );
1144
+
1145
+ // src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
1146
+ var import_themes19 = require("@radix-ui/themes");
1147
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1148
+ var UnorderedList = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1149
+ import_themes19.Box,
1150
+ {
1151
+ pb: "3",
1152
+ asChild: true,
1153
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1154
+ "ul",
1155
+ {
1156
+ className: "list-inside",
1157
+ children
1158
+ }
1159
+ )
1160
+ }
1161
+ );
1162
+
1163
+ // src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
1164
+ var import_themes20 = require("@radix-ui/themes");
1165
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1166
+ var OrderedList = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1167
+ import_themes20.Box,
1168
+ {
1169
+ pb: "3",
1170
+ asChild: true,
1171
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1172
+ "ol",
1173
+ {
1174
+ className: "list-inside",
1175
+ children
1176
+ }
1177
+ )
1178
+ }
1179
+ );
1180
+
1181
+ // src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
1182
+ var import_themes21 = require("@radix-ui/themes");
1183
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1184
+ var ListItem = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1185
+ import_themes21.Box,
1186
+ {
1187
+ pb: "1",
1188
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("li", { children })
1189
+ }
1190
+ );
1191
+
1192
+ // src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
1193
+ var import_themes22 = require("@radix-ui/themes");
1194
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1195
+ var Strong = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Strong, { children });
1196
+
1197
+ // src/contexts/markdown/MarkdownContext/lib/components/index.tsx
1198
+ var components = {
1199
+ p: Paragraph,
1200
+ a: Link,
1201
+ strong: Strong,
1202
+ ul: UnorderedList,
1203
+ ol: OrderedList,
1204
+ li: ListItem
1205
+ };
1206
+
1207
+ // src/contexts/markdown/MarkdownContext/index.ts
1208
+ var MarkdownContext = (0, import_react18.createContext)({
1209
+ remarkPlugins: [],
1210
+ components
1211
+ });
1212
+
1213
+ // src/components/messages/Message/TextContent/index.tsx
1214
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1215
+ var TextContent = ({
1216
+ content
1217
+ }) => {
1218
+ const markdownContext = (0, import_react19.useContext)(MarkdownContext);
1219
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1220
+ import_react_markdown.default,
1221
+ {
1222
+ ...markdownContext,
1223
+ children: content.text.value
1224
+ }
1225
+ );
1226
+ };
1227
+
1228
+ // src/components/messages/Message/index.tsx
1229
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1230
+ var Message = ({
1231
+ message
1232
+ }) => {
1233
+ const [olderRunSteps, laterRunSteps] = (0, import_react20.useMemo)(() => {
1234
+ if (!message.runSteps.length)
1235
+ return [[], []];
1236
+ const messageCreationRunStepIndex = message.runSteps.findIndex((runStep) => {
1237
+ if (runStep.step_details.type !== "message_creation")
1238
+ return;
1239
+ return runStep.step_details.message_creation.message_id === message.id;
1240
+ });
1241
+ let nextRunStepIndex = message.runSteps.slice(0, messageCreationRunStepIndex).findLastIndex((runStep) => runStep.step_details.type === "message_creation");
1242
+ if (nextRunStepIndex === -1) {
1243
+ nextRunStepIndex = 0;
1244
+ }
1245
+ const laterRunSteps2 = message.runSteps.slice(nextRunStepIndex, messageCreationRunStepIndex);
1246
+ const prevRunStepIndex = message.runSteps.slice(messageCreationRunStepIndex + 1).findIndex((runStep) => runStep.step_details.type === "message_creation");
1247
+ let olderRunSteps2;
1248
+ if (prevRunStepIndex === -1) {
1249
+ olderRunSteps2 = message.runSteps.slice(messageCreationRunStepIndex + 1);
1250
+ } else {
1251
+ olderRunSteps2 = message.runSteps.slice(messageCreationRunStepIndex + 1, messageCreationRunStepIndex + prevRunStepIndex);
1252
+ }
1253
+ return [olderRunSteps2, laterRunSteps2];
1254
+ }, [message]);
1255
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes23.Box, { children: [
1256
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1257
+ RunSteps,
1258
+ {
1259
+ runSteps: olderRunSteps
1260
+ }
1261
+ ),
1262
+ message.content.map((content, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1263
+ import_themes23.Box,
1264
+ {
1265
+ children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TextContent, { content })
1266
+ },
1267
+ index
1268
+ )),
1269
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1270
+ RunSteps,
1271
+ {
1272
+ runSteps: laterRunSteps
1273
+ }
1274
+ )
1275
+ ] });
1276
+ };
1277
+
1278
+ // src/components/messages/Messages/Content/MessageGroup/Content/index.tsx
1279
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1280
+ var Content2 = ({
1281
+ messageGroup
1282
+ }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1283
+ import_themes24.Flex,
1284
+ {
1285
+ direction: "column-reverse",
1286
+ children: messageGroup.messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1287
+ Message,
1288
+ {
1289
+ message
1290
+ },
1291
+ message.id
1292
+ ))
1293
+ }
1294
+ );
1295
+
1296
+ // src/components/messages/Messages/Content/MessageGroup/index.tsx
1297
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1298
+ var MessageGroup = ({
1299
+ messageGroup
1300
+ }) => {
1301
+ const assistantNameContext = (0, import_react21.useContext)(AssistantNameContext);
1302
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(MessagesGroupBase, { children: [
1303
+ messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1304
+ import_themes25.Avatar,
1305
+ {
1306
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_icons4.PersonIcon, {}),
1307
+ size: "1"
1308
+ }
1309
+ ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(AssistantAvatar, {}),
1310
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_themes25.Box, { children: [
1311
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Name, { children: messageGroup.role === "user" ? "You" : assistantNameContext }),
1312
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1313
+ Content2,
1314
+ {
1315
+ messageGroup
1316
+ }
1317
+ )
1318
+ ] })
1319
+ ] });
1320
+ };
1321
+
1322
+ // src/components/messages/Messages/Content/index.tsx
1323
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1324
+ var Content3 = ({
1325
+ messages: messages2
1326
+ }) => {
1327
+ const { messageGroups: messageGroups2 } = useMessageGroups({
1328
+ messages: messages2
1329
+ });
1330
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, { children: messageGroups2.map((messageGroup) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1331
+ MessageGroup,
1332
+ {
1333
+ messageGroup
1334
+ },
1335
+ messageGroup.id
1336
+ )) });
1337
+ };
1338
+
1339
+ // src/components/messages/Messages/ProgressMessage/index.tsx
1340
+ var import_themes28 = require("@radix-ui/themes");
1341
+
1342
+ // src/components/skeletons/StartingContentSkeleton/index.tsx
1343
+ var import_themes26 = require("@radix-ui/themes");
1344
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1345
+ var StartingContentSkeleton = () => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1346
+ import_themes26.Box,
1347
+ {
1348
+ height: "4",
1349
+ width: "4",
1350
+ shrink: "0",
1351
+ mt: "1",
1352
+ className: "animate-pulse bg-gray-12 rounded-3"
1353
+ }
1354
+ );
1355
+
1356
+ // src/components/skeletons/StartingSkeleton/index.tsx
1357
+ var import_react22 = require("react");
1358
+ var import_themes27 = require("@radix-ui/themes");
1359
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1360
+ var StartingSkeleton = ({
1361
+ children
1362
+ }) => {
1363
+ const assistantNameContext = (0, import_react22.useContext)(AssistantNameContext);
1364
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(MessagesGroupBase, { children: [
1365
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AssistantAvatar, {}),
1366
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_themes27.Box, { children: [
1367
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Name, { children: assistantNameContext }),
1368
+ children,
1369
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingContentSkeleton, {})
1370
+ ] })
1371
+ ] });
1372
+ };
1373
+
1374
+ // src/components/messages/Messages/ProgressMessage/index.tsx
1375
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1376
+ var ProgressMessage = ({
1377
+ latestMessage,
1378
+ isRunActive: isRunActive2
1379
+ }) => {
1380
+ if (!latestMessage)
1381
+ return null;
1382
+ if (!isRunActive2)
1383
+ return null;
1384
+ if (latestMessage.role === "user") {
1385
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingSkeleton, {});
1386
+ }
1387
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(MessagesGroupBase, { children: [
1388
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes28.Box, { pl: "5" }),
1389
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingContentSkeleton, {})
1390
+ ] });
1391
+ };
1392
+
1393
+ // src/components/messages/Messages/index.tsx
1394
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1395
+ var Messages = ({
1396
+ messagesQueryOptions,
1397
+ runsQueryOptions,
1398
+ createRunMutationOptions,
1399
+ handleActionMutationOptions,
1400
+ children
1401
+ }) => {
1402
+ const {
1403
+ messages: messages2,
1404
+ isFetchingNextPage,
1405
+ hasNextPage,
1406
+ fetchNextPage
1407
+ } = useMessages({
1408
+ messagesQueryOptions
1409
+ });
1410
+ useThreadLifecycles({
1411
+ messagesQueryOptions,
1412
+ runsQueryOptions,
1413
+ createRunMutationOptions,
1414
+ handleActionMutationOptions
1415
+ });
1416
+ const { containerRef, loaderRef } = useInfiniteScroll({
1417
+ isFetchingNextPage,
1418
+ hasNextPage,
1419
+ fetchNextPage
1420
+ });
1421
+ const { isRunActive: isRunActive2 } = useIsRunActive({
1422
+ messagesQueryOptions,
1423
+ runsQueryOptions
1424
+ });
1425
+ const { latestMessage } = useLatestMessage({
1426
+ messagesQueryOptions
1427
+ });
1428
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
1429
+ import_themes29.Flex,
1430
+ {
1431
+ ref: containerRef,
1432
+ direction: "column-reverse",
1433
+ className: "overflow-auto",
1434
+ grow: "1",
1435
+ p: "2",
1436
+ children: [
1437
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1438
+ import_themes29.Flex,
1439
+ {
1440
+ shrink: "0",
1441
+ height: "1"
1442
+ }
1443
+ ),
1444
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1445
+ ProgressMessage,
1446
+ {
1447
+ latestMessage,
1448
+ isRunActive: isRunActive2
1449
+ }
1450
+ ),
1451
+ children,
1452
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1453
+ Content3,
1454
+ {
1455
+ messages: messages2
1456
+ }
1457
+ ),
1458
+ hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1459
+ MessagesSkeleton,
1460
+ {
1461
+ ref: loaderRef
1462
+ }
1463
+ ),
1464
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1465
+ import_themes29.Flex,
1466
+ {
1467
+ shrink: "0",
1468
+ grow: "1"
1469
+ }
1470
+ )
1471
+ ]
1472
+ }
1473
+ );
1474
+ };
1475
+
1476
+ // src/components/messages/Form/index.tsx
1477
+ var import_themes31 = require("@radix-ui/themes");
1478
+ var import_react24 = require("react");
1479
+ var import_react_hook_form = require("react-hook-form");
1480
+ var import_zod = require("zod");
1481
+ var import_zod2 = require("@hookform/resolvers/zod");
1482
+ var import_react_use2 = require("react-use");
1483
+
1484
+ // src/components/textareas/TextareaBase/index.tsx
1485
+ var import_react23 = require("react");
1486
+ var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"));
1487
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1488
+ var UPSCALE_RATIO = 16 / 14;
1489
+ var TextareaBase = (0, import_react23.forwardRef)(function TextareaBase2(props, ref) {
1490
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1491
+ import_react_textarea_autosize.default,
1492
+ {
1493
+ ref,
1494
+ className: "textarea-base",
1495
+ style: {
1496
+ resize: "none",
1497
+ fontSize: `${14 * UPSCALE_RATIO}px`,
1498
+ lineHeight: `${24 * UPSCALE_RATIO}px`,
1499
+ transform: `scale(${1 / UPSCALE_RATIO})`,
1500
+ margin: `0 ${(-100 * UPSCALE_RATIO + 100) / 2}%`,
1501
+ width: `${100 * UPSCALE_RATIO}%`,
1502
+ maxWidth: `${100 * UPSCALE_RATIO}%`,
1503
+ flexGrow: 1,
1504
+ display: "flex"
1505
+ },
1506
+ ...props
1507
+ }
1508
+ );
1509
+ });
1510
+
1511
+ // src/hooks/messages/useCreateMessage/index.ts
1512
+ var import_react_query7 = require("@tanstack/react-query");
1513
+
1514
+ // src/lib/optimistic/optimisticId.ts
1515
+ var import_radash3 = require("radash");
1516
+ var optimisticId = () => `-${(0, import_radash3.uid)(24)}`;
1517
+
1518
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.ts
1519
+ var data = ({
1520
+ newMessage
1521
+ }) => (prevData) => {
1522
+ const message = {
1523
+ id: optimisticId(),
1524
+ role: "user",
1525
+ created_at: +/* @__PURE__ */ new Date(),
1526
+ object: "thread.message",
1527
+ content: [
1528
+ {
1529
+ type: "text",
1530
+ text: {
1531
+ annotations: [],
1532
+ value: newMessage.content
1533
+ }
1534
+ }
1535
+ ],
1536
+ run_id: null,
1537
+ assistant_id: null,
1538
+ thread_id: null,
1539
+ file_ids: [],
1540
+ metadata: {},
1541
+ runSteps: []
1542
+ };
1543
+ if (!prevData) {
1544
+ return {
1545
+ pageParams: [],
1546
+ pages: [
1547
+ {
1548
+ data: [message],
1549
+ hasNextPage: false,
1550
+ lastId: message.id
1551
+ }
1552
+ ]
1553
+ };
1554
+ }
1555
+ const [latestPage, ...pagesRest] = prevData.pages;
1556
+ return {
1557
+ ...prevData,
1558
+ pages: [
1559
+ {
1560
+ ...latestPage,
1561
+ data: [
1562
+ message,
1563
+ ...latestPage.data
1564
+ ]
1565
+ },
1566
+ ...pagesRest
1567
+ ]
1568
+ };
1569
+ };
1570
+
1571
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
1572
+ var onMutate = ({
1573
+ queryClient
1574
+ }) => async (newMessage) => {
1575
+ await queryClient.cancelQueries(queryKey());
1576
+ const prevMessages = queryClient.getQueryData(queryKey());
1577
+ queryClient.setQueryData(
1578
+ queryKey(),
1579
+ data({ newMessage })
1580
+ );
1581
+ return {
1582
+ prevMessages,
1583
+ newMessage
1584
+ };
1585
+ };
1586
+
1587
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onError.ts
1588
+ var onError = ({
1589
+ queryClient
1590
+ }) => async (_error, newMessage, context) => {
1591
+ if (!context) {
1592
+ return;
1593
+ }
1594
+ queryClient.setQueryData(
1595
+ queryKey(),
1596
+ context.prevMessages
1597
+ );
1598
+ };
1599
+
1600
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.ts
1601
+ var onSettled3 = ({
1602
+ queryClient
1603
+ }) => async (response) => {
1604
+ if (!response)
1605
+ return;
1606
+ await queryClient.invalidateQueries({
1607
+ queryKey: queryKey()
1608
+ });
1609
+ };
1610
+
1611
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/index.ts
1612
+ var mutationOptions3 = ({
1613
+ queryClient
1614
+ }) => ({
1615
+ // mutationFn,
1616
+ onMutate: onMutate({
1617
+ queryClient
1618
+ }),
1619
+ onError: onError({
1620
+ queryClient
1621
+ }),
1622
+ onSettled: onSettled3({
1623
+ queryClient
1624
+ })
1625
+ });
1626
+
1627
+ // src/hooks/messages/useCreateMessage/index.ts
1628
+ var useCreateMessage = ({
1629
+ createMessageMutationOptions
1630
+ }) => {
1631
+ const queryClient = (0, import_react_query7.useQueryClient)();
1632
+ const mutationProps = (0, import_react_query7.useMutation)({
1633
+ ...mutationOptions3({
1634
+ queryClient
1635
+ }),
1636
+ ...createMessageMutationOptions
1637
+ });
1638
+ return {
1639
+ ...mutationProps,
1640
+ createMessage: mutationProps.mutateAsync
1641
+ };
1642
+ };
1643
+
1644
+ // src/components/messages/Form/Submit/index.tsx
1645
+ var import_react_icons5 = require("@radix-ui/react-icons");
1646
+ var import_themes30 = require("@radix-ui/themes");
1647
+
1648
+ // src/components/spinners/Spinner/index.tsx
1649
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1650
+ var Spinner = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1651
+ "svg",
1652
+ {
1653
+ xmlns: "http://www.w3.org/2000/svg",
1654
+ width: "24",
1655
+ height: "24",
1656
+ viewBox: "0 0 24 24",
1657
+ fill: "none",
1658
+ stroke: "currentColor",
1659
+ strokeWidth: "2",
1660
+ strokeLinecap: "round",
1661
+ strokeLinejoin: "round",
1662
+ className: "h-4 w-4 animate-spin",
1663
+ ...props,
1664
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
1665
+ }
1666
+ );
1667
+
1668
+ // src/components/messages/Form/Submit/index.tsx
1669
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1670
+ var Submit = ({
1671
+ isLoading,
1672
+ isDisabled
1673
+ }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1674
+ import_themes30.Button,
1675
+ {
1676
+ type: "submit",
1677
+ color: "gray",
1678
+ highContrast: true,
1679
+ radius: "large",
1680
+ disabled: isLoading || isDisabled,
1681
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Spinner, {}) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_icons5.ArrowUpIcon, {})
1682
+ }
1683
+ );
1684
+
1685
+ // src/components/messages/Form/index.tsx
1686
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1687
+ var schema = import_zod.z.object({
1688
+ content: import_zod.z.string().min(1).max(300)
1689
+ });
1690
+ var Form = ({
1691
+ messagesQueryOptions,
1692
+ runsQueryOptions,
1693
+ createMessageMutationOptions
1694
+ }) => {
1695
+ const {
1696
+ register,
1697
+ handleSubmit,
1698
+ formState: { errors, isSubmitting },
1699
+ reset
1700
+ } = (0, import_react_hook_form.useForm)({
1701
+ resolver: (0, import_zod2.zodResolver)(schema)
1702
+ });
1703
+ const { isRunActive: isRunActive2 } = useIsRunActive({
1704
+ messagesQueryOptions,
1705
+ runsQueryOptions
1706
+ });
1707
+ const isLoading = (0, import_react24.useMemo)(() => isRunActive2 || isSubmitting, [
1708
+ isRunActive2,
1709
+ isSubmitting
1710
+ ]);
1711
+ const {
1712
+ createMessage
1713
+ } = useCreateMessage({
1714
+ createMessageMutationOptions
1715
+ });
1716
+ const onSubmit = async (data2) => {
1717
+ reset();
1718
+ await createMessage({
1719
+ content: data2.content
1720
+ });
1721
+ };
1722
+ const { latestMessage } = useLatestMessage({
1723
+ messagesQueryOptions
1724
+ });
1725
+ const isDisabled = (0, import_react24.useMemo)(() => {
1726
+ var _a;
1727
+ return (
1728
+ // @ts-ignore-next-line
1729
+ (_a = latestMessage == null ? void 0 : latestMessage.metadata) == null ? void 0 : _a.isBlocking
1730
+ );
1731
+ }, [latestMessage, isLoading]);
1732
+ const isInputDisabled = (0, import_react24.useMemo)(() => isLoading || isDisabled || false, [isLoading, isDisabled]);
1733
+ const isInputDisabledPrevious = (0, import_react_use2.usePrevious)(isInputDisabled);
1734
+ const textareaRef = (0, import_react24.useRef)(null);
1735
+ const textareaProps = register("content");
1736
+ (0, import_react24.useEffect)(() => {
1737
+ if (isInputDisabled)
1738
+ return;
1739
+ if (!isInputDisabledPrevious)
1740
+ return;
1741
+ if (!textareaRef.current)
1742
+ return;
1743
+ textareaRef.current.focus();
1744
+ }, [isInputDisabled, isInputDisabledPrevious, textareaProps]);
1745
+ const assistantNameContext = (0, import_react24.useContext)(AssistantNameContext);
1746
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1747
+ import_themes31.Container,
1748
+ {
1749
+ size: "2",
1750
+ px: "2",
1751
+ grow: "0",
1752
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1753
+ import_themes31.Flex,
1754
+ {
1755
+ direction: "column",
1756
+ shrink: "0",
1757
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1758
+ import_themes31.Flex,
1759
+ {
1760
+ direction: "column",
1761
+ shrink: "0",
1762
+ className: "bg-gray-1",
1763
+ pb: "4",
1764
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1765
+ "form",
1766
+ {
1767
+ onSubmit: handleSubmit(onSubmit),
1768
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
1769
+ import_themes31.Flex,
1770
+ {
1771
+ className: `rounded-3 border-gray-5 border border-solid ${errors.content ? "border-red-9 bg-red-2" : ""}`,
1772
+ p: "2",
1773
+ pl: "4",
1774
+ children: [
1775
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1776
+ import_themes31.Text,
1777
+ {
1778
+ size: "2",
1779
+ className: "grow",
1780
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1781
+ import_themes31.Flex,
1782
+ {
1783
+ grow: "1",
1784
+ direction: "column",
1785
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1786
+ TextareaBase,
1787
+ {
1788
+ minRows: 1,
1789
+ placeholder: `Message ${assistantNameContext}...`,
1790
+ disabled: isLoading || isDisabled,
1791
+ onKeyDown: (e) => {
1792
+ if (e.key === "Enter" && !e.shiftKey) {
1793
+ e.preventDefault();
1794
+ handleSubmit(onSubmit)();
1795
+ }
1796
+ },
1797
+ autoFocus: true,
1798
+ ...textareaProps,
1799
+ ref: (e) => {
1800
+ textareaProps.ref(e);
1801
+ textareaRef.current = e;
1802
+ }
1803
+ }
1804
+ )
1805
+ }
1806
+ )
1807
+ }
1808
+ ),
1809
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1810
+ import_themes31.Flex,
1811
+ {
1812
+ shrink: "0",
1813
+ align: "end",
1814
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1815
+ Submit,
1816
+ {
1817
+ isLoading,
1818
+ isDisabled
1819
+ }
1820
+ )
1821
+ }
1822
+ )
1823
+ ]
1824
+ }
1825
+ )
1826
+ }
1827
+ )
1828
+ }
1829
+ )
1830
+ }
1831
+ )
1832
+ }
1833
+ );
1834
+ };
1835
+
1836
+ // src/index.ts
1837
+ var import_react_query8 = require("@tanstack/react-query");
1838
+ // Annotate the CommonJS export names for ESM import in node:
1839
+ 0 && (module.exports = {
1840
+ Form,
1841
+ Messages,
1842
+ QueryClient,
1843
+ QueryClientProvider,
1844
+ useCreateMessage,
1845
+ useIsRunActive,
1846
+ useLatestMessage,
1847
+ useMessages,
1848
+ useQuery,
1849
+ useQueryClient,
1850
+ useThreadLifecycles
1851
+ });
23
1852
  //# sourceMappingURL=index.js.map