@bikdotai/bik-component-library 0.0.821-beta.9 → 0.0.821

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 (513) hide show
  1. package/dist/cjs/assets/icons/ManifestGlass.svg.js +2 -0
  2. package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +1 -0
  3. package/dist/cjs/assets/icons/Shopify.svg.js +2 -0
  4. package/dist/cjs/assets/icons/Shopify.svg.js.map +1 -0
  5. package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
  6. package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
  7. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  8. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  9. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  10. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  11. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  12. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  13. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  14. package/dist/cjs/components/TypographyStyle.js +20 -41
  15. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  16. package/dist/cjs/components/agent-builder/AgentBuilder.js +2 -0
  17. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
  18. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +411 -0
  19. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  20. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
  21. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  22. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
  23. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  24. package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
  25. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
  26. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +2 -0
  27. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  28. package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
  29. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
  30. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
  31. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
  32. package/dist/cjs/components/agent-builder/components/MentionEditor.js +2 -0
  33. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -0
  34. package/dist/cjs/components/agent-builder/components/MentionField.js +2 -0
  35. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -0
  36. package/dist/cjs/components/agent-builder/components/MentionPicker.js +78 -0
  37. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
  38. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
  39. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
  40. package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
  41. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
  42. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
  43. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  44. package/dist/cjs/components/agent-builder/components/UndoToast.js +2 -0
  45. package/dist/cjs/components/agent-builder/components/UndoToast.js.map +1 -0
  46. package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
  47. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
  48. package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
  49. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
  50. package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
  51. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
  52. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
  53. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  54. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
  55. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  56. package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
  57. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
  58. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
  59. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  60. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
  61. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  62. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
  63. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  64. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
  65. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  66. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +2 -0
  67. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -0
  68. package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
  69. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
  70. package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
  71. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
  72. package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
  73. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
  74. package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
  75. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
  76. package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
  77. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
  78. package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
  79. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
  80. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +2 -0
  81. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -0
  82. package/dist/cjs/components/avatar/Avatar.js +1 -1
  83. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  84. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  85. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  86. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  87. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  88. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  89. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  90. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  91. package/dist/cjs/components/button/Button.js +1 -1
  92. package/dist/cjs/components/button/Button.js.map +1 -1
  93. package/dist/cjs/components/button/Button.styled.js +13 -13
  94. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  95. package/dist/cjs/components/button/themes.js +6 -6
  96. package/dist/cjs/components/button/themes.js.map +1 -1
  97. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  98. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  99. package/dist/cjs/components/checkBox/CheckBox.styled.js +20 -21
  100. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  101. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  102. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  103. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  104. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  105. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  106. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  107. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  108. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  109. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +8 -9
  110. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  111. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  112. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  113. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  114. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  115. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  116. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  117. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  118. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  119. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  120. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  121. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  122. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  123. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  124. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  125. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  126. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  127. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  128. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  129. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -20
  130. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  131. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  132. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  133. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  134. package/dist/cjs/components/icon-button/IconButton.styled.js +12 -18
  135. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  136. package/dist/cjs/components/icon-button/theme.js +1 -1
  137. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  138. package/dist/cjs/components/input/Input.js +1 -1
  139. package/dist/cjs/components/input/Input.js.map +1 -1
  140. package/dist/cjs/components/input/Input.styled.js +16 -27
  141. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  142. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  143. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  144. package/dist/cjs/components/list-item/ListItem.js +1 -1
  145. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  146. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  147. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  148. package/dist/cjs/components/list-item/themes.js +20 -32
  149. package/dist/cjs/components/list-item/themes.js.map +1 -1
  150. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  151. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  152. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  153. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  154. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  155. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  156. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  157. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  158. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  159. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  160. package/dist/cjs/components/tag/Tag.js +1 -1
  161. package/dist/cjs/components/tag/Tag.js.map +1 -1
  162. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  163. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  164. package/dist/cjs/components/tag/model.js.map +1 -1
  165. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  166. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  167. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  168. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  169. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  170. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  171. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  172. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  173. package/dist/cjs/constants/Theme.js +1 -1
  174. package/dist/cjs/constants/Theme.js.map +1 -1
  175. package/dist/cjs/editor/BikEditor.js +1 -1
  176. package/dist/cjs/editor/BikEditor.js.map +1 -1
  177. package/dist/cjs/editor/BikEditor.styles.js +14 -1
  178. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  179. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  180. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  181. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  182. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  183. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  184. package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
  185. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  186. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  187. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  188. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  189. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  190. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  191. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  192. package/dist/cjs/index.js +1 -1
  193. package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
  194. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
  195. package/dist/esm/assets/icons/Shopify.svg.js +6 -0
  196. package/dist/esm/assets/icons/Shopify.svg.js.map +1 -0
  197. package/dist/esm/assets/icons/playOutline.svg.js +6 -0
  198. package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
  199. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +59 -61
  200. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  201. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
  202. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +88 -124
  203. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  204. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
  205. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  206. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
  207. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  208. package/dist/esm/components/TypographyStyle.d.ts +0 -8
  209. package/dist/esm/components/TypographyStyle.js +40 -63
  210. package/dist/esm/components/TypographyStyle.js.map +1 -1
  211. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +18 -0
  212. package/dist/esm/components/agent-builder/AgentBuilder.js +203 -0
  213. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
  214. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +107 -0
  215. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +161 -0
  216. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +517 -0
  217. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  218. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
  219. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
  220. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  221. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
  222. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
  223. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  224. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
  225. package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
  226. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
  227. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +25 -0
  228. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +215 -0
  229. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  230. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
  231. package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
  232. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
  233. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
  234. package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
  235. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
  236. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +39 -0
  237. package/dist/esm/components/agent-builder/components/MentionEditor.js +100 -0
  238. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -0
  239. package/dist/esm/components/agent-builder/components/MentionField.d.ts +19 -0
  240. package/dist/esm/components/agent-builder/components/MentionField.js +64 -0
  241. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -0
  242. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +17 -0
  243. package/dist/esm/components/agent-builder/components/MentionPicker.js +268 -0
  244. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
  245. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +52 -0
  246. package/dist/esm/components/agent-builder/components/SelectableListSection.js +192 -0
  247. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
  248. package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
  249. package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
  250. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
  251. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
  252. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
  253. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  254. package/dist/esm/components/agent-builder/components/UndoToast.d.ts +7 -0
  255. package/dist/esm/components/agent-builder/components/UndoToast.js +27 -0
  256. package/dist/esm/components/agent-builder/components/UndoToast.js.map +1 -0
  257. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
  258. package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
  259. package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
  260. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
  261. package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
  262. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
  263. package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
  264. package/dist/esm/components/agent-builder/constants/steps.js +32 -0
  265. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
  266. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +98 -0
  267. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +174 -0
  268. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  269. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
  270. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
  271. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  272. package/dist/esm/components/agent-builder/index.d.ts +7 -0
  273. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
  274. package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
  275. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
  276. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
  277. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
  278. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  279. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
  280. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +218 -0
  281. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  282. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
  283. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
  284. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  285. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +61 -0
  286. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +96 -0
  287. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  288. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +10 -0
  289. package/dist/esm/components/agent-builder/utils/sourceIcons.js +10 -0
  290. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -0
  291. package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
  292. package/dist/esm/components/agent-listing/AgentListing.js +176 -0
  293. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
  294. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +78 -0
  295. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
  296. package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
  297. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
  298. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +18 -0
  299. package/dist/esm/components/agent-listing/AgentListingFilters.js +85 -0
  300. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
  301. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
  302. package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
  303. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
  304. package/dist/esm/components/agent-listing/AgentTable.d.ts +11 -0
  305. package/dist/esm/components/agent-listing/AgentTable.js +35 -0
  306. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
  307. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +12 -0
  308. package/dist/esm/components/agent-listing/AgentTableRow.js +108 -0
  309. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
  310. package/dist/esm/components/agent-listing/DeleteAgentModal.d.ts +16 -0
  311. package/dist/esm/components/agent-listing/DeleteAgentModal.js +69 -0
  312. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -0
  313. package/dist/esm/components/agent-listing/index.d.ts +2 -0
  314. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  315. package/dist/esm/components/avatar/Avatar.js +73 -51
  316. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  317. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  318. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  319. package/dist/esm/components/avatar/AvatarHelper.d.ts +4 -5
  320. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  321. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  322. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  323. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  324. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  325. package/dist/esm/components/bik-layout/index.d.ts +0 -2
  326. package/dist/esm/components/button/Button.js +31 -31
  327. package/dist/esm/components/button/Button.js.map +1 -1
  328. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  329. package/dist/esm/components/button/Button.styled.js +20 -20
  330. package/dist/esm/components/button/Button.styled.js.map +1 -1
  331. package/dist/esm/components/button/model.d.ts +3 -3
  332. package/dist/esm/components/button/themes.d.ts +2 -2
  333. package/dist/esm/components/button/themes.js +17 -31
  334. package/dist/esm/components/button/themes.js.map +1 -1
  335. package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
  336. package/dist/esm/components/checkBox/CheckBox.js +87 -124
  337. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  338. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  339. package/dist/esm/components/checkBox/CheckBox.styled.js +9 -10
  340. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  341. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  342. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  343. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  344. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  345. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  346. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  347. package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
  348. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  349. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
  350. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  351. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  352. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +4 -5
  353. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  354. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  355. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  356. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  357. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  358. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -3
  359. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
  360. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  361. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
  362. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +87 -93
  363. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  364. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
  365. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
  366. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  367. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  368. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
  369. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  370. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -3
  371. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
  372. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  373. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  374. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  375. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  376. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  377. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
  378. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  379. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  380. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
  381. package/dist/esm/components/dropdown/type.d.ts +1 -6
  382. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -3
  383. package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
  384. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  385. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  386. package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
  387. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  388. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  389. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  390. package/dist/esm/components/icon-button/IconButton.js +32 -36
  391. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  392. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
  393. package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
  394. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  395. package/dist/esm/components/icon-button/model.d.ts +1 -12
  396. package/dist/esm/components/icon-button/theme.js +10 -12
  397. package/dist/esm/components/icon-button/theme.js.map +1 -1
  398. package/dist/esm/components/input/Input.js +115 -119
  399. package/dist/esm/components/input/Input.js.map +1 -1
  400. package/dist/esm/components/input/Input.model.d.ts +3 -2
  401. package/dist/esm/components/input/Input.styled.d.ts +1 -8
  402. package/dist/esm/components/input/Input.styled.js +22 -34
  403. package/dist/esm/components/input/Input.styled.js.map +1 -1
  404. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +2 -0
  405. package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
  406. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  407. package/dist/esm/components/list-item/List.model.d.ts +1 -2
  408. package/dist/esm/components/list-item/ListItem.js +38 -40
  409. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  410. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
  411. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  412. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  413. package/dist/esm/components/list-item/themes.d.ts +2 -2
  414. package/dist/esm/components/list-item/themes.js +6 -20
  415. package/dist/esm/components/list-item/themes.js.map +1 -1
  416. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  417. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
  418. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  419. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  420. package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
  421. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  422. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
  423. package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
  424. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  425. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
  426. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  427. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  428. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
  429. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  430. package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
  431. package/dist/esm/components/tag/Tag.d.ts +1 -1
  432. package/dist/esm/components/tag/Tag.js +18 -22
  433. package/dist/esm/components/tag/Tag.js.map +1 -1
  434. package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
  435. package/dist/esm/components/tag/Tag.styled.js +7 -7
  436. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  437. package/dist/esm/components/tag/model.d.ts +1 -5
  438. package/dist/esm/components/tag/model.js.map +1 -1
  439. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  440. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  441. package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
  442. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  443. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
  444. package/dist/esm/components/whats-new/WhatsNew.js +19 -23
  445. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  446. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
  447. package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
  448. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  449. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  450. package/dist/esm/constants/Theme.d.ts +0 -36
  451. package/dist/esm/constants/Theme.js +1 -21
  452. package/dist/esm/constants/Theme.js.map +1 -1
  453. package/dist/esm/editor/BikEditor.js +19 -18
  454. package/dist/esm/editor/BikEditor.js.map +1 -1
  455. package/dist/esm/editor/BikEditor.styles.js +13 -0
  456. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  457. package/dist/esm/editor/BikEditor.types.d.ts +21 -0
  458. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  459. package/dist/esm/editor/BikEditor.utils.js +76 -75
  460. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  461. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  462. package/dist/esm/editor/extensions/buildExtensions.js +31 -29
  463. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  464. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
  465. package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
  466. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  467. package/dist/esm/editor/extensions/mention/MentionDropdown.d.ts +2 -0
  468. package/dist/esm/editor/extensions/mention/MentionDropdown.js +35 -28
  469. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  470. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  471. package/dist/esm/editor/extensions/mention/MentionExtension.js +91 -59
  472. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  473. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  474. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
  475. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  476. package/dist/esm/icons/index.d.ts +24 -24
  477. package/dist/esm/index.d.ts +2 -1
  478. package/dist/esm/index.js +806 -798
  479. package/dist/esm/index.js.map +1 -1
  480. package/package.json +3 -2
  481. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  482. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  483. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  484. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  485. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  486. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  487. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  488. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  489. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  490. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  491. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
  492. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  493. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  494. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
  495. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  496. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  497. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
  498. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
  499. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  500. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  501. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
  502. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  503. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
  504. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
  505. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  506. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
  507. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
  508. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  509. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  510. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
  511. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  512. package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
  513. package/dist/esm/components/dual-icon-button/model.d.ts +0 -12
@@ -0,0 +1,218 @@
1
+ import { jsxs as c, jsx as l } from "react/jsx-runtime";
2
+ import q, { useState as C, useRef as J, useCallback as A, useEffect as Q } from "react";
3
+ import { TitleSmall as w } from "../../TypographyStyle.js";
4
+ import { COLORS as O } from "../../../constants/Theme.js";
5
+ import { Step3Grid as V, Step3Main as X, Step3Side as Y, SideSection as Z } from "../AgentBuilder.styled.js";
6
+ import { CreateSubAgentPanel as ee } from "../components/CreateSubAgentPanel.js";
7
+ import { MentionField as x } from "../components/MentionField.js";
8
+ import { SelectableListSection as E } from "../components/SelectableListSection.js";
9
+ import { StepSectionHeader as te } from "../components/StepSectionHeader.js";
10
+ import { AGENT_CHAR_LIMITS as R } from "../constants/charLimits.js";
11
+ import { STEP_DEFINITIONS as ne } from "../constants/steps.js";
12
+ import { useAgentBuilderContext as oe } from "../context/AgentBuilderContext.js";
13
+ import { toolSourceLabel as ae, appTypeLabel as le } from "../utils/mentionSerialization.js";
14
+ import { SOURCE_ICONS as L } from "../utils/sourceIcons.js";
15
+ import { Dropdown as se } from "../../dropdown/Dropdown.js";
16
+ const ie = (n) => {
17
+ const a = L[n];
18
+ return a ? q.createElement(a.Icon, { width: a.w, height: a.h }) : void 0;
19
+ }, _ = (n) => ({
20
+ label: n.display_name,
21
+ value: n.tool_id,
22
+ leadingIcon: ie(n.source ?? "manifest")
23
+ }), k = ne[2], Te = () => {
24
+ const {
25
+ value: n,
26
+ patch: a,
27
+ updateField: M,
28
+ removeReference: I,
29
+ availableTools: u,
30
+ availableSubAgents: N,
31
+ availableModels: f,
32
+ applicationType: P,
33
+ insertMention: d,
34
+ onCreateSubAgent: i,
35
+ onFetchSubAgent: p,
36
+ onUpdateSubAgent: h,
37
+ onImproveSubAgent: H,
38
+ registerSubAgentCreator: S
39
+ } = oe(), [s, m] = C(null), g = J(0), [G, T] = C([]), b = /* @__PURE__ */ new Map();
40
+ N.forEach((e) => b.set(e.id, e)), G.forEach((e) => b.set(e.id, e));
41
+ const F = Array.from(b.values()), v = A(() => {
42
+ g.current += 1, m({ key: g.current, title: "Create sub-agent" });
43
+ }, []);
44
+ Q(() => {
45
+ if (i)
46
+ return S(v), () => S(null);
47
+ }, [S, v, i]);
48
+ const K = A(
49
+ async (e) => {
50
+ if (!p)
51
+ return;
52
+ const t = await p(e);
53
+ g.current += 1, m({
54
+ key: g.current,
55
+ title: "Edit sub-agent",
56
+ editingId: e,
57
+ initial: t
58
+ });
59
+ },
60
+ [p]
61
+ ), j = A(
62
+ async (e) => {
63
+ if (s?.editingId) {
64
+ if (h) {
65
+ const t = await h(s.editingId, e);
66
+ T((o) => [
67
+ ...o.filter((r) => r.id !== t.id),
68
+ t
69
+ ]);
70
+ }
71
+ } else if (i) {
72
+ const t = await i(e);
73
+ T((o) => [...o, t]), a({ subagents: [...n.subagents, t.id] }), d("subagent", t.id, `sub-agent: ${t.name}`);
74
+ }
75
+ m(null);
76
+ },
77
+ [
78
+ s,
79
+ h,
80
+ i,
81
+ a,
82
+ n.subagents,
83
+ d
84
+ ]
85
+ ), B = n.tools.map((e) => {
86
+ const t = u.find((o) => o.tool_id === e);
87
+ return t ? {
88
+ id: e,
89
+ label: t.display_name,
90
+ icon: L[t.source ?? "manifest"]
91
+ } : null;
92
+ }).filter((e) => e !== null), D = u.map(_), U = (() => {
93
+ const e = [], t = /* @__PURE__ */ new Map();
94
+ return u.forEach((o) => {
95
+ const r = o.source ?? "manifest";
96
+ t.has(r) || (t.set(r, []), e.push(r)), t.get(r)?.push(_(o));
97
+ }), e.map((o) => ({
98
+ source: o,
99
+ label: ae(o),
100
+ options: t.get(o) ?? []
101
+ }));
102
+ })(), z = n.subagents.map((e) => {
103
+ const t = b.get(e);
104
+ return t ? { id: e, label: t.name } : null;
105
+ }).filter((e) => e !== null), W = F.map((e) => ({
106
+ label: e.name,
107
+ value: e.id
108
+ })), $ = f.map((e) => ({
109
+ label: e.label,
110
+ value: e.value,
111
+ selected: e.value === n.model
112
+ })), y = f.find((e) => e.value === n.model);
113
+ return /* @__PURE__ */ c("div", { className: "bik-agent-step bik-agent-step--response", children: [
114
+ /* @__PURE__ */ l(te, { title: k.title, helper: k.helper }),
115
+ /* @__PURE__ */ c(V, { children: [
116
+ /* @__PURE__ */ c(X, { children: [
117
+ /* @__PURE__ */ l(
118
+ x,
119
+ {
120
+ fieldKey: "instructions",
121
+ "data-test": "agent-instructions",
122
+ label: "Instructions",
123
+ maxLength: R.instructions,
124
+ placeholder: "Write what this agent should do. Type @ to reference a tool or sub-agent.",
125
+ minHeight: "200px"
126
+ }
127
+ ),
128
+ /* @__PURE__ */ l(
129
+ x,
130
+ {
131
+ fieldKey: "guardrail",
132
+ "data-test": "agent-guardrail",
133
+ label: "Guardrails",
134
+ maxLength: R.guardrail,
135
+ placeholder: "Things this agent must never do. Type @ to reference a tool or sub-agent.",
136
+ minHeight: "140px"
137
+ }
138
+ )
139
+ ] }),
140
+ /* @__PURE__ */ c(Y, { children: [
141
+ /* @__PURE__ */ l(
142
+ E,
143
+ {
144
+ title: "Tools",
145
+ helper: "Actions this agent can take while responding.",
146
+ dataTestPrefix: "agent-tools",
147
+ items: B,
148
+ addableOptions: D,
149
+ sourceGroups: U,
150
+ emptyText: "No tools added yet.",
151
+ onAdd: (e) => {
152
+ d("tool", e), n.tools.includes(e) || a({ tools: [...n.tools, e] });
153
+ },
154
+ onRemove: (e) => I("tool", e)
155
+ }
156
+ ),
157
+ /* @__PURE__ */ l(
158
+ E,
159
+ {
160
+ title: "Sub-agents",
161
+ helper: "Other agents this agent can hand off the conversation to.",
162
+ dataTestPrefix: "agent-subagents",
163
+ items: z,
164
+ addableOptions: W,
165
+ emptyText: "No sub-agents added yet.",
166
+ onAdd: (e) => {
167
+ d("subagent", e), n.subagents.includes(e) || a({ subagents: [...n.subagents, e] });
168
+ },
169
+ onRemove: (e) => I("subagent", e),
170
+ onConfigure: p ? K : void 0,
171
+ createOption: i ? { label: "Create new", onSelect: v } : void 0
172
+ }
173
+ ),
174
+ f.length > 0 && /* @__PURE__ */ c(Z, { children: [
175
+ /* @__PURE__ */ l(w, { color: O.content.primary, children: "Advanced settings" }),
176
+ /* @__PURE__ */ l(w, { color: O.content.secondary, children: "Select AI model" }),
177
+ /* @__PURE__ */ l(
178
+ se,
179
+ {
180
+ "data-test": "agent-model",
181
+ size: "small",
182
+ width: "100%",
183
+ placeHolder: "Select model",
184
+ options: $,
185
+ defaultOptions: y ? [
186
+ {
187
+ label: y.label,
188
+ value: y.value
189
+ }
190
+ ] : void 0,
191
+ onSelect: (e) => {
192
+ const o = (Array.isArray(e) ? e[0] : e)?.value;
193
+ o && M("model", o);
194
+ }
195
+ }
196
+ )
197
+ ] })
198
+ ] })
199
+ ] }),
200
+ s && /* @__PURE__ */ l(
201
+ ee,
202
+ {
203
+ title: s.title,
204
+ initial: s.initial,
205
+ availableTools: u,
206
+ appLabel: le(P),
207
+ onImprove: H,
208
+ onClose: () => m(null),
209
+ onSave: j
210
+ },
211
+ s.key
212
+ )
213
+ ] });
214
+ };
215
+ export {
216
+ Te as Step3HowItResponds
217
+ };
218
+ //# sourceMappingURL=Step3HowItResponds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Step3HowItResponds.js","sources":["../../../../../src/components/agent-builder/steps/Step3HowItResponds.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Dropdown } from '@src/components/dropdown';\nimport { SingleOption } from '@src/components/dropdown/type';\nimport { TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentTool, SubAgentDraft, SubAgentRef } from '../AgentBuilder.model';\nimport {\n\tSideSection,\n\tStep3Grid,\n\tStep3Main,\n\tStep3Side,\n} from '../AgentBuilder.styled';\nimport { CreateSubAgentPanel } from '../components/CreateSubAgentPanel';\nimport { MentionField } from '../components/MentionField';\nimport {\n\tSelectableItem,\n\tSelectableListSection,\n\tSourceGroup,\n} from '../components/SelectableListSection';\nimport { StepSectionHeader } from '../components/StepSectionHeader';\nimport { AGENT_CHAR_LIMITS } from '../constants/charLimits';\nimport { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\nimport { appTypeLabel, toolSourceLabel } from '../utils/mentionSerialization';\nimport { SOURCE_ICONS } from '../utils/sourceIcons';\n\n/** Source brand glyph for a tool, as a dropdown leadingIcon element. */\nconst toolIconEl = (source: string): JSX.Element | undefined => {\n\tconst ic = SOURCE_ICONS[source];\n\treturn ic\n\t\t? React.createElement(ic.Icon, { width: ic.w, height: ic.h })\n\t\t: undefined;\n};\n\n/** Dropdown option for a tool: icon left of the name, no description. */\nconst toolOption = (t: AgentTool): SingleOption => ({\n\tlabel: t.display_name,\n\tvalue: t.tool_id,\n\tleadingIcon: toolIconEl(t.source ?? 'manifest'),\n});\n\nconst STEP = STEP_DEFINITIONS[2];\n\n/** Drawer state — null when closed; `key` remounts it fresh per open. */\ninterface SubAgentPanelState {\n\tkey: number;\n\ttitle: string;\n\teditingId?: string;\n\tinitial?: SubAgentDraft;\n}\n\nexport const Step3HowItResponds: React.FC = () => {\n\tconst {\n\t\tvalue,\n\t\tpatch,\n\t\tupdateField,\n\t\tremoveReference,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableModels,\n\t\tapplicationType,\n\t\tinsertMention,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tregisterSubAgentCreator,\n\t} = useAgentBuilderContext();\n\n\tconst [panel, setPanel] = useState<SubAgentPanelState | null>(null);\n\tconst panelKeyRef = useRef(0);\n\t// Sub-agents created / edited in this session, so a chip resolves (and reflects\n\t// a renamed sub-agent) before the consumer refreshes `availableSubAgents`.\n\tconst [createdSubAgents, setCreatedSubAgents] = useState<SubAgentRef[]>([]);\n\t// Created/edited refs take precedence over the consumer-supplied list.\n\tconst subAgentById = new Map<string, SubAgentRef>();\n\tavailableSubAgents.forEach((s) => subAgentById.set(s.id, s));\n\tcreatedSubAgents.forEach((s) => subAgentById.set(s.id, s));\n\tconst knownSubAgents = Array.from(subAgentById.values());\n\n\tconst openCreate = useCallback(() => {\n\t\tpanelKeyRef.current += 1;\n\t\tsetPanel({ key: panelKeyRef.current, title: 'Create sub-agent' });\n\t}, []);\n\n\t// Let the `@` picker's \"Create new\" row open this step's drawer.\n\tuseEffect(() => {\n\t\tif (!onCreateSubAgent) {\n\t\t\treturn;\n\t\t}\n\t\tregisterSubAgentCreator(openCreate);\n\t\treturn () => registerSubAgentCreator(null);\n\t}, [registerSubAgentCreator, openCreate, onCreateSubAgent]);\n\n\tconst openConfigure = useCallback(\n\t\tasync (id: string) => {\n\t\t\tif (!onFetchSubAgent) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst data = await onFetchSubAgent(id);\n\t\t\tpanelKeyRef.current += 1;\n\t\t\tsetPanel({\n\t\t\t\tkey: panelKeyRef.current,\n\t\t\t\ttitle: 'Edit sub-agent',\n\t\t\t\teditingId: id,\n\t\t\t\tinitial: data,\n\t\t\t});\n\t\t},\n\t\t[onFetchSubAgent],\n\t);\n\n\tconst handlePanelSave = useCallback(\n\t\tasync (draft: SubAgentDraft) => {\n\t\t\tif (panel?.editingId) {\n\t\t\t\tif (onUpdateSubAgent) {\n\t\t\t\t\tconst ref = await onUpdateSubAgent(panel.editingId, draft);\n\t\t\t\t\tsetCreatedSubAgents((prev) => [\n\t\t\t\t\t\t...prev.filter((s) => s.id !== ref.id),\n\t\t\t\t\t\tref,\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t} else if (onCreateSubAgent) {\n\t\t\t\tconst ref = await onCreateSubAgent(draft);\n\t\t\t\tsetCreatedSubAgents((prev) => [...prev, ref]);\n\t\t\t\tpatch({ subagents: [...value.subagents, ref.id] });\n\t\t\t\tinsertMention('subagent', ref.id, `sub-agent: ${ref.name}`);\n\t\t\t}\n\t\t\tsetPanel(null);\n\t\t},\n\t\t[\n\t\t\tpanel,\n\t\t\tonUpdateSubAgent,\n\t\t\tonCreateSubAgent,\n\t\t\tpatch,\n\t\t\tvalue.subagents,\n\t\t\tinsertMention,\n\t\t],\n\t);\n\n\tconst toolItems: SelectableItem[] = value.tools\n\t\t.map((id): SelectableItem | null => {\n\t\t\tconst tool = availableTools.find((t) => t.tool_id === id);\n\t\t\treturn tool\n\t\t\t\t? {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel: tool.display_name,\n\t\t\t\t\t\ticon: SOURCE_ICONS[tool.source ?? 'manifest'],\n\t\t\t\t }\n\t\t\t\t: null;\n\t\t})\n\t\t.filter((x): x is SelectableItem => x !== null);\n\n\t// All tools are offered (even already-added ones) so a tool can be referenced\n\t// again in the text; the chip list below still shows each only once.\n\tconst toolOptions: SingleOption[] = availableTools.map(toolOption);\n\n\t// Group tools by source (Manifest / Shopify / …) for the empty-state buttons.\n\tconst toolSourceGroups: SourceGroup[] = (() => {\n\t\tconst order: string[] = [];\n\t\tconst bySource = new Map<string, SingleOption[]>();\n\t\tavailableTools.forEach((t) => {\n\t\t\tconst src = t.source ?? 'manifest';\n\t\t\tif (!bySource.has(src)) {\n\t\t\t\tbySource.set(src, []);\n\t\t\t\torder.push(src);\n\t\t\t}\n\t\t\tbySource.get(src)?.push(toolOption(t));\n\t\t});\n\t\treturn order.map((src) => ({\n\t\t\tsource: src,\n\t\t\tlabel: toolSourceLabel(src),\n\t\t\toptions: bySource.get(src) ?? [],\n\t\t}));\n\t})();\n\n\tconst subAgentItems: SelectableItem[] = value.subagents\n\t\t.map((id): SelectableItem | null => {\n\t\t\tconst sub = subAgentById.get(id);\n\t\t\treturn sub ? { id, label: sub.name } : null;\n\t\t})\n\t\t.filter((x): x is SelectableItem => x !== null);\n\n\tconst subAgentOptions: SingleOption[] = knownSubAgents.map((s) => ({\n\t\tlabel: s.name,\n\t\tvalue: s.id,\n\t}));\n\n\tconst modelOptions: SingleOption[] = availableModels.map((m) => ({\n\t\tlabel: m.label,\n\t\tvalue: m.value,\n\t\tselected: m.value === value.model,\n\t}));\n\tconst selectedModel = availableModels.find((m) => m.value === value.model);\n\n\treturn (\n\t\t<div className=\"bik-agent-step bik-agent-step--response\">\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\n\t\t\t<Step3Grid>\n\t\t\t\t<Step3Main>\n\t\t\t\t\t<MentionField\n\t\t\t\t\t\tfieldKey=\"instructions\"\n\t\t\t\t\t\tdata-test=\"agent-instructions\"\n\t\t\t\t\t\tlabel=\"Instructions\"\n\t\t\t\t\t\tmaxLength={AGENT_CHAR_LIMITS.instructions}\n\t\t\t\t\t\tplaceholder=\"Write what this agent should do. Type @ to reference a tool or sub-agent.\"\n\t\t\t\t\t\tminHeight=\"200px\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<MentionField\n\t\t\t\t\t\tfieldKey=\"guardrail\"\n\t\t\t\t\t\tdata-test=\"agent-guardrail\"\n\t\t\t\t\t\tlabel=\"Guardrails\"\n\t\t\t\t\t\tmaxLength={AGENT_CHAR_LIMITS.guardrail}\n\t\t\t\t\t\tplaceholder=\"Things this agent must never do. Type @ to reference a tool or sub-agent.\"\n\t\t\t\t\t\tminHeight=\"140px\"\n\t\t\t\t\t/>\n\t\t\t\t</Step3Main>\n\n\t\t\t\t<Step3Side>\n\t\t\t\t\t<SelectableListSection\n\t\t\t\t\t\ttitle=\"Tools\"\n\t\t\t\t\t\thelper=\"Actions this agent can take while responding.\"\n\t\t\t\t\t\tdataTestPrefix=\"agent-tools\"\n\t\t\t\t\t\titems={toolItems}\n\t\t\t\t\t\taddableOptions={toolOptions}\n\t\t\t\t\t\tsourceGroups={toolSourceGroups}\n\t\t\t\t\t\temptyText=\"No tools added yet.\"\n\t\t\t\t\t\tonAdd={(id) => {\n\t\t\t\t\t\t\t// Always drop a chip at the cursor; keep the list deduped.\n\t\t\t\t\t\t\tinsertMention('tool', id);\n\t\t\t\t\t\t\tif (!value.tools.includes(id)) {\n\t\t\t\t\t\t\t\tpatch({ tools: [...value.tools, id] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonRemove={(id) => removeReference('tool', id)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<SelectableListSection\n\t\t\t\t\t\ttitle=\"Sub-agents\"\n\t\t\t\t\t\thelper=\"Other agents this agent can hand off the conversation to.\"\n\t\t\t\t\t\tdataTestPrefix=\"agent-subagents\"\n\t\t\t\t\t\titems={subAgentItems}\n\t\t\t\t\t\taddableOptions={subAgentOptions}\n\t\t\t\t\t\temptyText=\"No sub-agents added yet.\"\n\t\t\t\t\t\tonAdd={(id) => {\n\t\t\t\t\t\t\tinsertMention('subagent', id);\n\t\t\t\t\t\t\tif (!value.subagents.includes(id)) {\n\t\t\t\t\t\t\t\tpatch({ subagents: [...value.subagents, id] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonRemove={(id) => removeReference('subagent', id)}\n\t\t\t\t\t\tonConfigure={onFetchSubAgent ? openConfigure : undefined}\n\t\t\t\t\t\tcreateOption={\n\t\t\t\t\t\t\tonCreateSubAgent\n\t\t\t\t\t\t\t\t? { label: 'Create new', onSelect: openCreate }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{availableModels.length > 0 && (\n\t\t\t\t\t\t<SideSection>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tSelect AI model\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tdata-test=\"agent-model\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t\tplaceHolder=\"Select model\"\n\t\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\t\tdefaultOptions={\n\t\t\t\t\t\t\t\t\tselectedModel\n\t\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: selectedModel.label,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: selectedModel.value,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonSelect={(opt) => {\n\t\t\t\t\t\t\t\t\tconst single = Array.isArray(opt) ? opt[0] : opt;\n\t\t\t\t\t\t\t\t\tconst v = (single as SingleOption)?.value;\n\t\t\t\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\t\t\t\tupdateField('model', v);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SideSection>\n\t\t\t\t\t)}\n\t\t\t\t</Step3Side>\n\t\t\t</Step3Grid>\n\n\t\t\t{panel && (\n\t\t\t\t<CreateSubAgentPanel\n\t\t\t\t\tkey={panel.key}\n\t\t\t\t\ttitle={panel.title}\n\t\t\t\t\tinitial={panel.initial}\n\t\t\t\t\tavailableTools={availableTools}\n\t\t\t\t\tappLabel={appTypeLabel(applicationType)}\n\t\t\t\t\tonImprove={onImproveSubAgent}\n\t\t\t\t\tonClose={() => setPanel(null)}\n\t\t\t\t\tonSave={handlePanelSave}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["toolIconEl","source","ic","SOURCE_ICONS","React","toolOption","t","STEP","STEP_DEFINITIONS","Step3HowItResponds","value","patch","updateField","removeReference","availableTools","availableSubAgents","availableModels","applicationType","insertMention","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","registerSubAgentCreator","useAgentBuilderContext","panel","setPanel","useState","panelKeyRef","useRef","createdSubAgents","setCreatedSubAgents","subAgentById","s","knownSubAgents","openCreate","useCallback","useEffect","openConfigure","id","data","handlePanelSave","draft","ref","prev","toolItems","tool","x","toolOptions","toolSourceGroups","order","bySource","src","toolSourceLabel","subAgentItems","sub","subAgentOptions","modelOptions","m","selectedModel","jsxs","jsx","StepSectionHeader","Step3Grid","Step3Main","MentionField","AGENT_CHAR_LIMITS","Step3Side","SelectableListSection","SideSection","TitleSmall","COLORS","Dropdown","opt","v","CreateSubAgentPanel","appTypeLabel"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { default as React } from 'react';
2
+ export declare const Step4HandoverRules: React.FC;
@@ -0,0 +1,83 @@
1
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
+ import { RadioButton as d } from "../../radioButton/RadioButton.js";
3
+ import { TitleSmall as a, BodyCaption as l } from "../../TypographyStyle.js";
4
+ import { COLORS as n } from "../../../constants/Theme.js";
5
+ import { FieldBlock as f, CardRow as u, RadioCard as s, RadioCardText as h } from "../AgentBuilder.styled.js";
6
+ import { AiTextArea as v } from "../components/AiTextArea.js";
7
+ import { StepSectionHeader as g } from "../components/StepSectionHeader.js";
8
+ import { AGENT_CHAR_LIMITS as C } from "../constants/charLimits.js";
9
+ import { STEP_DEFINITIONS as S } from "../constants/steps.js";
10
+ import { useAgentBuilderContext as A } from "../context/AgentBuilderContext.js";
11
+ const m = S[3], O = () => {
12
+ const { value: p, patch: c } = A(), { handover: t } = p, r = (i) => c({ handover: { ...t, method: i } });
13
+ return /* @__PURE__ */ o("div", { className: "bik-agent-step bik-agent-step--handover", children: [
14
+ /* @__PURE__ */ e(g, { title: m.title, helper: m.helper }),
15
+ /* @__PURE__ */ e(
16
+ v,
17
+ {
18
+ "data-test": "handover-when",
19
+ label: "Handover when",
20
+ value: t.when,
21
+ onChange: (i) => c({ handover: { ...t, when: i } }),
22
+ maxLength: C.handoverWhen,
23
+ placeholder: "e.g. Hand over if the customer is angry or requests a human agent.",
24
+ minHeight: "120px"
25
+ }
26
+ ),
27
+ /* @__PURE__ */ o(f, { children: [
28
+ /* @__PURE__ */ e(a, { color: n.content.primary, children: "Handover method" }),
29
+ /* @__PURE__ */ o(u, { children: [
30
+ /* @__PURE__ */ o(
31
+ s,
32
+ {
33
+ "data-test": "handover-method-default",
34
+ selected: t.method === "default",
35
+ onClick: () => r("default"),
36
+ children: [
37
+ /* @__PURE__ */ e(
38
+ d,
39
+ {
40
+ isActive: t.method === "default",
41
+ onValueChange: () => r("default"),
42
+ skipSelectingOff: !0,
43
+ activeColor: n.content.brand
44
+ }
45
+ ),
46
+ /* @__PURE__ */ o(h, { children: [
47
+ /* @__PURE__ */ e(a, { color: n.content.primary, children: "Use default settings" }),
48
+ /* @__PURE__ */ e(l, { color: n.content.secondary, children: "Defined in Customize > Agent handover" })
49
+ ] })
50
+ ]
51
+ }
52
+ ),
53
+ /* @__PURE__ */ o(
54
+ s,
55
+ {
56
+ "data-test": "handover-method-specific",
57
+ selected: t.method === "specific_channels",
58
+ onClick: () => r("specific_channels"),
59
+ children: [
60
+ /* @__PURE__ */ e(
61
+ d,
62
+ {
63
+ isActive: t.method === "specific_channels",
64
+ onValueChange: () => r("specific_channels"),
65
+ skipSelectingOff: !0,
66
+ activeColor: n.content.brand
67
+ }
68
+ ),
69
+ /* @__PURE__ */ o(h, { children: [
70
+ /* @__PURE__ */ e(a, { color: n.content.primary, children: "Choose specific channels" }),
71
+ /* @__PURE__ */ e(l, { color: n.content.secondary, children: "Always hands over regardless of business hours." })
72
+ ] })
73
+ ]
74
+ }
75
+ )
76
+ ] })
77
+ ] })
78
+ ] });
79
+ };
80
+ export {
81
+ O as Step4HandoverRules
82
+ };
83
+ //# sourceMappingURL=Step4HandoverRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Step4HandoverRules.js","sources":["../../../../../src/components/agent-builder/steps/Step4HandoverRules.tsx"],"sourcesContent":["import React from 'react';\nimport { RadioButton } from '@src/components/radioButton/RadioButton';\nimport { BodyCaption, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { HandoverMethod } from '../AgentBuilder.model';\nimport {\n\tCardRow,\n\tFieldBlock,\n\tRadioCard,\n\tRadioCardText,\n} from '../AgentBuilder.styled';\nimport { AiTextArea } from '../components/AiTextArea';\nimport { StepSectionHeader } from '../components/StepSectionHeader';\nimport { AGENT_CHAR_LIMITS } from '../constants/charLimits';\nimport { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\nconst STEP = STEP_DEFINITIONS[3];\n\nexport const Step4HandoverRules: React.FC = () => {\n\tconst { value, patch } = useAgentBuilderContext();\n\tconst { handover } = value;\n\n\tconst setMethod = (method: HandoverMethod) =>\n\t\tpatch({ handover: { ...handover, method } });\n\n\treturn (\n\t\t<div className=\"bik-agent-step bik-agent-step--handover\">\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\n\t\t\t<AiTextArea\n\t\t\t\tdata-test=\"handover-when\"\n\t\t\t\tlabel=\"Handover when\"\n\t\t\t\tvalue={handover.when}\n\t\t\t\tonChange={(text) => patch({ handover: { ...handover, when: text } })}\n\t\t\t\tmaxLength={AGENT_CHAR_LIMITS.handoverWhen}\n\t\t\t\tplaceholder=\"e.g. Hand over if the customer is angry or requests a human agent.\"\n\t\t\t\tminHeight=\"120px\"\n\t\t\t/>\n\n\t\t\t<FieldBlock>\n\t\t\t\t<TitleSmall color={COLORS.content.primary}>Handover method</TitleSmall>\n\t\t\t\t<CardRow>\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"handover-method-default\"\n\t\t\t\t\t\tselected={handover.method === 'default'}\n\t\t\t\t\t\tonClick={() => setMethod('default')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={handover.method === 'default'}\n\t\t\t\t\t\t\tonValueChange={() => setMethod('default')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tUse default settings\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tDefined in Customize &gt; Agent handover\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"handover-method-specific\"\n\t\t\t\t\t\tselected={handover.method === 'specific_channels'}\n\t\t\t\t\t\tonClick={() => setMethod('specific_channels')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={handover.method === 'specific_channels'}\n\t\t\t\t\t\t\tonValueChange={() => setMethod('specific_channels')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tChoose specific channels\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tAlways hands over regardless of business hours.\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\t\t\t\t</CardRow>\n\t\t\t</FieldBlock>\n\t\t</div>\n\t);\n};\n"],"names":["STEP","STEP_DEFINITIONS","Step4HandoverRules","value","patch","useAgentBuilderContext","handover","setMethod","method","jsxs","jsx","StepSectionHeader","AiTextArea","text","AGENT_CHAR_LIMITS","FieldBlock","TitleSmall","COLORS","CardRow","RadioCard","RadioButton","RadioCardText","BodyCaption"],"mappings":";;;;;;;;;;AAiBA,MAAMA,IAAOC,EAAiB,CAAC,GAElBC,IAA+B,MAAM;AACjD,QAAM,EAAE,OAAAC,GAAO,OAAAC,EAAA,IAAUC,EAAA,GACnB,EAAE,UAAAC,MAAaH,GAEfI,IAAY,CAACC,MAClBJ,EAAM,EAAE,UAAU,EAAE,GAAGE,GAAU,QAAAE,EAAA,GAAU;AAE5C,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,2CACd,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,OAAOX,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,IAE3D,gBAAAU;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,OAAM;AAAA,QACN,OAAON,EAAS;AAAA,QAChB,UAAU,CAACO,MAAST,EAAM,EAAE,UAAU,EAAE,GAAGE,GAAU,MAAMO,EAAA,GAAQ;AAAA,QACnE,WAAWC,EAAkB;AAAA,QAC7B,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,sBAGVC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAL,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,mBAAe;AAAA,wBACzDC,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAACU;AAAA,UAAA;AAAA,YACA,aAAU;AAAA,YACV,UAAUb,EAAS,WAAW;AAAA,YAC9B,SAAS,MAAMC,EAAU,SAAS;AAAA,YAElC,UAAA;AAAA,cAAA,gBAAAG;AAAA,gBAACU;AAAA,gBAAA;AAAA,kBACA,UAAUd,EAAS,WAAW;AAAA,kBAC9B,eAAe,MAAMC,EAAU,SAAS;AAAA,kBACxC,kBAAgB;AAAA,kBAChB,aAAaU,EAAO,QAAQ;AAAA,gBAAA;AAAA,cAAA;AAAA,gCAE5BI,GAAA,EACA,UAAA;AAAA,gBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,wBAE3C;AAAA,kCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,wCAAA,CAE9C;AAAA,cAAA,EAAA,CACD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGD,gBAAAR;AAAA,UAACU;AAAA,UAAA;AAAA,YACA,aAAU;AAAA,YACV,UAAUb,EAAS,WAAW;AAAA,YAC9B,SAAS,MAAMC,EAAU,mBAAmB;AAAA,YAE5C,UAAA;AAAA,cAAA,gBAAAG;AAAA,gBAACU;AAAA,gBAAA;AAAA,kBACA,UAAUd,EAAS,WAAW;AAAA,kBAC9B,eAAe,MAAMC,EAAU,mBAAmB;AAAA,kBAClD,kBAAgB;AAAA,kBAChB,aAAaU,EAAO,QAAQ;AAAA,gBAAA;AAAA,cAAA;AAAA,gCAE5BI,GAAA,EACA,UAAA;AAAA,gBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,4BAE3C;AAAA,kCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,kDAAA,CAE9C;AAAA,cAAA,EAAA,CACD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACD,EAAA,CACD;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
@@ -0,0 +1,61 @@
1
+ import { ApplicationType } from '@bikdotai/bik-models/growth';
2
+ import { MentionItem } from '../../../editor';
3
+ import { AgentTool, SubAgentRef } from '../AgentBuilder.model';
4
+ /**
5
+ * Serialization helpers between the BikEditor document and the firebase
6
+ * `instructions` string.
7
+ *
8
+ * Firebase stores `instructions` as PLAIN TEXT with inline reference tokens:
9
+ * - `{{subagent:<agentId>}}` — hand-off to another agent
10
+ * - `{{tool:<function_key>}}` — an action the agent can call
11
+ * - `{{<variableName>}}` — a template variable
12
+ *
13
+ * In the editor those references are inserted via the `@` mention menu (which we
14
+ * populate with BOTH tools and sub-agents). Mention nodes keep their `id` in the
15
+ * ProseMirror doc JSON (the rendered HTML drops it), so we serialize from the doc
16
+ * JSON — not from HTML.
17
+ */
18
+ export interface MentionKindMeta {
19
+ /** Distinguishes a tool reference from a sub-agent reference. */
20
+ kind: 'tool' | 'subagent';
21
+ /** For tools: the function_key used in the `{{tool:KEY}}` token. */
22
+ functionKey?: string;
23
+ /** Plain item name (no prefix) shown in the picker dropdown rows. */
24
+ plainLabel?: string;
25
+ /** For tools: the source bucket (manifest / shopify / …) the picker groups by. */
26
+ source?: string;
27
+ }
28
+ /** Display labels for the known tool sources (drives picker headers + chip prefix). */
29
+ export declare const TOOL_SOURCE_LABELS: Record<string, string>;
30
+ /** Human label for a tool source; falls back to the host-app label, then the raw key. */
31
+ export declare const toolSourceLabel: (source: string | undefined, fallback?: string) => string;
32
+ /** Human label for the host application, used as the tool-chip prefix. */
33
+ export declare const appTypeLabel: (applicationType?: ApplicationType) => string;
34
+ /**
35
+ * Build the combined `@` mention list from the available tools + sub-agents.
36
+ *
37
+ * The `label` is the CHIP text shown once inserted — tools read
38
+ * `"<App> : <tool name>"` (e.g. "Manifest : Look up order"), sub-agents read
39
+ * `"sub-agent: <name>"`. `meta.plainLabel` is the un-prefixed name for the
40
+ * picker rows, and `meta.kind` drives the `{{tool}}` / `{{subagent}}` colour.
41
+ */
42
+ export declare const buildAgentMentionItems: (tools: AgentTool[], subAgents: SubAgentRef[], appLabel?: string) => MentionItem[];
43
+ /**
44
+ * Public: HTML for one mention chip, for inserting at the cursor (e.g. when a
45
+ * tool / sub-agent is added from the Step-3 side panel). Round-trips through the
46
+ * same parser path as the rehydrated chips.
47
+ */
48
+ export declare const buildMentionHtml: (id: string, label: string, kind: 'tool' | 'subagent') => string;
49
+ /**
50
+ * Convert the stored instructions string into HTML for `BikEditor.initialContent`.
51
+ * `{{tool:KEY}}` / `{{subagent:ID}}` tokens are rehydrated into mention chips
52
+ * (resolved via `mentionItems`); any other `{{…}}` token is left as literal text
53
+ * for the editor's variable decoration. Newlines become paragraph / line breaks.
54
+ */
55
+ export declare const instructionsToEditorHtml: (text: string, mentionItems?: MentionItem[]) => string;
56
+ /**
57
+ * Convert a BikEditor document (from `ref.getJSON()`) into the firebase
58
+ * instructions string, replacing mention nodes with `{{subagent:ID}}` /
59
+ * `{{tool:KEY}}` tokens.
60
+ */
61
+ export declare const editorDocToInstructions: (doc: Record<string, unknown> | null, tools: AgentTool[]) => string;
@@ -0,0 +1,96 @@
1
+ const d = {
2
+ manifest: "Manifest",
3
+ shopify: "Shopify",
4
+ integration: "Integration"
5
+ }, m = (t, e = "Manifest") => t ? d[t] ?? t : e, k = (t) => {
6
+ const e = t ? String(t) : "";
7
+ return e === "BIK" ? "BIK" : e === "BSP" ? "BSP" : "Manifest";
8
+ }, y = (t, e, n = "Manifest") => [
9
+ ...t.map(
10
+ (i) => ({
11
+ id: i.tool_id,
12
+ label: `${m(i.source, n)} : ${i.display_name}`,
13
+ meta: {
14
+ kind: "tool",
15
+ functionKey: i.function_key,
16
+ plainLabel: i.display_name,
17
+ source: i.source
18
+ }
19
+ })
20
+ ),
21
+ ...e.map(
22
+ (i) => ({
23
+ id: i.id,
24
+ label: `sub-agent: ${i.name}`,
25
+ meta: { kind: "subagent", plainLabel: i.name }
26
+ })
27
+ )
28
+ ], a = (t) => t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), s = (t) => a(t).replace(/"/g, "&quot;"), c = (t, e, n) => `<span data-type="mentionAgent" class="bik-mention bik-mention--agent" data-id="${s(t)}" data-label="${s(e)}" data-kind="${s(n)}">${a(e)}</span>`, $ = (t, e, n) => c(t, e, n), f = (t) => {
29
+ const e = /* @__PURE__ */ new Map();
30
+ for (const n of t) {
31
+ const i = n.meta;
32
+ i?.kind === "tool" && i.functionKey ? e.set(`tool:${i.functionKey}`, n) : i?.kind === "subagent" && e.set(`subagent:${String(n.id)}`, n);
33
+ }
34
+ return e;
35
+ }, l = /\{\{(tool:[^}]+|subagent:[^}]+)\}\}/g, g = (t, e) => {
36
+ let n = "", i = 0;
37
+ l.lastIndex = 0;
38
+ let o;
39
+ for (; (o = l.exec(t)) !== null; ) {
40
+ n += a(t.slice(i, o.index));
41
+ const r = e.get(o[1]);
42
+ if (r) {
43
+ const p = r.meta.kind;
44
+ n += c(String(r.id), r.label, p);
45
+ } else
46
+ n += a(o[0]);
47
+ i = l.lastIndex;
48
+ }
49
+ return n += a(t.slice(i)), n.replace(/\n/g, "<br>");
50
+ }, S = (t, e = []) => {
51
+ if (!t)
52
+ return "";
53
+ const n = f(e);
54
+ return t.split(/\n{2,}/).map((i) => `<p>${g(i, n)}</p>`).join("");
55
+ }, b = (t, e) => {
56
+ const n = e[t];
57
+ return n ? `{{tool:${n}}}` : `{{subagent:${t}}}`;
58
+ }, u = (t, e) => {
59
+ switch (t.type) {
60
+ case "text":
61
+ return t.text ?? "";
62
+ case "mentionAgent":
63
+ case "mentionTeam": {
64
+ const n = t.attrs?.id;
65
+ return n == null ? "" : b(String(n), e);
66
+ }
67
+ case "variable":
68
+ return `{{${String(t.attrs?.variableName ?? "")}}}`;
69
+ case "hardBreak":
70
+ return `
71
+ `;
72
+ default: {
73
+ const n = (t.content ?? []).map((o) => u(o, e)).join("");
74
+ return ["paragraph", "heading", "listItem", "blockquote"].includes(t.type) ? `${n}
75
+ ` : n;
76
+ }
77
+ }
78
+ }, T = (t, e) => {
79
+ if (!t)
80
+ return "";
81
+ const n = e.reduce((i, o) => (i[o.tool_id] = o.function_key, i), {});
82
+ return u(t, n).replace(
83
+ /\n+$/,
84
+ ""
85
+ );
86
+ };
87
+ export {
88
+ d as TOOL_SOURCE_LABELS,
89
+ k as appTypeLabel,
90
+ y as buildAgentMentionItems,
91
+ $ as buildMentionHtml,
92
+ T as editorDocToInstructions,
93
+ S as instructionsToEditorHtml,
94
+ m as toolSourceLabel
95
+ };
96
+ //# sourceMappingURL=mentionSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentionSerialization.js","sources":["../../../../../src/components/agent-builder/utils/mentionSerialization.ts"],"sourcesContent":["import type { ApplicationType } from '@bikdotai/bik-models/growth';\nimport { MentionItem } from '@src/editor';\nimport { AgentTool, SubAgentRef } from '../AgentBuilder.model';\n\n/**\n * Serialization helpers between the BikEditor document and the firebase\n * `instructions` string.\n *\n * Firebase stores `instructions` as PLAIN TEXT with inline reference tokens:\n * - `{{subagent:<agentId>}}` — hand-off to another agent\n * - `{{tool:<function_key>}}` — an action the agent can call\n * - `{{<variableName>}}` — a template variable\n *\n * In the editor those references are inserted via the `@` mention menu (which we\n * populate with BOTH tools and sub-agents). Mention nodes keep their `id` in the\n * ProseMirror doc JSON (the rendered HTML drops it), so we serialize from the doc\n * JSON — not from HTML.\n */\n\nexport interface MentionKindMeta {\n\t/** Distinguishes a tool reference from a sub-agent reference. */\n\tkind: 'tool' | 'subagent';\n\t/** For tools: the function_key used in the `{{tool:KEY}}` token. */\n\tfunctionKey?: string;\n\t/** Plain item name (no prefix) shown in the picker dropdown rows. */\n\tplainLabel?: string;\n\t/** For tools: the source bucket (manifest / shopify / …) the picker groups by. */\n\tsource?: string;\n}\n\n/** Display labels for the known tool sources (drives picker headers + chip prefix). */\nexport const TOOL_SOURCE_LABELS: Record<string, string> = {\n\tmanifest: 'Manifest',\n\tshopify: 'Shopify',\n\tintegration: 'Integration',\n};\n\n/** Human label for a tool source; falls back to the host-app label, then the raw key. */\nexport const toolSourceLabel = (\n\tsource: string | undefined,\n\tfallback = 'Manifest',\n): string => {\n\tif (!source) {\n\t\treturn fallback;\n\t}\n\treturn TOOL_SOURCE_LABELS[source] ?? source;\n};\n\n/** Human label for the host application, used as the tool-chip prefix. */\nexport const appTypeLabel = (applicationType?: ApplicationType): string => {\n\tconst key = applicationType ? String(applicationType) : '';\n\tif (key === 'BIK') {\n\t\treturn 'BIK';\n\t}\n\tif (key === 'BSP') {\n\t\treturn 'BSP';\n\t}\n\treturn 'Manifest';\n};\n\n/**\n * Build the combined `@` mention list from the available tools + sub-agents.\n *\n * The `label` is the CHIP text shown once inserted — tools read\n * `\"<App> : <tool name>\"` (e.g. \"Manifest : Look up order\"), sub-agents read\n * `\"sub-agent: <name>\"`. `meta.plainLabel` is the un-prefixed name for the\n * picker rows, and `meta.kind` drives the `{{tool}}` / `{{subagent}}` colour.\n */\nexport const buildAgentMentionItems = (\n\ttools: AgentTool[],\n\tsubAgents: SubAgentRef[],\n\tappLabel = 'Manifest',\n): MentionItem[] => [\n\t...tools.map(\n\t\t(t): MentionItem => ({\n\t\t\tid: t.tool_id,\n\t\t\tlabel: `${toolSourceLabel(t.source, appLabel)} : ${t.display_name}`,\n\t\t\tmeta: {\n\t\t\t\tkind: 'tool',\n\t\t\t\tfunctionKey: t.function_key,\n\t\t\t\tplainLabel: t.display_name,\n\t\t\t\tsource: t.source,\n\t\t\t},\n\t\t}),\n\t),\n\t...subAgents.map(\n\t\t(s): MentionItem => ({\n\t\t\tid: s.id,\n\t\t\tlabel: `sub-agent: ${s.name}`,\n\t\t\tmeta: { kind: 'subagent', plainLabel: s.name },\n\t\t}),\n\t),\n];\n\nconst escapeHtml = (raw: string): string =>\n\traw.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n\nconst escapeAttr = (raw: string): string =>\n\tescapeHtml(raw).replace(/\"/g, '&quot;');\n\n/**\n * The HTML for a single mention chip. Must round-trip through the TipTap mention\n * extension's `parseHTML` (`span[data-type=\"mentionAgent\"]`, reading\n * `data-id`/`data-label`/`data-kind`) — see MentionExtension.ts. `normalizeHtml`\n * is taught to keep `data-type=\"mention…\"` spans so this survives to the parser.\n */\nconst mentionSpanHtml = (id: string, label: string, kind: string): string =>\n\t`<span data-type=\"mentionAgent\" class=\"bik-mention bik-mention--agent\"` +\n\t` data-id=\"${escapeAttr(id)}\" data-label=\"${escapeAttr(label)}\"` +\n\t` data-kind=\"${escapeAttr(kind)}\">${escapeHtml(label)}</span>`;\n\n/**\n * Public: HTML for one mention chip, for inserting at the cursor (e.g. when a\n * tool / sub-agent is added from the Step-3 side panel). Round-trips through the\n * same parser path as the rehydrated chips.\n */\nexport const buildMentionHtml = (\n\tid: string,\n\tlabel: string,\n\tkind: 'tool' | 'subagent',\n): string => mentionSpanHtml(id, label, kind);\n\n/** `{{tool:KEY}}` / `{{subagent:ID}}` → the mention item that produced them. */\nconst buildTokenLookup = (\n\tmentionItems: MentionItem[],\n): Map<string, MentionItem> => {\n\tconst byToken = new Map<string, MentionItem>();\n\tfor (const item of mentionItems) {\n\t\tconst meta = item.meta as unknown as MentionKindMeta | undefined;\n\t\tif (meta?.kind === 'tool' && meta.functionKey) {\n\t\t\tbyToken.set(`tool:${meta.functionKey}`, item);\n\t\t} else if (meta?.kind === 'subagent') {\n\t\t\tbyToken.set(`subagent:${String(item.id)}`, item);\n\t\t}\n\t}\n\treturn byToken;\n};\n\n// Matches the reference tokens we render as chips. Other `{{var}}` tokens fall\n// through untouched (left as literal text for the variable decoration).\nconst REFERENCE_TOKEN = /\\{\\{(tool:[^}]+|subagent:[^}]+)\\}\\}/g;\n\n/** Escape plain text, swapping recognised reference tokens for mention spans. */\nconst inlineToHtml = (\n\tsegment: string,\n\tbyToken: Map<string, MentionItem>,\n): string => {\n\tlet out = '';\n\tlet lastIndex = 0;\n\tREFERENCE_TOKEN.lastIndex = 0;\n\tlet match: RegExpExecArray | null;\n\twhile ((match = REFERENCE_TOKEN.exec(segment)) !== null) {\n\t\tout += escapeHtml(segment.slice(lastIndex, match.index));\n\t\tconst item = byToken.get(match[1]);\n\t\tif (item) {\n\t\t\tconst kind = (item.meta as unknown as MentionKindMeta).kind;\n\t\t\tout += mentionSpanHtml(String(item.id), item.label, kind);\n\t\t} else {\n\t\t\t// Tool/sub-agent no longer in the available list → keep the raw token.\n\t\t\tout += escapeHtml(match[0]);\n\t\t}\n\t\tlastIndex = REFERENCE_TOKEN.lastIndex;\n\t}\n\tout += escapeHtml(segment.slice(lastIndex));\n\treturn out.replace(/\\n/g, '<br>');\n};\n\n/**\n * Convert the stored instructions string into HTML for `BikEditor.initialContent`.\n * `{{tool:KEY}}` / `{{subagent:ID}}` tokens are rehydrated into mention chips\n * (resolved via `mentionItems`); any other `{{…}}` token is left as literal text\n * for the editor's variable decoration. Newlines become paragraph / line breaks.\n */\nexport const instructionsToEditorHtml = (\n\ttext: string,\n\tmentionItems: MentionItem[] = [],\n): string => {\n\tif (!text) {\n\t\treturn '';\n\t}\n\tconst byToken = buildTokenLookup(mentionItems);\n\treturn text\n\t\t.split(/\\n{2,}/)\n\t\t.map((para) => `<p>${inlineToHtml(para, byToken)}</p>`)\n\t\t.join('');\n};\n\ninterface ProseMirrorNode {\n\ttype: string;\n\ttext?: string;\n\tattrs?: Record<string, unknown>;\n\tcontent?: ProseMirrorNode[];\n}\n\n/** Map of mention node id → token, derived from the available tools. */\nconst resolveMentionToken = (\n\tid: string,\n\ttoolKeyById: Record<string, string>,\n): string => {\n\tconst functionKey = toolKeyById[id];\n\tif (functionKey) {\n\t\treturn `{{tool:${functionKey}}}`;\n\t}\n\treturn `{{subagent:${id}}}`;\n};\n\nconst nodeToText = (\n\tnode: ProseMirrorNode,\n\ttoolKeyById: Record<string, string>,\n): string => {\n\tswitch (node.type) {\n\t\tcase 'text':\n\t\t\treturn node.text ?? '';\n\t\tcase 'mentionAgent':\n\t\tcase 'mentionTeam': {\n\t\t\tconst id = node.attrs?.['id'];\n\t\t\treturn id == null ? '' : resolveMentionToken(String(id), toolKeyById);\n\t\t}\n\t\tcase 'variable':\n\t\t\treturn `{{${String(node.attrs?.['variableName'] ?? '')}}}`;\n\t\tcase 'hardBreak':\n\t\t\treturn '\\n';\n\t\tdefault: {\n\t\t\tconst inner = (node.content ?? [])\n\t\t\t\t.map((child) => nodeToText(child, toolKeyById))\n\t\t\t\t.join('');\n\t\t\t// Block nodes terminate with a newline so paragraphs stay separated.\n\t\t\tconst BLOCK_NODES = ['paragraph', 'heading', 'listItem', 'blockquote'];\n\t\t\treturn BLOCK_NODES.includes(node.type) ? `${inner}\\n` : inner;\n\t\t}\n\t}\n};\n\n/**\n * Convert a BikEditor document (from `ref.getJSON()`) into the firebase\n * instructions string, replacing mention nodes with `{{subagent:ID}}` /\n * `{{tool:KEY}}` tokens.\n */\nexport const editorDocToInstructions = (\n\tdoc: Record<string, unknown> | null,\n\ttools: AgentTool[],\n): string => {\n\tif (!doc) {\n\t\treturn '';\n\t}\n\tconst toolKeyById = tools.reduce<Record<string, string>>((acc, t) => {\n\t\tacc[t.tool_id] = t.function_key;\n\t\treturn acc;\n\t}, {});\n\treturn nodeToText(doc as unknown as ProseMirrorNode, toolKeyById).replace(\n\t\t/\\n+$/,\n\t\t'',\n\t);\n};\n"],"names":["TOOL_SOURCE_LABELS","toolSourceLabel","source","fallback","appTypeLabel","applicationType","key","buildAgentMentionItems","tools","subAgents","appLabel","t","s","escapeHtml","raw","escapeAttr","mentionSpanHtml","id","label","kind","buildMentionHtml","buildTokenLookup","mentionItems","byToken","item","meta","REFERENCE_TOKEN","inlineToHtml","segment","out","lastIndex","match","instructionsToEditorHtml","text","para","resolveMentionToken","toolKeyById","functionKey","nodeToText","node","inner","child","editorDocToInstructions","doc","acc"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ export type IconComp = React.FunctionComponent<React.SVGAttributes<SVGElement>>;
3
+ /** Brand glyph for a tool source, with its own size so each keeps its aspect ratio. */
4
+ export interface SourceIcon {
5
+ Icon: IconComp;
6
+ w: number;
7
+ h: number;
8
+ }
9
+ /** Per-source brand glyph — shared by the `@` picker and the Tools source buttons. */
10
+ export declare const SOURCE_ICONS: Record<string, SourceIcon>;
@@ -0,0 +1,10 @@
1
+ import o from "../../../assets/icons/ManifestGlass.svg.js";
2
+ import f from "../../../assets/icons/Shopify.svg.js";
3
+ const t = {
4
+ manifest: { Icon: o, w: 24, h: 24 },
5
+ shopify: { Icon: f, w: 21, h: 24 }
6
+ };
7
+ export {
8
+ t as SOURCE_ICONS
9
+ };
10
+ //# sourceMappingURL=sourceIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceIcons.js","sources":["../../../../../src/components/agent-builder/utils/sourceIcons.ts"],"sourcesContent":["import ManifestGlass from '@src/assets/icons/ManifestGlass.svg';\nimport Shopify from '@src/assets/icons/Shopify.svg';\nimport type React from 'react';\n\nexport type IconComp = React.FunctionComponent<React.SVGAttributes<SVGElement>>;\n\n/** Brand glyph for a tool source, with its own size so each keeps its aspect ratio. */\nexport interface SourceIcon {\n\tIcon: IconComp;\n\tw: number;\n\th: number;\n}\n\n/** Per-source brand glyph — shared by the `@` picker and the Tools source buttons. */\nexport const SOURCE_ICONS: Record<string, SourceIcon> = {\n\tmanifest: { Icon: ManifestGlass, w: 24, h: 24 },\n\tshopify: { Icon: Shopify, w: 21, h: 24 },\n};\n"],"names":["SOURCE_ICONS","ManifestGlass","Shopify"],"mappings":";;AAcO,MAAMA,IAA2C;AAAA,EACvD,UAAU,EAAE,MAAMC,GAAe,GAAG,IAAI,GAAG,GAAA;AAAA,EAC3C,SAAS,EAAE,MAAMC,GAAS,GAAG,IAAI,GAAG,GAAA;AACrC;"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { AgentListingProps } from './AgentListing.model';
3
+ /**
4
+ * Full body of the "AI Agents" listing screen (header + filters + table).
5
+ * Presentational and fully controlled — the consumer owns data, search, sort,
6
+ * pagination and routing. Render it inside your app shell (next to the sidebar).
7
+ *
8
+ * @example
9
+ * <AgentListing
10
+ * agents={rows}
11
+ * searchValue={search}
12
+ * onSearchChange={setSearch}
13
+ * onNewAgent={() => router.push('/agents/new')}
14
+ * onRunAgent={runAgent}
15
+ * onEditAgent={(a) => router.push(`/agents/${a.id}`)}
16
+ * />
17
+ */
18
+ export declare const AgentListing: React.FC<AgentListingProps>;