@bikdotai/bik-component-library 0.0.823-beta.2 → 0.0.823

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 (75) 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/AgentBuilder.styled.js +97 -66
  4. package/dist/cjs/components/agent-builder/AgentBuilder.styled.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/CreateSubAgentPanel.js +1 -1
  8. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/MentionField.js +1 -1
  10. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +4 -4
  12. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/StepRail.js +1 -1
  14. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  16. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/steps/Step1About.js +1 -1
  18. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +1 -1
  20. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  22. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  24. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  25. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  26. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  27. package/dist/cjs/components/agent-listing/AgentListing.styled.js +32 -28
  28. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -1
  29. package/dist/cjs/components/agent-listing/AgentListingHeader.js +1 -1
  30. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -1
  31. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  32. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  33. package/dist/cjs/components/template-preview/models/TemplateMeta.js +1 -1
  34. package/dist/cjs/components/template-preview/models/TemplateMeta.js.map +1 -1
  35. package/dist/esm/components/agent-builder/AgentBuilder.js +82 -83
  36. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  37. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +13 -5
  38. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +141 -102
  39. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  40. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +0 -1
  41. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +33 -46
  42. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  43. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +135 -119
  44. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  45. package/dist/esm/components/agent-builder/components/MentionField.js +44 -45
  46. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -1
  47. package/dist/esm/components/agent-builder/components/SelectableListSection.js +91 -94
  48. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  49. package/dist/esm/components/agent-builder/components/StepRail.js +28 -20
  50. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -1
  51. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +7 -0
  52. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +108 -98
  53. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  54. package/dist/esm/components/agent-builder/steps/Step1About.js +38 -35
  55. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -1
  56. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +118 -122
  57. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  58. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +112 -110
  59. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  60. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +72 -70
  61. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  62. package/dist/esm/components/agent-listing/AgentListing.js +45 -43
  63. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  64. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +7 -0
  65. package/dist/esm/components/agent-listing/AgentListing.styled.js +28 -24
  66. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -1
  67. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +2 -0
  68. package/dist/esm/components/agent-listing/AgentListingHeader.js +14 -12
  69. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -1
  70. package/dist/esm/components/agent-listing/AgentTableRow.js +102 -57
  71. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  72. package/dist/esm/components/template-preview/models/TemplateMeta.d.ts +1 -2
  73. package/dist/esm/components/template-preview/models/TemplateMeta.js +11 -11
  74. package/dist/esm/components/template-preview/models/TemplateMeta.js.map +1 -1
  75. package/package.json +1 -1
@@ -1,128 +1,129 @@
1
1
  import { jsxs as c, jsx as a } from "react/jsx-runtime";
2
- import { useState as E, useRef as Y, useCallback as A, useEffect as Z } from "react";
3
- import { TitleSmall as M } from "../../TypographyStyle.js";
4
- import { COLORS as L } from "../../../constants/Theme.js";
5
- import { Step3Grid as ee, Step3Main as te, Step3Side as ne, SideSection as oe } from "../AgentBuilder.styled.js";
6
- import { CreateSubAgentPanel as ae } from "../components/CreateSubAgentPanel.js";
2
+ import { useState as R, useRef as ee, useCallback as I, useEffect as te } from "react";
3
+ import { TitleSmall as L } from "../../TypographyStyle.js";
4
+ import { COLORS as M } from "../../../constants/Theme.js";
5
+ import { Step3Root as oe, Step3Grid as ne, SectionBodyWrap as P, Step3Divider as ae, SideSection as le } from "../AgentBuilder.styled.js";
6
+ import { CreateSubAgentPanel as ie } from "../components/CreateSubAgentPanel.js";
7
7
  import { MentionField as k } from "../components/MentionField.js";
8
- import { SelectableListSection as R } from "../components/SelectableListSection.js";
9
- import { StepSectionHeader as le } from "../components/StepSectionHeader.js";
10
- import { STEP_DEFINITIONS as se } from "../constants/steps.js";
11
- import { useAgentBuilderContext as ie } from "../context/AgentBuilderContext.js";
12
- import { toolSourceLabel as re, buildAgentMentionItems as P, appTypeLabel as N } from "../utils/mentionSerialization.js";
13
- import { SOURCE_ICONS as F, renderSourceIcon as ce } from "../utils/sourceIcons.js";
14
- import { Dropdown as ue } from "../../dropdown/Dropdown.js";
15
- import { unwrapDropdownValue as de } from "../../dropdown/utils.js";
16
- const pe = (n) => ce(F[n]) ?? void 0, _ = (n) => ({
17
- label: n.display_name,
18
- value: n.tool_id,
19
- leadingIcon: pe(n.source ?? "manifest")
20
- }), H = se[2], Ee = () => {
8
+ import { SelectableListSection as _ } from "../components/SelectableListSection.js";
9
+ import { StepSectionHeader as se } from "../components/StepSectionHeader.js";
10
+ import { STEP_DEFINITIONS as re } from "../constants/steps.js";
11
+ import { useAgentBuilderContext as ce } from "../context/AgentBuilderContext.js";
12
+ import { toolSourceLabel as de, buildAgentMentionItems as H, appTypeLabel as N } from "../utils/mentionSerialization.js";
13
+ import { SOURCE_ICONS as G, renderSourceIcon as ue } from "../utils/sourceIcons.js";
14
+ import { Dropdown as pe } from "../../dropdown/Dropdown.js";
15
+ import { unwrapDropdownValue as me } from "../../dropdown/utils.js";
16
+ const ge = (o) => ue(G[o]) ?? void 0, D = (o) => ({
17
+ label: o.display_name,
18
+ value: o.tool_id,
19
+ leadingIcon: ge(o.source ?? "manifest")
20
+ }), F = re[2], Le = () => {
21
21
  const {
22
- value: n,
23
- patch: u,
24
- updateField: G,
22
+ value: o,
23
+ patch: A,
24
+ updateField: B,
25
+ addReference: w,
25
26
  removeReference: C,
26
27
  availableTools: r,
27
- availableSubAgents: D,
28
- availableModels: f,
28
+ availableSubAgents: K,
29
+ availableModels: b,
29
30
  applicationType: T,
30
- charLimits: h,
31
+ charLimits: f,
31
32
  insertMention: d,
32
- onCreateSubAgent: s,
33
- onFetchSubAgent: p,
34
- onUpdateSubAgent: S,
35
- onImproveSubAgent: K,
36
- registerSubAgentCreator: v
37
- } = ie(), [l, m] = E(null), g = Y(0), [j, w] = E([]), b = /* @__PURE__ */ new Map();
38
- D.forEach((e) => b.set(e.id, e)), j.forEach((e) => b.set(e.id, e));
39
- const O = Array.from(b.values()), y = A(() => {
40
- g.current += 1, m({ key: g.current, title: "Create sub-agent" });
33
+ onCreateSubAgent: i,
34
+ onFetchSubAgent: u,
35
+ onUpdateSubAgent: h,
36
+ onImproveSubAgent: j,
37
+ registerSubAgentCreator: S
38
+ } = ce(), [l, p] = R(null), m = ee(0), [U, O] = R([]), g = /* @__PURE__ */ new Map();
39
+ K.forEach((e) => g.set(e.id, e)), U.forEach((e) => g.set(e.id, e));
40
+ const x = Array.from(g.values()), v = I(() => {
41
+ m.current += 1, p({ key: m.current, title: "Create sub-agent" });
41
42
  }, []);
42
- Z(() => {
43
- if (s)
44
- return v(y), () => v(null);
45
- }, [v, y, s]);
46
- const B = A(
43
+ te(() => {
44
+ if (i)
45
+ return S(v), () => S(null);
46
+ }, [S, v, i]);
47
+ const W = I(
47
48
  async (e) => {
48
- if (!p)
49
+ if (!u)
49
50
  return;
50
- const t = await p(e);
51
- g.current += 1, m({
52
- key: g.current,
51
+ const t = await u(e);
52
+ m.current += 1, p({
53
+ key: m.current,
53
54
  title: "Edit sub-agent",
54
55
  editingId: e,
55
56
  initial: t
56
57
  });
57
58
  },
58
- [p]
59
- ), U = A(
59
+ [u]
60
+ ), $ = I(
60
61
  async (e) => {
61
62
  if (l?.editingId) {
62
- if (S) {
63
- const t = await S(l.editingId, e);
64
- w((o) => [
65
- ...o.filter((i) => i.id !== t.id),
63
+ if (h) {
64
+ const t = await h(l.editingId, e);
65
+ O((n) => [
66
+ ...n.filter((s) => s.id !== t.id),
66
67
  t
67
68
  ]);
68
69
  }
69
- } else if (s) {
70
- const t = await s(e);
71
- w((o) => [...o, t]), u({ subagents: [...n.subagents, t.id] }), d("subagent", t.id, `sub-agent: ${t.name}`);
70
+ } else if (i) {
71
+ const t = await i(e);
72
+ O((n) => [...n, t]), A({ subagents: [...o.subagents, t.id] }), d("subagent", t.id, `sub-agent: ${t.name}`);
72
73
  }
73
- m(null);
74
+ p(null);
74
75
  },
75
76
  [
76
77
  l,
77
- S,
78
- s,
79
- u,
80
- n.subagents,
78
+ h,
79
+ i,
80
+ A,
81
+ o.subagents,
81
82
  d
82
83
  ]
83
- ), z = n.tools.map((e) => {
84
- const t = r.find((o) => o.tool_id === e);
84
+ ), z = o.tools.map((e) => {
85
+ const t = r.find((n) => n.tool_id === e);
85
86
  return t ? {
86
87
  id: e,
87
88
  label: t.display_name,
88
- icon: F[t.source ?? "manifest"]
89
+ icon: G[t.source ?? "manifest"]
89
90
  } : null;
90
- }).filter((e) => e !== null), V = r.map(_), W = (() => {
91
+ }).filter((e) => e !== null), V = r.map(D), q = (() => {
91
92
  const e = [], t = /* @__PURE__ */ new Map();
92
- return r.forEach((o) => {
93
- const i = o.source ?? "manifest";
94
- t.has(i) || (t.set(i, []), e.push(i)), t.get(i)?.push(_(o));
95
- }), e.map((o) => ({
96
- source: o,
97
- label: re(o),
98
- options: t.get(o) ?? []
93
+ return r.forEach((n) => {
94
+ const s = n.source ?? "manifest";
95
+ t.has(s) || (t.set(s, []), e.push(s)), t.get(s)?.push(D(n));
96
+ }), e.map((n) => ({
97
+ source: n,
98
+ label: de(n),
99
+ options: t.get(n) ?? []
99
100
  }));
100
- })(), $ = n.subagents.map((e) => {
101
- const t = b.get(e);
101
+ })(), J = o.subagents.map((e) => {
102
+ const t = g.get(e);
102
103
  return t ? { id: e, label: t.name } : null;
103
- }).filter((e) => e !== null), q = O.map((e) => ({
104
+ }).filter((e) => e !== null), Q = x.map((e) => ({
104
105
  label: e.name,
105
106
  value: e.id
106
- })), x = N(T), J = P(r, [], x), Q = P(
107
+ })), E = N(T), X = H(r, [], E), Y = H(
107
108
  [],
108
- O,
109
- x
110
- ), X = f.map((e) => ({
109
+ x,
110
+ E
111
+ ), Z = b.map((e) => ({
111
112
  label: e.label,
112
113
  value: e.value,
113
- selected: e.value === n.model
114
- })), I = f.find((e) => e.value === n.model);
115
- return /* @__PURE__ */ c("div", { className: "bik-agent-step bik-agent-step--response", children: [
116
- /* @__PURE__ */ a(le, { title: H.title, helper: H.helper }),
117
- /* @__PURE__ */ c(ee, { children: [
118
- /* @__PURE__ */ c(te, { children: [
114
+ selected: e.value === o.model
115
+ })), y = b.find((e) => e.value === o.model);
116
+ return /* @__PURE__ */ c(oe, { children: [
117
+ /* @__PURE__ */ a(se, { title: F.title, helper: F.helper }),
118
+ /* @__PURE__ */ c(ne, { $grow: !0, children: [
119
+ /* @__PURE__ */ c(P, { children: [
119
120
  /* @__PURE__ */ a(
120
121
  k,
121
122
  {
122
123
  fieldKey: "instructions",
123
124
  "data-test": "agent-instructions",
124
125
  label: "Instructions",
125
- maxLength: h.instructions,
126
+ maxLength: f.instructions,
126
127
  placeholder: "Write what this agent should do. Type @ to reference a tool or sub-agent.",
127
128
  minHeight: "200px"
128
129
  }
@@ -133,68 +134,69 @@ const pe = (n) => ce(F[n]) ?? void 0, _ = (n) => ({
133
134
  fieldKey: "guardrail",
134
135
  "data-test": "agent-guardrail",
135
136
  label: "Guardrails",
136
- maxLength: h.guardrail,
137
+ maxLength: f.guardrail,
137
138
  placeholder: "Things this agent must never do. Type @ to reference a tool or sub-agent.",
138
139
  minHeight: "140px"
139
140
  }
140
141
  )
141
142
  ] }),
142
- /* @__PURE__ */ c(ne, { children: [
143
+ /* @__PURE__ */ a(ae, {}),
144
+ /* @__PURE__ */ c(P, { children: [
143
145
  /* @__PURE__ */ a(
144
- R,
146
+ _,
145
147
  {
146
148
  title: "Tools",
147
149
  helper: "Actions this agent can take while responding.",
148
150
  dataTestPrefix: "agent-tools",
149
151
  items: z,
150
152
  addableOptions: V,
151
- sourceGroups: W,
152
- mentionItems: J,
153
+ sourceGroups: q,
154
+ mentionItems: X,
153
155
  emptyText: "No tools added yet.",
154
156
  onAdd: (e) => {
155
- d("tool", e), n.tools.includes(e) || u({ tools: [...n.tools, e] });
157
+ d("tool", e), w("tool", e);
156
158
  },
157
159
  onRemove: (e) => C("tool", e)
158
160
  }
159
161
  ),
160
162
  /* @__PURE__ */ a(
161
- R,
163
+ _,
162
164
  {
163
165
  title: "Sub-agents",
164
166
  helper: "Other agents this agent can hand off the conversation to.",
165
167
  dataTestPrefix: "agent-subagents",
166
- items: $,
167
- addableOptions: q,
168
- mentionItems: Q,
168
+ items: J,
169
+ addableOptions: Q,
170
+ mentionItems: Y,
169
171
  emptyText: "No sub-agents added yet.",
170
172
  onAdd: (e) => {
171
- d("subagent", e), n.subagents.includes(e) || u({ subagents: [...n.subagents, e] });
173
+ d("subagent", e), w("subagent", e);
172
174
  },
173
175
  onRemove: (e) => C("subagent", e),
174
- onConfigure: p ? B : void 0,
175
- createOption: s ? { label: "Create new", onSelect: y } : void 0
176
+ onConfigure: u ? W : void 0,
177
+ createOption: i ? { label: "Create new", onSelect: v } : void 0
176
178
  }
177
179
  ),
178
- f.length > 0 && /* @__PURE__ */ c(oe, { children: [
179
- /* @__PURE__ */ a(M, { color: L.content.primary, children: "Advanced settings" }),
180
- /* @__PURE__ */ a(M, { color: L.content.secondary, children: "Select AI model" }),
180
+ b.length > 0 && /* @__PURE__ */ c(le, { children: [
181
+ /* @__PURE__ */ a(L, { color: M.content.primary, children: "Advanced settings" }),
182
+ /* @__PURE__ */ a(L, { color: M.content.secondary, children: "Select AI model" }),
181
183
  /* @__PURE__ */ a(
182
- ue,
184
+ pe,
183
185
  {
184
186
  "data-test": "agent-model",
185
187
  size: "small",
186
188
  width: "100%",
187
189
  placeHolder: "Select model",
188
- options: X,
189
- defaultOptions: I ? [
190
+ options: Z,
191
+ defaultOptions: y ? [
190
192
  {
191
- label: I.label,
192
- value: I.value
193
+ label: y.label,
194
+ value: y.value
193
195
  }
194
196
  ] : void 0,
195
197
  onSelect: (e) => {
196
- const t = de(e);
197
- t && G("model", t);
198
+ const t = me(e);
199
+ t && B("model", t);
198
200
  }
199
201
  }
200
202
  )
@@ -202,22 +204,22 @@ const pe = (n) => ce(F[n]) ?? void 0, _ = (n) => ({
202
204
  ] })
203
205
  ] }),
204
206
  l && /* @__PURE__ */ a(
205
- ae,
207
+ ie,
206
208
  {
207
209
  title: l.title,
208
210
  initial: l.initial,
209
211
  availableTools: r,
210
212
  appLabel: N(T),
211
- charLimits: h,
212
- onImprove: K,
213
- onClose: () => m(null),
214
- onSave: U
213
+ charLimits: f,
214
+ onImprove: j,
215
+ onClose: () => p(null),
216
+ onSave: $
215
217
  },
216
218
  l.key
217
219
  )
218
220
  ] });
219
221
  };
220
222
  export {
221
- Ee as Step3HowItResponds
223
+ Le as Step3HowItResponds
222
224
  };
223
225
  //# sourceMappingURL=Step3HowItResponds.js.map
@@ -1 +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, unwrapDropdownValue } 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 { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\nimport {\n\tappTypeLabel,\n\tbuildAgentMentionItems,\n\ttoolSourceLabel,\n} from '../utils/mentionSerialization';\nimport { renderSourceIcon, 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\trenderSourceIcon(SOURCE_ICONS[source]) ?? undefined;\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\tcharLimits,\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\t// Per-section `@`-picker items so the header \"+\" opens the same reference\n\t// picker as the Instructions editor, drilled straight into this section's\n\t// category (tools OR sub-agents).\n\tconst appLabel = appTypeLabel(applicationType);\n\tconst toolMentionItems = buildAgentMentionItems(availableTools, [], appLabel);\n\tconst subAgentMentionItems = buildAgentMentionItems(\n\t\t[],\n\t\tknownSubAgents,\n\t\tappLabel,\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={charLimits.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={charLimits.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\tmentionItems={toolMentionItems}\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\tmentionItems={subAgentMentionItems}\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 v = unwrapDropdownValue(opt);\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\tcharLimits={charLimits}\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","renderSourceIcon","SOURCE_ICONS","toolOption","t","STEP","STEP_DEFINITIONS","Step3HowItResponds","value","patch","updateField","removeReference","availableTools","availableSubAgents","availableModels","applicationType","charLimits","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","appLabel","appTypeLabel","toolMentionItems","buildAgentMentionItems","subAgentMentionItems","modelOptions","m","selectedModel","jsxs","jsx","StepSectionHeader","Step3Grid","Step3Main","MentionField","Step3Side","SelectableListSection","SideSection","TitleSmall","COLORS","Dropdown","opt","v","unwrapDropdownValue","CreateSubAgentPanel"],"mappings":"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"}
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, unwrapDropdownValue } 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\tSectionBodyWrap,\n\tSideSection,\n\tStep3Divider,\n\tStep3Grid,\n\tStep3Root,\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 { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\nimport {\n\tappTypeLabel,\n\tbuildAgentMentionItems,\n\ttoolSourceLabel,\n} from '../utils/mentionSerialization';\nimport { renderSourceIcon, 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\trenderSourceIcon(SOURCE_ICONS[source]) ?? undefined;\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\taddReference,\n\t\tremoveReference,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableModels,\n\t\tapplicationType,\n\t\tcharLimits,\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\t// Per-section `@`-picker items so the header \"+\" opens the same reference\n\t// picker as the Instructions editor, drilled straight into this section's\n\t// category (tools OR sub-agents).\n\tconst appLabel = appTypeLabel(applicationType);\n\tconst toolMentionItems = buildAgentMentionItems(availableTools, [], appLabel);\n\tconst subAgentMentionItems = buildAgentMentionItems(\n\t\t[],\n\t\tknownSubAgents,\n\t\tappLabel,\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<Step3Root>\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\n\t\t\t<Step3Grid $grow>\n\t\t\t\t<SectionBodyWrap>\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={charLimits.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={charLimits.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</SectionBodyWrap>\n\n\t\t\t\t<Step3Divider />\n\n\t\t\t\t<SectionBodyWrap>\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\tmentionItems={toolMentionItems}\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; addReference dedupes and reads\n\t\t\t\t\t\t\t// the latest value.\n\t\t\t\t\t\t\tinsertMention('tool', id);\n\t\t\t\t\t\t\taddReference('tool', id);\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\tmentionItems={subAgentMentionItems}\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\taddReference('subagent', id);\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 v = unwrapDropdownValue(opt);\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</SectionBodyWrap>\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\tcharLimits={charLimits}\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</Step3Root>\n\t);\n};\n"],"names":["toolIconEl","source","renderSourceIcon","SOURCE_ICONS","toolOption","t","STEP","STEP_DEFINITIONS","Step3HowItResponds","value","patch","updateField","addReference","removeReference","availableTools","availableSubAgents","availableModels","applicationType","charLimits","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","appLabel","appTypeLabel","toolMentionItems","buildAgentMentionItems","subAgentMentionItems","modelOptions","m","selectedModel","Step3Root","jsx","StepSectionHeader","jsxs","Step3Grid","SectionBodyWrap","MentionField","Step3Divider","SelectableListSection","SideSection","TitleSmall","COLORS","Dropdown","opt","v","unwrapDropdownValue","CreateSubAgentPanel"],"mappings":"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"}
@@ -1,77 +1,79 @@
1
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
2
  import { RadioButton as d } from "../../radioButton/RadioButton.js";
3
3
  import { TitleSmall as a, BodyCaption as l } from "../../TypographyStyle.js";
4
4
  import { COLORS as o } from "../../../constants/Theme.js";
5
- import { FieldBlock as u, CardRow as v, RadioCard as s, RadioCardText as h } from "../AgentBuilder.styled.js";
6
- import { AiTextArea as g } from "../components/AiTextArea.js";
7
- import { StepSectionHeader as C } from "../components/StepSectionHeader.js";
8
- import { STEP_DEFINITIONS as S } from "../constants/steps.js";
5
+ import { SectionBodyWrap as u, FieldBlock as v, CardRow as g, RadioCard as h, RadioCardText as s } from "../AgentBuilder.styled.js";
6
+ import { AiTextArea as C } from "../components/AiTextArea.js";
7
+ import { StepSectionHeader as S } from "../components/StepSectionHeader.js";
8
+ import { STEP_DEFINITIONS as y } from "../constants/steps.js";
9
9
  import { useAgentBuilderContext as x } from "../context/AgentBuilderContext.js";
10
- const m = S[3], _ = () => {
11
- const { value: p, patch: c, charLimits: f } = x(), { handover: t } = p, r = (i) => c({ handover: { ...t, method: i } });
12
- return /* @__PURE__ */ n("div", { className: "bik-agent-step bik-agent-step--handover", children: [
13
- /* @__PURE__ */ e(C, { title: m.title, helper: m.helper }),
14
- /* @__PURE__ */ e(
15
- g,
16
- {
17
- "data-test": "handover-when",
18
- label: "Handover when",
19
- value: t.when,
20
- onChange: (i) => c({ handover: { ...t, when: i } }),
21
- maxLength: f.handoverWhen,
22
- placeholder: "e.g. Hand over if the customer is angry or requests a human agent.",
23
- minHeight: "120px"
24
- }
25
- ),
26
- /* @__PURE__ */ n(u, { children: [
27
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Handover method" }),
28
- /* @__PURE__ */ n(v, { children: [
29
- /* @__PURE__ */ n(
30
- s,
31
- {
32
- "data-test": "handover-method-default",
33
- selected: t.method === "default",
34
- onClick: () => r("default"),
35
- children: [
36
- /* @__PURE__ */ e(
37
- d,
38
- {
39
- isActive: t.method === "default",
40
- onValueChange: () => r("default"),
41
- skipSelectingOff: !0,
42
- activeColor: o.content.brand
43
- }
44
- ),
45
- /* @__PURE__ */ n(h, { children: [
46
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Use default settings" }),
47
- /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Defined in Customize > Agent handover" })
48
- ] })
49
- ]
50
- }
51
- ),
52
- /* @__PURE__ */ n(
53
- s,
54
- {
55
- "data-test": "handover-method-specific",
56
- selected: t.method === "specific_channels",
57
- onClick: () => r("specific_channels"),
58
- children: [
59
- /* @__PURE__ */ e(
60
- d,
61
- {
62
- isActive: t.method === "specific_channels",
63
- onValueChange: () => r("specific_channels"),
64
- skipSelectingOff: !0,
65
- activeColor: o.content.brand
66
- }
67
- ),
68
- /* @__PURE__ */ n(h, { children: [
69
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Choose specific channels" }),
70
- /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Always hands over regardless of business hours." })
71
- ] })
72
- ]
73
- }
74
- )
10
+ const m = y[3], _ = () => {
11
+ const { value: p, patch: c, charLimits: f } = x(), { handover: n } = p, r = (i) => c({ handover: { ...n, method: i } });
12
+ return /* @__PURE__ */ t("div", { className: "bik-agent-step bik-agent-step--handover", children: [
13
+ /* @__PURE__ */ e(S, { title: m.title, helper: m.helper }),
14
+ /* @__PURE__ */ t(u, { children: [
15
+ /* @__PURE__ */ e(
16
+ C,
17
+ {
18
+ "data-test": "handover-when",
19
+ label: "Handover when",
20
+ value: n.when,
21
+ onChange: (i) => c({ handover: { ...n, when: i } }),
22
+ maxLength: f.handoverWhen,
23
+ placeholder: "e.g. Hand over if the customer is angry or requests a human agent.",
24
+ minHeight: "120px"
25
+ }
26
+ ),
27
+ /* @__PURE__ */ t(v, { children: [
28
+ /* @__PURE__ */ e(a, { color: o.content.primary, children: "Handover method" }),
29
+ /* @__PURE__ */ t(g, { children: [
30
+ /* @__PURE__ */ t(
31
+ h,
32
+ {
33
+ "data-test": "handover-method-default",
34
+ selected: n.method === "default",
35
+ onClick: () => r("default"),
36
+ children: [
37
+ /* @__PURE__ */ e(
38
+ d,
39
+ {
40
+ isActive: n.method === "default",
41
+ onValueChange: () => r("default"),
42
+ skipSelectingOff: !0,
43
+ activeColor: o.content.brand
44
+ }
45
+ ),
46
+ /* @__PURE__ */ t(s, { children: [
47
+ /* @__PURE__ */ e(a, { color: o.content.primary, children: "Use default settings" }),
48
+ /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Defined in Customize > Agent handover" })
49
+ ] })
50
+ ]
51
+ }
52
+ ),
53
+ /* @__PURE__ */ t(
54
+ h,
55
+ {
56
+ "data-test": "handover-method-specific",
57
+ selected: n.method === "specific_channels",
58
+ onClick: () => r("specific_channels"),
59
+ children: [
60
+ /* @__PURE__ */ e(
61
+ d,
62
+ {
63
+ isActive: n.method === "specific_channels",
64
+ onValueChange: () => r("specific_channels"),
65
+ skipSelectingOff: !0,
66
+ activeColor: o.content.brand
67
+ }
68
+ ),
69
+ /* @__PURE__ */ t(s, { children: [
70
+ /* @__PURE__ */ e(a, { color: o.content.primary, children: "Choose specific channels" }),
71
+ /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Always hands over regardless of business hours." })
72
+ ] })
73
+ ]
74
+ }
75
+ )
76
+ ] })
75
77
  ] })
76
78
  ] })
77
79
  ] });
@@ -1 +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 { 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, charLimits } = 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={charLimits.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","charLimits","useAgentBuilderContext","handover","setMethod","method","jsxs","jsx","StepSectionHeader","AiTextArea","text","FieldBlock","TitleSmall","COLORS","CardRow","RadioCard","RadioButton","RadioCardText","BodyCaption"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAAOC,EAAiB,CAAC,GAElBC,IAA+B,MAAM;AACjD,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAA,GAC/B,EAAE,UAAAC,MAAaJ,GAEfK,IAAY,CAACC,MAClBL,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,QAAAE,EAAA,GAAU;AAE5C,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,2CACd,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,OAAOZ,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,IAE3D,gBAAAW;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,OAAM;AAAA,QACN,OAAON,EAAS;AAAA,QAChB,UAAU,CAACO,MAASV,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,MAAMO,EAAA,GAAQ;AAAA,QACnE,WAAWT,EAAW;AAAA,QACtB,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,sBAGVU,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAJ,EAACK,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,mBAAe;AAAA,wBACzDC,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAR;AAAA,UAACS;AAAA,UAAA;AAAA,YACA,aAAU;AAAA,YACV,UAAUZ,EAAS,WAAW;AAAA,YAC9B,SAAS,MAAMC,EAAU,SAAS;AAAA,YAElC,UAAA;AAAA,cAAA,gBAAAG;AAAA,gBAACS;AAAA,gBAAA;AAAA,kBACA,UAAUb,EAAS,WAAW;AAAA,kBAC9B,eAAe,MAAMC,EAAU,SAAS;AAAA,kBACxC,kBAAgB;AAAA,kBAChB,aAAaS,EAAO,QAAQ;AAAA,gBAAA;AAAA,cAAA;AAAA,gCAE5BI,GAAA,EACA,UAAA;AAAA,gBAAA,gBAAAV,EAACK,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,gBAAAP;AAAA,UAACS;AAAA,UAAA;AAAA,YACA,aAAU;AAAA,YACV,UAAUZ,EAAS,WAAW;AAAA,YAC9B,SAAS,MAAMC,EAAU,mBAAmB;AAAA,YAE5C,UAAA;AAAA,cAAA,gBAAAG;AAAA,gBAACS;AAAA,gBAAA;AAAA,kBACA,UAAUb,EAAS,WAAW;AAAA,kBAC9B,eAAe,MAAMC,EAAU,mBAAmB;AAAA,kBAClD,kBAAgB;AAAA,kBAChB,aAAaS,EAAO,QAAQ;AAAA,gBAAA;AAAA,cAAA;AAAA,gCAE5BI,GAAA,EACA,UAAA;AAAA,gBAAA,gBAAAV,EAACK,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;"}
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\tSectionBodyWrap,\n} from '../AgentBuilder.styled';\nimport { AiTextArea } from '../components/AiTextArea';\nimport { StepSectionHeader } from '../components/StepSectionHeader';\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, charLimits } = 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<SectionBodyWrap>\n\t\t\t\t<AiTextArea\n\t\t\t\t\tdata-test=\"handover-when\"\n\t\t\t\t\tlabel=\"Handover when\"\n\t\t\t\t\tvalue={handover.when}\n\t\t\t\t\tonChange={(text) => patch({ handover: { ...handover, when: text } })}\n\t\t\t\t\tmaxLength={charLimits.handoverWhen}\n\t\t\t\t\tplaceholder=\"e.g. Hand over if the customer is angry or requests a human agent.\"\n\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t/>\n\n\t\t\t\t<FieldBlock>\n\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\tHandover method\n\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t<CardRow>\n\t\t\t\t\t\t<RadioCard\n\t\t\t\t\t\t\tdata-test=\"handover-method-default\"\n\t\t\t\t\t\t\tselected={handover.method === 'default'}\n\t\t\t\t\t\t\tonClick={() => setMethod('default')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\t\tisActive={handover.method === 'default'}\n\t\t\t\t\t\t\t\tonValueChange={() => setMethod('default')}\n\t\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t\tUse default settings\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\tDefined in Customize &gt; Agent handover\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t\t</RadioCard>\n\n\t\t\t\t\t\t<RadioCard\n\t\t\t\t\t\t\tdata-test=\"handover-method-specific\"\n\t\t\t\t\t\t\tselected={handover.method === 'specific_channels'}\n\t\t\t\t\t\t\tonClick={() => setMethod('specific_channels')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\t\tisActive={handover.method === 'specific_channels'}\n\t\t\t\t\t\t\t\tonValueChange={() => setMethod('specific_channels')}\n\t\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t\tChoose specific channels\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\tAlways hands over regardless of business hours.\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t\t</RadioCard>\n\t\t\t\t\t</CardRow>\n\t\t\t\t</FieldBlock>\n\t\t\t</SectionBodyWrap>\n\t\t</div>\n\t);\n};\n"],"names":["STEP","STEP_DEFINITIONS","Step4HandoverRules","value","patch","charLimits","useAgentBuilderContext","handover","setMethod","method","jsxs","jsx","StepSectionHeader","SectionBodyWrap","AiTextArea","text","FieldBlock","TitleSmall","COLORS","CardRow","RadioCard","RadioButton","RadioCardText","BodyCaption"],"mappings":";;;;;;;;;AAiBA,MAAMA,IAAOC,EAAiB,CAAC,GAElBC,IAA+B,MAAM;AACjD,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAA,GAC/B,EAAE,UAAAC,MAAaJ,GAEfK,IAAY,CAACC,MAClBL,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,QAAAE,EAAA,GAAU;AAE5C,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,2CACd,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,OAAOZ,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,sBAE1Da,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,OAAM;AAAA,UACN,OAAOP,EAAS;AAAA,UAChB,UAAU,CAACQ,MAASX,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,MAAMQ,EAAA,GAAQ;AAAA,UACnE,WAAWV,EAAW;AAAA,UACtB,aAAY;AAAA,UACZ,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,wBAGVW,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAL,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,mBAE3C;AAAA,0BACCC,GAAA,EACA,UAAA;AAAA,UAAA,gBAAAT;AAAA,YAACU;AAAA,YAAA;AAAA,cACA,aAAU;AAAA,cACV,UAAUb,EAAS,WAAW;AAAA,cAC9B,SAAS,MAAMC,EAAU,SAAS;AAAA,cAElC,UAAA;AAAA,gBAAA,gBAAAG;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACA,UAAUd,EAAS,WAAW;AAAA,oBAC9B,eAAe,MAAMC,EAAU,SAAS;AAAA,oBACxC,kBAAgB;AAAA,oBAChB,aAAaU,EAAO,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAE5BI,GAAA,EACA,UAAA;AAAA,kBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,wBAE3C;AAAA,oCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,wCAAA,CAE9C;AAAA,gBAAA,EAAA,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD,gBAAAR;AAAA,YAACU;AAAA,YAAA;AAAA,cACA,aAAU;AAAA,cACV,UAAUb,EAAS,WAAW;AAAA,cAC9B,SAAS,MAAMC,EAAU,mBAAmB;AAAA,cAE5C,UAAA;AAAA,gBAAA,gBAAAG;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACA,UAAUd,EAAS,WAAW;AAAA,oBAC9B,eAAe,MAAMC,EAAU,mBAAmB;AAAA,oBAClD,kBAAgB;AAAA,oBAChB,aAAaU,EAAO,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAE5BI,GAAA,EACA,UAAA;AAAA,kBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,4BAE3C;AAAA,oCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,kDAAA,CAE9C;AAAA,gBAAA,EAAA,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACD,EAAA,CACD;AAAA,MAAA,EAAA,CACD;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}