@superinterface/react 1.0.4 → 1.1.0

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