@messenger-box/tailwind-ui-inbox 10.0.3-alpha.100

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 (373) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/LICENSE +21 -0
  3. package/jest.config.js +9 -0
  4. package/lib/cdm-locales/en/translations.json +31 -0
  5. package/lib/cdm-locales/es/translations.json +31 -0
  6. package/lib/components/AIAgent/AIAgent.d.ts +21 -0
  7. package/lib/components/AIAgent/AIAgent.d.ts.map +1 -0
  8. package/lib/components/AIAgent/AIAgent.js +904 -0
  9. package/lib/components/AIAgent/AIAgent.js.map +1 -0
  10. package/lib/components/AIAgent/index.d.ts +2 -0
  11. package/lib/components/AIAgent/index.d.ts.map +1 -0
  12. package/lib/components/InboxMessage/CommonMessage.d.ts +8 -0
  13. package/lib/components/InboxMessage/CommonMessage.d.ts.map +1 -0
  14. package/lib/components/InboxMessage/CommonMessage.js +35 -0
  15. package/lib/components/InboxMessage/CommonMessage.js.map +1 -0
  16. package/lib/components/InboxMessage/ConversationItem.d.ts +14 -0
  17. package/lib/components/InboxMessage/ConversationItem.d.ts.map +1 -0
  18. package/lib/components/InboxMessage/ConversationItem.js +200 -0
  19. package/lib/components/InboxMessage/ConversationItem.js.map +1 -0
  20. package/lib/components/InboxMessage/InputComponent.d.ts +12 -0
  21. package/lib/components/InboxMessage/InputComponent.d.ts.map +1 -0
  22. package/lib/components/InboxMessage/InputComponent.js +359 -0
  23. package/lib/components/InboxMessage/InputComponent.js.map +1 -0
  24. package/lib/components/InboxMessage/LeftSidebar.d.ts +20 -0
  25. package/lib/components/InboxMessage/LeftSidebar.d.ts.map +1 -0
  26. package/lib/components/InboxMessage/LeftSidebar.js +102 -0
  27. package/lib/components/InboxMessage/LeftSidebar.js.map +1 -0
  28. package/lib/components/InboxMessage/MessageInput.d.ts +9 -0
  29. package/lib/components/InboxMessage/MessageInput.d.ts.map +1 -0
  30. package/lib/components/InboxMessage/MessageInput.js +154 -0
  31. package/lib/components/InboxMessage/MessageInput.js.map +1 -0
  32. package/lib/components/InboxMessage/MessageInputComponent.d.ts +9 -0
  33. package/lib/components/InboxMessage/MessageInputComponent.d.ts.map +1 -0
  34. package/lib/components/InboxMessage/Messages.d.ts +17 -0
  35. package/lib/components/InboxMessage/Messages.d.ts.map +1 -0
  36. package/lib/components/InboxMessage/Messages.js +99 -0
  37. package/lib/components/InboxMessage/Messages.js.map +1 -0
  38. package/lib/components/InboxMessage/MessagesBuilderUi.d.ts +17 -0
  39. package/lib/components/InboxMessage/MessagesBuilderUi.d.ts.map +1 -0
  40. package/lib/components/InboxMessage/Popover.d.ts +3 -0
  41. package/lib/components/InboxMessage/Popover.d.ts.map +1 -0
  42. package/lib/components/InboxMessage/Popover.js +31 -0
  43. package/lib/components/InboxMessage/Popover.js.map +1 -0
  44. package/lib/components/InboxMessage/RightSidebar.d.ts +9 -0
  45. package/lib/components/InboxMessage/RightSidebar.d.ts.map +1 -0
  46. package/lib/components/InboxMessage/RightSidebar.js +9 -0
  47. package/lib/components/InboxMessage/RightSidebar.js.map +1 -0
  48. package/lib/components/InboxMessage/RightSidebarAi.d.ts +23 -0
  49. package/lib/components/InboxMessage/RightSidebarAi.d.ts.map +1 -0
  50. package/lib/components/InboxMessage/RightSidebarAi.js +9 -0
  51. package/lib/components/InboxMessage/RightSidebarAi.js.map +1 -0
  52. package/lib/components/InboxMessage/ServiceConversationItem.d.ts +12 -0
  53. package/lib/components/InboxMessage/ServiceConversationItem.d.ts.map +1 -0
  54. package/lib/components/InboxMessage/ServiceConversationItem.js +185 -0
  55. package/lib/components/InboxMessage/ServiceConversationItem.js.map +1 -0
  56. package/lib/components/InboxMessage/ServiceInboxItem.d.ts +12 -0
  57. package/lib/components/InboxMessage/ServiceInboxItem.d.ts.map +1 -0
  58. package/lib/components/InboxMessage/ServiceInboxItem.js +182 -0
  59. package/lib/components/InboxMessage/ServiceInboxItem.js.map +1 -0
  60. package/lib/components/InboxMessage/SubscriptionHandler.d.ts +19 -0
  61. package/lib/components/InboxMessage/SubscriptionHandler.d.ts.map +1 -0
  62. package/lib/components/InboxMessage/SubscriptionHandler.js +41 -0
  63. package/lib/components/InboxMessage/SubscriptionHandler.js.map +1 -0
  64. package/lib/components/InboxMessage/UploadImageButton.d.ts +7 -0
  65. package/lib/components/InboxMessage/UploadImageButton.d.ts.map +1 -0
  66. package/lib/components/InboxMessage/UploadImageButton.js +34 -0
  67. package/lib/components/InboxMessage/UploadImageButton.js.map +1 -0
  68. package/lib/components/InboxMessage/UserModalContent.d.ts +3 -0
  69. package/lib/components/InboxMessage/UserModalContent.d.ts.map +1 -0
  70. package/lib/components/InboxMessage/UserModalContent.js +60 -0
  71. package/lib/components/InboxMessage/UserModalContent.js.map +1 -0
  72. package/lib/components/InboxMessage/index.d.ts +17 -0
  73. package/lib/components/InboxMessage/index.d.ts.map +1 -0
  74. package/lib/components/InboxMessage/message-widgets/CommonMessage.d.ts +11 -0
  75. package/lib/components/InboxMessage/message-widgets/CommonMessage.d.ts.map +1 -0
  76. package/lib/components/InboxMessage/message-widgets/CommonMessage.js +44 -0
  77. package/lib/components/InboxMessage/message-widgets/CommonMessage.js.map +1 -0
  78. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts +11 -0
  79. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts.map +1 -0
  80. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js +194 -0
  81. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js.map +1 -0
  82. package/lib/components/InboxMessage/message-widgets/MessageCard.d.ts +8 -0
  83. package/lib/components/InboxMessage/message-widgets/MessageCard.d.ts.map +1 -0
  84. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.d.ts +12 -0
  85. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.d.ts.map +1 -0
  86. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.js +37 -0
  87. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.js.map +1 -0
  88. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts +18 -0
  89. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts.map +1 -0
  90. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js +1082 -0
  91. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js.map +1 -0
  92. package/lib/components/InboxMessage/message-widgets/PlainMessage.d.ts +8 -0
  93. package/lib/components/InboxMessage/message-widgets/PlainMessage.d.ts.map +1 -0
  94. package/lib/components/InboxMessage/message-widgets/PlainMessage.js +14 -0
  95. package/lib/components/InboxMessage/message-widgets/PlainMessage.js.map +1 -0
  96. package/lib/components/InboxMessage/message-widgets/PropertyMessageWidget.d.ts +9 -0
  97. package/lib/components/InboxMessage/message-widgets/PropertyMessageWidget.d.ts.map +1 -0
  98. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.d.ts +14 -0
  99. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.d.ts.map +1 -0
  100. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.js +333 -0
  101. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.js.map +1 -0
  102. package/lib/components/InboxMessage/message-widgets/index.d.ts +4 -0
  103. package/lib/components/InboxMessage/message-widgets/index.d.ts.map +1 -0
  104. package/lib/components/ModelConfigPanel.d.ts +37 -0
  105. package/lib/components/ModelConfigPanel.d.ts.map +1 -0
  106. package/lib/components/ModelConfigPanel.js +317 -0
  107. package/lib/components/ModelConfigPanel.js.map +1 -0
  108. package/lib/components/filler-components/RightSiderBar.d.ts +24 -0
  109. package/lib/components/filler-components/RightSiderBar.d.ts.map +1 -0
  110. package/lib/components/filler-components/RightSiderBar.js +335 -0
  111. package/lib/components/filler-components/RightSiderBar.js.map +1 -0
  112. package/lib/components/inbox/FilesList.d.ts +20 -0
  113. package/lib/components/inbox/FilesList.d.ts.map +1 -0
  114. package/lib/components/inbox/FilesList.js +68 -0
  115. package/lib/components/inbox/FilesList.js.map +1 -0
  116. package/lib/components/inbox/MessageItem.d.ts +17 -0
  117. package/lib/components/inbox/MessageItem.d.ts.map +1 -0
  118. package/lib/components/inbox/MessageItem.js +50 -0
  119. package/lib/components/inbox/MessageItem.js.map +1 -0
  120. package/lib/components/inbox/ThreadItem.d.ts +11 -0
  121. package/lib/components/inbox/ThreadItem.d.ts.map +1 -0
  122. package/lib/components/inbox/ThreadItem.js +147 -0
  123. package/lib/components/inbox/ThreadItem.js.map +1 -0
  124. package/lib/components/inbox/index.d.ts +4 -0
  125. package/lib/components/inbox/index.d.ts.map +1 -0
  126. package/lib/components/index.d.ts +7 -0
  127. package/lib/components/index.d.ts.map +1 -0
  128. package/lib/components/live-code-editor/hybrid-live-editor.d.ts +20 -0
  129. package/lib/components/live-code-editor/hybrid-live-editor.d.ts.map +1 -0
  130. package/lib/components/live-code-editor/hybrid-live-editor.js +68 -0
  131. package/lib/components/live-code-editor/hybrid-live-editor.js.map +1 -0
  132. package/lib/components/live-code-editor/index.d.ts +4 -0
  133. package/lib/components/live-code-editor/index.d.ts.map +1 -0
  134. package/lib/components/live-code-editor/live-code-editor.d.ts +14 -0
  135. package/lib/components/live-code-editor/live-code-editor.d.ts.map +1 -0
  136. package/lib/components/live-code-editor/live-code-editor.js +207 -0
  137. package/lib/components/live-code-editor/live-code-editor.js.map +1 -0
  138. package/lib/components/slot-fill/chat-message-filler.d.ts +4 -0
  139. package/lib/components/slot-fill/chat-message-filler.d.ts.map +1 -0
  140. package/lib/components/slot-fill/chat-message-filler.js +5 -0
  141. package/lib/components/slot-fill/chat-message-filler.js.map +1 -0
  142. package/lib/components/slot-fill/chat-message-slot.d.ts +11 -0
  143. package/lib/components/slot-fill/chat-message-slot.d.ts.map +1 -0
  144. package/lib/components/slot-fill/chat-message-slot.js +6 -0
  145. package/lib/components/slot-fill/chat-message-slot.js.map +1 -0
  146. package/lib/components/slot-fill/index.d.ts +4 -0
  147. package/lib/components/slot-fill/index.d.ts.map +1 -0
  148. package/lib/components/slot-fill/right-sidebar-filler.d.ts +4 -0
  149. package/lib/components/slot-fill/right-sidebar-filler.d.ts.map +1 -0
  150. package/lib/components/slot-fill/right-sidebar-filler.js +13 -0
  151. package/lib/components/slot-fill/right-sidebar-filler.js.map +1 -0
  152. package/lib/components/ui/button.d.ts +9 -0
  153. package/lib/components/ui/button.d.ts.map +1 -0
  154. package/lib/compute.d.ts +8 -0
  155. package/lib/compute.d.ts.map +1 -0
  156. package/lib/compute.js +137 -0
  157. package/lib/compute.js.map +1 -0
  158. package/lib/config/env-config.d.ts +13 -0
  159. package/lib/config/env-config.d.ts.map +1 -0
  160. package/lib/config/env-config.js +34 -0
  161. package/lib/config/env-config.js.map +1 -0
  162. package/lib/config/index.d.ts +2 -0
  163. package/lib/config/index.d.ts.map +1 -0
  164. package/lib/constants/breakpoints.d.ts +8 -0
  165. package/lib/constants/breakpoints.d.ts.map +1 -0
  166. package/lib/constants/index.d.ts +3 -0
  167. package/lib/constants/index.d.ts.map +1 -0
  168. package/lib/container/AiInbox.d.ts +15 -0
  169. package/lib/container/AiInbox.d.ts.map +1 -0
  170. package/lib/container/AiInboxWithLoader.d.ts +36 -0
  171. package/lib/container/AiInboxWithLoader.d.ts.map +1 -0
  172. package/lib/container/AiLandingInput.d.ts +4 -0
  173. package/lib/container/AiLandingInput.d.ts.map +1 -0
  174. package/lib/container/AiLandingInput.js +101 -0
  175. package/lib/container/AiLandingInput.js.map +1 -0
  176. package/lib/container/Inbox.d.ts +15 -0
  177. package/lib/container/Inbox.d.ts.map +1 -0
  178. package/lib/container/Inbox.js +955 -0
  179. package/lib/container/Inbox.js.map +1 -0
  180. package/lib/container/InboxAiMessagesLoader.d.ts +15 -0
  181. package/lib/container/InboxAiMessagesLoader.d.ts.map +1 -0
  182. package/lib/container/InboxAiMessagesLoader.js +30 -0
  183. package/lib/container/InboxAiMessagesLoader.js.map +1 -0
  184. package/lib/container/InboxContainer.d.ts +12 -0
  185. package/lib/container/InboxContainer.d.ts.map +1 -0
  186. package/lib/container/InboxContainer.js +31 -0
  187. package/lib/container/InboxContainer.js.map +1 -0
  188. package/lib/container/InboxTemplate1.d.ts +15 -0
  189. package/lib/container/InboxTemplate1.d.ts.map +1 -0
  190. package/lib/container/InboxTemplate1WithLoader.d.ts +36 -0
  191. package/lib/container/InboxTemplate1WithLoader.d.ts.map +1 -0
  192. package/lib/container/InboxTemplate2.d.ts +15 -0
  193. package/lib/container/InboxTemplate2.d.ts.map +1 -0
  194. package/lib/container/InboxWithAiLoader.d.ts +15 -0
  195. package/lib/container/InboxWithAiLoader.d.ts.map +1 -0
  196. package/lib/container/InboxWithAiLoader.js +56 -0
  197. package/lib/container/InboxWithAiLoader.js.map +1 -0
  198. package/lib/container/InboxWithLoader.d.ts +36 -0
  199. package/lib/container/InboxWithLoader.d.ts.map +1 -0
  200. package/lib/container/InboxWithLoader.js +277 -0
  201. package/lib/container/InboxWithLoader.js.map +1 -0
  202. package/lib/container/ServiceInbox.d.ts +9 -0
  203. package/lib/container/ServiceInbox.d.ts.map +1 -0
  204. package/lib/container/ServiceInbox.js +144 -0
  205. package/lib/container/ServiceInbox.js.map +1 -0
  206. package/lib/container/ThreadMessages.d.ts +13 -0
  207. package/lib/container/ThreadMessages.d.ts.map +1 -0
  208. package/lib/container/ThreadMessages.js +314 -0
  209. package/lib/container/ThreadMessages.js.map +1 -0
  210. package/lib/container/ThreadMessagesInbox.d.ts +14 -0
  211. package/lib/container/ThreadMessagesInbox.d.ts.map +1 -0
  212. package/lib/container/ThreadMessagesInbox.js +341 -0
  213. package/lib/container/ThreadMessagesInbox.js.map +1 -0
  214. package/lib/container/Threads.d.ts +8 -0
  215. package/lib/container/Threads.d.ts.map +1 -0
  216. package/lib/container/Threads.js +231 -0
  217. package/lib/container/Threads.js.map +1 -0
  218. package/lib/container/ThreadsInbox.d.ts +21 -0
  219. package/lib/container/ThreadsInbox.d.ts.map +1 -0
  220. package/lib/container/ThreadsInbox.js +244 -0
  221. package/lib/container/ThreadsInbox.js.map +1 -0
  222. package/lib/container/apply-footer-styles.d.ts +2 -0
  223. package/lib/container/apply-footer-styles.d.ts.map +1 -0
  224. package/lib/container/apply-footer-styles.js +16 -0
  225. package/lib/container/apply-footer-styles.js.map +1 -0
  226. package/lib/container/index.d.ts +13 -0
  227. package/lib/container/index.d.ts.map +1 -0
  228. package/lib/enums/index.d.ts +2 -0
  229. package/lib/enums/index.d.ts.map +1 -0
  230. package/lib/enums/messenger-slot-fill-name-enum.d.ts +5 -0
  231. package/lib/enums/messenger-slot-fill-name-enum.d.ts.map +1 -0
  232. package/lib/enums/messenger-slot-fill-name-enum.js +5 -0
  233. package/lib/enums/messenger-slot-fill-name-enum.js.map +1 -0
  234. package/lib/hooks/index.d.ts +3 -0
  235. package/lib/hooks/index.d.ts.map +1 -0
  236. package/lib/hooks/use-file-sync.d.ts +16 -0
  237. package/lib/hooks/use-file-sync.d.ts.map +1 -0
  238. package/lib/hooks/use-file-sync.js +63 -0
  239. package/lib/hooks/use-file-sync.js.map +1 -0
  240. package/lib/hooks/usePersistentModelConfig.d.ts +15 -0
  241. package/lib/hooks/usePersistentModelConfig.d.ts.map +1 -0
  242. package/lib/hooks/usePersistentModelConfig.js +46 -0
  243. package/lib/hooks/usePersistentModelConfig.js.map +1 -0
  244. package/lib/index.d.ts +10 -0
  245. package/lib/index.d.ts.map +1 -0
  246. package/lib/index.js +1 -0
  247. package/lib/index.js.map +1 -0
  248. package/lib/interfaces/index.d.ts +2 -0
  249. package/lib/interfaces/index.d.ts.map +1 -0
  250. package/lib/interfaces/message-widgets.interface.d.ts +21 -0
  251. package/lib/interfaces/message-widgets.interface.d.ts.map +1 -0
  252. package/lib/machines/aiAgentMachine.d.ts +3 -0
  253. package/lib/machines/aiAgentMachine.d.ts.map +1 -0
  254. package/lib/machines/aiAgentMachine.js +1083 -0
  255. package/lib/machines/aiAgentMachine.js.map +1 -0
  256. package/lib/machines/aiAgentMachine.simple.d.ts +3 -0
  257. package/lib/machines/aiAgentMachine.simple.d.ts.map +1 -0
  258. package/lib/machines/aiAgentMachine.simple.js +108 -0
  259. package/lib/machines/aiAgentMachine.simple.js.map +1 -0
  260. package/lib/machines/index.d.ts +3 -0
  261. package/lib/machines/index.d.ts.map +1 -0
  262. package/lib/machines/types.d.ts +77 -0
  263. package/lib/machines/types.d.ts.map +1 -0
  264. package/lib/module.d.ts +7 -0
  265. package/lib/module.d.ts.map +1 -0
  266. package/lib/module.js +26 -0
  267. package/lib/module.js.map +1 -0
  268. package/lib/routes.json +98 -0
  269. package/lib/styles/responsive.css +76 -0
  270. package/lib/templates/InboxWithAi.d.ts +15 -0
  271. package/lib/templates/InboxWithAi.d.ts.map +1 -0
  272. package/lib/templates/InboxWithAi.js +440 -0
  273. package/lib/templates/InboxWithAi.js.map +1 -0
  274. package/lib/templates/InboxWithAi.tsx +533 -0
  275. package/lib/templates/index.d.ts +2 -0
  276. package/lib/templates/index.d.ts.map +1 -0
  277. package/lib/templates/index.ts +1 -0
  278. package/lib/utils/utils.d.ts +2 -0
  279. package/lib/utils/utils.d.ts.map +1 -0
  280. package/lib/utils/utils.js +3 -0
  281. package/lib/utils/utils.js.map +1 -0
  282. package/package.json +62 -0
  283. package/rollup.config.mjs +35 -0
  284. package/src/cdm-locales/en/translations.json +31 -0
  285. package/src/cdm-locales/es/translations.json +31 -0
  286. package/src/components/AIAgent/AIAgent.tsx +1103 -0
  287. package/src/components/AIAgent/AIAgent.tsx.bk +1365 -0
  288. package/src/components/AIAgent/README.md +82 -0
  289. package/src/components/AIAgent/index.ts +1 -0
  290. package/src/components/InboxMessage/CommonMessage.tsx +40 -0
  291. package/src/components/InboxMessage/ConversationItem.tsx +255 -0
  292. package/src/components/InboxMessage/InputComponent.tsx +462 -0
  293. package/src/components/InboxMessage/LeftSidebar.tsx +140 -0
  294. package/src/components/InboxMessage/MessageInput.tsx +209 -0
  295. package/src/components/InboxMessage/MessageInputComponent.tsx +245 -0
  296. package/src/components/InboxMessage/Messages.tsx +137 -0
  297. package/src/components/InboxMessage/MessagesBuilderUi.tsx +205 -0
  298. package/src/components/InboxMessage/Popover.tsx +42 -0
  299. package/src/components/InboxMessage/RightSidebar.tsx +22 -0
  300. package/src/components/InboxMessage/RightSidebarAi.tsx +37 -0
  301. package/src/components/InboxMessage/ServiceConversationItem.tsx +234 -0
  302. package/src/components/InboxMessage/ServiceInboxItem.tsx +223 -0
  303. package/src/components/InboxMessage/SubscriptionHandler.tsx +55 -0
  304. package/src/components/InboxMessage/UploadImageButton.tsx +46 -0
  305. package/src/components/InboxMessage/UserModalContent.tsx +60 -0
  306. package/src/components/InboxMessage/index.ts +16 -0
  307. package/src/components/InboxMessage/message-widgets/CommonMessage.tsx +69 -0
  308. package/src/components/InboxMessage/message-widgets/ErrorFixCard.tsx +240 -0
  309. package/src/components/InboxMessage/message-widgets/MessageCard.tsx +127 -0
  310. package/src/components/InboxMessage/message-widgets/MessageSliceRenderer.tsx +40 -0
  311. package/src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx +1295 -0
  312. package/src/components/InboxMessage/message-widgets/PlainMessage.tsx +18 -0
  313. package/src/components/InboxMessage/message-widgets/PropertyMessageWidget.tsx +29 -0
  314. package/src/components/InboxMessage/message-widgets/SlackLikeMessageGroup.tsx +492 -0
  315. package/src/components/InboxMessage/message-widgets/index.ts +3 -0
  316. package/src/components/ModelConfigPanel.tsx +345 -0
  317. package/src/components/filler-components/RightSiderBar.tsx +408 -0
  318. package/src/components/inbox/FilesList.tsx +89 -0
  319. package/src/components/inbox/MessageItem.tsx +50 -0
  320. package/src/components/inbox/ThreadItem.tsx +295 -0
  321. package/src/components/inbox/index.ts +3 -0
  322. package/src/components/index.ts +22 -0
  323. package/src/components/live-code-editor/hybrid-live-editor.tsx +105 -0
  324. package/src/components/live-code-editor/index.ts +3 -0
  325. package/src/components/live-code-editor/live-code-editor.tsx +257 -0
  326. package/src/components/slot-fill/chat-message-filler.tsx +18 -0
  327. package/src/components/slot-fill/chat-message-slot.tsx +18 -0
  328. package/src/components/slot-fill/index.ts +3 -0
  329. package/src/components/slot-fill/right-sidebar-filler.tsx +39 -0
  330. package/src/components/ui/button.tsx +32 -0
  331. package/src/compute.ts +134 -0
  332. package/src/config/env-config.ts +17 -0
  333. package/src/config/index.ts +1 -0
  334. package/src/constants/breakpoints.ts +7 -0
  335. package/src/constants/index.ts +5 -0
  336. package/src/container/AiInbox.tsx +1819 -0
  337. package/src/container/AiInboxWithLoader.tsx +356 -0
  338. package/src/container/AiLandingInput.tsx +221 -0
  339. package/src/container/Inbox.tsx +1092 -0
  340. package/src/container/InboxAiMessagesLoader.tsx +44 -0
  341. package/src/container/InboxContainer.tsx +35 -0
  342. package/src/container/InboxTemplate1.tsx +1542 -0
  343. package/src/container/InboxTemplate1WithLoader.tsx +338 -0
  344. package/src/container/InboxTemplate2.tsx +1606 -0
  345. package/src/container/InboxWithAiLoader.tsx +76 -0
  346. package/src/container/InboxWithLoader.tsx +341 -0
  347. package/src/container/ServiceInbox.tsx +190 -0
  348. package/src/container/ThreadMessages.tsx +371 -0
  349. package/src/container/ThreadMessagesInbox.tsx +450 -0
  350. package/src/container/Threads.tsx +270 -0
  351. package/src/container/ThreadsInbox.tsx +354 -0
  352. package/src/container/apply-footer-styles.ts +17 -0
  353. package/src/container/index.ts +31 -0
  354. package/src/enums/index.ts +1 -0
  355. package/src/enums/messenger-slot-fill-name-enum.ts +4 -0
  356. package/src/hooks/index.ts +2 -0
  357. package/src/hooks/use-file-sync.ts +91 -0
  358. package/src/hooks/usePersistentModelConfig.ts +63 -0
  359. package/src/index.ts +37 -0
  360. package/src/interfaces/index.ts +1 -0
  361. package/src/interfaces/message-widgets.interface.ts +21 -0
  362. package/src/machines/aiAgentMachine.simple.ts +89 -0
  363. package/src/machines/aiAgentMachine.ts +1296 -0
  364. package/src/machines/aiAgentMachine.ts.bk +1296 -0
  365. package/src/machines/index.ts +2 -0
  366. package/src/machines/types.ts +59 -0
  367. package/src/module.tsx +32 -0
  368. package/src/styles/responsive.css +76 -0
  369. package/src/templates/InboxWithAi.tsx +533 -0
  370. package/src/templates/index.ts +1 -0
  371. package/src/utils/utils.ts +3 -0
  372. package/tsconfig.json +14 -0
  373. package/webpack.config.js +92 -0
@@ -0,0 +1,345 @@
1
+ import React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';
2
+ import { ModelConfig } from '../hooks/usePersistentModelConfig';
3
+
4
+ interface ModelConfigPanelProps {
5
+ config: ModelConfig;
6
+ onConfigChange: (config: ModelConfig) => void;
7
+ isVisible: boolean;
8
+ onToggleVisibility: () => void;
9
+ showTemplate?: boolean;
10
+ }
11
+
12
+ const providerIcons: Record<ModelConfig['provider'], string> = {
13
+ openai: '🤖',
14
+ anthropic: '🧠',
15
+ gemini: '✨',
16
+ };
17
+
18
+ export const templateOptions = [
19
+ {
20
+ value: 'vite-react' as const,
21
+ label: 'Vite React',
22
+ icon: '⚡',
23
+ description: 'Vite + React 18 with Visual Editor',
24
+ },
25
+ { value: 'nextjs' as const, label: 'Next.js', icon: '⚛️', description: 'React + Next.js 15 with Shadcn UI' },
26
+ { value: 'vue' as const, label: 'Vue.js', icon: '🟢', description: 'Vue 3 + Nuxt 3 with Tailwind CSS' },
27
+ ];
28
+
29
+ const templateDetails = {
30
+ nextjs: { name: 'Next.js', icon: '⚛️' },
31
+ vue: { name: 'Vue.js', icon: '🟢' },
32
+ 'vite-react': { name: 'Vite React', icon: '⚡' },
33
+ };
34
+
35
+ export const modelOptions: Record<ModelConfig['provider'], { value: string; label: string; description: string }[]> = {
36
+ openai: [
37
+ { value: 'gpt-4o', label: 'GPT-4o', description: 'Latest multimodal model' },
38
+ { value: 'gpt-4o-mini', label: 'GPT-4o mini', description: 'Fast and efficient' },
39
+ { value: 'gpt-4-turbo', label: 'GPT-4 Turbo', description: 'Enhanced GPT-4' },
40
+ { value: 'gpt-4', label: 'GPT-4', description: 'Most capable model' },
41
+ { value: 'o1', label: 'o1', description: 'Reasoning model' },
42
+ { value: 'o1-mini', label: 'o1-mini', description: 'Faster reasoning' },
43
+ ],
44
+ anthropic: [
45
+ { value: 'claude-3-5-sonnet-20241022', label: 'Claude 3.5 Sonnet', description: 'Most intelligent model' },
46
+ { value: 'claude-3-5-haiku-20241022', label: 'Claude 3.5 Haiku', description: 'Fast and accurate' },
47
+ { value: 'claude-3-opus-20240229', label: 'Claude 3 Opus', description: 'Powerful reasoning' },
48
+ { value: 'claude-3-sonnet-20240229', label: 'Claude 3 Sonnet', description: 'Balanced performance' },
49
+ { value: 'claude-3-haiku-20240307', label: 'Claude 3 Haiku', description: 'Quick responses' },
50
+ ],
51
+ gemini: [
52
+ {
53
+ value: 'gemini-2.5-flash-preview-05-20',
54
+ label: 'Gemini 2.5 Flash Preview 05-20',
55
+ description: 'Latest preview model',
56
+ },
57
+ {
58
+ value: 'gemini-2.5-pro-preview-05-06',
59
+ label: 'Gemini 2.5 Pro Preview 05-06',
60
+ description: 'Advanced reasoning',
61
+ },
62
+ { value: 'gemini-2.0-flash', label: 'Gemini 2.0 Flash', description: 'Fast generation' },
63
+ { value: 'gemini-2.0-flash-lite', label: 'Gemini 2.0 Flash Lite', description: 'Lightweight version' },
64
+ { value: 'gemini-1.5-pro', label: 'Gemini 1.5 Pro', description: 'Most capable' },
65
+ { value: 'gemini-1.5-flash', label: 'Gemini 1.5 Flash', description: 'Fast and efficient' },
66
+ ],
67
+ };
68
+
69
+ const providerDetails = {
70
+ openai: { name: 'OpenAI' },
71
+ anthropic: { name: 'Anthropic' },
72
+ gemini: { name: 'Google Vertex AI' },
73
+ };
74
+
75
+ // Helper function to get all models from all providers
76
+ export const getAllModels = () => {
77
+ const allModels: { value: string; label: string }[] = [];
78
+ Object.values(modelOptions).forEach((providerModels) => {
79
+ providerModels.forEach((model) => {
80
+ allModels.push({ value: model.value, label: model.label });
81
+ });
82
+ });
83
+ return allModels;
84
+ };
85
+
86
+ export const ModelConfigPanel: React.FC<ModelConfigPanelProps> = ({
87
+ config,
88
+ onConfigChange,
89
+ isVisible,
90
+ onToggleVisibility,
91
+ showTemplate = true,
92
+ }) => {
93
+ const [showApiKey, setShowApiKey] = useState(false);
94
+ const [showModelDropdown, setShowModelDropdown] = useState(false);
95
+ const [showApiKeyDropdown, setShowApiKeyDropdown] = useState(false);
96
+ const [showTemplateDropdown, setShowTemplateDropdown] = useState(false);
97
+ const modelDropdownRef = useRef<HTMLDivElement>(null);
98
+ const apiKeyDropdownRef = useRef<HTMLDivElement>(null);
99
+ const templateDropdownRef = useRef<HTMLDivElement>(null);
100
+
101
+ useEffect(() => {
102
+ const handleClickOutside = (event: MouseEvent) => {
103
+ if (modelDropdownRef.current && !modelDropdownRef.current.contains(event.target as Node)) {
104
+ setShowModelDropdown(false);
105
+ }
106
+ if (apiKeyDropdownRef.current && !apiKeyDropdownRef.current.contains(event.target as Node)) {
107
+ setShowApiKeyDropdown(false);
108
+ }
109
+ if (templateDropdownRef.current && !templateDropdownRef.current.contains(event.target as Node)) {
110
+ setShowTemplateDropdown(false);
111
+ }
112
+ };
113
+ document.addEventListener('mousedown', handleClickOutside);
114
+ return () => document.removeEventListener('mousedown', handleClickOutside);
115
+ }, []);
116
+
117
+ const handleProviderChange = useCallback(
118
+ (provider: ModelConfig['provider']) => {
119
+ const defaultModel = modelOptions[provider][0].value;
120
+ onConfigChange({ ...config, provider, model: defaultModel });
121
+ },
122
+ [config, onConfigChange],
123
+ );
124
+
125
+ const handleModelChange = useCallback(
126
+ (model: string) => {
127
+ onConfigChange({ ...config, model });
128
+ },
129
+ [config, onConfigChange],
130
+ );
131
+
132
+ const handleApiKeyChange = useCallback(
133
+ (e: React.ChangeEvent<HTMLInputElement>) => {
134
+ onConfigChange({ ...config, apiKey: e.target.value });
135
+ },
136
+ [config, onConfigChange],
137
+ );
138
+
139
+ const handleTemplateChange = useCallback(
140
+ (template: ModelConfig['template']) => {
141
+ onConfigChange({ ...config, template });
142
+ },
143
+ [config, onConfigChange],
144
+ );
145
+
146
+ const getApiKeyPlaceholder = () => {
147
+ switch (config.provider) {
148
+ case 'openai':
149
+ return 'sk-...';
150
+ case 'anthropic':
151
+ return 'sk-ant-...';
152
+ case 'gemini':
153
+ return 'AI...';
154
+ default:
155
+ return 'Enter API key';
156
+ }
157
+ };
158
+
159
+ const currentModels = modelOptions[config.provider] || [];
160
+ const currentModel = currentModels.find((m) => m.value === config.model);
161
+ const currentTemplate = templateOptions.find((t) => t.value === config.template);
162
+
163
+ return (
164
+ <div className="relative">
165
+ {/* <div className="flex items-center gap-2 mb-2">
166
+ <button
167
+ type="button"
168
+ className="px-2 py-1 text-xs rounded border border-gray-300 bg-white hover:bg-gray-50"
169
+ onClick={onToggleVisibility}
170
+ >
171
+ {isVisible ? 'Hide' : 'Show'} Config
172
+ </button>
173
+ {!config.apiKey && <span className="text-xs text-amber-600">API key required</span>}
174
+ </div> */}
175
+
176
+ {isVisible && (
177
+ <div className="py-2 bg-gray-50 rounded-lg grid grid-cols-1 md:grid-cols-3 gap-2">
178
+ {showTemplate && (
179
+ <div className="space-y-1 md:col-span-1">
180
+ {/* <label className="block text-xs text-gray-600">Template</label> */}
181
+ <div className="relative" ref={templateDropdownRef}>
182
+ <input
183
+ type="text"
184
+ readOnly
185
+ value={`${currentTemplate?.icon || '🔧'} ${
186
+ currentTemplate?.label || 'Select Template'
187
+ }`}
188
+ onClick={() => setShowTemplateDropdown(!showTemplateDropdown)}
189
+ className="w-full px-2 py-1 border border-gray-300 rounded cursor-pointer"
190
+ />
191
+ <span className="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 text-xs pointer-events-none">
192
+
193
+ </span>
194
+ {showTemplateDropdown && (
195
+ <div className="absolute z-10 mt-1 w-full bg-white border border-gray-300 rounded shadow">
196
+ {templateOptions.map((template) => (
197
+ <button
198
+ key={template.value}
199
+ type="button"
200
+ onClick={() => {
201
+ handleTemplateChange(template.value);
202
+ setShowTemplateDropdown(false);
203
+ }}
204
+ className={`w-full text-left px-3 py-2 hover:bg-gray-50 ${
205
+ config.template === template.value ? 'bg-blue-50' : ''
206
+ }`}
207
+ >
208
+ <span className="mr-2">{template.icon}</span>
209
+ <span className="text-sm">{template.label}</span>
210
+ </button>
211
+ ))}
212
+ </div>
213
+ )}
214
+ </div>
215
+ </div>
216
+ )}
217
+
218
+ <div className="space-y-1 md:col-span-1">
219
+ {/* <label className="block text-xs text-gray-600">Model</label> */}
220
+ <div className="relative" ref={modelDropdownRef}>
221
+ <input
222
+ type="text"
223
+ readOnly
224
+ value={`${providerIcons[config.provider]} ${currentModel?.label || 'Select Model'}`}
225
+ onClick={() => setShowModelDropdown(!showModelDropdown)}
226
+ className="w-full px-2 py-1 border border-gray-300 rounded cursor-pointer"
227
+ />
228
+ <span className="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 text-xs pointer-events-none">
229
+
230
+ </span>
231
+ {showModelDropdown && (
232
+ <div className="absolute z-10 mt-1 w-full bg-white border border-gray-300 rounded shadow max-h-60 overflow-y-auto">
233
+ {currentModels.map((model) => (
234
+ <button
235
+ key={model.value}
236
+ type="button"
237
+ onClick={() => {
238
+ handleModelChange(model.value);
239
+ setShowModelDropdown(false);
240
+ }}
241
+ className={`w-full text-left px-3 py-2 hover:bg-gray-50 ${
242
+ config.model === model.value ? 'bg-blue-50' : ''
243
+ }`}
244
+ >
245
+ <span className="mr-2">{providerIcons[config.provider]}</span>
246
+ <span className="text-sm">{model.label}</span>
247
+ </button>
248
+ ))}
249
+ <div className="p-2 border-t border-gray-100 flex gap-2">
250
+ {Object.keys(providerDetails).map((p) => (
251
+ <button
252
+ key={p}
253
+ type="button"
254
+ onClick={() => handleProviderChange(p as ModelConfig['provider'])}
255
+ className={`px-2 py-1 text-xs rounded ${
256
+ config.provider === p ? 'bg-blue-500 text-white' : 'bg-white border'
257
+ }`}
258
+ >
259
+ {providerDetails[p as ModelConfig['provider']].name}
260
+ </button>
261
+ ))}
262
+ </div>
263
+ </div>
264
+ )}
265
+ </div>
266
+ </div>
267
+
268
+ <div className="space-y-1 md:col-span-1">
269
+ {/* <label className="block text-xs text-gray-600">API Key</label> */}
270
+ <div className="relative" ref={apiKeyDropdownRef}>
271
+ <input
272
+ type="text"
273
+ readOnly
274
+ value={config.apiKey ? 'API Key ••••••••••••••••' : 'API Key'}
275
+ onClick={() => setShowApiKeyDropdown(!showApiKeyDropdown)}
276
+ className="w-full px-2 py-1 border border-gray-300 rounded cursor-pointer"
277
+ />
278
+ <span className="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 text-xs pointer-events-none">
279
+
280
+ </span>
281
+ {showApiKeyDropdown && (
282
+ <div className="absolute right-0 z-10 mt-1 w-80 bg-white border border-gray-300 rounded shadow">
283
+ <div className="p-3">
284
+ <div className="mb-2">
285
+ <label className="block text-xs text-gray-600 mb-1">API Key</label>
286
+ <div className="relative">
287
+ <input
288
+ type={showApiKey ? 'text' : 'password'}
289
+ value={config.apiKey}
290
+ onChange={handleApiKeyChange}
291
+ placeholder={getApiKeyPlaceholder()}
292
+ className="w-full px-2 py-1 border border-gray-300 rounded pr-8"
293
+ />
294
+ <button
295
+ type="button"
296
+ onClick={() => setShowApiKey(!showApiKey)}
297
+ className="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400"
298
+ >
299
+ {showApiKey ? 'Hide' : 'Show'}
300
+ </button>
301
+ </div>
302
+ </div>
303
+ <div>
304
+ <h4 className="text-xs font-medium text-gray-700 mb-1">Parameters</h4>
305
+ <div className="space-y-1 text-xs text-gray-600">
306
+ <div className="flex justify-between">
307
+ <span>Output tokens</span>
308
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
309
+ </div>
310
+ <div className="flex justify-between">
311
+ <span>Temperature</span>
312
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
313
+ </div>
314
+ <div className="flex justify-between">
315
+ <span>Top P</span>
316
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
317
+ </div>
318
+ <div className="flex justify-between">
319
+ <span>Top K</span>
320
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
321
+ </div>
322
+ <div className="flex justify-between">
323
+ <span>Frequency penalty</span>
324
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
325
+ </div>
326
+ <div className="flex justify-between">
327
+ <span>Presence penalty</span>
328
+ <span className="bg-gray-100 px-2 rounded">Auto</span>
329
+ </div>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ )}
335
+ </div>
336
+ </div>
337
+ </div>
338
+ )}
339
+ </div>
340
+ );
341
+ };
342
+
343
+ ModelConfigPanel.displayName = 'ModelConfigPanel';
344
+
345
+ export default ModelConfigPanel;