@bikdotai/bik-component-library 0.0.865-beta.8 → 0.0.865-playground-beta.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 (398) hide show
  1. package/README.md +1 -4
  2. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  3. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  4. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +44 -54
  5. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  6. package/dist/cjs/components/agent-builder/components/MentionPicker.js +1 -1
  7. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  8. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +3 -3
  9. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  10. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  11. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  12. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  13. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  14. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +1 -1
  15. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  16. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -1
  17. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  18. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  19. package/dist/cjs/components/bik-layout/CommonStyles.js +6 -4
  20. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  21. package/dist/cjs/components/button/themes.js +3 -3
  22. package/dist/cjs/components/button/themes.js.map +1 -1
  23. package/dist/cjs/components/channel-playground/TestingPlayground.js +2 -0
  24. package/dist/cjs/components/channel-playground/TestingPlayground.js.map +1 -0
  25. package/dist/cjs/components/channel-playground/TestingPlaygroundModal.js +2 -0
  26. package/dist/cjs/components/channel-playground/TestingPlaygroundModal.js.map +1 -0
  27. package/dist/cjs/components/channel-playground/portable/agenticService.js +2 -0
  28. package/dist/cjs/components/channel-playground/portable/agenticService.js.map +1 -0
  29. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatPlayground.js +4 -0
  30. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatPlayground.js.map +1 -0
  31. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatBubble.js +2 -0
  32. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatBubble.js.map +1 -0
  33. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.css.js +583 -0
  34. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.css.js.map +1 -0
  35. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.js +2 -0
  36. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.js.map +1 -0
  37. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ProductCarousel.js +2 -0
  38. package/dist/cjs/components/channel-playground/portable/channels/_shared/ChatWidget/ProductCarousel.js.map +1 -0
  39. package/dist/cjs/components/channel-playground/portable/channels/_shared/chatService.js +2 -0
  40. package/dist/cjs/components/channel-playground/portable/channels/_shared/chatService.js.map +1 -0
  41. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.css.js +541 -0
  42. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.css.js.map +1 -0
  43. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.js +2 -0
  44. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.js.map +1 -0
  45. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailComposer.js +7 -0
  46. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailComposer.js.map +1 -0
  47. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailMessage.js +16 -0
  48. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailMessage.js.map +1 -0
  49. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailThread.js +2 -0
  50. package/dist/cjs/components/channel-playground/portable/channels/email/EmailChatWidget/EmailThread.js.map +1 -0
  51. package/dist/cjs/components/channel-playground/portable/channels/email/EmailPlayground.js +2 -0
  52. package/dist/cjs/components/channel-playground/portable/channels/email/EmailPlayground.js.map +1 -0
  53. package/dist/cjs/components/channel-playground/portable/channels/email/emailPreprocess.js +8 -0
  54. package/dist/cjs/components/channel-playground/portable/channels/email/emailPreprocess.js.map +1 -0
  55. package/dist/cjs/components/channel-playground/portable/channels/email/emailService.js +2 -0
  56. package/dist/cjs/components/channel-playground/portable/channels/email/emailService.js.map +1 -0
  57. package/dist/cjs/components/channel-playground/portable/channels/email/index.js +2 -0
  58. package/dist/cjs/components/channel-playground/portable/channels/email/index.js.map +1 -0
  59. package/dist/cjs/components/channel-playground/portable/channels/email/model.js +2 -0
  60. package/dist/cjs/components/channel-playground/portable/channels/email/model.js.map +1 -0
  61. package/dist/cjs/components/channel-playground/portable/channels/instagram/index.js +2 -0
  62. package/dist/cjs/components/channel-playground/portable/channels/instagram/index.js.map +1 -0
  63. package/dist/cjs/components/channel-playground/portable/channels/whatsapp/index.js +2 -0
  64. package/dist/cjs/components/channel-playground/portable/channels/whatsapp/index.js.map +1 -0
  65. package/dist/cjs/components/channel-playground/portable/transport.js +2 -0
  66. package/dist/cjs/components/channel-playground/portable/transport.js.map +1 -0
  67. package/dist/cjs/components/channel-playground/portable/useInjectedStyles.js +2 -0
  68. package/dist/cjs/components/channel-playground/portable/useInjectedStyles.js.map +1 -0
  69. package/dist/cjs/components/channel-playground/shell/TestingPlayground.style.js +96 -0
  70. package/dist/cjs/components/channel-playground/shell/TestingPlayground.style.js.map +1 -0
  71. package/dist/cjs/components/channel-playground/shell/TraceDetailsPanel.js +2 -0
  72. package/dist/cjs/components/channel-playground/shell/TraceDetailsPanel.js.map +1 -0
  73. package/dist/cjs/components/channel-playground/shell/customerId.js +2 -0
  74. package/dist/cjs/components/channel-playground/shell/customerId.js.map +1 -0
  75. package/dist/cjs/components/channel-playground/shell/registry.js +2 -0
  76. package/dist/cjs/components/channel-playground/shell/registry.js.map +1 -0
  77. package/dist/cjs/components/channel-playground/shell/settings/Field.js +2 -0
  78. package/dist/cjs/components/channel-playground/shell/settings/Field.js.map +1 -0
  79. package/dist/cjs/components/channel-playground/shell/settings/SettingsPanel.js +2 -0
  80. package/dist/cjs/components/channel-playground/shell/settings/SettingsPanel.js.map +1 -0
  81. package/dist/cjs/components/channel-playground/transport/createBikTransport.js +5 -0
  82. package/dist/cjs/components/channel-playground/transport/createBikTransport.js.map +1 -0
  83. package/dist/cjs/components/datePicker/DatePicker.js +1 -1
  84. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/datePicker/DatePicker.styled.js +14 -20
  86. package/dist/cjs/components/datePicker/DatePicker.styled.js.map +1 -1
  87. package/dist/cjs/components/datePicker/DatePickerWrapper.js +1 -1
  88. package/dist/cjs/components/datePicker/DatePickerWrapper.js.map +1 -1
  89. package/dist/cjs/components/dropdown/ChipInput.js +1 -1
  90. package/dist/cjs/components/dropdown/ChipInput.js.map +1 -1
  91. package/dist/cjs/components/dropdown/Common.styled.js +5 -6
  92. package/dist/cjs/components/dropdown/Common.styled.js.map +1 -1
  93. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  94. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  95. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  96. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  97. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +6 -7
  98. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  99. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  100. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  101. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +2 -2
  102. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  103. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +2 -2
  104. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  105. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +1 -1
  106. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  107. package/dist/cjs/components/input/Input.js +1 -1
  108. package/dist/cjs/components/input/Input.js.map +1 -1
  109. package/dist/cjs/components/input/Input.styled.js +12 -25
  110. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  111. package/dist/cjs/components/tabs/Tabs.js +1 -1
  112. package/dist/cjs/components/tabs/Tabs.js.map +1 -1
  113. package/dist/cjs/components/tabs/Tabs.styles.js +8 -22
  114. package/dist/cjs/components/tabs/Tabs.styles.js.map +1 -1
  115. package/dist/cjs/components/tag/Tag.js +1 -1
  116. package/dist/cjs/components/tag/Tag.js.map +1 -1
  117. package/dist/cjs/components/tag/Tag.styled.js +0 -4
  118. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  119. package/dist/cjs/components/tag/model.js.map +1 -1
  120. package/dist/cjs/editor/BikEditor.styles.js +0 -5
  121. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  122. package/dist/cjs/icons/index.js +1 -1
  123. package/dist/cjs/index.js +1 -1
  124. package/dist/esm/components/agent-builder/AgentBuilder.js +3 -3
  125. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  126. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +0 -23
  127. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +86 -99
  128. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  129. package/dist/esm/components/agent-builder/components/MentionPicker.js +27 -27
  130. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  131. package/dist/esm/components/agent-builder/components/SelectableListSection.js +40 -34
  132. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  133. package/dist/esm/components/agent-builder/constants/tools.d.ts +5 -6
  134. package/dist/esm/components/agent-builder/constants/tools.js +21 -24
  135. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  136. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +124 -132
  137. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  138. package/dist/esm/components/agent-builder/index.d.ts +0 -2
  139. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +15 -13
  140. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  141. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +0 -4
  142. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -1
  143. package/dist/esm/components/agent-listing/AgentTableRow.js +38 -71
  144. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  145. package/dist/esm/components/bik-layout/CommonStyles.js +3 -1
  146. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  147. package/dist/esm/components/button/themes.js +1 -1
  148. package/dist/esm/components/button/themes.js.map +1 -1
  149. package/dist/esm/components/channel-playground/TestingPlayground.d.ts +40 -0
  150. package/dist/esm/components/channel-playground/TestingPlayground.js +126 -0
  151. package/dist/esm/components/channel-playground/TestingPlayground.js.map +1 -0
  152. package/dist/esm/components/channel-playground/TestingPlaygroundModal.d.ts +17 -0
  153. package/dist/esm/components/channel-playground/TestingPlaygroundModal.js +26 -0
  154. package/dist/esm/components/channel-playground/TestingPlaygroundModal.js.map +1 -0
  155. package/dist/esm/components/channel-playground/index.d.ts +28 -0
  156. package/dist/esm/components/channel-playground/portable/agenticService.d.ts +175 -0
  157. package/dist/esm/components/channel-playground/portable/agenticService.js +124 -0
  158. package/dist/esm/components/channel-playground/portable/agenticService.js.map +1 -0
  159. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatPlayground.d.ts +19 -0
  160. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatPlayground.js +186 -0
  161. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatPlayground.js.map +1 -0
  162. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatBubble.d.ts +17 -0
  163. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatBubble.js +109 -0
  164. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatBubble.js.map +1 -0
  165. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.css.d.ts +7 -0
  166. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.css.js +586 -0
  167. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.css.js.map +1 -0
  168. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.d.ts +13 -0
  169. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.js +152 -0
  170. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ChatWidget.js.map +1 -0
  171. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ProductCarousel.d.ts +14 -0
  172. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ProductCarousel.js +112 -0
  173. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/ProductCarousel.js.map +1 -0
  174. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/index.d.ts +3 -0
  175. package/dist/esm/components/channel-playground/portable/channels/_shared/ChatWidget/types.d.ts +78 -0
  176. package/dist/esm/components/channel-playground/portable/channels/_shared/chatService.d.ts +59 -0
  177. package/dist/esm/components/channel-playground/portable/channels/_shared/chatService.js +53 -0
  178. package/dist/esm/components/channel-playground/portable/channels/_shared/chatService.js.map +1 -0
  179. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.css.d.ts +7 -0
  180. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.css.js +544 -0
  181. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.css.js.map +1 -0
  182. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.d.ts +11 -0
  183. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.js +50 -0
  184. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailChatWidget.js.map +1 -0
  185. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailComposer.d.ts +12 -0
  186. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailComposer.js +171 -0
  187. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailComposer.js.map +1 -0
  188. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailMessage.d.ts +21 -0
  189. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailMessage.js +142 -0
  190. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailMessage.js.map +1 -0
  191. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailThread.d.ts +11 -0
  192. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailThread.js +31 -0
  193. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/EmailThread.js.map +1 -0
  194. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/index.d.ts +3 -0
  195. package/dist/esm/components/channel-playground/portable/channels/email/EmailChatWidget/types.d.ts +67 -0
  196. package/dist/esm/components/channel-playground/portable/channels/email/EmailPlayground.d.ts +13 -0
  197. package/dist/esm/components/channel-playground/portable/channels/email/EmailPlayground.js +195 -0
  198. package/dist/esm/components/channel-playground/portable/channels/email/EmailPlayground.js.map +1 -0
  199. package/dist/esm/components/channel-playground/portable/channels/email/emailPreprocess.d.ts +68 -0
  200. package/dist/esm/components/channel-playground/portable/channels/email/emailPreprocess.js +98 -0
  201. package/dist/esm/components/channel-playground/portable/channels/email/emailPreprocess.js.map +1 -0
  202. package/dist/esm/components/channel-playground/portable/channels/email/emailService.d.ts +40 -0
  203. package/dist/esm/components/channel-playground/portable/channels/email/emailService.js +25 -0
  204. package/dist/esm/components/channel-playground/portable/channels/email/emailService.js.map +1 -0
  205. package/dist/esm/components/channel-playground/portable/channels/email/index.d.ts +6 -0
  206. package/dist/esm/components/channel-playground/portable/channels/email/index.js +13 -0
  207. package/dist/esm/components/channel-playground/portable/channels/email/index.js.map +1 -0
  208. package/dist/esm/components/channel-playground/portable/channels/email/model.d.ts +6 -0
  209. package/dist/esm/components/channel-playground/portable/channels/email/model.js +7 -0
  210. package/dist/esm/components/channel-playground/portable/channels/email/model.js.map +1 -0
  211. package/dist/esm/components/channel-playground/portable/channels/instagram/index.d.ts +4 -0
  212. package/dist/esm/components/channel-playground/portable/channels/instagram/index.js +24 -0
  213. package/dist/esm/components/channel-playground/portable/channels/instagram/index.js.map +1 -0
  214. package/dist/esm/components/channel-playground/portable/channels/whatsapp/index.d.ts +4 -0
  215. package/dist/esm/components/channel-playground/portable/channels/whatsapp/index.js +24 -0
  216. package/dist/esm/components/channel-playground/portable/channels/whatsapp/index.js.map +1 -0
  217. package/dist/esm/components/channel-playground/portable/index.d.ts +25 -0
  218. package/dist/esm/components/channel-playground/portable/transport.d.ts +17 -0
  219. package/dist/esm/components/channel-playground/portable/transport.js +47 -0
  220. package/dist/esm/components/channel-playground/portable/transport.js.map +1 -0
  221. package/dist/esm/components/channel-playground/portable/types.d.ts +151 -0
  222. package/dist/esm/components/channel-playground/portable/useInjectedStyles.d.ts +13 -0
  223. package/dist/esm/components/channel-playground/portable/useInjectedStyles.js +17 -0
  224. package/dist/esm/components/channel-playground/portable/useInjectedStyles.js.map +1 -0
  225. package/dist/esm/components/channel-playground/shell/TestingPlayground.style.d.ts +53 -0
  226. package/dist/esm/components/channel-playground/shell/TestingPlayground.style.js +116 -0
  227. package/dist/esm/components/channel-playground/shell/TestingPlayground.style.js.map +1 -0
  228. package/dist/esm/components/channel-playground/shell/TraceDetailsPanel.d.ts +9 -0
  229. package/dist/esm/components/channel-playground/shell/TraceDetailsPanel.js +11 -0
  230. package/dist/esm/components/channel-playground/shell/TraceDetailsPanel.js.map +1 -0
  231. package/dist/esm/components/channel-playground/shell/customerId.d.ts +7 -0
  232. package/dist/esm/components/channel-playground/shell/customerId.js +10 -0
  233. package/dist/esm/components/channel-playground/shell/customerId.js.map +1 -0
  234. package/dist/esm/components/channel-playground/shell/registry.d.ts +12 -0
  235. package/dist/esm/components/channel-playground/shell/registry.js +17 -0
  236. package/dist/esm/components/channel-playground/shell/registry.js.map +1 -0
  237. package/dist/esm/components/channel-playground/shell/settings/Field.d.ts +10 -0
  238. package/dist/esm/components/channel-playground/shell/settings/Field.js +22 -0
  239. package/dist/esm/components/channel-playground/shell/settings/Field.js.map +1 -0
  240. package/dist/esm/components/channel-playground/shell/settings/SettingsPanel.d.ts +18 -0
  241. package/dist/esm/components/channel-playground/shell/settings/SettingsPanel.js +69 -0
  242. package/dist/esm/components/channel-playground/shell/settings/SettingsPanel.js.map +1 -0
  243. package/dist/esm/components/channel-playground/transport/createBikTransport.d.ts +30 -0
  244. package/dist/esm/components/channel-playground/transport/createBikTransport.js +75 -0
  245. package/dist/esm/components/channel-playground/transport/createBikTransport.js.map +1 -0
  246. package/dist/esm/components/datePicker/DatePicker.js +21 -22
  247. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  248. package/dist/esm/components/datePicker/DatePicker.styled.d.ts +0 -10
  249. package/dist/esm/components/datePicker/DatePicker.styled.js +16 -23
  250. package/dist/esm/components/datePicker/DatePicker.styled.js.map +1 -1
  251. package/dist/esm/components/datePicker/DatePickerWrapper.d.ts +0 -7
  252. package/dist/esm/components/datePicker/DatePickerWrapper.js +64 -66
  253. package/dist/esm/components/datePicker/DatePickerWrapper.js.map +1 -1
  254. package/dist/esm/components/datePicker/index.d.ts +0 -1
  255. package/dist/esm/components/dropdown/ChipInput.d.ts +0 -1
  256. package/dist/esm/components/dropdown/ChipInput.js +30 -37
  257. package/dist/esm/components/dropdown/ChipInput.js.map +1 -1
  258. package/dist/esm/components/dropdown/Common.styled.js +6 -7
  259. package/dist/esm/components/dropdown/Common.styled.js.map +1 -1
  260. package/dist/esm/components/dropdown/Dropdown.d.ts +0 -2
  261. package/dist/esm/components/dropdown/Dropdown.js +89 -96
  262. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  263. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +175 -186
  264. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  265. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  266. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +15 -16
  267. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  268. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +0 -1
  269. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -19
  270. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  271. package/dist/esm/components/dropdown/type.d.ts +0 -4
  272. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +346 -420
  273. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  274. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +35 -33
  275. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  276. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +48 -47
  277. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  278. package/dist/esm/components/feature-announcements/types/props.types.d.ts +2 -2
  279. package/dist/esm/components/input/Input.js +138 -142
  280. package/dist/esm/components/input/Input.js.map +1 -1
  281. package/dist/esm/components/input/Input.model.d.ts +0 -4
  282. package/dist/esm/components/input/Input.styled.d.ts +0 -2
  283. package/dist/esm/components/input/Input.styled.js +25 -38
  284. package/dist/esm/components/input/Input.styled.js.map +1 -1
  285. package/dist/esm/components/tabs/Tabs.js +81 -105
  286. package/dist/esm/components/tabs/Tabs.js.map +1 -1
  287. package/dist/esm/components/tabs/Tabs.model.d.ts +0 -7
  288. package/dist/esm/components/tabs/Tabs.styles.d.ts +0 -2
  289. package/dist/esm/components/tabs/Tabs.styles.js +9 -23
  290. package/dist/esm/components/tabs/Tabs.styles.js.map +1 -1
  291. package/dist/esm/components/tag/Tag.d.ts +1 -1
  292. package/dist/esm/components/tag/Tag.js +15 -17
  293. package/dist/esm/components/tag/Tag.js.map +1 -1
  294. package/dist/esm/components/tag/Tag.styled.d.ts +0 -1
  295. package/dist/esm/components/tag/Tag.styled.js +6 -10
  296. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  297. package/dist/esm/components/tag/model.d.ts +0 -5
  298. package/dist/esm/components/tag/model.js.map +1 -1
  299. package/dist/esm/editor/BikEditor.styles.js +0 -5
  300. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  301. package/dist/esm/icons/Informational/General/index.d.ts +0 -1
  302. package/dist/esm/icons/index.d.ts +1 -1
  303. package/dist/esm/icons/index.js +292 -294
  304. package/dist/esm/icons/index.js.map +1 -1
  305. package/dist/esm/index.d.ts +1 -3
  306. package/dist/esm/index.js +895 -928
  307. package/dist/esm/index.js.map +1 -1
  308. package/package.json +4 -4
  309. package/dist/cjs/components/agent-builder/components/AgentStateModal.js +0 -2
  310. package/dist/cjs/components/agent-builder/components/AgentStateModal.js.map +0 -1
  311. package/dist/cjs/components/chip-selector/ChipSelector.js +0 -2
  312. package/dist/cjs/components/chip-selector/ChipSelector.js.map +0 -1
  313. package/dist/cjs/components/chip-selector/ChipSelector.styled.js +0 -36
  314. package/dist/cjs/components/chip-selector/ChipSelector.styled.js.map +0 -1
  315. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js +0 -2
  316. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js.map +0 -1
  317. package/dist/cjs/components/combo-box/ComboBox.js +0 -2
  318. package/dist/cjs/components/combo-box/ComboBox.js.map +0 -1
  319. package/dist/cjs/components/combo-box/ComboBox.styled.js +0 -33
  320. package/dist/cjs/components/combo-box/ComboBox.styled.js.map +0 -1
  321. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js +0 -2
  322. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js.map +0 -1
  323. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js +0 -2
  324. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js.map +0 -1
  325. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js +0 -138
  326. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js.map +0 -1
  327. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js +0 -2
  328. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js.map +0 -1
  329. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js +0 -2
  330. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js.map +0 -1
  331. package/dist/cjs/components/schedule-builder/ScheduleHelper.js +0 -2
  332. package/dist/cjs/components/schedule-builder/ScheduleHelper.js.map +0 -1
  333. package/dist/cjs/components/schedule-builder/SendModeSelector.js +0 -2
  334. package/dist/cjs/components/schedule-builder/SendModeSelector.js.map +0 -1
  335. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js +0 -2
  336. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js.map +0 -1
  337. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js +0 -2
  338. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js.map +0 -1
  339. package/dist/cjs/components/schedule-builder/model.js +0 -2
  340. package/dist/cjs/components/schedule-builder/model.js.map +0 -1
  341. package/dist/cjs/icons/Informational/General/MessageSource.js +0 -2
  342. package/dist/cjs/icons/Informational/General/MessageSource.js.map +0 -1
  343. package/dist/esm/components/agent-builder/components/AgentStateModal.d.ts +0 -47
  344. package/dist/esm/components/agent-builder/components/AgentStateModal.js +0 -82
  345. package/dist/esm/components/agent-builder/components/AgentStateModal.js.map +0 -1
  346. package/dist/esm/components/chip-selector/ChipSelector.d.ts +0 -9
  347. package/dist/esm/components/chip-selector/ChipSelector.js +0 -27
  348. package/dist/esm/components/chip-selector/ChipSelector.js.map +0 -1
  349. package/dist/esm/components/chip-selector/ChipSelector.styled.d.ts +0 -10
  350. package/dist/esm/components/chip-selector/ChipSelector.styled.js +0 -48
  351. package/dist/esm/components/chip-selector/ChipSelector.styled.js.map +0 -1
  352. package/dist/esm/components/chip-selector/ChipSelectorGroup.d.ts +0 -10
  353. package/dist/esm/components/chip-selector/ChipSelectorGroup.js +0 -48
  354. package/dist/esm/components/chip-selector/ChipSelectorGroup.js.map +0 -1
  355. package/dist/esm/components/chip-selector/index.d.ts +0 -4
  356. package/dist/esm/components/chip-selector/model.d.ts +0 -106
  357. package/dist/esm/components/combo-box/ComboBox.d.ts +0 -15
  358. package/dist/esm/components/combo-box/ComboBox.js +0 -118
  359. package/dist/esm/components/combo-box/ComboBox.js.map +0 -1
  360. package/dist/esm/components/combo-box/ComboBox.styled.d.ts +0 -12
  361. package/dist/esm/components/combo-box/ComboBox.styled.js +0 -40
  362. package/dist/esm/components/combo-box/ComboBox.styled.js.map +0 -1
  363. package/dist/esm/components/combo-box/index.d.ts +0 -3
  364. package/dist/esm/components/combo-box/model.d.ts +0 -55
  365. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.d.ts +0 -22
  366. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js +0 -31
  367. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js.map +0 -1
  368. package/dist/esm/components/schedule-builder/ScheduleBuilder.d.ts +0 -79
  369. package/dist/esm/components/schedule-builder/ScheduleBuilder.js +0 -103
  370. package/dist/esm/components/schedule-builder/ScheduleBuilder.js.map +0 -1
  371. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.d.ts +0 -81
  372. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js +0 -168
  373. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js.map +0 -1
  374. package/dist/esm/components/schedule-builder/ScheduleEndPicker.d.ts +0 -17
  375. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js +0 -105
  376. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js.map +0 -1
  377. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.d.ts +0 -21
  378. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js +0 -136
  379. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js.map +0 -1
  380. package/dist/esm/components/schedule-builder/ScheduleHelper.d.ts +0 -110
  381. package/dist/esm/components/schedule-builder/ScheduleHelper.js +0 -196
  382. package/dist/esm/components/schedule-builder/ScheduleHelper.js.map +0 -1
  383. package/dist/esm/components/schedule-builder/SendModeSelector.d.ts +0 -21
  384. package/dist/esm/components/schedule-builder/SendModeSelector.js +0 -39
  385. package/dist/esm/components/schedule-builder/SendModeSelector.js.map +0 -1
  386. package/dist/esm/components/schedule-builder/StartDateTimePicker.d.ts +0 -44
  387. package/dist/esm/components/schedule-builder/StartDateTimePicker.js +0 -119
  388. package/dist/esm/components/schedule-builder/StartDateTimePicker.js.map +0 -1
  389. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.d.ts +0 -19
  390. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js +0 -44
  391. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js.map +0 -1
  392. package/dist/esm/components/schedule-builder/index.d.ts +0 -17
  393. package/dist/esm/components/schedule-builder/model.d.ts +0 -69
  394. package/dist/esm/components/schedule-builder/model.js +0 -8
  395. package/dist/esm/components/schedule-builder/model.js.map +0 -1
  396. package/dist/esm/icons/Informational/General/MessageSource.d.ts +0 -7
  397. package/dist/esm/icons/Informational/General/MessageSource.js +0 -46
  398. package/dist/esm/icons/Informational/General/MessageSource.js.map +0 -1
package/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
  - [Sanitization](docs/sanitization.md) — the HTML/CSS sanitisation layer and what it strips
10
10
  - [Editor](docs/editor/01-overview.md) — the rich-text editor: props, ref API, toolbar, email mode, customisation
11
11
  - [FunnelChart & ComparisonBarChart](docs/charts/funnel-and-comparison-charts.md) — the analytics charts behind the Helpdesk AI Impact tab: branching funnel geometry, the shared chart card/palette/format helpers, and the zero states
12
+ - [Channel Playground](src/components/channel-playground/README.md) — driving the AI on email / WhatsApp / Instagram: the transport seam, the channel skins, and the stream frame protocol
12
13
  - [Frontend Testing Guide](docs/testing/writing-tests.md) — test authoring, linting, mandate exceptions, required status checks
13
14
 
14
15
  ## Testing (Jest + SWC)
@@ -24,7 +25,3 @@ Tests use **Jest** with **`@swc/jest`** instead of `ts-jest` for faster TypeScri
24
25
  Configuration: `jest.config.js`; SWC: `.swcrc`; test setup: `jest-setup.ts`.
25
26
 
26
27
  See the [Frontend Testing Guide](docs/testing/writing-tests.md) for test authoring, linting, mandate exceptions, and required status checks.
27
-
28
- ## Icons
29
-
30
- See the [Icon Guide](docs/ICONS.md) for how to add or edit an icon — where the SVG goes, the generation commands, and how it ships (branch naming for CI auto-generation, PR, and npm publish).
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),ue=require("../../constants/Theme.js"),s=require("./AgentBuilder.styled.js"),de=require("./components/AgentBuilderFooter.js"),ge=require("./components/AgentBuilderTopBar.js"),Se=require("./components/DiscardModal.js"),he=require("./components/GoLiveModal.js"),ve=require("./components/StepRail.js"),be=require("./components/UndoToast.js"),k=require("./context/AgentBuilderContext.js"),fe=require("./steps/Step1About.js"),pe=require("./steps/Step2WhenItStepsIn.js"),Ce=require("./steps/Step3HowItResponds.js"),Ae=require("./steps/Step4HandoverRules.js"),je=require("../spinner/Spinner.js"),xe=()=>{const{activeStep:u}=k.useAgentBuilderContext();switch(u){case"about":return t.jsx(fe.Step1About,{});case"trigger":return t.jsx(pe.Step2WhenItStepsIn,{});case"response":return t.jsx(Ce.Step3HowItResponds,{});case"handover":return t.jsx(Ae.Step4HandoverRules,{});default:return null}},q=u=>{const{config:I,onChange:v,onStepChange:d,onDiscard:b,onSaveDraft:i,onPublish:f,onBack:g,onTestAgent:S,onGoToDashboard:h,onCreateSubAgent:r,onFetchSubAgent:R,onUpdateSubAgent:w,onImproveSubAgent:G,onImproveToolInstructions:M,onConnectIntegration:P,...H}=u,{value:l,activeStep:F,availableTools:O,availableSubAgents:U,availableIntents:N=[],availableModels:W=[],configToolTemplates:z,integrationStatus:E,variablesData:_,validation:$,applicationType:J,charLimits:K,isSaving:p,isPublishing:C,isLoading:Q,footerHint:V="Changes don’t affect customers until you go live",disableStepNavigation:X,debugLog:A}=I,[j,a]=o.useState(null),[x,m]=o.useState(!1),[Y,L]=o.useState(!1),[Z,c]=o.useState(!1),[y,T]=o.useState(!1),n=o.useCallback((e,...ce)=>{A&&console.log(`[AgentBuilder] ${e}`,...ce)},[A]),ee=o.useCallback(e=>{n("onChange",e),v(e)},[n,v]),ne=o.useCallback(e=>{n("onStepChange",e),d?.(e)},[n,d]),te=o.useCallback(()=>(n("onSaveDraft"),i()),[n,i]),oe=o.useCallback(()=>(n("onPublish"),f()),[n,f]),ae=o.useCallback(()=>{n("onBack"),c(!0)},[n]),se=o.useCallback(()=>{n("onDiscardAndLeave"),c(!1),b()},[n,b]),D=o.useCallback(async()=>{n("onSaveDraftAndLeave");const e=i();if(c(!1),e&&typeof e.then=="function"){T(!0);try{await e}finally{T(!1)}}g?.()},[n,i,g]),ie=o.useCallback(async()=>{n("onTestAgent");const e=S?.();if(e&&typeof e.then=="function"){L(!0);try{await e}finally{L(!1)}}},[n,S]),B=o.useCallback(()=>{n("onGoToDashboard"),h?.()},[n,h]),re=o.useCallback(e=>(n("onCreateSubAgent",e),r?r(e):Promise.reject(new Error("onCreateSubAgent not provided"))),[n,r]),le=async()=>{n("onGoLiveConfirm");const e=oe();if(e&&typeof e.then=="function"){a(null),m(!0);try{await e,a("success")}finally{m(!1)}}else a("success")};return t.jsx(k.AgentBuilderProvider,{value:l,onChange:ee,activeStep:F,onStepChange:d?ne:void 0,availableTools:O,availableSubAgents:U,availableIntents:N,availableModels:W,configToolTemplates:z,integrationStatus:E,onConnectIntegration:P,variablesData:_,validation:$,applicationType:J,charLimits:K,disableStepNavigation:X,onCreateSubAgent:r?re:void 0,onFetchSubAgent:R,onUpdateSubAgent:w,onImproveSubAgent:G,onImproveToolInstructions:M,children:t.jsxs(s.BuilderRoot,{"data-test":H["data-test"]??"agent-builder",children:[t.jsx(ge.AgentBuilderTopBar,{name:l.name,status:l.status,onBack:g?ae:void 0,onSaveDraft:D,isSaving:p||y}),t.jsxs(s.Main,{children:[t.jsx(s.Rail,{children:t.jsx(ve.StepRail,{})}),t.jsx(s.Content,{children:Q?t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:t.jsx(je.Spinner,{size:"large",color:ue.COLORS.stroke.brand})}):t.jsxs(s.ContentCard,{children:[t.jsx(s.StepScroll,{children:t.jsx(xe,{})}),t.jsx(de.AgentBuilderFooter,{footerHint:V,onTestAgent:S?ie:void 0,isTesting:Y,onGoLive:()=>{n("onGoLive"),a("confirm")},isPublishing:C||x})]})})]}),t.jsx(he.GoLiveModal,{mode:j,onClose:()=>{const e=j==="success";a(null),e&&B()},onConfirm:le,onSaveDraft:()=>{a(null),te()},onGoToDashboard:h?B:void 0,isPublishing:C||x}),t.jsx(Se.DiscardModal,{open:Z,onClose:()=>c(!1),onDiscard:se,onSaveDraft:D,disableSaveDraft:!l.name.trim(),isSaving:p||y}),t.jsx(be.UndoToast,{})]})})};q.displayName="AgentBuilder";exports.AgentBuilder=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),ue=require("../../constants/Theme.js"),a=require("./AgentBuilder.styled.js"),de=require("./components/AgentBuilderFooter.js"),ge=require("./components/AgentBuilderTopBar.js"),Se=require("./components/DiscardModal.js"),he=require("./components/GoLiveModal.js"),ve=require("./components/StepRail.js"),be=require("./components/UndoToast.js"),k=require("./context/AgentBuilderContext.js"),fe=require("./steps/Step1About.js"),pe=require("./steps/Step2WhenItStepsIn.js"),Ce=require("./steps/Step3HowItResponds.js"),Ae=require("./steps/Step4HandoverRules.js"),je=require("../spinner/Spinner.js"),xe=()=>{const{activeStep:u}=k.useAgentBuilderContext();switch(u){case"about":return t.jsx(fe.Step1About,{});case"trigger":return t.jsx(pe.Step2WhenItStepsIn,{});case"response":return t.jsx(Ce.Step3HowItResponds,{});case"handover":return t.jsx(Ae.Step4HandoverRules,{});default:return null}},q=u=>{const{config:I,onChange:v,onStepChange:d,onDiscard:b,onSaveDraft:i,onPublish:f,onBack:g,onTestAgent:S,onGoToDashboard:h,onCreateSubAgent:r,onFetchSubAgent:R,onUpdateSubAgent:w,onImproveSubAgent:G,onImproveToolInstructions:M,onConnectIntegration:P,...H}=u,{value:l,activeStep:F,availableTools:O,availableSubAgents:U,availableIntents:N=[],availableModels:W=[],configToolTemplates:z,integrationStatus:E,variablesData:_,validation:$,applicationType:J,charLimits:K,isSaving:p,isPublishing:C,isLoading:Q,footerHint:V="Changes don’t affect customers until you go live",disableStepNavigation:X,debugLog:A}=I,[j,s]=o.useState(null),[x,m]=o.useState(!1),[Y,L]=o.useState(!1),[Z,c]=o.useState(!1),[y,T]=o.useState(!1),n=o.useCallback((e,...ce)=>{A&&console.log(`[AgentBuilder] ${e}`,...ce)},[A]),ee=o.useCallback(e=>{n("onChange",e),v(e)},[n,v]),ne=o.useCallback(e=>{n("onStepChange",e),d?.(e)},[n,d]),te=o.useCallback(()=>(n("onSaveDraft"),i()),[n,i]),oe=o.useCallback(()=>(n("onPublish"),f()),[n,f]),ae=o.useCallback(()=>{n("onBack"),c(!0)},[n]),se=o.useCallback(()=>{n("onDiscardAndLeave"),c(!1),b()},[n,b]),D=o.useCallback(async()=>{n("onSaveDraftAndLeave");const e=i();if(e&&typeof e.then=="function"){T(!0);try{await e}finally{T(!1)}}c(!1),g?.()},[n,i,g]),ie=o.useCallback(async()=>{n("onTestAgent");const e=S?.();if(e&&typeof e.then=="function"){L(!0);try{await e}finally{L(!1)}}},[n,S]),B=o.useCallback(()=>{n("onGoToDashboard"),h?.()},[n,h]),re=o.useCallback(e=>(n("onCreateSubAgent",e),r?r(e):Promise.reject(new Error("onCreateSubAgent not provided"))),[n,r]),le=async()=>{n("onGoLiveConfirm");const e=oe();if(e&&typeof e.then=="function"){m(!0);try{await e,s("success")}finally{m(!1)}}else s("success")};return t.jsx(k.AgentBuilderProvider,{value:l,onChange:ee,activeStep:F,onStepChange:d?ne:void 0,availableTools:O,availableSubAgents:U,availableIntents:N,availableModels:W,configToolTemplates:z,integrationStatus:E,onConnectIntegration:P,variablesData:_,validation:$,applicationType:J,charLimits:K,disableStepNavigation:X,onCreateSubAgent:r?re:void 0,onFetchSubAgent:R,onUpdateSubAgent:w,onImproveSubAgent:G,onImproveToolInstructions:M,children:t.jsxs(a.BuilderRoot,{"data-test":H["data-test"]??"agent-builder",children:[t.jsx(ge.AgentBuilderTopBar,{name:l.name,status:l.status,onBack:g?ae:void 0,onSaveDraft:D,isSaving:p||y}),t.jsxs(a.Main,{children:[t.jsx(a.Rail,{children:t.jsx(ve.StepRail,{})}),t.jsx(a.Content,{children:Q?t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:t.jsx(je.Spinner,{size:"large",color:ue.COLORS.stroke.brand})}):t.jsxs(a.ContentCard,{children:[t.jsx(a.StepScroll,{children:t.jsx(xe,{})}),t.jsx(de.AgentBuilderFooter,{footerHint:V,onTestAgent:S?ie:void 0,isTesting:Y,onGoLive:()=>{n("onGoLive"),s("confirm")},isPublishing:C||x})]})})]}),t.jsx(he.GoLiveModal,{mode:j,onClose:()=>{const e=j==="success";s(null),e&&B()},onConfirm:le,onSaveDraft:()=>{s(null),te()},onGoToDashboard:h?B:void 0,isPublishing:C||x}),t.jsx(Se.DiscardModal,{open:Z,onClose:()=>c(!1),onDiscard:se,onSaveDraft:D,disableSaveDraft:!l.name.trim(),isSaving:p||y}),t.jsx(be.UndoToast,{})]})})};q.displayName="AgentBuilder";exports.AgentBuilder=q;
2
2
  //# sourceMappingURL=AgentBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvariablesData,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// True while onTestAgent's async work (e.g. save-as-draft before the test\n\t// modal opens) is in flight — loads + disables the Test agent button.\n\tconst [testingLocal, setTestingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\t// Closed up front for the same reason as go-live: the caller's saving dialog\n\t\t// would otherwise stack a second overlay on top of this one.\n\t\tsetShowLeaveConfirm(false);\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(async () => {\n\t\tlogAction('onTestAgent');\n\t\tconst result = onTestAgent?.();\n\t\t// A new agent saves as draft before the test modal opens — that's slow, so\n\t\t// disable + load the button until it settles (prevents double-triggering).\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetTestingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetTestingLocal(false);\n\t\t\t}\n\t\t}\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\t// Close before handing the screen to the caller's in-flight dialog: two\n\t\t\t// modals at once means two stacked overlays and this one's cross showing\n\t\t\t// through. The footer's Go live button keeps spinning via `isPublishing`,\n\t\t\t// so a caller with no dialog of its own still shows progress.\n\t\t\tsetModalMode(null);\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvariablesData={variablesData}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tisTesting={testingLocal}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tconst wasSuccess = modalMode === 'success';\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\tif (wasSuccess) {\n\t\t\t\t\t\t\thandleGoToDashboard();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tdisableSaveDraft={!value.name.trim()}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","variablesData","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","testingLocal","setTestingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","wasSuccess","DiscardModal","UndoToast"],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvariablesData,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// True while onTestAgent's async work (e.g. save-as-draft before the test\n\t// modal opens) is in flight — loads + disables the Test agent button.\n\tconst [testingLocal, setTestingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tsetShowLeaveConfirm(false);\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(async () => {\n\t\tlogAction('onTestAgent');\n\t\tconst result = onTestAgent?.();\n\t\t// A new agent saves as draft before the test modal opens — that's slow, so\n\t\t// disable + load the button until it settles (prevents double-triggering).\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetTestingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetTestingLocal(false);\n\t\t\t}\n\t\t}\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvariablesData={variablesData}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tisTesting={testingLocal}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tconst wasSuccess = modalMode === 'success';\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\tif (wasSuccess) {\n\t\t\t\t\t\t\thandleGoToDashboard();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tdisableSaveDraft={!value.name.trim()}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","variablesData","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","testingLocal","setTestingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","wasSuccess","DiscardModal","UndoToast"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("../../constants/Theme.js"),n=a=>a&&typeof a=="object"&&"default"in a?a:{default:a},e=n(i),o=i.css`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("../../constants/Theme.js"),r=a=>a&&typeof a=="object"&&"default"in a?a:{default:a},e=r(i),o=i.css`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
@@ -19,14 +19,14 @@
19
19
  opacity: 0.5;
20
20
  background: transparent;
21
21
  }
22
- `,d=e.default.div.attrs({className:"bik-builder-root"})`
22
+ `,s=e.default.div.attrs({className:"bik-builder-root"})`
23
23
  display: flex;
24
24
  flex-direction: column;
25
25
  height: 100%;
26
26
  width: 100%;
27
27
  min-height: 0;
28
28
  background: ${t.COLORS.surface.standard};
29
- `,l=e.default.div.attrs({className:"bik-top-bar"})`
29
+ `,n=e.default.div.attrs({className:"bik-top-bar"})`
30
30
  display: flex;
31
31
  align-items: center;
32
32
  justify-content: space-between;
@@ -34,11 +34,11 @@
34
34
  padding: 12px 16px;
35
35
  border-bottom: 1px solid ${t.COLORS.stroke.primary};
36
36
  flex-shrink: 0;
37
- `,c=e.default.div.attrs({className:"bik-top-bar-side"})`
37
+ `,d=e.default.div.attrs({className:"bik-top-bar-side"})`
38
38
  display: flex;
39
39
  align-items: center;
40
40
  gap: 8px;
41
- `,p=e.default.button.attrs({className:"bik-back-button"})`
41
+ `,l=e.default.button.attrs({className:"bik-back-button"})`
42
42
  display: flex;
43
43
  align-items: center;
44
44
  justify-content: center;
@@ -53,18 +53,18 @@
53
53
  &:hover {
54
54
  background: ${t.COLORS.surface.subdued};
55
55
  }
56
- `,u=e.default.div.attrs({className:"bik-main"})`
56
+ `,c=e.default.div.attrs({className:"bik-main"})`
57
57
  display: flex;
58
58
  flex: 1;
59
59
  min-height: 0;
60
- `,f=e.default.div.attrs({className:"bik-rail"})`
60
+ `,p=e.default.div.attrs({className:"bik-rail"})`
61
61
  width: 234px;
62
62
  flex-shrink: 0;
63
63
  border-right: 1px solid ${t.COLORS.stroke.primary};
64
64
  padding: 16px;
65
65
  overflow-y: auto;
66
66
  background: ${t.COLORS.surface.standard};
67
- `,x=e.default.div.attrs({className:"bik-content"})`
67
+ `,u=e.default.div.attrs({className:"bik-content"})`
68
68
  flex: 1;
69
69
  min-width: 0;
70
70
  min-height: 0;
@@ -73,7 +73,7 @@
73
73
  flex-direction: column;
74
74
  padding: 16px;
75
75
  background: ${t.COLORS.surface.standard};
76
- `,h=e.default.div.attrs({className:"bik-content-card"})`
76
+ `,f=e.default.div.attrs({className:"bik-content-card"})`
77
77
  flex: 1;
78
78
  min-height: 0;
79
79
  display: flex;
@@ -82,11 +82,11 @@
82
82
  border: 1px solid ${t.COLORS.stroke.primary};
83
83
  border-radius: 8px;
84
84
  box-sizing: border-box;
85
- `,b=e.default.div.attrs({className:"bik-step-scroll"})`
85
+ `,x=e.default.div.attrs({className:"bik-step-scroll"})`
86
86
  flex: 1;
87
87
  min-height: 0;
88
88
  overflow-y: auto;
89
- `,g=e.default.div.attrs({className:"bik-footer"})`
89
+ `,b=e.default.div.attrs({className:"bik-footer"})`
90
90
  display: flex;
91
91
  align-items: center;
92
92
  justify-content: space-between;
@@ -95,18 +95,18 @@
95
95
  border-top: 1px solid ${t.COLORS.stroke.primary};
96
96
  flex-shrink: 0;
97
97
  box-shadow: 0px -2px 12px 0px #0000000a;
98
- `,m=e.default.div.attrs({className:"bik-footer-hint"})`
98
+ `,h=e.default.div.attrs({className:"bik-footer-hint"})`
99
99
  display: flex;
100
100
  align-items: center;
101
101
  gap: 6px;
102
- `,k=e.default.div.attrs({className:"bik-footer-actions"})`
102
+ `,g=e.default.div.attrs({className:"bik-footer-actions"})`
103
103
  display: flex;
104
104
  align-items: center;
105
105
  gap: 8px;
106
- `,w=e.default.div.attrs({className:"bik-rail-list"})`
106
+ `,m=e.default.div.attrs({className:"bik-rail-list"})`
107
107
  display: flex;
108
108
  flex-direction: column;
109
- `,y=e.default.button.attrs({className:"bik-rail-item"})`
109
+ `,k=e.default.button.attrs({className:"bik-rail-item"})`
110
110
  position: relative;
111
111
  display: flex;
112
112
  align-items: flex-start;
@@ -138,7 +138,7 @@
138
138
  border-left: 1px dashed #e0e0e0;
139
139
  pointer-events: none;
140
140
  }
141
- `,S=e.default.div.attrs({className:"bik-step-badge"})`
141
+ `,w=e.default.div.attrs({className:"bik-step-badge"})`
142
142
  width: 20px;
143
143
  height: 20px;
144
144
  flex-shrink: 0;
@@ -152,26 +152,26 @@
152
152
  line-height: 12px;
153
153
  background: ${a=>a.state==="complete"?t.COLORS.background.inverseLight:a.state==="active"?t.COLORS.background.brandLight:t.COLORS.background.base};
154
154
  color: ${a=>a.state==="complete"?t.COLORS.surface.standard:a.state==="active"?t.COLORS.background.inverseLight:t.COLORS.content.secondary};
155
- `,v=e.default.div.attrs({className:"bik-section-header-wrap"})`
155
+ `,y=e.default.div.attrs({className:"bik-section-header-wrap"})`
156
156
  display: flex;
157
157
  flex-direction: column;
158
158
  gap: 4px;
159
159
  padding: 16px;
160
160
  border-bottom: 1px solid ${t.COLORS.stroke.primary};
161
- `,O=e.default.div.attrs({className:"bik-section-header-wrap"})`
161
+ `,S=e.default.div.attrs({className:"bik-section-header-wrap"})`
162
162
  display: flex;
163
163
  flex-direction: column;
164
164
  gap: 16px;
165
165
  padding: 16px;
166
- `,R=e.default.div.attrs({className:"bik-field-block"})`
166
+ `,v=e.default.div.attrs({className:"bik-field-block"})`
167
167
  display: flex;
168
168
  flex-direction: column;
169
169
  gap: 8px;
170
- `,C=e.default.div.attrs({className:"bik-field-label-row"})`
170
+ `,O=e.default.div.attrs({className:"bik-field-label-row"})`
171
171
  display: flex;
172
172
  align-items: center;
173
173
  justify-content: space-between;
174
- `,N=e.default.div.attrs({className:"bik-ai-text-area-shell"})`
174
+ `,R=e.default.div.attrs({className:"bik-ai-text-area-shell"})`
175
175
  display: flex;
176
176
  flex-direction: column;
177
177
  border: 1px solid
@@ -181,7 +181,7 @@
181
181
  gap: 8px;
182
182
  min-height: ${a=>a.minHeight??"120px"};
183
183
  background: ${t.COLORS.surface.standard};
184
- `,L=e.default.textarea.attrs({className:"bik-ai-text-area-input"})`
184
+ `,C=e.default.textarea.attrs({className:"bik-ai-text-area-input"})`
185
185
  flex: 1;
186
186
  border: none;
187
187
  outline: none;
@@ -196,10 +196,10 @@
196
196
  &::placeholder {
197
197
  color: ${t.COLORS.content.placeholder};
198
198
  }
199
- `,B=e.default.div.attrs({className:"bik-card-row"})`
199
+ `,L=e.default.div.attrs({className:"bik-card-row"})`
200
200
  display: flex;
201
201
  gap: 12px;
202
- `,$=e.default.button.attrs({className:"bik-radio-card"})`
202
+ `,N=e.default.button.attrs({className:"bik-radio-card"})`
203
203
  flex: 1;
204
204
  display: flex;
205
205
  align-items: flex-start;
@@ -212,11 +212,11 @@
212
212
  cursor: pointer;
213
213
  text-align: left;
214
214
  width: 100%;
215
- `,A=e.default.div.attrs({className:"bik-radio-card-text"})`
215
+ `,B=e.default.div.attrs({className:"bik-radio-card-text"})`
216
216
  display: flex;
217
217
  flex-direction: column;
218
218
  gap: 4px;
219
- `,T=e.default.div.attrs({className:"bik-chip-wrap"})`
219
+ `,$=e.default.div.attrs({className:"bik-chip-wrap"})`
220
220
  display: flex;
221
221
  flex-wrap: wrap;
222
222
  align-items: center;
@@ -230,11 +230,11 @@
230
230
  border-radius: 4px;
231
231
  background: transparent;
232
232
  cursor: pointer;
233
- `;const M=e.default.div.attrs({className:"bik-agent-step bik-agent-step--response"})`
233
+ `;const A=e.default.div.attrs({className:"bik-agent-step bik-agent-step--response"})`
234
234
  display: flex;
235
235
  flex-direction: column;
236
236
  min-height: 100%;
237
- `,I=e.default.div.attrs({className:"bik-step3-grid"})`
237
+ `,T=e.default.div.attrs({className:"bik-step3-grid"})`
238
238
  display: grid;
239
239
  grid-template-columns: minmax(0, 1fr) 1px 360px;
240
240
  /* Single row that fills the grid's height, so the divider spans the full
@@ -254,7 +254,7 @@
254
254
  flex: 1;
255
255
  min-height: 0;
256
256
  `}
257
- `,_=e.default.div.attrs({className:"bik-step3-divider"})`
257
+ `,j=e.default.div.attrs({className:"bik-step3-divider"})`
258
258
  width: 1px;
259
259
  align-self: stretch;
260
260
  background: ${t.COLORS.stroke.primary};
@@ -262,23 +262,23 @@
262
262
  @media (max-width: 1100px) {
263
263
  display: none;
264
264
  }
265
- `,j=e.default.div.attrs({className:"bik-side-section"})`
265
+ `,F=e.default.div.attrs({className:"bik-side-section"})`
266
266
  display: flex;
267
267
  flex-direction: column;
268
268
  gap: 8px;
269
- `,H=e.default.div.attrs({className:"bik-side-section-header"})`
269
+ `,M=e.default.div.attrs({className:"bik-side-section-header"})`
270
270
  display: flex;
271
271
  align-items: center;
272
272
  justify-content: space-between;
273
- `,F=e.default.button.attrs({className:"bik-add-icon-button"})`
273
+ `,I=e.default.button.attrs({className:"bik-add-icon-button"})`
274
274
  ${o}
275
275
  background: ${t.COLORS.surface.standard};
276
276
  border: 1px solid ${t.COLORS.stroke.primary};
277
- `,D=e.default.div.attrs({className:"bik-source-button-row"})`
277
+ `,z=e.default.div.attrs({className:"bik-source-button-row"})`
278
278
  display: flex;
279
279
  flex-wrap: wrap;
280
280
  gap: 8px;
281
- `,E=e.default.button.attrs({className:"bik-source-button"})`
281
+ `,D=e.default.button.attrs({className:"bik-source-button"})`
282
282
  display: flex;
283
283
  align-items: center;
284
284
  gap: 8px;
@@ -292,7 +292,7 @@
292
292
  &:hover {
293
293
  background: ${t.COLORS.surface.subdued};
294
294
  }
295
- `,z=e.default.div.attrs({className:"bik-selectable-row"})`
295
+ `,H=e.default.div.attrs({className:"bik-selectable-row"})`
296
296
  display: flex;
297
297
  align-items: center;
298
298
  gap: 8px;
@@ -325,7 +325,7 @@
325
325
  white-space: nowrap;
326
326
  text-overflow: ellipsis;
327
327
  }
328
- `,G=e.default.div.attrs({className:"bik-row-label"})`
328
+ `,_=e.default.div.attrs({className:"bik-row-label"})`
329
329
  display: flex;
330
330
  align-items: center;
331
331
  gap: 6px;
@@ -345,19 +345,19 @@
345
345
  background: transparent;
346
346
  padding: 0;
347
347
  cursor: pointer;
348
- `;const q=e.default.div.attrs({className:"bik-row-actions"})`
348
+ `;const E=e.default.div.attrs({className:"bik-row-actions"})`
349
349
  display: flex;
350
350
  align-items: center;
351
351
  gap: 4px;
352
352
  flex-shrink: 0;
353
- `,P=e.default.span.attrs({className:"bik-row-action-divider"})`
353
+ `,q=e.default.span.attrs({className:"bik-row-action-divider"})`
354
354
  width: 1px;
355
355
  align-self: stretch;
356
356
  margin: 4px 0;
357
357
  background: ${t.COLORS.stroke.primary};
358
- `,U=e.default.button.attrs({className:"bik-row-menu-button"})`
358
+ `,G=e.default.button.attrs({className:"bik-row-menu-button"})`
359
359
  ${o}
360
- `,J=e.default.div.attrs({className:"bik-draft-button-scope"})`
360
+ `,P=e.default.div.attrs({className:"bik-draft-button-scope"})`
361
361
  display: flex;
362
362
  flex: 1;
363
363
 
@@ -367,28 +367,18 @@
367
367
  button .text {
368
368
  color: ${t.BASE_COLORS.brand[800]};
369
369
  }
370
- `,r=e.default.div.attrs({className:"bik-modal-body"})`
370
+ `,U=e.default.div.attrs({className:"bik-modal-body"})`
371
371
  padding: 24px;
372
372
  display: flex;
373
373
  flex-direction: column;
374
374
  align-items: center;
375
375
  gap: 16px;
376
376
  text-align: center;
377
- `,K=e.default.div.attrs({className:"bik-modal-icon"})`
377
+ `,J=e.default.div.attrs({className:"bik-modal-icon"})`
378
378
  display: flex;
379
379
  align-items: center;
380
380
  justify-content: center;
381
- `,s=268,Q=e.default(r)`
382
- min-height: ${s}px;
383
- `,V=e.default.div`
384
- flex: 1;
385
- width: 100%;
386
- display: flex;
387
- flex-direction: column;
388
- justify-content: center;
389
- align-items: center;
390
- gap: 8px;
391
- `,X=e.default.div.attrs({className:"bik-modal-actions"})`
381
+ `,K=e.default.div.attrs({className:"bik-modal-actions"})`
392
382
  display: flex;
393
383
  gap: 12px;
394
384
  width: 100%;
@@ -406,5 +396,5 @@
406
396
  display: flex;
407
397
  align-items: center;
408
398
  gap: 8px;
409
- `;exports.AGENT_STATE_MODAL_MIN_HEIGHT=s;exports.AddIconButton=F;exports.AgentStateModalBody=Q;exports.AgentStateModalHero=V;exports.AiTextAreaInput=L;exports.AiTextAreaShell=N;exports.BackButton=p;exports.BuilderRoot=d;exports.CardRow=B;exports.ChipWrap=T;exports.Content=x;exports.ContentCard=h;exports.DraftButtonScope=J;exports.FieldBlock=R;exports.FieldLabelRow=C;exports.Footer=g;exports.FooterActions=k;exports.FooterHint=m;exports.Main=u;exports.ModalActions=X;exports.ModalBody=r;exports.ModalIcon=K;exports.RadioCard=$;exports.RadioCardText=A;exports.Rail=f;exports.RailItem=y;exports.RailList=w;exports.RowActionDivider=P;exports.RowActions=q;exports.RowLabel=G;exports.RowMenuButton=U;exports.RowText=W;exports.SectionBodyWrap=O;exports.SectionHeaderWrap=v;exports.SelectableRow=z;exports.SideSection=j;exports.SideSectionHeader=H;exports.SourceButton=E;exports.SourceButtonRow=D;exports.Step3Divider=_;exports.Step3Grid=I;exports.Step3Root=M;exports.StepBadge=S;exports.StepScroll=b;exports.TopBar=l;exports.TopBarSide=c;
399
+ `;exports.AddIconButton=I;exports.AiTextAreaInput=C;exports.AiTextAreaShell=R;exports.BackButton=l;exports.BuilderRoot=s;exports.CardRow=L;exports.ChipWrap=$;exports.Content=u;exports.ContentCard=f;exports.DraftButtonScope=P;exports.FieldBlock=v;exports.FieldLabelRow=O;exports.Footer=b;exports.FooterActions=g;exports.FooterHint=h;exports.Main=c;exports.ModalActions=K;exports.ModalBody=U;exports.ModalIcon=J;exports.RadioCard=N;exports.RadioCardText=B;exports.Rail=p;exports.RailItem=k;exports.RailList=m;exports.RowActionDivider=q;exports.RowActions=E;exports.RowLabel=_;exports.RowMenuButton=G;exports.RowText=W;exports.SectionBodyWrap=S;exports.SectionHeaderWrap=y;exports.SelectableRow=H;exports.SideSection=F;exports.SideSectionHeader=M;exports.SourceButton=D;exports.SourceButtonRow=z;exports.Step3Divider=j;exports.Step3Grid=T;exports.Step3Root=A;exports.StepBadge=w;exports.StepScroll=x;exports.TopBar=n;exports.TopBarSide=d;
410
400
  //# sourceMappingURL=AgentBuilder.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.styled.js","sources":["../../../../src/components/agent-builder/AgentBuilder.styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { BASE_COLORS, COLORS } from '@src/constants/Theme';\n\n// Shared look for the 24×24 transparent icon buttons (add / row-menu / close).\nconst iconActionButton = css`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 24px;\n\theight: 24px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t\topacity: 0.5;\n\t\tbackground: transparent;\n\t}\n`;\n\nexport const BuilderRoot = styled.div.attrs({ className: 'bik-builder-root' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\twidth: 100%;\n\tmin-height: 0;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const TopBar = styled.div.attrs({ className: 'bik-top-bar' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 56px;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const TopBarSide = styled.div.attrs({ className: 'bik-top-bar-side' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const BackButton = styled.button.attrs({ className: 'bik-back-button' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const Main = styled.div.attrs({ className: 'bik-main' })`\n\tdisplay: flex;\n\tflex: 1;\n\tmin-height: 0;\n`;\n\nexport const Rail = styled.div.attrs({ className: 'bik-rail' })`\n\twidth: 234px;\n\tflex-shrink: 0;\n\tborder-right: 1px solid ${COLORS.stroke.primary};\n\tpadding: 16px;\n\toverflow-y: auto;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const Content = styled.div.attrs({ className: 'bik-content' })`\n\tflex: 1;\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: hidden;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 16px;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const ContentCard = styled.div.attrs({ className: 'bik-content-card' })`\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-sizing: border-box;\n`;\n\n// Scrollable step body inside the card; the footer stays pinned below it.\nexport const StepScroll = styled.div.attrs({ className: 'bik-step-scroll' })`\n\tflex: 1;\n\tmin-height: 0;\n\toverflow-y: auto;\n`;\n\nexport const Footer = styled.div.attrs({ className: 'bik-footer' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmin-height: 56px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n\tbox-shadow: 0px -2px 12px 0px #0000000a;\n`;\n\nexport const FooterHint = styled.div.attrs({ className: 'bik-footer-hint' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n`;\n\nexport const FooterActions = styled.div.attrs({\n\tclassName: 'bik-footer-actions',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\n// ── Step rail items ─────────────────────────────────────────────────────────\n\nexport const RailList = styled.div.attrs({ className: 'bik-rail-list' })`\n\tdisplay: flex;\n\tflex-direction: column;\n`;\n\nexport const RailItem = styled.button.attrs({ className: 'bik-rail-item' })`\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\t/* Bottom padding leaves room for the connector down to the next badge. */\n\tpadding: 0 0 24px;\n\tborder: none;\n\tbackground: transparent;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n\n\t&:last-child {\n\t\tpadding-bottom: 0;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t}\n\n\t/* Dashed connector line between consecutive step badges (centered on the badge). */\n\t&:not(:last-child)::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 9px;\n\t\ttop: 20px;\n\t\twidth: 0;\n\t\theight: 24px;\n\t\tborder-left: 1px dashed #e0e0e0;\n\t\tpointer-events: none;\n\t}\n`;\n\nexport const StepBadge = styled.div.attrs({ className: 'bik-step-badge' })<{\n\tstate: 'active' | 'complete' | 'inactive';\n}>`\n\twidth: 20px;\n\theight: 20px;\n\tflex-shrink: 0;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: Inter;\n\tfont-size: 10px;\n\tfont-weight: 400;\n\tline-height: 12px;\n\tbackground: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.brandLight\n\t\t\t: COLORS.background.base};\n\tcolor: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.surface.standard\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: COLORS.content.secondary};\n`;\n\n// ── Shared step pieces ──────────────────────────────────────────────────────\n\nexport const SectionHeaderWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tpadding: 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n`;\n\nexport const SectionBodyWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tpadding: 16px;\n`;\n\nexport const FieldBlock = styled.div.attrs({ className: 'bik-field-block' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const FieldLabelRow = styled.div.attrs({\n\tclassName: 'bik-field-label-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\n// ── Labelled text area ──────────────────────────────────────────────────────\n\nexport const AiTextAreaShell = styled.div.attrs({\n\tclassName: 'bik-ai-text-area-shell',\n})<{\n\tfocused?: boolean;\n\tminHeight?: string;\n}>`\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder: 1px solid\n\t\t${(p) => (p.focused ? COLORS.stroke.brand : COLORS.stroke.primary)};\n\tborder-radius: 4px;\n\tpadding: 8px 12px;\n\tgap: 8px;\n\tmin-height: ${(p) => p.minHeight ?? '120px'};\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const AiTextAreaInput = styled.textarea.attrs({\n\tclassName: 'bik-ai-text-area-input',\n})`\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tresize: none;\n\tfont-family: Inter;\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: ${COLORS.content.primary};\n\tbackground: transparent;\n\tmin-height: 60px;\n\n\t&::placeholder {\n\t\tcolor: ${COLORS.content.placeholder};\n\t}\n`;\n\n// ── Radio card (Step 2 / Step 4 option cards) ───────────────────────────────\n\nexport const CardRow = styled.div.attrs({ className: 'bik-card-row' })`\n\tdisplay: flex;\n\tgap: 12px;\n`;\n\nexport const RadioCard = styled.button.attrs({ className: 'bik-radio-card' })<{\n\tselected?: boolean;\n}>`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 12px;\n\tpadding: 16px;\n\tborder: 1px solid\n\t\t${(p) => (p.selected ? BASE_COLORS.brand['800'] : COLORS.stroke.primary)};\n\tbackground: ${(p) =>\n\t\tp.selected ? COLORS.background.brandLight : COLORS.surface.standard};\n\tborder-radius: 8px;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n`;\n\nexport const RadioCardText = styled.div.attrs({\n\tclassName: 'bik-radio-card-text',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n`;\n\n// ── Intent chips (Step 2) ───────────────────────────────────────────────────\n\nexport const ChipWrap = styled.div.attrs({ className: 'bik-chip-wrap' })`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const AddChipButton = styled.button.attrs({\n\tclassName: 'bik-add-chip-button',\n})`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 4px 8px;\n\tborder: 1px dashed ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n`;\n\n// ── Step 3 two-column layout + tool / sub-agent rows ────────────────────────\n\n// Fills the scroll area so the step header + grow-body chain reaches the footer.\nexport const Step3Root = styled.div.attrs({\n\tclassName: 'bik-agent-step bik-agent-step--response',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 100%;\n`;\n\nexport const Step3Grid = styled.div.attrs({ className: 'bik-step3-grid' })<{\n\t$grow?: boolean;\n}>`\n\tdisplay: grid;\n\tgrid-template-columns: minmax(0, 1fr) 1px 360px;\n\t/* Single row that fills the grid's height, so the divider spans the full\n\t height (down to the footer) rather than stopping at the taller column. */\n\tgrid-template-rows: 1fr;\n\tflex: 1;\n\tmin-height: 0;\n\n\t@media (max-width: 1100px) {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto;\n\t}\n\n\t/* Fill the remaining card height so a full-height child (e.g. the Step 3\n\t column divider) can stretch all the way down to the footer. */\n\t${(p) =>\n\t\tp.$grow &&\n\t\tcss`\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t`}\n`;\n\n// Vertical rule between the main column and the side (tools / sub-agents) column;\n// hidden once the grid collapses to a single column.\nexport const Step3Divider = styled.div.attrs({\n\tclassName: 'bik-step3-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tbackground: ${COLORS.stroke.primary};\n\n\t@media (max-width: 1100px) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const SideSection = styled.div.attrs({ className: 'bik-side-section' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const SideSectionHeader = styled.div.attrs({\n\tclassName: 'bik-side-section-header',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\nexport const AddIconButton = styled.button.attrs({\n\tclassName: 'bik-add-icon-button',\n})`\n\t${iconActionButton}\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n`;\n\n// Empty-state tool-source picker (e.g. Manifest / Shopify buttons).\nexport const SourceButtonRow = styled.div.attrs({\n\tclassName: 'bik-source-button-row',\n})`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n`;\n\nexport const SourceButton = styled.button.attrs({\n\tclassName: 'bik-source-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 6px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: ${COLORS.surface.standard};\n\tcursor: pointer;\n\theight: 28px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const SelectableRow = styled.div.attrs({\n\tclassName: 'bik-selectable-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px 12px;\n\t/* Fixed 48px rows regardless of the (variably-sized) leading source icon.\n\t box-sizing pins the height across hosts with differing resets; flex-shrink:0\n\t + min-height stop a height-constrained flex column (the merchant side panel)\n\t from squashing the rows — Storybook has room, so it looked fine there. */\n\tmin-height: 48px;\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Leading icon (e.g. tool source) keeps its size; the label takes the rest. */\n\t& > svg {\n\t\tflex-shrink: 0;\n\t}\n`;\n\nexport const RowText = styled.div.attrs({ className: 'bik-row-text' })`\n\tflex: 1;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Truncate the label to one line with an ellipsis. */\n\t& > * {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n`;\n\n/* Label + trailing verification shield on one row. */\nexport const RowLabel = styled.div.attrs({ className: 'bik-row-label' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n\tmin-width: 0;\n\tflex: 1;\n\n\t/* Shrink the label to its text so the shield sits just after it, rather than\n\t RowText's default flex: 1 filling the row and pushing the shield to the end. */\n\t& .bik-row-text {\n\t\tflex: 0 1 auto;\n\t}\n`;\n\nexport const RowRemoveButton = styled.button.attrs({\n\tclassName: 'bik-row-remove-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n`;\n\n// ── Per-row actions (always-visible edit / delete icon buttons) ───────────────\n\nexport const RowActions = styled.div.attrs({ className: 'bik-row-actions' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tflex-shrink: 0;\n`;\n\n// Vertical separator between the edit and delete icon buttons.\nexport const RowActionDivider = styled.span.attrs({\n\tclassName: 'bik-row-action-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tmargin: 4px 0;\n\tbackground: ${COLORS.stroke.primary};\n`;\n\nexport const RowMenuButton = styled.button.attrs({\n\tclassName: 'bik-row-menu-button',\n})`\n\t${iconActionButton}\n`;\n\nexport const DraftButtonScope = styled.div.attrs({\n\tclassName: 'bik-draft-button-scope',\n})`\n\tdisplay: flex;\n\tflex: 1;\n\n\tbutton {\n\t\tborder-color: ${BASE_COLORS.brand['800']};\n\t}\n\tbutton .text {\n\t\tcolor: ${BASE_COLORS.brand['800']};\n\t}\n`;\n\n// ── Go-live modal ───────────────────────────────────────────────────────────\n\nexport const ModalBody = styled.div.attrs({ className: 'bik-modal-body' })`\n\tpadding: 24px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: 16px;\n\ttext-align: center;\n`;\n\nexport const ModalIcon = styled.div.attrs({ className: 'bik-modal-icon' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\n\n/**\n * The go-live SUCCESS dialog's natural height, which every state of\n * `AgentStateModal` is pinned to so the card doesn't resize as a publish moves\n * loading → error, or loading → success (a different dialog at the same size).\n *\n * 24 + 24 padding + 64 icon + 8 gap + 28 title (TitleMedium 20/28) + 8 gap\n * + 48 body (BodyPrimary 16/24, two lines at this width) + 24 gap\n * + 40 action row (medium Button: 10px padding + 20px line-height) = 268.\n *\n * Deliberately NOT on `ModalBody`: DiscardModal and RequireVerificationModal share\n * it and are not part of this sequence.\n */\nexport const AGENT_STATE_MODAL_MIN_HEIGHT = 268;\n\n/** `ModalBody` pinned to the height above. The body itself is NOT centred — that\n * floats the action row in the middle of the card. The hero takes the slack instead\n * (see `AgentStateModalHero`), so the actions stay at the bottom, above the body's\n * own 24px padding. */\nexport const AgentStateModalBody = styled(ModalBody)`\n\tmin-height: ${AGENT_STATE_MODAL_MIN_HEIGHT}px;\n`;\n\n/** Badge + title + message. Grows into whatever height the pinned card has spare and\n * centres itself there, which is what keeps the actions pinned to the bottom. */\nexport const AgentStateModalHero = styled.div`\n\tflex: 1;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const ModalActions = styled.div.attrs({\n\tclassName: 'bik-modal-actions',\n})`\n\tdisplay: flex;\n\tgap: 12px;\n\twidth: 100%;\n\t/* Every action shares the row equally. Each action MUST be its own flex\n\t wrapper (a plain <div style=\"display:flex\">, or DraftButtonScope) rather\n\t than a bare Button: on hover the Button relocates its padding into an\n\t inner container, and as the flex item itself that changes its resolved\n\t width — the button visibly grows/shrinks. Wrapped, the div is the sized\n\t track (flex:1) and the Button grows to fill it, absorbing the padding\n\t move so the width stays put. */\n\t> * {\n\t\tflex: 1;\n\t}\n`;\n\n/** Inline action row inside a rich field (e.g. \"Improve with AI\"). */\nexport const FieldActionRow = styled.div.attrs({\n\tclassName: 'bik-field-action-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n"],"names":["iconActionButton","css","COLORS","BuilderRoot","styled","TopBar","TopBarSide","BackButton","Main","Rail","Content","ContentCard","StepScroll","Footer","FooterHint","FooterActions","RailList","RailItem","StepBadge","p","SectionHeaderWrap","SectionBodyWrap","FieldBlock","FieldLabelRow","AiTextAreaShell","AiTextAreaInput","CardRow","RadioCard","BASE_COLORS","RadioCardText","ChipWrap","Step3Root","Step3Grid","Step3Divider","SideSection","SideSectionHeader","AddIconButton","SourceButtonRow","SourceButton","SelectableRow","RowText","RowLabel","RowActions","RowActionDivider","RowMenuButton","DraftButtonScope","ModalBody","ModalIcon","AGENT_STATE_MODAL_MIN_HEIGHT","AgentStateModalBody","AgentStateModalHero","ModalActions"],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.styled.js","sources":["../../../../src/components/agent-builder/AgentBuilder.styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { BASE_COLORS, COLORS } from '@src/constants/Theme';\n\n// Shared look for the 24×24 transparent icon buttons (add / row-menu / close).\nconst iconActionButton = css`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 24px;\n\theight: 24px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t\topacity: 0.5;\n\t\tbackground: transparent;\n\t}\n`;\n\nexport const BuilderRoot = styled.div.attrs({ className: 'bik-builder-root' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\twidth: 100%;\n\tmin-height: 0;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const TopBar = styled.div.attrs({ className: 'bik-top-bar' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 56px;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const TopBarSide = styled.div.attrs({ className: 'bik-top-bar-side' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const BackButton = styled.button.attrs({ className: 'bik-back-button' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const Main = styled.div.attrs({ className: 'bik-main' })`\n\tdisplay: flex;\n\tflex: 1;\n\tmin-height: 0;\n`;\n\nexport const Rail = styled.div.attrs({ className: 'bik-rail' })`\n\twidth: 234px;\n\tflex-shrink: 0;\n\tborder-right: 1px solid ${COLORS.stroke.primary};\n\tpadding: 16px;\n\toverflow-y: auto;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const Content = styled.div.attrs({ className: 'bik-content' })`\n\tflex: 1;\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: hidden;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 16px;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const ContentCard = styled.div.attrs({ className: 'bik-content-card' })`\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-sizing: border-box;\n`;\n\n// Scrollable step body inside the card; the footer stays pinned below it.\nexport const StepScroll = styled.div.attrs({ className: 'bik-step-scroll' })`\n\tflex: 1;\n\tmin-height: 0;\n\toverflow-y: auto;\n`;\n\nexport const Footer = styled.div.attrs({ className: 'bik-footer' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmin-height: 56px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n\tbox-shadow: 0px -2px 12px 0px #0000000a;\n`;\n\nexport const FooterHint = styled.div.attrs({ className: 'bik-footer-hint' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n`;\n\nexport const FooterActions = styled.div.attrs({\n\tclassName: 'bik-footer-actions',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\n// ── Step rail items ─────────────────────────────────────────────────────────\n\nexport const RailList = styled.div.attrs({ className: 'bik-rail-list' })`\n\tdisplay: flex;\n\tflex-direction: column;\n`;\n\nexport const RailItem = styled.button.attrs({ className: 'bik-rail-item' })`\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\t/* Bottom padding leaves room for the connector down to the next badge. */\n\tpadding: 0 0 24px;\n\tborder: none;\n\tbackground: transparent;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n\n\t&:last-child {\n\t\tpadding-bottom: 0;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t}\n\n\t/* Dashed connector line between consecutive step badges (centered on the badge). */\n\t&:not(:last-child)::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 9px;\n\t\ttop: 20px;\n\t\twidth: 0;\n\t\theight: 24px;\n\t\tborder-left: 1px dashed #e0e0e0;\n\t\tpointer-events: none;\n\t}\n`;\n\nexport const StepBadge = styled.div.attrs({ className: 'bik-step-badge' })<{\n\tstate: 'active' | 'complete' | 'inactive';\n}>`\n\twidth: 20px;\n\theight: 20px;\n\tflex-shrink: 0;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: Inter;\n\tfont-size: 10px;\n\tfont-weight: 400;\n\tline-height: 12px;\n\tbackground: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.brandLight\n\t\t\t: COLORS.background.base};\n\tcolor: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.surface.standard\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: COLORS.content.secondary};\n`;\n\n// ── Shared step pieces ──────────────────────────────────────────────────────\n\nexport const SectionHeaderWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tpadding: 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n`;\n\nexport const SectionBodyWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tpadding: 16px;\n`;\n\nexport const FieldBlock = styled.div.attrs({ className: 'bik-field-block' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const FieldLabelRow = styled.div.attrs({\n\tclassName: 'bik-field-label-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\n// ── Labelled text area ──────────────────────────────────────────────────────\n\nexport const AiTextAreaShell = styled.div.attrs({\n\tclassName: 'bik-ai-text-area-shell',\n})<{\n\tfocused?: boolean;\n\tminHeight?: string;\n}>`\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder: 1px solid\n\t\t${(p) => (p.focused ? COLORS.stroke.brand : COLORS.stroke.primary)};\n\tborder-radius: 4px;\n\tpadding: 8px 12px;\n\tgap: 8px;\n\tmin-height: ${(p) => p.minHeight ?? '120px'};\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const AiTextAreaInput = styled.textarea.attrs({\n\tclassName: 'bik-ai-text-area-input',\n})`\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tresize: none;\n\tfont-family: Inter;\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: ${COLORS.content.primary};\n\tbackground: transparent;\n\tmin-height: 60px;\n\n\t&::placeholder {\n\t\tcolor: ${COLORS.content.placeholder};\n\t}\n`;\n\n// ── Radio card (Step 2 / Step 4 option cards) ───────────────────────────────\n\nexport const CardRow = styled.div.attrs({ className: 'bik-card-row' })`\n\tdisplay: flex;\n\tgap: 12px;\n`;\n\nexport const RadioCard = styled.button.attrs({ className: 'bik-radio-card' })<{\n\tselected?: boolean;\n}>`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 12px;\n\tpadding: 16px;\n\tborder: 1px solid\n\t\t${(p) => (p.selected ? BASE_COLORS.brand['800'] : COLORS.stroke.primary)};\n\tbackground: ${(p) =>\n\t\tp.selected ? COLORS.background.brandLight : COLORS.surface.standard};\n\tborder-radius: 8px;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n`;\n\nexport const RadioCardText = styled.div.attrs({\n\tclassName: 'bik-radio-card-text',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n`;\n\n// ── Intent chips (Step 2) ───────────────────────────────────────────────────\n\nexport const ChipWrap = styled.div.attrs({ className: 'bik-chip-wrap' })`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const AddChipButton = styled.button.attrs({\n\tclassName: 'bik-add-chip-button',\n})`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 4px 8px;\n\tborder: 1px dashed ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n`;\n\n// ── Step 3 two-column layout + tool / sub-agent rows ────────────────────────\n\n// Fills the scroll area so the step header + grow-body chain reaches the footer.\nexport const Step3Root = styled.div.attrs({\n\tclassName: 'bik-agent-step bik-agent-step--response',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 100%;\n`;\n\nexport const Step3Grid = styled.div.attrs({ className: 'bik-step3-grid' })<{\n\t$grow?: boolean;\n}>`\n\tdisplay: grid;\n\tgrid-template-columns: minmax(0, 1fr) 1px 360px;\n\t/* Single row that fills the grid's height, so the divider spans the full\n\t height (down to the footer) rather than stopping at the taller column. */\n\tgrid-template-rows: 1fr;\n\tflex: 1;\n\tmin-height: 0;\n\n\t@media (max-width: 1100px) {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto;\n\t}\n\n\t/* Fill the remaining card height so a full-height child (e.g. the Step 3\n\t column divider) can stretch all the way down to the footer. */\n\t${(p) =>\n\t\tp.$grow &&\n\t\tcss`\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t`}\n`;\n\n// Vertical rule between the main column and the side (tools / sub-agents) column;\n// hidden once the grid collapses to a single column.\nexport const Step3Divider = styled.div.attrs({\n\tclassName: 'bik-step3-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tbackground: ${COLORS.stroke.primary};\n\n\t@media (max-width: 1100px) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const SideSection = styled.div.attrs({ className: 'bik-side-section' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const SideSectionHeader = styled.div.attrs({\n\tclassName: 'bik-side-section-header',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\nexport const AddIconButton = styled.button.attrs({\n\tclassName: 'bik-add-icon-button',\n})`\n\t${iconActionButton}\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n`;\n\n// Empty-state tool-source picker (e.g. Manifest / Shopify buttons).\nexport const SourceButtonRow = styled.div.attrs({\n\tclassName: 'bik-source-button-row',\n})`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n`;\n\nexport const SourceButton = styled.button.attrs({\n\tclassName: 'bik-source-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 6px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: ${COLORS.surface.standard};\n\tcursor: pointer;\n\theight: 28px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const SelectableRow = styled.div.attrs({\n\tclassName: 'bik-selectable-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px 12px;\n\t/* Fixed 48px rows regardless of the (variably-sized) leading source icon.\n\t box-sizing pins the height across hosts with differing resets; flex-shrink:0\n\t + min-height stop a height-constrained flex column (the merchant side panel)\n\t from squashing the rows — Storybook has room, so it looked fine there. */\n\tmin-height: 48px;\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Leading icon (e.g. tool source) keeps its size; the label takes the rest. */\n\t& > svg {\n\t\tflex-shrink: 0;\n\t}\n`;\n\nexport const RowText = styled.div.attrs({ className: 'bik-row-text' })`\n\tflex: 1;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Truncate the label to one line with an ellipsis. */\n\t& > * {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n`;\n\n/* Label + trailing verification shield on one row. */\nexport const RowLabel = styled.div.attrs({ className: 'bik-row-label' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n\tmin-width: 0;\n\tflex: 1;\n\n\t/* Shrink the label to its text so the shield sits just after it, rather than\n\t RowText's default flex: 1 filling the row and pushing the shield to the end. */\n\t& .bik-row-text {\n\t\tflex: 0 1 auto;\n\t}\n`;\n\nexport const RowRemoveButton = styled.button.attrs({\n\tclassName: 'bik-row-remove-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n`;\n\n// ── Per-row actions (always-visible edit / delete icon buttons) ───────────────\n\nexport const RowActions = styled.div.attrs({ className: 'bik-row-actions' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tflex-shrink: 0;\n`;\n\n// Vertical separator between the edit and delete icon buttons.\nexport const RowActionDivider = styled.span.attrs({\n\tclassName: 'bik-row-action-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tmargin: 4px 0;\n\tbackground: ${COLORS.stroke.primary};\n`;\n\nexport const RowMenuButton = styled.button.attrs({\n\tclassName: 'bik-row-menu-button',\n})`\n\t${iconActionButton}\n`;\n\nexport const DraftButtonScope = styled.div.attrs({\n\tclassName: 'bik-draft-button-scope',\n})`\n\tdisplay: flex;\n\tflex: 1;\n\n\tbutton {\n\t\tborder-color: ${BASE_COLORS.brand['800']};\n\t}\n\tbutton .text {\n\t\tcolor: ${BASE_COLORS.brand['800']};\n\t}\n`;\n\n// ── Go-live modal ───────────────────────────────────────────────────────────\n\nexport const ModalBody = styled.div.attrs({ className: 'bik-modal-body' })`\n\tpadding: 24px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: 16px;\n\ttext-align: center;\n`;\n\nexport const ModalIcon = styled.div.attrs({ className: 'bik-modal-icon' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\n\nexport const ModalActions = styled.div.attrs({\n\tclassName: 'bik-modal-actions',\n})`\n\tdisplay: flex;\n\tgap: 12px;\n\twidth: 100%;\n\t/* Every action shares the row equally. Each action MUST be its own flex\n\t wrapper (a plain <div style=\"display:flex\">, or DraftButtonScope) rather\n\t than a bare Button: on hover the Button relocates its padding into an\n\t inner container, and as the flex item itself that changes its resolved\n\t width — the button visibly grows/shrinks. Wrapped, the div is the sized\n\t track (flex:1) and the Button grows to fill it, absorbing the padding\n\t move so the width stays put. */\n\t> * {\n\t\tflex: 1;\n\t}\n`;\n\n/** Inline action row inside a rich field (e.g. \"Improve with AI\"). */\nexport const FieldActionRow = styled.div.attrs({\n\tclassName: 'bik-field-action-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n"],"names":["iconActionButton","css","COLORS","BuilderRoot","styled","TopBar","TopBarSide","BackButton","Main","Rail","Content","ContentCard","StepScroll","Footer","FooterHint","FooterActions","RailList","RailItem","StepBadge","p","SectionHeaderWrap","SectionBodyWrap","FieldBlock","FieldLabelRow","AiTextAreaShell","AiTextAreaInput","CardRow","RadioCard","BASE_COLORS","RadioCardText","ChipWrap","Step3Root","Step3Grid","Step3Divider","SideSection","SideSectionHeader","AddIconButton","SourceButtonRow","SourceButton","SelectableRow","RowText","RowLabel","RowActions","RowActionDivider","RowMenuButton","DraftButtonScope","ModalBody","ModalIcon","ModalActions"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),te=require("../../../assets/icons/chevronRight.svg.js"),re=require("../../../assets/icons/searchIcon.svg.js"),ne=require("../../../icons/Arrows/Normal arrows/ArrowLeft.js"),d=require("react"),oe=require("styled-components"),z=require("../../TypographyStyle.js"),a=require("../../../constants/Theme.js"),ie=require("../../variable-picker-v3/model.js"),i=require("../constants/tools.js"),D=require("../utils/mentionSerialization.js"),y=require("../utils/sourceIcons.js"),le=require("../../../icons/Informational/Identity/PuzzlePiece.js"),ae=require("../../variable-picker-v3/VariablePicker.js"),Q=require("../../../icons/Informational/Common UI/Shield.js"),ce=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},f=ce(oe),W={Icon:le.default,w:20,h:20},k=o=>o.meta,E=o=>k(o)?.plainLabel??o.label,se="__bik_create_subagent__",ue=({items:o,onSelect:L,registerKeyHandler:C,onClose:m,onCreateSubAgent:I,initialSource:Y,toolActions:S,integrationStatus:K,onConnectIntegration:V,variablesData:$,onSelectVariable:B})=>{const[X,T]=d.useState(null),[c,v]=d.useState(Y??null),[_,R]=d.useState(-1),[w,F]=d.useState(""),O=d.useMemo(()=>o.filter(e=>k(e)?.kind==="tool"),[o]),A=d.useMemo(()=>o.filter(e=>k(e)?.kind==="subagent"),[o]),P=d.useMemo(()=>{const e=[];return O.forEach(l=>{const b=k(l)?.source??"other";e.includes(b)||e.push(b)}),e},[O]),G=d.useMemo(()=>new Map((S??[]).map(e=>[e.source,e])),[S]),M=d.useMemo(()=>i.CATEGORIES.filter(e=>e.key==="tool"?O.length>0||(S?.length??0)>0:e.key==="variable"?($?.length??0)>0&&!!B:A.length>0||!!I),[O.length,A.length,I,S?.length,$?.length,B]),N=M.length===1?M[0].key:null,u=X??N,p=u?u==="subagent"?{title:"Sub-agent",onBack:N?void 0:()=>T(null)}:u==="variable"?{title:"Variables",onBack:N?void 0:()=>T(null)}:c===i.MORE_INTEGRATIONS_KEY?{title:i.MORE_INTEGRATIONS_LABEL,onBack:()=>v(null),icon:W}:c?{title:D.toolSourceLabel(c),onBack:Y?void 0:()=>v(i.isMoreIntegrationSource(c)?i.MORE_INTEGRATIONS_KEY:null),icon:y.sourceIcon(c)}:{title:"Tools",onBack:N?void 0:()=>T(null)}:null,h=d.useMemo(()=>{if(!u)return M.map(n=>({id:n.key,label:n.label,drillsIn:!0,onActivate:()=>{T(n.key),v(null)}}));if(u==="subagent"){const n=w.trim().toLowerCase(),g=A.filter(x=>!n||E(x).toLowerCase().includes(n)).map(x=>({id:String(x.id),label:E(x),drillsIn:!1,onActivate:()=>L(x)}));return I&&g.push({id:se,label:"Create new",drillsIn:!1,isCreate:!0,onActivate:()=>{m?.(),I()}}),g}if(u==="variable")return[];if(!c||c===i.MORE_INTEGRATIONS_KEY){const n=(S??[]).map(t=>t.source).filter(t=>!P.includes(t)),g=[...P,...n],x=t=>{const s=G.get(t);if((s!==void 0?s.connected:K?.[t])===!1)return{id:t,label:D.toolSourceLabel(t),drillsIn:!1,icon:y.sourceIcon(t)??s?.icon,rightLabel:"Connect",onActivate:()=>{m?.(),s?.onConnect?s.onConnect():V?.(t)}};const J=O.filter(j=>(k(j)?.source??"other")===t);if(J.length+(s?1:0)===1&&!(s===void 0&&i.isIntegrationSource(t))){const j=y.sourceIcon(t)??s?.icon;if(s)return{id:t,label:s.label,drillsIn:!1,icon:j,onActivate:()=>{m?.(),s.onSelect()}};const q=J[0];return{id:String(q.id),label:E(q),drillsIn:!1,icon:j,authRequired:k(q)?.authRequired,onActivate:()=>L(q)}}return{id:t,label:D.toolSourceLabel(t),drillsIn:!0,icon:y.sourceIcon(t)??s?.icon,onActivate:()=>v(t)}};if(c===i.MORE_INTEGRATIONS_KEY)return g.filter(t=>i.isMoreIntegrationSource(t)).sort((t,s)=>i.toolSourceRank(t)-i.toolSourceRank(s)).map(x);const H=g.filter(t=>!i.isMoreIntegrationSource(t)).map(t=>({row:x(t),rank:i.toolSourceRank(t)}));return g.some(t=>i.isMoreIntegrationSource(t))&&H.push({rank:i.MORE_INTEGRATIONS_RANK,row:{id:i.MORE_INTEGRATIONS_KEY,label:i.MORE_INTEGRATIONS_LABEL,drillsIn:!0,icon:W,onActivate:()=>v(i.MORE_INTEGRATIONS_KEY)}}),H.sort((t,s)=>t.rank-s.rank).map(t=>t.row)}const e=w.trim().toLowerCase(),l=O.filter(n=>(k(n)?.source??"other")===c).filter(n=>!e||E(n).toLowerCase().includes(e)).map(n=>({id:String(n.id),label:E(n),drillsIn:!1,authRequired:k(n)?.authRequired,onActivate:()=>L(n)})),b=G.get(c);if(b){const n=c in i.CONFIG_TOOL_SOURCES;l.push({id:`create:${c}`,label:b.label,drillsIn:!1,isCreate:!n,onActivate:()=>{m?.(),b.onSelect()}})}return l},[u,M,c,w,O,A,P,L,m,I,S,G,K,V]);d.useEffect(()=>R(-1),[u,c,w,o]),d.useEffect(()=>F(""),[u,c]);const U=d.useRef({rows:h,activeIndex:_,header:p});U.current={rows:h,activeIndex:_,header:p},d.useEffect(()=>{if(C)return C(e=>{const{rows:l,activeIndex:b,header:n}=U.current;if(!l.length&&e.key!=="ArrowLeft")return!1;switch(e.key){case"ArrowDown":return R(g=>(g+1)%l.length),!0;case"ArrowUp":return R(g=>(g+l.length-1)%l.length),!0;case"ArrowRight":case"Enter":return(l[b]??l[0])?.onActivate(),!0;case"ArrowLeft":return n?.onBack?(n.onBack(),!0):!1;default:return!1}}),()=>C(null)},[C]);const Z=u?h.length&&!h[0].drillsIn?"items":"sources":"categories",ee=u==="tool"&&!!c&&c!==i.MORE_INTEGRATIONS_KEY||u==="subagent";return r.jsxs(de,{className:`bik-mention-picker bik-mention-picker--${Z}`,$fixedHeight:u==="variable",children:[p&&r.jsxs(me,{type:"button",onClick:p.onBack,disabled:!p.onBack,style:{background:a.COLORS.surface.subdued,cursor:p.onBack?"pointer":"default"},children:[p.onBack&&r.jsx(ne.default,{width:20,height:20,color:a.COLORS.content.primary}),p.icon&&y.renderSourceIcon(p.icon),r.jsxs(z.TitleSmall,{children:[" ",p.title]})]}),ee&&r.jsxs(pe,{children:[r.jsx(re.default,{width:20,height:20,color:a.COLORS.content.placeholder}),r.jsx(ge,{autoFocus:!0,value:w,placeholder:"Search","data-test":"mention-picker-search",onChange:e=>F(e.target.value),onKeyDown:e=>{h.length&&(e.key==="ArrowDown"?(e.preventDefault(),R(l=>(l+1)%h.length)):e.key==="ArrowUp"?(e.preventDefault(),R(l=>(l+h.length-1)%h.length)):e.key==="Enter"&&(e.preventDefault(),(h[_]??h[0])?.onActivate()))}})]}),u==="variable"?r.jsx(fe,{children:r.jsx(ae.VariablePicker,{type:ie.PickerType.EMBEDDED,data:$??[],showRecommendedBar:!0,skipDefaultVariableContent:!0,onSelect:e=>{m?.(),B?.(e)}})}):h.length===0?r.jsx(Se,{children:u==="subagent"?null:"No tools available"}):r.jsx(he,{children:h.map((e,l)=>r.jsx(be,{type:"button",$active:l===_,onMouseEnter:()=>R(l),onMouseLeave:()=>R(-1),onClick:e.onActivate,children:e.isCreate?r.jsx(Oe,{children:e.label}):r.jsxs(r.Fragment,{children:[r.jsxs(xe,{children:[y.renderSourceIcon(e.icon),r.jsx(z.BodySecondary,{color:a.COLORS.content.primary,children:e.label}),e.authRequired&&r.jsx(Q.default,{size:14,"aria-label":"Requires customer verification"})]}),e.rightLabel?r.jsx(Re,{children:e.rightLabel}):e.drillsIn&&r.jsx(te.default,{width:12,height:12})]})},e.id))}),h.some(e=>e.authRequired)&&r.jsxs(ke,{children:[r.jsx(Q.default,{size:16}),r.jsx(z.BodyCaption,{color:a.COLORS.content.secondary,children:"Requires customer verification"})]})]})},de=f.default.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),te=require("../../../assets/icons/chevronRight.svg.js"),re=require("../../../assets/icons/searchIcon.svg.js"),ne=require("../../../icons/Arrows/Normal arrows/ArrowLeft.js"),d=require("react"),oe=require("styled-components"),z=require("../../TypographyStyle.js"),a=require("../../../constants/Theme.js"),ie=require("../../variable-picker-v3/model.js"),i=require("../constants/tools.js"),D=require("../utils/mentionSerialization.js"),y=require("../utils/sourceIcons.js"),le=require("../../../icons/Informational/Identity/PuzzlePiece.js"),ae=require("../../variable-picker-v3/VariablePicker.js"),Q=require("../../../icons/Informational/Common UI/Shield.js"),ce=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},f=ce(oe),W={Icon:le.default,w:20,h:20},k=o=>o.meta,E=o=>k(o)?.plainLabel??o.label,se="__bik_create_subagent__",ue=({items:o,onSelect:L,registerKeyHandler:C,onClose:m,onCreateSubAgent:I,initialSource:Y,toolActions:S,integrationStatus:K,onConnectIntegration:V,variablesData:$,onSelectVariable:B})=>{const[X,T]=d.useState(null),[c,v]=d.useState(Y??null),[_,R]=d.useState(-1),[w,F]=d.useState(""),O=d.useMemo(()=>o.filter(e=>k(e)?.kind==="tool"),[o]),A=d.useMemo(()=>o.filter(e=>k(e)?.kind==="subagent"),[o]),P=d.useMemo(()=>{const e=[];return O.forEach(l=>{const b=k(l)?.source??"other";e.includes(b)||e.push(b)}),e},[O]),G=d.useMemo(()=>new Map((S??[]).map(e=>[e.source,e])),[S]),M=d.useMemo(()=>i.CATEGORIES.filter(e=>e.key==="tool"?O.length>0||(S?.length??0)>0:e.key==="variable"?($?.length??0)>0&&!!B:A.length>0||!!I),[O.length,A.length,I,S?.length,$?.length,B]),N=M.length===1?M[0].key:null,u=X??N,p=u?u==="subagent"?{title:"Sub-agent",onBack:N?void 0:()=>T(null)}:u==="variable"?{title:"Variables",onBack:N?void 0:()=>T(null)}:c===i.MORE_INTEGRATIONS_KEY?{title:i.MORE_INTEGRATIONS_LABEL,onBack:()=>v(null),icon:W}:c?{title:D.toolSourceLabel(c),onBack:Y?void 0:()=>v(i.isMoreIntegrationSource(c)?i.MORE_INTEGRATIONS_KEY:null),icon:y.sourceIcon(c)}:{title:"Tools",onBack:N?void 0:()=>T(null)}:null,h=d.useMemo(()=>{if(!u)return M.map(n=>({id:n.key,label:n.label,drillsIn:!0,onActivate:()=>{T(n.key),v(null)}}));if(u==="subagent"){const n=w.trim().toLowerCase(),g=A.filter(x=>!n||E(x).toLowerCase().includes(n)).map(x=>({id:String(x.id),label:E(x),drillsIn:!1,onActivate:()=>L(x)}));return I&&g.push({id:se,label:"Create new",drillsIn:!1,isCreate:!0,onActivate:()=>{m?.(),I()}}),g}if(u==="variable")return[];if(!c||c===i.MORE_INTEGRATIONS_KEY){const n=(S??[]).map(t=>t.source).filter(t=>!P.includes(t)),g=[...P,...n],x=t=>{const s=G.get(t);if((s!==void 0?s.connected:K?.[t])===!1)return{id:t,label:D.toolSourceLabel(t),drillsIn:!1,icon:y.sourceIcon(t)??s?.icon,rightLabel:"Connect",onActivate:()=>{m?.(),s?.onConnect?s.onConnect():V?.(t)}};const J=O.filter(j=>(k(j)?.source??"other")===t);if(J.length+(s?1:0)===1&&!(s===void 0&&i.isIntegrationSource(t))){const j=y.sourceIcon(t)??s?.icon;if(s)return{id:t,label:s.label,drillsIn:!1,icon:j,onActivate:()=>{m?.(),s.onSelect()}};const q=J[0];return{id:String(q.id),label:E(q),drillsIn:!1,icon:j,authRequired:k(q)?.authRequired,onActivate:()=>L(q)}}return{id:t,label:D.toolSourceLabel(t),drillsIn:!0,icon:y.sourceIcon(t)??s?.icon,onActivate:()=>v(t)}};if(c===i.MORE_INTEGRATIONS_KEY)return g.filter(t=>i.isMoreIntegrationSource(t)).sort((t,s)=>i.toolSourceRank(t)-i.toolSourceRank(s)).map(x);const H=g.filter(t=>!i.isMoreIntegrationSource(t)).map(t=>({row:x(t),rank:i.toolSourceRank(t)}));return g.some(t=>i.isMoreIntegrationSource(t))&&H.push({rank:i.MORE_INTEGRATIONS_RANK,row:{id:i.MORE_INTEGRATIONS_KEY,label:i.MORE_INTEGRATIONS_LABEL,drillsIn:!0,icon:W,onActivate:()=>v(i.MORE_INTEGRATIONS_KEY)}}),H.sort((t,s)=>t.rank-s.rank).map(t=>t.row)}const e=w.trim().toLowerCase(),l=O.filter(n=>(k(n)?.source??"other")===c).filter(n=>!e||E(n).toLowerCase().includes(e)).map(n=>({id:String(n.id),label:E(n),drillsIn:!1,authRequired:k(n)?.authRequired,onActivate:()=>L(n)})),b=G.get(c);if(b){const n=c in i.CONFIG_TOOL_SOURCES;l.push({id:`create:${c}`,label:b.label,drillsIn:!1,isCreate:!n,onActivate:()=>{m?.(),b.onSelect()}})}return l},[u,M,c,w,O,A,P,L,m,I,S,G,K,V]);d.useEffect(()=>R(-1),[u,c,w,o]),d.useEffect(()=>F(""),[u,c]);const U=d.useRef({rows:h,activeIndex:_,header:p});U.current={rows:h,activeIndex:_,header:p},d.useEffect(()=>{if(C)return C(e=>{const{rows:l,activeIndex:b,header:n}=U.current;if(!l.length&&e.key!=="ArrowLeft")return!1;switch(e.key){case"ArrowDown":return R(g=>(g+1)%l.length),!0;case"ArrowUp":return R(g=>(g+l.length-1)%l.length),!0;case"ArrowRight":case"Enter":return(l[b]??l[0])?.onActivate(),!0;case"ArrowLeft":return n?.onBack?(n.onBack(),!0):!1;default:return!1}}),()=>C(null)},[C]);const Z=u?h.length&&!h[0].drillsIn?"items":"sources":"categories",ee=u==="tool"&&!!c&&c!==i.MORE_INTEGRATIONS_KEY||u==="subagent";return r.jsxs(de,{className:`bik-mention-picker bik-mention-picker--${Z}`,$fixedHeight:u==="variable",children:[p&&r.jsxs(me,{type:"button",onClick:p.onBack,disabled:!p.onBack,style:{background:a.COLORS.surface.subdued,cursor:p.onBack?"pointer":"default"},children:[p.onBack&&r.jsx(ne.default,{width:20,height:20,color:a.COLORS.content.primary}),p.icon&&y.renderSourceIcon(p.icon),r.jsxs(z.TitleSmall,{children:[" ",p.title]})]}),ee&&r.jsxs(pe,{children:[r.jsx(re.default,{width:20,height:20,color:a.COLORS.content.placeholder}),r.jsx(ge,{autoFocus:!0,value:w,placeholder:"Search","data-test":"mention-picker-search",onChange:e=>F(e.target.value),onKeyDown:e=>{h.length&&(e.key==="ArrowDown"?(e.preventDefault(),R(l=>(l+1)%h.length)):e.key==="ArrowUp"?(e.preventDefault(),R(l=>(l+h.length-1)%h.length)):e.key==="Enter"&&(e.preventDefault(),(h[_]??h[0])?.onActivate()))}})]}),u==="variable"?r.jsx(fe,{children:r.jsx(ae.VariablePicker,{type:ie.PickerType.EMBEDDED,data:$??[],showRecommendedBar:!0,skipDefaultVariableContent:!0,onSelect:e=>{m?.(),B?.(e)}})}):h.length===0?r.jsx(Se,{children:u==="subagent"?null:"No tools available"}):r.jsx(he,{children:h.map((e,l)=>r.jsx(be,{type:"button",$active:l===_,onMouseEnter:()=>R(l),onMouseLeave:()=>R(-1),onClick:e.onActivate,children:e.isCreate?r.jsx(Oe,{children:e.label}):r.jsxs(r.Fragment,{children:[r.jsxs(xe,{children:[y.renderSourceIcon(e.icon),r.jsx(z.BodySecondary,{color:a.COLORS.content.primary,children:e.label}),e.authRequired&&r.jsx(Q.default,{size:14,"aria-label":"Requires customer verification"})]}),e.rightLabel?r.jsx(Re,{children:e.rightLabel}):e.drillsIn&&r.jsx(te.default,{width:12,height:12})]})},e.id))}),h.some(e=>e.authRequired)&&r.jsxs(ke,{children:[r.jsx(Q.default,{size:16}),r.jsx(z.BodyCaption,{color:a.COLORS.content.secondary,children:"This tool requires customer verification"})]})]})},de=f.default.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  min-width: 240px;