@bikdotai/bik-component-library 0.0.853-beta.0 → 0.0.854

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 (153) hide show
  1. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  2. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  3. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
  4. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
  6. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +11 -11
  8. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +5 -5
  10. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -7
  14. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/MentionField.js +1 -1
  16. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/MentionPicker.js +26 -53
  18. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/RequireVerificationModal.js +1 -1
  20. package/dist/cjs/components/agent-builder/components/RequireVerificationModal.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +5 -6
  22. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +1 -1
  24. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js +2 -2
  26. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  28. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  29. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  30. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  31. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  32. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  33. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -4
  34. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  35. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +1 -1
  36. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -1
  37. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  38. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  39. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js +1 -1
  40. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js.map +1 -1
  41. package/dist/cjs/components/toaster/Toaster.js +1 -1
  42. package/dist/cjs/components/toaster/Toaster.js.map +1 -1
  43. package/dist/cjs/components/toaster/Toaster.styled.js +7 -7
  44. package/dist/cjs/components/toaster/Toaster.styled.js.map +1 -1
  45. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  46. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  47. package/dist/cjs/components/zeroState/ZeroState.js +3 -3
  48. package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
  49. package/dist/cjs/editor/BikEditor.js +1 -1
  50. package/dist/cjs/editor/BikEditor.js.map +1 -1
  51. package/dist/cjs/editor/BikEditor.styles.js +21 -23
  52. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  53. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  54. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
  55. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  56. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  57. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  58. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  59. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  60. package/dist/cjs/index.js +1 -1
  61. package/dist/esm/components/add-variableV2/index.d.ts +0 -1
  62. package/dist/esm/components/agent-builder/AgentBuilder.js +127 -119
  63. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  64. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +7 -10
  65. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +2 -0
  66. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -26
  67. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  68. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +30 -29
  69. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  70. package/dist/esm/components/agent-builder/components/ConfigToolPanel.d.ts +0 -8
  71. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +136 -182
  72. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  73. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +9 -3
  74. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +230 -222
  75. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  76. package/dist/esm/components/agent-builder/components/GoLiveModal.js +11 -13
  77. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  78. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +0 -12
  79. package/dist/esm/components/agent-builder/components/MentionEditor.js +103 -144
  80. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  81. package/dist/esm/components/agent-builder/components/MentionField.js +45 -48
  82. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -1
  83. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +1 -14
  84. package/dist/esm/components/agent-builder/components/MentionPicker.js +248 -292
  85. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  86. package/dist/esm/components/agent-builder/components/RequireVerificationModal.js +8 -8
  87. package/dist/esm/components/agent-builder/components/RequireVerificationModal.js.map +1 -1
  88. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +0 -8
  89. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +172 -185
  90. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  91. package/dist/esm/components/agent-builder/components/SelectableListSection.js +73 -69
  92. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  93. package/dist/esm/components/agent-builder/components/ToolInstructionsField.d.ts +0 -9
  94. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js +48 -67
  95. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  96. package/dist/esm/components/agent-builder/constants/tools.d.ts +21 -1
  97. package/dist/esm/components/agent-builder/constants/tools.js +33 -23
  98. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  99. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +0 -7
  100. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +96 -99
  101. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  102. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +272 -261
  103. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  104. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +4 -14
  105. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +36 -54
  106. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  107. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +6 -6
  108. package/dist/esm/components/agent-builder/utils/sourceIcons.js +21 -19
  109. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -1
  110. package/dist/esm/components/agent-listing/AgentTableRow.js +26 -23
  111. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  112. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js +3 -2
  113. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js.map +1 -1
  114. package/dist/esm/components/toaster/Toaster.js +30 -25
  115. package/dist/esm/components/toaster/Toaster.js.map +1 -1
  116. package/dist/esm/components/toaster/Toaster.styled.js +5 -5
  117. package/dist/esm/components/toaster/Toaster.styled.js.map +1 -1
  118. package/dist/esm/components/variable-picker-v3/Content.js +15 -16
  119. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  120. package/dist/esm/components/zeroState/ZeroState.d.ts +2 -0
  121. package/dist/esm/components/zeroState/ZeroState.js +18 -17
  122. package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
  123. package/dist/esm/editor/BikEditor.js +229 -222
  124. package/dist/esm/editor/BikEditor.js.map +1 -1
  125. package/dist/esm/editor/BikEditor.styles.js +14 -16
  126. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  127. package/dist/esm/editor/BikEditor.types.d.ts +0 -9
  128. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  129. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +62 -60
  130. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  131. package/dist/esm/editor/extensions/mention/MentionDropdown.js +28 -28
  132. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  133. package/dist/esm/editor/extensions/mention/MentionExtension.js +19 -23
  134. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  135. package/dist/esm/icons/index.d.ts +25 -25
  136. package/dist/esm/index.js +541 -543
  137. package/dist/esm/index.js.map +1 -1
  138. package/package.json +1 -1
  139. package/dist/cjs/components/add-variableV2/AddDataPill.js +0 -10
  140. package/dist/cjs/components/add-variableV2/AddDataPill.js.map +0 -1
  141. package/dist/cjs/components/agent-builder/components/VariableInlineField.js +0 -65
  142. package/dist/cjs/components/agent-builder/components/VariableInlineField.js.map +0 -1
  143. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js +0 -10
  144. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js.map +0 -1
  145. package/dist/esm/components/add-variableV2/AddDataPill.d.ts +0 -24
  146. package/dist/esm/components/add-variableV2/AddDataPill.js +0 -33
  147. package/dist/esm/components/add-variableV2/AddDataPill.js.map +0 -1
  148. package/dist/esm/components/agent-builder/components/VariableInlineField.d.ts +0 -26
  149. package/dist/esm/components/agent-builder/components/VariableInlineField.js +0 -149
  150. package/dist/esm/components/agent-builder/components/VariableInlineField.js.map +0 -1
  151. package/dist/esm/components/agent-builder/components/VariableTriggerArea.d.ts +0 -46
  152. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js +0 -118
  153. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js.map +0 -1
@@ -1,28 +1,29 @@
1
- import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
- import m from "../../../assets/icons/arrow_left.svg.js";
3
- import { TitleRegular as p } from "../../TypographyStyle.js";
1
+ import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
+ import p from "../../../assets/icons/arrow_left.svg.js";
3
+ import { TitleRegular as u } from "../../TypographyStyle.js";
4
4
  import { COLORS as a } from "../../../constants/Theme.js";
5
- import { TopBar as s, TopBarSide as n, BackButton as f, DraftButtonScope as u } from "../AgentBuilder.styled.js";
6
- import { Tag as g } from "../../tag/Tag.js";
7
- import { Button as h } from "../../button/Button.js";
8
- const S = ({
9
- name: r,
10
- status: l,
11
- onBack: e,
12
- onSaveDraft: d,
13
- isSaving: c
5
+ import { TopBar as f, TopBarSide as n, BackButton as g, DraftButtonScope as v } from "../AgentBuilder.styled.js";
6
+ import { useAgentBuilderContext as h } from "../context/AgentBuilderContext.js";
7
+ import { Tag as B } from "../../tag/Tag.js";
8
+ import { Button as b } from "../../button/Button.js";
9
+ const D = ({
10
+ name: l,
11
+ status: d,
12
+ onBack: r,
13
+ onSaveDraft: c,
14
+ isSaving: m
14
15
  }) => {
15
- const i = l === "live";
16
- return /* @__PURE__ */ o(s, { children: [
17
- /* @__PURE__ */ o(n, { children: [
18
- e && /* @__PURE__ */ t(
19
- f,
16
+ const { validation: e } = h(), o = d === "live", s = e.about && e.trigger;
17
+ return /* @__PURE__ */ i(f, { children: [
18
+ /* @__PURE__ */ i(n, { children: [
19
+ r && /* @__PURE__ */ t(
20
+ g,
20
21
  {
21
22
  "data-test": "agent-builder-back",
22
- onClick: e,
23
+ onClick: r,
23
24
  "aria-label": "Back",
24
25
  children: /* @__PURE__ */ t(
25
- m,
26
+ p,
26
27
  {
27
28
  width: 24,
28
29
  height: 24,
@@ -31,31 +32,31 @@ const S = ({
31
32
  )
32
33
  }
33
34
  ),
34
- /* @__PURE__ */ t(p, { color: a.content.primary, children: r || "Untitled agent" }),
35
+ /* @__PURE__ */ t(u, { color: a.content.primary, children: l || "Untitled agent" }),
35
36
  /* @__PURE__ */ t(
36
- g,
37
+ B,
37
38
  {
38
- tagText: i ? "Live" : "Draft",
39
- type: i ? "positive" : "neutral",
39
+ tagText: o ? "Live" : "Draft",
40
+ type: o ? "positive" : "neutral",
40
41
  variant: "regular"
41
42
  }
42
43
  )
43
44
  ] }),
44
- /* @__PURE__ */ t(n, { children: /* @__PURE__ */ t(u, { children: /* @__PURE__ */ t(
45
- h,
45
+ /* @__PURE__ */ t(n, { children: /* @__PURE__ */ t(v, { children: /* @__PURE__ */ t(
46
+ b,
46
47
  {
47
48
  "data-test": "agent-builder-save-draft",
48
49
  buttonType: "secondary",
49
50
  size: "small",
50
51
  buttonText: "Save as draft",
51
- disabled: !r.trim(),
52
- isLoading: c,
53
- onClick: d
52
+ disabled: !s,
53
+ isLoading: m,
54
+ onClick: c
54
55
  }
55
56
  ) }) })
56
57
  ] });
57
58
  };
58
59
  export {
59
- S as AgentBuilderTopBar
60
+ D as AgentBuilderTopBar
60
61
  };
61
62
  //# sourceMappingURL=AgentBuilderTopBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilderTopBar.js","sources":["../../../../../src/components/agent-builder/components/AgentBuilderTopBar.tsx"],"sourcesContent":["import ArrowLeftIcon from '@src/assets/icons/arrow_left.svg';\nimport React from 'react';\nimport { Button } from '@src/components/button';\nimport { Tag } from '@src/components/tag';\nimport { TitleRegular } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentStatus } from '../AgentBuilder.model';\nimport {\n\tBackButton,\n\tDraftButtonScope,\n\tTopBar,\n\tTopBarSide,\n} from '../AgentBuilder.styled';\n\ninterface AgentBuilderTopBarProps {\n\tname: string;\n\tstatus: AgentStatus;\n\tonBack?: () => void;\n\tonSaveDraft: () => void;\n\tisSaving?: boolean;\n}\n\nexport const AgentBuilderTopBar: React.FC<AgentBuilderTopBarProps> = ({\n\tname,\n\tstatus,\n\tonBack,\n\tonSaveDraft,\n\tisSaving,\n}) => {\n\tconst isLive = status === 'live';\n\treturn (\n\t\t<TopBar>\n\t\t\t<TopBarSide>\n\t\t\t\t{onBack && (\n\t\t\t\t\t<BackButton\n\t\t\t\t\t\tdata-test=\"agent-builder-back\"\n\t\t\t\t\t\tonClick={onBack}\n\t\t\t\t\t\taria-label=\"Back\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ArrowLeftIcon\n\t\t\t\t\t\t\twidth={24}\n\t\t\t\t\t\t\theight={24}\n\t\t\t\t\t\t\tcolor={COLORS.content.primary}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BackButton>\n\t\t\t\t)}\n\t\t\t\t<TitleRegular color={COLORS.content.primary}>\n\t\t\t\t\t{name || 'Untitled agent'}\n\t\t\t\t</TitleRegular>\n\t\t\t\t<Tag\n\t\t\t\t\ttagText={isLive ? 'Live' : 'Draft'}\n\t\t\t\t\ttype={isLive ? 'positive' : 'neutral'}\n\t\t\t\t\tvariant=\"regular\"\n\t\t\t\t/>\n\t\t\t</TopBarSide>\n\n\t\t\t<TopBarSide>\n\t\t\t\t<DraftButtonScope>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-save-draft\"\n\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Save as draft\"\n\t\t\t\t\t\t// A draft still needs a name to be identifiable in the listing.\n\t\t\t\t\t\tdisabled={!name.trim()}\n\t\t\t\t\t\tisLoading={isSaving}\n\t\t\t\t\t\tonClick={onSaveDraft}\n\t\t\t\t\t/>\n\t\t\t\t</DraftButtonScope>\n\t\t\t</TopBarSide>\n\t\t</TopBar>\n\t);\n};\n"],"names":["AgentBuilderTopBar","name","status","onBack","onSaveDraft","isSaving","isLive","TopBar","jsxs","TopBarSide","jsx","BackButton","ArrowLeftIcon","COLORS","TitleRegular","Tag","DraftButtonScope","Button"],"mappings":";;;;;;;AAsBO,MAAMA,IAAwD,CAAC;AAAA,EACrE,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACD,MAAM;AACL,QAAMC,IAASJ,MAAW;AAC1B,2BACEK,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAAN,KACA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,SAASR;AAAA,UACT,cAAW;AAAA,UAEX,UAAA,gBAAAO;AAAA,YAACE;AAAAA,YAAA;AAAA,cACA,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,OAAOC,EAAO,QAAQ;AAAA,YAAA;AAAA,UAAA;AAAA,QACvB;AAAA,MAAA;AAAA,wBAGDC,GAAA,EAAa,OAAOD,EAAO,QAAQ,SAClC,eAAQ,kBACV;AAAA,MACA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACA,SAAST,IAAS,SAAS;AAAA,UAC3B,MAAMA,IAAS,aAAa;AAAA,UAC5B,SAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IACT,GACD;AAAA,IAEA,gBAAAI,EAACD,GAAA,EACA,UAAA,gBAAAC,EAACM,GAAA,EACA,UAAA,gBAAAN;AAAA,MAACO;AAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,YAAW;AAAA,QACX,MAAK;AAAA,QACL,YAAW;AAAA,QAEX,UAAU,CAAChB,EAAK,KAAA;AAAA,QAChB,WAAWI;AAAA,QACX,SAASD;AAAA,MAAA;AAAA,IAAA,GAEX,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
1
+ {"version":3,"file":"AgentBuilderTopBar.js","sources":["../../../../../src/components/agent-builder/components/AgentBuilderTopBar.tsx"],"sourcesContent":["import ArrowLeftIcon from '@src/assets/icons/arrow_left.svg';\nimport React from 'react';\nimport { Button } from '@src/components/button';\nimport { Tag } from '@src/components/tag';\nimport { TitleRegular } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentStatus } from '../AgentBuilder.model';\nimport {\n\tBackButton,\n\tDraftButtonScope,\n\tTopBar,\n\tTopBarSide,\n} from '../AgentBuilder.styled';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\ninterface AgentBuilderTopBarProps {\n\tname: string;\n\tstatus: AgentStatus;\n\tonBack?: () => void;\n\tonSaveDraft: () => void;\n\tisSaving?: boolean;\n}\n\nexport const AgentBuilderTopBar: React.FC<AgentBuilderTopBarProps> = ({\n\tname,\n\tstatus,\n\tonBack,\n\tonSaveDraft,\n\tisSaving,\n}) => {\n\tconst { validation } = useAgentBuilderContext();\n\tconst isLive = status === 'live';\n\t// A draft needs both a name and a trigger (topic/phrases) — without either it\n\t// isn't identifiable or runnable from the listing.\n\tconst canSaveDraft = validation.about && validation.trigger;\n\treturn (\n\t\t<TopBar>\n\t\t\t<TopBarSide>\n\t\t\t\t{onBack && (\n\t\t\t\t\t<BackButton\n\t\t\t\t\t\tdata-test=\"agent-builder-back\"\n\t\t\t\t\t\tonClick={onBack}\n\t\t\t\t\t\taria-label=\"Back\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ArrowLeftIcon\n\t\t\t\t\t\t\twidth={24}\n\t\t\t\t\t\t\theight={24}\n\t\t\t\t\t\t\tcolor={COLORS.content.primary}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BackButton>\n\t\t\t\t)}\n\t\t\t\t<TitleRegular color={COLORS.content.primary}>\n\t\t\t\t\t{name || 'Untitled agent'}\n\t\t\t\t</TitleRegular>\n\t\t\t\t<Tag\n\t\t\t\t\ttagText={isLive ? 'Live' : 'Draft'}\n\t\t\t\t\ttype={isLive ? 'positive' : 'neutral'}\n\t\t\t\t\tvariant=\"regular\"\n\t\t\t\t/>\n\t\t\t</TopBarSide>\n\n\t\t\t<TopBarSide>\n\t\t\t\t<DraftButtonScope>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-save-draft\"\n\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Save as draft\"\n\t\t\t\t\t\tdisabled={!canSaveDraft}\n\t\t\t\t\t\tisLoading={isSaving}\n\t\t\t\t\t\tonClick={onSaveDraft}\n\t\t\t\t\t/>\n\t\t\t\t</DraftButtonScope>\n\t\t\t</TopBarSide>\n\t\t</TopBar>\n\t);\n};\n"],"names":["AgentBuilderTopBar","name","status","onBack","onSaveDraft","isSaving","validation","useAgentBuilderContext","isLive","canSaveDraft","TopBar","jsxs","TopBarSide","jsx","BackButton","ArrowLeftIcon","COLORS","TitleRegular","Tag","DraftButtonScope","Button"],"mappings":";;;;;;;;AAuBO,MAAMA,IAAwD,CAAC;AAAA,EACrE,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACD,MAAM;AACL,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjBC,IAASN,MAAW,QAGpBO,IAAeH,EAAW,SAASA,EAAW;AACpD,2BACEI,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAAT,KACA,gBAAAU;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,SAASX;AAAA,UACT,cAAW;AAAA,UAEX,UAAA,gBAAAU;AAAA,YAACE;AAAAA,YAAA;AAAA,cACA,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,OAAOC,EAAO,QAAQ;AAAA,YAAA;AAAA,UAAA;AAAA,QACvB;AAAA,MAAA;AAAA,wBAGDC,GAAA,EAAa,OAAOD,EAAO,QAAQ,SAClC,eAAQ,kBACV;AAAA,MACA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACA,SAASV,IAAS,SAAS;AAAA,UAC3B,MAAMA,IAAS,aAAa;AAAA,UAC5B,SAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IACT,GACD;AAAA,IAEA,gBAAAK,EAACD,GAAA,EACA,UAAA,gBAAAC,EAACM,GAAA,EACA,UAAA,gBAAAN;AAAA,MAACO;AAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,YAAW;AAAA,QACX,MAAK;AAAA,QACL,YAAW;AAAA,QACX,UAAU,CAACX;AAAA,QACX,WAAWJ;AAAA,QACX,SAASD;AAAA,MAAA;AAAA,IAAA,GAEX,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
- import { VariableListInterfaceV3 } from '../../variable-picker-v3/model';
3
2
  import { ConfigToolConfig, ConfigToolKey, ParamsBlob } from '../AgentBuilder.model';
4
3
  import { AgentCharLimits } from '../constants/charLimits';
5
4
  interface ConfigToolPanelProps {
@@ -19,13 +18,6 @@ interface ConfigToolPanelProps {
19
18
  /** Optional "Improve with AI" for multiline fields. Omit to hide it. */
20
19
  onImprove?: (text: string) => Promise<string>;
21
20
  charLimits?: AgentCharLimits;
22
- /**
23
- * Variable catalog for the `@` trigger. When non-empty, `@` in the email
24
- * tool's Subject / Send To / Reply To / CC opens the variable picker
25
- * directly, and Message Instructions upgrades to the variables-only mention
26
- * editor. Absent → the drawer behaves exactly as before.
27
- */
28
- variablesData?: VariableListInterfaceV3[];
29
21
  /** SideModal stacking order — raise it when opened over another drawer. */
30
22
  zIndex?: number;
31
23
  }
@@ -1,19 +1,18 @@
1
- import { jsx as r, jsxs as I } from "react/jsx-runtime";
2
- import L from "../../../assets/icons/cross.svg.js";
3
- import j, { useState as R, useRef as T } from "react";
4
- import w from "styled-components";
5
- import { TitleSmall as O, BodyCaption as F } from "../../TypographyStyle.js";
6
- import { COLORS as u } from "../../../constants/Theme.js";
7
- import { FieldBlock as P } from "../AgentBuilder.styled.js";
8
- import { AGENT_CHAR_LIMITS as Y } from "../constants/charLimits.js";
9
- import { DRAWER_BODY_STYLE as V, DRAWER_HEADER_STYLE as z, DrawerHeaderText as M } from "./DrawerHeaderText.js";
10
- import { ToolInstructionsField as H } from "./ToolInstructionsField.js";
11
- import { VariableTriggerArea as A } from "./VariableTriggerArea.js";
12
- import { SideModal as W } from "../../side-modal/SideModal.js";
13
- import { Switch as q } from "../../switch/Switch.js";
14
- import { Input as G } from "../../input/Input.js";
15
- import { Tag as N } from "../../tag/Tag.js";
16
- const J = {
1
+ import { jsx as r, jsxs as k } from "react/jsx-runtime";
2
+ import $ from "../../../assets/icons/cross.svg.js";
3
+ import { useState as w } from "react";
4
+ import u from "styled-components";
5
+ import { TitleSmall as C, BodyCaption as E } from "../../TypographyStyle.js";
6
+ import { COLORS as i } from "../../../constants/Theme.js";
7
+ import { FieldBlock as D } from "../AgentBuilder.styled.js";
8
+ import { AGENT_CHAR_LIMITS as O } from "../constants/charLimits.js";
9
+ import { DRAWER_BODY_STYLE as R, DRAWER_HEADER_STYLE as L, DrawerHeaderText as A } from "./DrawerHeaderText.js";
10
+ import { ToolInstructionsField as j } from "./ToolInstructionsField.js";
11
+ import { SideModal as P } from "../../side-modal/SideModal.js";
12
+ import { Switch as Y } from "../../switch/Switch.js";
13
+ import { Input as F } from "../../input/Input.js";
14
+ import { Tag as z } from "../../tag/Tag.js";
15
+ const V = {
17
16
  send_email: {
18
17
  title: "Send email",
19
18
  subtitle: "Notify someone by email when this agent can't continue. You pick the recipient, the AI drafts the message."
@@ -22,267 +21,222 @@ const J = {
22
21
  title: "Send Slack message",
23
22
  subtitle: "Post a message to a Slack channel. You pick the channel, the AI composes the message from the conversation."
24
23
  }
25
- }, K = ({
24
+ }, H = ({
26
25
  chips: n,
27
- onChange: s,
28
- placeholder: h,
29
- nativeID: y,
30
- hint: C,
31
- variablesData: E
26
+ onChange: a,
27
+ placeholder: c,
28
+ nativeID: p,
29
+ hint: d
32
30
  }) => {
33
- const [i, g] = R(""), [$, a] = R(!1), v = T(null), S = T(null), x = () => {
34
- const t = i.split(",").map((c) => c.trim()).filter(Boolean);
35
- t.length && s([...n, ...t.filter((c) => !n.includes(c))]), g("");
36
- }, f = T(x);
37
- f.current = x;
38
- const b = T(!1), l = T(!1);
39
- return /* @__PURE__ */ I(X, { ref: v, children: [
31
+ const [m, h] = w(""), y = () => {
32
+ const e = m.split(",").map((s) => s.trim()).filter(Boolean);
33
+ e.length && a([...n, ...e.filter((s) => !n.includes(s))]), h("");
34
+ };
35
+ return /* @__PURE__ */ k(G, { children: [
40
36
  /* @__PURE__ */ r(
41
- A,
37
+ N,
42
38
  {
43
- addDataButton: !0,
44
- variablesData: E,
45
- onOpenChange: (t) => {
46
- b.current = t, !t && setTimeout(() => {
47
- !l.current && !v.current?.contains(document.activeElement) && f.current(), l.current = !1;
48
- }, 0);
49
- },
50
- onInsert: (t, c) => {
51
- l.current = !0;
52
- const k = c ?? i.length;
53
- g(`${i.slice(0, k)}${t}${i.slice(k)}`), requestAnimationFrame(() => {
54
- const p = S.current;
55
- p?.focus(), p?.setSelectionRange(k + t.length, k + t.length);
56
- });
57
- },
58
- children: /* @__PURE__ */ r(
59
- Z,
60
- {
61
- id: y,
62
- ref: S,
63
- type: "text",
64
- placeholder: $ && i === "" && (E?.length ?? 0) > 0 ? "Enter text, type @ to add variable" : h,
65
- value: i,
66
- onChange: (t) => g(t.target.value),
67
- onFocus: () => a(!0),
68
- onBlur: () => {
69
- a(!1), setTimeout(() => {
70
- !b.current && !v.current?.contains(document.activeElement) && f.current();
71
- }, 0);
72
- },
73
- onKeyDown: (t) => {
74
- t.key === "Enter" || t.key === "," ? (t.preventDefault(), x()) : t.key === "Backspace" && i === "" && n.length > 0 && s(n.slice(0, -1));
75
- }
76
- }
77
- )
39
+ id: p,
40
+ type: "text",
41
+ placeholder: c,
42
+ value: m,
43
+ onChange: (e) => h(e.target.value),
44
+ onBlur: y,
45
+ onKeyDown: (e) => {
46
+ e.key === "Enter" || e.key === "," ? (e.preventDefault(), y()) : e.key === "Backspace" && m === "" && n.length > 0 && a(n.slice(0, -1));
47
+ }
78
48
  }
79
49
  ),
80
- C,
81
- n.length > 0 && /* @__PURE__ */ r(ee, { children: n.map((t, c) => /* @__PURE__ */ r(
82
- N,
50
+ d,
51
+ n.length > 0 && /* @__PURE__ */ r(q, { children: n.map((e, s) => /* @__PURE__ */ r(
52
+ z,
83
53
  {
84
- tagText: t.replace(/\{\{variable:([^}]+)\}\}/g, "{{$1}}"),
54
+ tagText: e,
85
55
  theme: "light",
86
56
  type: "neutral",
87
57
  variant: "regular",
88
- TrailingIcon: L,
89
- onTrailingIconClicked: () => s(n.filter((k, p) => p !== c))
58
+ TrailingIcon: $,
59
+ onTrailingIconClicked: () => a(n.filter((x, g) => g !== s))
90
60
  },
91
- `${t}-${c}`
61
+ `${e}-${s}`
92
62
  )) })
93
63
  ] });
94
- }, Q = (n, s) => {
95
- const h = {};
96
- return Object.keys(n).forEach((y) => {
97
- h[y] = s?.params[y]?.value ?? n[y].value;
98
- }), h;
99
- }, U = (n) => String(n ?? "").split(",").map((s) => s.trim()).filter(Boolean), ke = ({
64
+ }, M = (n, a) => {
65
+ const c = {};
66
+ return Object.keys(n).forEach((p) => {
67
+ c[p] = a?.params[p]?.value ?? n[p].value;
68
+ }), c;
69
+ }, W = (n) => String(n ?? "").split(",").map((a) => a.trim()).filter(Boolean), pt = ({
100
70
  toolKey: n,
101
- template: s,
102
- onClose: h,
103
- onSave: y,
104
- initial: C,
105
- onImprove: E,
106
- charLimits: i = Y,
107
- variablesData: g,
108
- zIndex: $
71
+ template: a,
72
+ onClose: c,
73
+ onSave: p,
74
+ initial: d,
75
+ onImprove: m,
76
+ charLimits: h = O,
77
+ zIndex: y
109
78
  }) => {
110
- const [a, v] = R(
111
- () => Q(s, C)
112
- ), [S, x] = R(!1), f = Object.values(s), b = n === "send_email", l = (e, m) => v((d) => ({ ...d, [e]: m })), t = f.every((e) => !(e.required && String(a[e.key] ?? "").trim() === "" || e.component === "MultilineInput" && String(a[e.key] ?? "").length > i.instructions)), c = async () => {
113
- if (!t || S)
79
+ const [e, s] = w(
80
+ () => M(a, d)
81
+ ), [x, g] = w(!1), v = Object.values(a), B = n === "send_email", f = (t, l) => s((o) => ({ ...o, [t]: l })), T = v.every(
82
+ (t) => !t.required || String(e[t.key] ?? "").trim() !== ""
83
+ ), I = async () => {
84
+ if (!T || x)
114
85
  return;
115
- const e = {};
116
- f.forEach((o) => {
117
- e[o.key] = { ...o, value: a[o.key] };
86
+ const t = {};
87
+ v.forEach((S) => {
88
+ t[S.key] = { ...S, value: e[S.key] };
118
89
  });
119
- const m = {
120
- id: C?.id ?? `${n}_${Date.now().toString(36)}`,
90
+ const l = {
91
+ id: d?.id ?? `${n}_${Date.now().toString(36)}`,
121
92
  tool_key: n,
122
- params: e
123
- }, d = y(m);
124
- if (d && typeof d.then == "function") {
125
- x(!0);
93
+ params: t
94
+ }, o = p(l);
95
+ if (o && typeof o.then == "function") {
96
+ g(!0);
126
97
  try {
127
- await d;
98
+ await o;
128
99
  } finally {
129
- x(!1);
100
+ g(!1);
130
101
  }
131
102
  }
132
- }, k = (e) => {
133
- const m = `config-tool-${e.key.toLowerCase()}`;
134
- switch (e.component) {
103
+ }, _ = (t) => {
104
+ const l = `config-tool-${t.key.toLowerCase()}`;
105
+ switch (t.component) {
135
106
  // Multi-value email chips — only for the email tool. Slack's KeywordInput
136
107
  // (channelId) falls through to the plain input below.
137
108
  case "KeywordInput":
138
- if (!b)
109
+ if (!B)
139
110
  break;
140
- return /* @__PURE__ */ I(P, { children: [
141
- /* @__PURE__ */ r(O, { color: u.content.primary, children: e.title }),
111
+ return /* @__PURE__ */ k(D, { children: [
112
+ /* @__PURE__ */ r(C, { color: i.content.primary, children: t.title }),
142
113
  /* @__PURE__ */ r(
143
- K,
114
+ H,
144
115
  {
145
- nativeID: m,
146
- placeholder: e.hint ?? "",
147
- chips: U(a[e.key]),
148
- onChange: (o) => l(e.key, o.join(",")),
149
- variablesData: g,
150
- hint: /* @__PURE__ */ r(F, { color: u.content.secondary, children: "Press Enter or comma to add multiple emails" })
116
+ nativeID: l,
117
+ placeholder: t.hint ?? "",
118
+ chips: W(e[t.key]),
119
+ onChange: (o) => f(t.key, o.join(",")),
120
+ hint: /* @__PURE__ */ r(E, { color: i.content.secondary, children: "Press Enter or comma to add multiple emails" })
151
121
  }
152
122
  )
153
- ] }, e.key);
123
+ ] }, t.key);
154
124
  case "MultilineInput":
155
125
  return /* @__PURE__ */ r(
156
- H,
126
+ j,
157
127
  {
158
- "data-test": m,
159
- label: e.title,
160
- value: String(a[e.key] ?? ""),
161
- onChange: (o) => l(e.key, o),
162
- maxLength: i.instructions,
163
- placeholder: e.hint ?? "",
164
- onImprove: E,
165
- variablesData: g
128
+ "data-test": l,
129
+ label: t.title,
130
+ value: String(e[t.key] ?? ""),
131
+ onChange: (o) => f(t.key, o),
132
+ maxLength: h.instructions,
133
+ placeholder: t.hint ?? "",
134
+ onImprove: m
166
135
  },
167
- e.key
136
+ t.key
168
137
  );
169
138
  case "Switch":
170
- return /* @__PURE__ */ I(te, { children: [
171
- /* @__PURE__ */ I(ne, { children: [
172
- /* @__PURE__ */ r(O, { color: u.content.primary, children: e.title }),
173
- e.hint && /* @__PURE__ */ r(F, { color: u.content.secondary, children: e.hint })
139
+ return /* @__PURE__ */ k(J, { children: [
140
+ /* @__PURE__ */ k(K, { children: [
141
+ /* @__PURE__ */ r(C, { color: i.content.primary, children: t.title }),
142
+ t.hint && /* @__PURE__ */ r(E, { color: i.content.secondary, children: t.hint })
174
143
  ] }),
175
144
  /* @__PURE__ */ r(
176
- q,
145
+ Y,
177
146
  {
178
- "data-test": m,
179
- value: !!a[e.key],
180
- onValueChange: async (o) => l(e.key, o)
147
+ "data-test": l,
148
+ value: !!e[t.key],
149
+ onValueChange: async (o) => f(t.key, o)
181
150
  }
182
151
  )
183
- ] }, e.key);
152
+ ] }, t.key);
184
153
  }
185
- const d = /* @__PURE__ */ r(
186
- G,
154
+ return /* @__PURE__ */ r(
155
+ F,
187
156
  {
188
- "data-test": m,
157
+ "data-test": l,
189
158
  variant: "small",
190
- labelText: e.title,
159
+ labelText: t.title,
191
160
  labelTextBold: !0,
192
- placeholder: e.hint ?? "",
193
- value: String(a[e.key] ?? ""),
194
- onChangeText: (o) => l(e.key, o)
195
- }
196
- );
197
- return b ? /* @__PURE__ */ r(
198
- A,
199
- {
200
- addDataButton: !0,
201
- variablesData: g,
202
- onInsert: (o, D) => {
203
- const B = String(a[e.key] ?? ""), _ = D ?? B.length;
204
- l(
205
- e.key,
206
- `${B.slice(0, _)}${o}${B.slice(_)}`
207
- );
208
- },
209
- children: d
161
+ placeholder: t.hint ?? "",
162
+ value: String(e[t.key] ?? ""),
163
+ onChangeText: (o) => f(t.key, o)
210
164
  },
211
- e.key
212
- ) : /* @__PURE__ */ r(j.Fragment, { children: d }, e.key);
213
- }, p = J[n];
165
+ t.key
166
+ );
167
+ }, b = V[n];
214
168
  return /* @__PURE__ */ r(
215
- W,
169
+ P,
216
170
  {
217
- header: p.title,
171
+ header: b.title,
218
172
  closeOnEscapeKey: !1,
219
- zIndex: $,
220
- headerCustomComponent: /* @__PURE__ */ r(M, { title: p.title, subtitle: p.subtitle }),
173
+ zIndex: y,
174
+ headerCustomComponent: /* @__PURE__ */ r(A, { title: b.title, subtitle: b.subtitle }),
221
175
  hideCrossButton: !1,
222
176
  width: "431px",
223
- headerStyle: z,
224
- bodyStyle: V,
225
- onClose: h,
177
+ headerStyle: L,
178
+ bodyStyle: R,
179
+ onClose: c,
226
180
  saveButtonProps: {
227
181
  "data-test": "config-tool-save",
228
182
  buttonText: "Save",
229
183
  buttonType: "primary",
230
184
  size: "small",
231
- disabled: !t,
232
- isLoading: S,
233
- onClick: c
185
+ disabled: !T,
186
+ isLoading: x,
187
+ onClick: I
234
188
  },
235
189
  cancelButtonProps: {
236
190
  "data-test": "config-tool-cancel",
237
191
  buttonText: "Cancel",
238
192
  buttonType: "tertiaryGray",
239
193
  size: "small",
240
- onClick: h
194
+ onClick: c
241
195
  },
242
- children: f.map(k)
196
+ children: v.map(_)
243
197
  }
244
198
  );
245
- }, X = w.div`
199
+ }, G = u.div`
246
200
  display: flex;
247
201
  flex-direction: column;
248
202
  gap: 8px;
249
- `, Z = w.input`
203
+ `, N = u.input`
250
204
  width: 100%;
251
205
  min-width: 0;
252
206
  box-sizing: border-box;
253
207
  height: 32px;
254
208
  padding: 0 8px;
255
- border: 1px solid ${u.stroke.primary};
209
+ border: 1px solid ${i.stroke.primary};
256
210
  border-radius: 4px;
257
211
  font-family: 'Inter', sans-serif;
258
212
  font-size: 14px;
259
- color: ${u.content.primary};
260
- background: ${u.surface.standard};
213
+ color: ${i.content.primary};
214
+ background: ${i.surface.standard};
261
215
  outline: none;
262
216
 
263
217
  &::placeholder {
264
- color: ${u.content.secondary};
218
+ color: ${i.content.secondary};
265
219
  }
266
220
 
267
221
  &:focus {
268
- border-color: ${u.stroke.brand};
222
+ border-color: ${i.stroke.brand};
269
223
  }
270
- `, ee = w.div`
224
+ `, q = u.div`
271
225
  display: flex;
272
226
  flex-wrap: wrap;
273
227
  gap: 6px;
274
- `, te = w.div`
228
+ `, J = u.div`
275
229
  display: flex;
276
230
  align-items: center;
277
231
  justify-content: space-between;
278
232
  gap: 12px;
279
- `, ne = w.div`
233
+ `, K = u.div`
280
234
  display: flex;
281
235
  flex-direction: column;
282
236
  gap: 4px;
283
237
  min-width: 0;
284
238
  `;
285
239
  export {
286
- ke as ConfigToolPanel
240
+ pt as ConfigToolPanel
287
241
  };
288
242
  //# sourceMappingURL=ConfigToolPanel.js.map