@bikdotai/bik-component-library 0.0.841-beta.0 → 0.0.841

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 (147) 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 +51 -39
  4. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
  6. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
  8. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +2 -2
  10. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
  14. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  16. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
  18. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/MentionPicker.js +22 -22
  20. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +4 -4
  22. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +6 -6
  24. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +1 -1
  26. package/dist/cjs/components/agent-builder/components/StepSectionHeader.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/Step2WhenItStepsIn.js +3 -1
  32. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  33. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  34. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  35. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  36. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  37. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +5 -3
  38. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  39. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  40. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  41. package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
  42. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
  43. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  44. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  45. package/dist/cjs/components/agent-listing/AgentTableShimmer.js +2 -0
  46. package/dist/cjs/components/agent-listing/AgentTableShimmer.js.map +1 -0
  47. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +1 -1
  48. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -1
  49. package/dist/cjs/components/avatar/Avatar.js +1 -1
  50. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  51. package/dist/cjs/components/avatar/Avatar.styled.js +4 -12
  52. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  53. package/dist/cjs/components/button/Button.styled.js +1 -0
  54. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  55. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  56. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  57. package/dist/cjs/editor/BikEditor.js +1 -1
  58. package/dist/cjs/editor/BikEditor.js.map +1 -1
  59. package/dist/cjs/editor/BikEditor.styles.js +97 -54
  60. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  61. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
  62. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  63. package/dist/cjs/icons/Informational/Common UI/Shield.js +2 -0
  64. package/dist/cjs/icons/Informational/Common UI/Shield.js.map +1 -0
  65. package/dist/cjs/icons/index.js +1 -1
  66. package/dist/esm/components/agent-builder/AgentBuilder.js +106 -102
  67. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  68. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +3 -6
  69. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +118 -106
  70. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  71. package/dist/esm/components/agent-builder/__fixtures__/agentValue.d.ts +11 -0
  72. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -21
  73. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  74. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +27 -26
  75. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  76. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +25 -25
  77. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  78. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +24 -23
  79. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  80. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +3 -1
  81. package/dist/esm/components/agent-builder/components/DiscardModal.js +33 -24
  82. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
  83. package/dist/esm/components/agent-builder/components/GoLiveModal.js +23 -21
  84. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  85. package/dist/esm/components/agent-builder/components/MentionEditor.js +19 -19
  86. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  87. package/dist/esm/components/agent-builder/components/MentionPicker.js +174 -144
  88. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  89. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +2 -0
  90. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +111 -105
  91. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  92. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +13 -4
  93. package/dist/esm/components/agent-builder/components/SelectableListSection.js +161 -136
  94. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  95. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +7 -7
  96. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  97. package/dist/esm/components/agent-builder/constants/tools.js +6 -6
  98. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  99. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +104 -103
  100. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  101. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +101 -102
  102. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  103. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +146 -144
  104. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  105. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +23 -79
  106. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  107. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +35 -23
  108. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  109. package/dist/esm/components/agent-listing/AgentListing.js +65 -65
  110. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  111. package/dist/esm/components/agent-listing/AgentTable.d.ts +2 -0
  112. package/dist/esm/components/agent-listing/AgentTable.js +16 -15
  113. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
  114. package/dist/esm/components/agent-listing/AgentTableRow.js +11 -11
  115. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  116. package/dist/esm/components/agent-listing/AgentTableShimmer.d.ts +12 -0
  117. package/dist/esm/components/agent-listing/AgentTableShimmer.js +20 -0
  118. package/dist/esm/components/agent-listing/AgentTableShimmer.js.map +1 -0
  119. package/dist/esm/components/agent-listing/DeleteAgentModal.js +8 -8
  120. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -1
  121. package/dist/esm/components/agent-listing/__fixtures__/agents.d.ts +3 -0
  122. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  123. package/dist/esm/components/avatar/Avatar.js +24 -34
  124. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  125. package/dist/esm/components/avatar/Avatar.styled.d.ts +0 -1
  126. package/dist/esm/components/avatar/Avatar.styled.js +8 -17
  127. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  128. package/dist/esm/components/button/Button.styled.js +25 -19
  129. package/dist/esm/components/button/Button.styled.js.map +1 -1
  130. package/dist/esm/components/dropdown/Dropdown.js +18 -13
  131. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  132. package/dist/esm/editor/BikEditor.js +173 -160
  133. package/dist/esm/editor/BikEditor.js.map +1 -1
  134. package/dist/esm/editor/BikEditor.styles.d.ts +20 -3
  135. package/dist/esm/editor/BikEditor.styles.js +102 -57
  136. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  137. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.d.ts +5 -8
  138. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +87 -68
  139. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  140. package/dist/esm/icons/Informational/Common UI/Shield.d.ts +7 -0
  141. package/dist/esm/icons/Informational/Common UI/Shield.js +34 -0
  142. package/dist/esm/icons/Informational/Common UI/Shield.js.map +1 -0
  143. package/dist/esm/icons/Informational/Common UI/index.d.ts +1 -0
  144. package/dist/esm/icons/index.d.ts +1 -1
  145. package/dist/esm/icons/index.js +156 -154
  146. package/dist/esm/icons/index.js.map +1 -1
  147. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),ie=require("../../constants/Theme.js"),a=require("./AgentBuilder.styled.js"),le=require("./components/AgentBuilderFooter.js"),ue=require("./components/AgentBuilderTopBar.js"),ce=require("./components/DiscardModal.js"),de=require("./components/GoLiveModal.js"),ge=require("./components/StepRail.js"),Se=require("./components/UndoToast.js"),T=require("./context/AgentBuilderContext.js"),he=require("./steps/Step1About.js"),ve=require("./steps/Step2WhenItStepsIn.js"),be=require("./steps/Step3HowItResponds.js"),pe=require("./steps/Step4HandoverRules.js"),Ce=require("../spinner/Spinner.js"),fe=()=>{const{activeStep:u}=T.useAgentBuilderContext();switch(u){case"about":return n.jsx(he.Step1About,{});case"trigger":return n.jsx(ve.Step2WhenItStepsIn,{});case"response":return n.jsx(be.Step3HowItResponds,{});case"handover":return n.jsx(pe.Step4HandoverRules,{});default:return null}},D=u=>{const{config:y,onChange:v,onStepChange:c,onDiscard:b,onSaveDraft:r,onPublish:p,onBack:d,onTestAgent:g,onGoToDashboard:S,onCreateSubAgent:i,onFetchSubAgent:k,onUpdateSubAgent:q,onImproveSubAgent:I,onImproveToolInstructions:R,onConnectIntegration:G,...M}=u,{value:h,activeStep:P,availableTools:w,availableSubAgents:H,availableIntents:F=[],availableModels:O=[],configToolTemplates:U,integrationStatus:N,validation:W,applicationType:z,charLimits:E,isSaving:C,isPublishing:f,isLoading:_,footerHint:$="Changes don’t affect customers until you go live",disableStepNavigation:J,debugLog:A}=y,[K,s]=o.useState(null),[j,x]=o.useState(!1),[Q,l]=o.useState(!1),[m,L]=o.useState(!1),e=o.useCallback((t,...re)=>{A&&console.log(`[AgentBuilder] ${t}`,...re)},[A]),V=o.useCallback(t=>{e("onChange",t),v(t)},[e,v]),X=o.useCallback(t=>{e("onStepChange",t),c?.(t)},[e,c]),Y=o.useCallback(()=>(e("onSaveDraft"),r()),[e,r]),Z=o.useCallback(()=>(e("onPublish"),p()),[e,p]),ee=o.useCallback(()=>{e("onBack"),l(!0)},[e]),ne=o.useCallback(()=>{e("onDiscardAndLeave"),l(!1),b()},[e,b]),B=o.useCallback(async()=>{e("onSaveDraftAndLeave");const t=r();if(t&&typeof t.then=="function"){L(!0);try{await t}finally{L(!1)}}l(!1),d?.()},[e,r,d]),te=o.useCallback(()=>{e("onTestAgent"),g?.()},[e,g]),oe=o.useCallback(()=>{e("onGoToDashboard"),S?.()},[e,S]),ae=o.useCallback(t=>(e("onCreateSubAgent",t),i?i(t):Promise.reject(new Error("onCreateSubAgent not provided"))),[e,i]),se=async()=>{e("onGoLiveConfirm");const t=Z();if(t&&typeof t.then=="function"){x(!0);try{await t,s("success")}finally{x(!1)}}else s("success")};return n.jsx(T.AgentBuilderProvider,{value:h,onChange:V,activeStep:P,onStepChange:c?X:void 0,availableTools:w,availableSubAgents:H,availableIntents:F,availableModels:O,configToolTemplates:U,integrationStatus:N,onConnectIntegration:G,validation:W,applicationType:z,charLimits:E,disableStepNavigation:J,onCreateSubAgent:i?ae:void 0,onFetchSubAgent:k,onUpdateSubAgent:q,onImproveSubAgent:I,onImproveToolInstructions:R,children:n.jsxs(a.BuilderRoot,{"data-test":M["data-test"]??"agent-builder",children:[n.jsx(ue.AgentBuilderTopBar,{name:h.name,status:h.status,onBack:d?ee:void 0,onSaveDraft:B,isSaving:C||m}),n.jsxs(a.Main,{children:[n.jsx(a.Rail,{children:n.jsx(ge.StepRail,{})}),n.jsx(a.Content,{children:_?n.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:n.jsx(Ce.Spinner,{size:"large",color:ie.COLORS.stroke.brand})}):n.jsxs(a.ContentCard,{children:[n.jsx(a.StepScroll,{children:n.jsx(fe,{})}),n.jsx(le.AgentBuilderFooter,{footerHint:$,onTestAgent:g?te:void 0,onGoLive:()=>{e("onGoLive"),s("confirm")},isPublishing:f||j})]})})]}),n.jsx(de.GoLiveModal,{mode:K,onClose:()=>s(null),onConfirm:se,onSaveDraft:()=>{s(null),Y()},onGoToDashboard:S?oe:void 0,isPublishing:f||j}),n.jsx(ce.DiscardModal,{open:Q,onClose:()=>l(!1),onDiscard:ne,onSaveDraft:B,isSaving:C||m}),n.jsx(Se.UndoToast,{})]})})};D.displayName="AgentBuilder";exports.AgentBuilder=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),ie=require("../../constants/Theme.js"),a=require("./AgentBuilder.styled.js"),le=require("./components/AgentBuilderFooter.js"),ce=require("./components/AgentBuilderTopBar.js"),ue=require("./components/DiscardModal.js"),de=require("./components/GoLiveModal.js"),ge=require("./components/StepRail.js"),Se=require("./components/UndoToast.js"),y=require("./context/AgentBuilderContext.js"),he=require("./steps/Step1About.js"),ve=require("./steps/Step2WhenItStepsIn.js"),be=require("./steps/Step3HowItResponds.js"),fe=require("./steps/Step4HandoverRules.js"),pe=require("../spinner/Spinner.js"),Ce=()=>{const{activeStep:u}=y.useAgentBuilderContext();switch(u){case"about":return t.jsx(he.Step1About,{});case"trigger":return t.jsx(ve.Step2WhenItStepsIn,{});case"response":return t.jsx(be.Step3HowItResponds,{});case"handover":return t.jsx(fe.Step4HandoverRules,{});default:return null}},k=u=>{const{config:q,onChange:v,onStepChange:d,onDiscard:b,onSaveDraft:r,onPublish:f,onBack:g,onTestAgent:S,onGoToDashboard:h,onCreateSubAgent:i,onFetchSubAgent:I,onUpdateSubAgent:R,onImproveSubAgent:G,onImproveToolInstructions:M,onConnectIntegration:P,...w}=u,{value:l,activeStep:H,availableTools:F,availableSubAgents:O,availableIntents:U=[],availableModels:N=[],configToolTemplates:W,integrationStatus:z,validation:E,applicationType:_,charLimits:$,isSaving:p,isPublishing:C,isLoading:J,footerHint:K="Changes don’t affect customers until you go live",disableStepNavigation:Q,debugLog:A}=q,[j,s]=o.useState(null),[x,m]=o.useState(!1),[V,c]=o.useState(!1),[L,B]=o.useState(!1),e=o.useCallback((n,...re)=>{A&&console.log(`[AgentBuilder] ${n}`,...re)},[A]),X=o.useCallback(n=>{e("onChange",n),v(n)},[e,v]),Y=o.useCallback(n=>{e("onStepChange",n),d?.(n)},[e,d]),Z=o.useCallback(()=>(e("onSaveDraft"),r()),[e,r]),ee=o.useCallback(()=>(e("onPublish"),f()),[e,f]),ne=o.useCallback(()=>{e("onBack"),c(!0)},[e]),te=o.useCallback(()=>{e("onDiscardAndLeave"),c(!1),b()},[e,b]),D=o.useCallback(async()=>{e("onSaveDraftAndLeave");const n=r();if(n&&typeof n.then=="function"){B(!0);try{await n}finally{B(!1)}}c(!1),g?.()},[e,r,g]),oe=o.useCallback(()=>{e("onTestAgent"),S?.()},[e,S]),T=o.useCallback(()=>{e("onGoToDashboard"),h?.()},[e,h]),ae=o.useCallback(n=>(e("onCreateSubAgent",n),i?i(n):Promise.reject(new Error("onCreateSubAgent not provided"))),[e,i]),se=async()=>{e("onGoLiveConfirm");const n=ee();if(n&&typeof n.then=="function"){m(!0);try{await n,s("success")}finally{m(!1)}}else s("success")};return t.jsx(y.AgentBuilderProvider,{value:l,onChange:X,activeStep:H,onStepChange:d?Y:void 0,availableTools:F,availableSubAgents:O,availableIntents:U,availableModels:N,configToolTemplates:W,integrationStatus:z,onConnectIntegration:P,validation:E,applicationType:_,charLimits:$,disableStepNavigation:Q,onCreateSubAgent:i?ae:void 0,onFetchSubAgent:I,onUpdateSubAgent:R,onImproveSubAgent:G,onImproveToolInstructions:M,children:t.jsxs(a.BuilderRoot,{"data-test":w["data-test"]??"agent-builder",children:[t.jsx(ce.AgentBuilderTopBar,{name:l.name,status:l.status,onBack:g?ne:void 0,onSaveDraft:D,isSaving:p||L}),t.jsxs(a.Main,{children:[t.jsx(a.Rail,{children:t.jsx(ge.StepRail,{})}),t.jsx(a.Content,{children:J?t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:t.jsx(pe.Spinner,{size:"large",color:ie.COLORS.stroke.brand})}):t.jsxs(a.ContentCard,{children:[t.jsx(a.StepScroll,{children:t.jsx(Ce,{})}),t.jsx(le.AgentBuilderFooter,{footerHint:K,onTestAgent:S?oe:void 0,onGoLive:()=>{e("onGoLive"),s("confirm")},isPublishing:C||x})]})})]}),t.jsx(de.GoLiveModal,{mode:j,onClose:()=>{const n=j==="success";s(null),n&&T()},onConfirm:se,onSaveDraft:()=>{s(null),Z()},onGoToDashboard:h?T:void 0,isPublishing:C||x}),t.jsx(ue.DiscardModal,{open:V,onClose:()=>c(!1),onDiscard:te,onSaveDraft:D,disableSaveDraft:!l.name.trim(),isSaving:p||L}),t.jsx(Se.UndoToast,{})]})})};k.displayName="AgentBuilder";exports.AgentBuilder=k;
2
2
  //# sourceMappingURL=AgentBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tsetShowLeaveConfirm(false);\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(() => {\n\t\tlogAction('onTestAgent');\n\t\tonTestAgent?.();\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => setModalMode(null)}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","DiscardModal","UndoToast"],"mappings":"qtBA+BMA,GAAwB,IAAM,CACnC,KAAM,CAAE,WAAAC,CAAA,EAAeC,yBAAA,EACvB,OAAQD,EAAA,CACP,IAAK,QACJ,aAAQE,GAAAA,WAAA,EAAW,EACpB,IAAK,UACJ,aAAQC,GAAAA,mBAAA,EAAmB,EAC5B,IAAK,WACJ,aAAQC,GAAAA,mBAAA,EAAmB,EAC5B,IAAK,WACJ,aAAQC,GAAAA,mBAAA,EAAmB,EAC5B,QACC,OAAO,IAAA,CAEV,EAiBaC,EAA6CC,GAAU,CACnE,KAAM,CACL,OAAAC,EACA,SAAAC,EACA,aAAAC,EACA,UAAAC,EACA,YAAAC,EACA,UAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,0BAAAC,EACA,qBAAAC,EACA,GAAGC,CAAA,EACAhB,EACE,CACL,MAAAiB,EACA,WAAAxB,EACA,eAAAyB,EACA,mBAAAC,EACA,iBAAAC,EAAmB,CAAA,EACnB,gBAAAC,EAAkB,CAAA,EAClB,oBAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,SAAAC,EACA,aAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,mDACb,sBAAAC,EACA,SAAAC,CAAA,EACG/B,EAEE,CAACgC,EAAWC,CAAY,EAAIC,EAAAA,SAA0B,IAAI,EAC1D,CAACC,EAAiBC,CAAkB,EAAIF,EAAAA,SAAS,EAAK,EAEtD,CAACG,EAAkBC,CAAmB,EAAIJ,EAAAA,SAAS,EAAK,EACxD,CAACK,EAAkBC,CAAmB,EAAIN,EAAAA,SAAS,EAAK,EAGxDO,EAAYC,EAAAA,YACjB,CAACC,KAAmBC,KAAoB,CACnCb,GAEH,QAAQ,IAAI,kBAAkBY,CAAM,GAAI,GAAGC,EAAI,CAEjD,EACA,CAACb,CAAQ,CAAA,EAGJc,EAAeH,EAAAA,YACnBI,GAA+B,CAC/BL,EAAU,WAAYK,CAAK,EAC3B7C,EAAS6C,CAAK,CACf,EACA,CAACL,EAAWxC,CAAQ,CAAA,EAEf8C,EAAmBL,EAAAA,YACvBM,GAA0D,CAC1DP,EAAU,eAAgBO,CAAI,EAC9B9C,IAAe8C,CAAI,CACpB,EACA,CAACP,EAAWvC,CAAY,CAAA,EAEnB+C,EAAkBP,EAAAA,YAAY,KACnCD,EAAU,aAAa,EAChBrC,EAAA,GACL,CAACqC,EAAWrC,CAAW,CAAC,EACrB8C,EAAgBR,EAAAA,YAAY,KACjCD,EAAU,WAAW,EACdpC,EAAA,GACL,CAACoC,EAAWpC,CAAS,CAAC,EAEnB8C,GAAaT,EAAAA,YAAY,IAAM,CACpCD,EAAU,QAAQ,EAClBH,EAAoB,EAAI,CACzB,EAAG,CAACG,CAAS,CAAC,EAGRW,GAAwBV,EAAAA,YAAY,IAAM,CAC/CD,EAAU,mBAAmB,EAC7BH,EAAoB,EAAK,EACzBnC,EAAA,CACD,EAAG,CAACsC,EAAWtC,CAAS,CAAC,EAEnBkD,EAA0BX,EAAAA,YAAY,SAAY,CACvDD,EAAU,qBAAqB,EAC/B,MAAMa,EAASlD,EAAA,EACf,GAAIkD,GAAU,OAAQA,EAAyB,MAAS,WAAY,CACnEd,EAAoB,EAAI,EACxB,GAAI,CACH,MAAMc,CACP,QAAA,CACCd,EAAoB,EAAK,CAC1B,CACD,CACAF,EAAoB,EAAK,EACzBhC,IAAA,CACD,EAAG,CAACmC,EAAWrC,EAAaE,CAAM,CAAC,EAC7BiD,GAAkBb,EAAAA,YAAY,IAAM,CACzCD,EAAU,aAAa,EACvBlC,IAAA,CACD,EAAG,CAACkC,EAAWlC,CAAW,CAAC,EACrBiD,GAAsBd,EAAAA,YAAY,IAAM,CAC7CD,EAAU,iBAAiB,EAC3BjC,IAAA,CACD,EAAG,CAACiC,EAAWjC,CAAe,CAAC,EACzBiD,GAAuBf,EAAAA,YAC3BgB,IACAjB,EAAU,mBAAoBiB,CAAK,EAC5BjD,EACJA,EAAiBiD,CAAK,EACtB,QAAQ,OAAO,IAAI,MAAM,+BAA+B,CAAC,GAE7D,CAACjB,EAAWhC,CAAgB,CAAA,EAGvBkD,GAAsB,SAAY,CACvClB,EAAU,iBAAiB,EAC3B,MAAMa,EAASJ,EAAA,EACf,GAAII,GAAU,OAAQA,EAAyB,MAAS,WAAY,CACnElB,EAAmB,EAAI,EACvB,GAAI,CACH,MAAMkB,EACNrB,EAAa,SAAS,CACvB,QAAA,CACCG,EAAmB,EAAK,CACzB,CACD,MACCH,EAAa,SAAS,CAExB,EAEA,OACC2B,EAAAA,IAACC,EAAAA,qBAAA,CACA,MAAA7C,EACA,SAAU6B,EACV,WAAArD,EACA,aAAcU,EAAe6C,EAAmB,OAChD,eAAA9B,EACA,mBAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,qBAAAR,EACA,WAAAS,EACA,gBAAAC,EACA,WAAAC,EACA,sBAAAK,EACA,iBAAkBrB,EAAmBgD,GAAuB,OAC5D,gBAAA/C,EACA,iBAAAC,EACA,kBAAAC,EACA,0BAAAC,EAEA,gBAACiD,EAAAA,YAAA,CAAY,YAAW/C,EAAK,WAAW,GAAK,gBAC5C,SAAA,CAAA6C,EAAAA,IAACG,GAAAA,mBAAA,CACA,KAAM/C,EAAM,KACZ,OAAQA,EAAM,OACd,OAAQV,EAAS6C,GAAa,OAC9B,YAAaE,EACb,SAAU3B,GAAYa,CAAA,CAAA,SAGtByB,EAAAA,KAAA,CACA,SAAA,CAAAJ,EAAAA,IAACK,EAAAA,KAAA,CACA,SAAAL,EAAAA,IAACM,GAAAA,SAAA,CAAA,CAAS,EACX,EACAN,EAAAA,IAACO,EAAAA,SACC,SAAAvC,EACAgC,EAAAA,IAAC,MAAA,CACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,OAAQ,MAAA,EAGT,eAACQ,GAAAA,QAAA,CAAQ,KAAK,QAAQ,MAAOC,GAAAA,OAAO,OAAO,KAAA,CAAO,CAAA,CAAA,SAGlDC,cAAA,CACA,SAAA,CAAAV,EAAAA,IAACW,EAAAA,WAAA,CACA,SAAAX,EAAAA,IAACrE,GAAA,CAAA,CAAY,EACd,EACAqE,EAAAA,IAACY,GAAAA,mBAAA,CACA,WAAA3C,EACA,YAAatB,EAAcgD,GAAkB,OAC7C,SAAU,IAAM,CACfd,EAAU,UAAU,EACpBR,EAAa,SAAS,CACvB,EACA,aAAcN,GAAgBQ,CAAA,CAAA,CAC/B,CAAA,CACD,CAAA,CAEF,CAAA,EACD,EAEAyB,EAAAA,IAACa,GAAAA,YAAA,CACA,KAAMzC,EACN,QAAS,IAAMC,EAAa,IAAI,EAChC,UAAW0B,GACX,YAAa,IAAM,CAClB1B,EAAa,IAAI,EACjBgB,EAAA,CACD,EACA,gBAAiBzC,EAAkBgD,GAAsB,OACzD,aAAc7B,GAAgBQ,CAAA,CAAA,EAG/ByB,EAAAA,IAACc,GAAAA,aAAA,CACA,KAAMrC,EACN,QAAS,IAAMC,EAAoB,EAAK,EACxC,UAAWc,GACX,YAAaC,EACb,SAAU3B,GAAYa,CAAA,CAAA,QAGtBoC,GAAAA,UAAA,CAAA,CAAU,CAAA,CAAA,CACZ,CAAA,CAAA,CAGH,EAEA7E,EAAa,YAAc"}
1
+ {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tsetShowLeaveConfirm(false);\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(() => {\n\t\tlogAction('onTestAgent');\n\t\tonTestAgent?.();\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tconst wasSuccess = modalMode === 'success';\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\tif (wasSuccess) {\n\t\t\t\t\t\t\thandleGoToDashboard();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tdisableSaveDraft={!value.name.trim()}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","wasSuccess","DiscardModal","UndoToast"],"mappings":"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"}
@@ -13,6 +13,12 @@
13
13
  &:hover {
14
14
  background: ${t.COLORS.surface.subdued};
15
15
  }
16
+
17
+ &:disabled {
18
+ cursor: not-allowed;
19
+ opacity: 0.5;
20
+ background: transparent;
21
+ }
16
22
  `,s=e.default.div.attrs({className:"bik-builder-root"})`
17
23
  display: flex;
18
24
  flex-direction: column;
@@ -67,7 +73,7 @@
67
73
  flex-direction: column;
68
74
  padding: 16px;
69
75
  background: ${t.COLORS.surface.standard};
70
- `,x=e.default.div.attrs({className:"bik-content-card"})`
76
+ `,f=e.default.div.attrs({className:"bik-content-card"})`
71
77
  flex: 1;
72
78
  min-height: 0;
73
79
  display: flex;
@@ -76,7 +82,7 @@
76
82
  border: 1px solid ${t.COLORS.stroke.primary};
77
83
  border-radius: 8px;
78
84
  box-sizing: border-box;
79
- `,f=e.default.div.attrs({className:"bik-step-scroll"})`
85
+ `,x=e.default.div.attrs({className:"bik-step-scroll"})`
80
86
  flex: 1;
81
87
  min-height: 0;
82
88
  overflow-y: auto;
@@ -93,11 +99,11 @@
93
99
  display: flex;
94
100
  align-items: center;
95
101
  gap: 6px;
96
- `,m=e.default.div.attrs({className:"bik-footer-actions"})`
102
+ `,h=e.default.div.attrs({className:"bik-footer-actions"})`
97
103
  display: flex;
98
104
  align-items: center;
99
105
  gap: 8px;
100
- `,h=e.default.div.attrs({className:"bik-rail-list"})`
106
+ `,m=e.default.div.attrs({className:"bik-rail-list"})`
101
107
  display: flex;
102
108
  flex-direction: column;
103
109
  `,k=e.default.button.attrs({className:"bik-rail-item"})`
@@ -190,17 +196,17 @@
190
196
  &::placeholder {
191
197
  color: ${t.COLORS.content.placeholder};
192
198
  }
193
- `,N=e.default.div.attrs({className:"bik-card-row"})`
199
+ `,L=e.default.div.attrs({className:"bik-card-row"})`
194
200
  display: flex;
195
201
  gap: 12px;
196
- `,L=e.default.button.attrs({className:"bik-radio-card"})`
202
+ `,N=e.default.button.attrs({className:"bik-radio-card"})`
197
203
  flex: 1;
198
204
  display: flex;
199
205
  align-items: flex-start;
200
206
  gap: 12px;
201
207
  padding: 16px;
202
208
  border: 1px solid
203
- ${a=>a.selected?t.COLORS.stroke.brand:t.COLORS.stroke.primary};
209
+ ${a=>a.selected?t.BASE_COLORS.brand[800]:t.COLORS.stroke.primary};
204
210
  background: ${a=>a.selected?t.COLORS.background.brandLight:t.COLORS.surface.standard};
205
211
  border-radius: 8px;
206
212
  cursor: pointer;
@@ -215,23 +221,7 @@
215
221
  flex-wrap: wrap;
216
222
  align-items: center;
217
223
  gap: 8px;
218
- `,A=e.default.div.attrs({className:"bik-intent-chip"})`
219
- display: inline-flex;
220
- align-items: center;
221
- gap: 6px;
222
- padding: 4px 8px;
223
- border: 1px solid ${t.COLORS.stroke.primary};
224
- border-radius: 4px;
225
- background: ${t.COLORS.surface.standard};
226
- `,T=e.default.button.attrs({className:"bik-chip-close-button"})`
227
- display: flex;
228
- align-items: center;
229
- justify-content: center;
230
- border: none;
231
- background: transparent;
232
- padding: 0;
233
- cursor: pointer;
234
- `,j=e.default.button.attrs({className:"bik-add-chip-button"})`
224
+ `;e.default.button.attrs({className:"bik-add-chip-button"})`
235
225
  display: inline-flex;
236
226
  align-items: center;
237
227
  gap: 6px;
@@ -240,11 +230,11 @@
240
230
  border-radius: 4px;
241
231
  background: transparent;
242
232
  cursor: pointer;
243
- `,I=e.default.div.attrs({className:"bik-agent-step bik-agent-step--response"})`
233
+ `;const A=e.default.div.attrs({className:"bik-agent-step bik-agent-step--response"})`
244
234
  display: flex;
245
235
  flex-direction: column;
246
236
  min-height: 100%;
247
- `,F=e.default.div.attrs({className:"bik-step3-grid"})`
237
+ `,T=e.default.div.attrs({className:"bik-step3-grid"})`
248
238
  display: grid;
249
239
  grid-template-columns: minmax(0, 1fr) 1px 360px;
250
240
  /* Single row that fills the grid's height, so the divider spans the full
@@ -272,21 +262,23 @@
272
262
  @media (max-width: 1100px) {
273
263
  display: none;
274
264
  }
275
- `,H=e.default.div.attrs({className:"bik-side-section"})`
265
+ `,j=e.default.div.attrs({className:"bik-side-section"})`
276
266
  display: flex;
277
267
  flex-direction: column;
278
268
  gap: 8px;
279
- `,D=e.default.div.attrs({className:"bik-side-section-header"})`
269
+ `,F=e.default.div.attrs({className:"bik-side-section-header"})`
280
270
  display: flex;
281
271
  align-items: center;
282
272
  justify-content: space-between;
283
- `,W=e.default.button.attrs({className:"bik-add-icon-button"})`
273
+ `,I=e.default.button.attrs({className:"bik-add-icon-button"})`
284
274
  ${o}
285
- `,z=e.default.div.attrs({className:"bik-source-button-row"})`
275
+ background: ${t.COLORS.surface.standard};
276
+ border: 1px solid ${t.COLORS.stroke.primary};
277
+ `,D=e.default.div.attrs({className:"bik-source-button-row"})`
286
278
  display: flex;
287
279
  flex-wrap: wrap;
288
280
  gap: 8px;
289
- `,_=e.default.button.attrs({className:"bik-source-button"})`
281
+ `,H=e.default.button.attrs({className:"bik-source-button"})`
290
282
  display: flex;
291
283
  align-items: center;
292
284
  gap: 8px;
@@ -300,7 +292,7 @@
300
292
  &:hover {
301
293
  background: ${t.COLORS.surface.subdued};
302
294
  }
303
- `,q=e.default.div.attrs({className:"bik-selectable-row"})`
295
+ `,W=e.default.div.attrs({className:"bik-selectable-row"})`
304
296
  display: flex;
305
297
  align-items: center;
306
298
  gap: 8px;
@@ -314,7 +306,7 @@
314
306
  & > svg {
315
307
  flex-shrink: 0;
316
308
  }
317
- `,G=e.default.div.attrs({className:"bik-row-text"})`
309
+ `,z=e.default.div.attrs({className:"bik-row-text"})`
318
310
  flex: 1;
319
311
  min-width: 0;
320
312
  overflow: hidden;
@@ -334,7 +326,7 @@
334
326
  background: transparent;
335
327
  padding: 0;
336
328
  cursor: pointer;
337
- `;const P=e.default.div.attrs({className:"bik-row-actions"})`
329
+ `;const _=e.default.div.attrs({className:"bik-row-actions"})`
338
330
  display: flex;
339
331
  align-items: center;
340
332
  gap: 4px;
@@ -344,27 +336,47 @@
344
336
  align-self: stretch;
345
337
  margin: 4px 0;
346
338
  background: ${t.COLORS.stroke.primary};
347
- `,J=e.default.button.attrs({className:"bik-row-menu-button"})`
339
+ `,q=e.default.button.attrs({className:"bik-row-menu-button"})`
348
340
  ${o}
349
- `,K=e.default.div.attrs({className:"bik-modal-body"})`
341
+ `,G=e.default.div.attrs({className:"bik-draft-button-scope"})`
342
+ display: flex;
343
+ flex: 1;
344
+
345
+ button {
346
+ border-color: ${t.BASE_COLORS.brand[800]};
347
+ }
348
+ button .text {
349
+ color: ${t.BASE_COLORS.brand[800]};
350
+ }
351
+ `,P=e.default.div.attrs({className:"bik-modal-body"})`
350
352
  padding: 24px;
351
353
  display: flex;
352
354
  flex-direction: column;
353
355
  align-items: center;
354
356
  gap: 16px;
355
357
  text-align: center;
356
- `,Q=e.default.div.attrs({className:"bik-modal-icon"})`
358
+ `,U=e.default.div.attrs({className:"bik-modal-icon"})`
357
359
  display: flex;
358
360
  align-items: center;
359
361
  justify-content: center;
360
362
  margin-bottom: 4px;
361
- `,U=e.default.div.attrs({className:"bik-modal-actions"})`
363
+ `,J=e.default.div.attrs({className:"bik-modal-actions"})`
362
364
  display: flex;
363
365
  gap: 12px;
364
366
  width: 100%;
367
+ /* Every action shares the row equally. Each action MUST be its own flex
368
+ wrapper (a plain <div style="display:flex">, or DraftButtonScope) rather
369
+ than a bare Button: on hover the Button relocates its padding into an
370
+ inner container, and as the flex item itself that changes its resolved
371
+ width — the button visibly grows/shrinks. Wrapped, the div is the sized
372
+ track (flex:1) and the Button grows to fill it, absorbing the padding
373
+ move so the width stays put. */
374
+ > * {
375
+ flex: 1;
376
+ }
365
377
  `;e.default.div.attrs({className:"bik-field-action-row"})`
366
378
  display: flex;
367
379
  align-items: center;
368
380
  gap: 8px;
369
- `;exports.AddChipButton=j;exports.AddIconButton=W;exports.AiTextAreaInput=C;exports.AiTextAreaShell=R;exports.BackButton=l;exports.BuilderRoot=s;exports.CardRow=N;exports.ChipCloseButton=T;exports.ChipWrap=$;exports.Content=u;exports.ContentCard=x;exports.FieldBlock=O;exports.FieldLabelRow=v;exports.Footer=b;exports.FooterActions=m;exports.FooterHint=g;exports.IntentChip=A;exports.Main=c;exports.ModalActions=U;exports.ModalBody=K;exports.ModalIcon=Q;exports.RadioCard=L;exports.RadioCardText=B;exports.Rail=p;exports.RailItem=k;exports.RailList=h;exports.RowActionDivider=E;exports.RowActions=P;exports.RowMenuButton=J;exports.RowText=G;exports.SectionBodyWrap=S;exports.SectionHeaderWrap=w;exports.SelectableRow=q;exports.SideSection=H;exports.SideSectionHeader=D;exports.SourceButton=_;exports.SourceButtonRow=z;exports.Step3Divider=M;exports.Step3Grid=F;exports.Step3Root=I;exports.StepBadge=y;exports.StepScroll=f;exports.TopBar=n;exports.TopBarSide=d;
381
+ `;exports.AddIconButton=I;exports.AiTextAreaInput=C;exports.AiTextAreaShell=R;exports.BackButton=l;exports.BuilderRoot=s;exports.CardRow=L;exports.ChipWrap=$;exports.Content=u;exports.ContentCard=f;exports.DraftButtonScope=G;exports.FieldBlock=O;exports.FieldLabelRow=v;exports.Footer=b;exports.FooterActions=h;exports.FooterHint=g;exports.Main=c;exports.ModalActions=J;exports.ModalBody=P;exports.ModalIcon=U;exports.RadioCard=N;exports.RadioCardText=B;exports.Rail=p;exports.RailItem=k;exports.RailList=m;exports.RowActionDivider=E;exports.RowActions=_;exports.RowMenuButton=q;exports.RowText=z;exports.SectionBodyWrap=S;exports.SectionHeaderWrap=w;exports.SelectableRow=W;exports.SideSection=j;exports.SideSectionHeader=F;exports.SourceButton=H;exports.SourceButtonRow=D;exports.Step3Divider=M;exports.Step3Grid=T;exports.Step3Root=A;exports.StepBadge=y;exports.StepScroll=x;exports.TopBar=n;exports.TopBarSide=d;
370
382
  //# sourceMappingURL=AgentBuilder.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.styled.js","sources":["../../../../src/components/agent-builder/AgentBuilder.styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\n// Shared look for the 24×24 transparent icon buttons (add / row-menu / close).\nconst iconActionButton = css`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 24px;\n\theight: 24px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const BuilderRoot = styled.div.attrs({ className: 'bik-builder-root' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\twidth: 100%;\n\tmin-height: 0;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const TopBar = styled.div.attrs({ className: 'bik-top-bar' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 56px;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const TopBarSide = styled.div.attrs({ className: 'bik-top-bar-side' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const BackButton = styled.button.attrs({ className: 'bik-back-button' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const Main = styled.div.attrs({ className: 'bik-main' })`\n\tdisplay: flex;\n\tflex: 1;\n\tmin-height: 0;\n`;\n\nexport const Rail = styled.div.attrs({ className: 'bik-rail' })`\n\twidth: 234px;\n\tflex-shrink: 0;\n\tborder-right: 1px solid ${COLORS.stroke.primary};\n\tpadding: 16px;\n\toverflow-y: auto;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const Content = styled.div.attrs({ className: 'bik-content' })`\n\tflex: 1;\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: hidden;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 16px;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const ContentCard = styled.div.attrs({ className: 'bik-content-card' })`\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-sizing: border-box;\n`;\n\n// Scrollable step body inside the card; the footer stays pinned below it.\nexport const StepScroll = styled.div.attrs({ className: 'bik-step-scroll' })`\n\tflex: 1;\n\tmin-height: 0;\n\toverflow-y: auto;\n`;\n\nexport const Footer = styled.div.attrs({ className: 'bik-footer' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmin-height: 56px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n\tbox-shadow: 0px -2px 12px 0px #0000000a;\n`;\n\nexport const FooterHint = styled.div.attrs({ className: 'bik-footer-hint' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n`;\n\nexport const FooterActions = styled.div.attrs({\n\tclassName: 'bik-footer-actions',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\n// ── Step rail items ─────────────────────────────────────────────────────────\n\nexport const RailList = styled.div.attrs({ className: 'bik-rail-list' })`\n\tdisplay: flex;\n\tflex-direction: column;\n`;\n\nexport const RailItem = styled.button.attrs({ className: 'bik-rail-item' })`\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\t/* Bottom padding leaves room for the connector down to the next badge. */\n\tpadding: 0 0 24px;\n\tborder: none;\n\tbackground: transparent;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n\n\t&:last-child {\n\t\tpadding-bottom: 0;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t}\n\n\t/* Dashed connector line between consecutive step badges (centered on the badge). */\n\t&:not(:last-child)::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 9px;\n\t\ttop: 20px;\n\t\twidth: 0;\n\t\theight: 24px;\n\t\tborder-left: 1px dashed #e0e0e0;\n\t\tpointer-events: none;\n\t}\n`;\n\nexport const StepBadge = styled.div.attrs({ className: 'bik-step-badge' })<{\n\tstate: 'active' | 'complete' | 'inactive';\n}>`\n\twidth: 20px;\n\theight: 20px;\n\tflex-shrink: 0;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: Inter;\n\tfont-size: 10px;\n\tfont-weight: 400;\n\tline-height: 12px;\n\tbackground: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.brandLight\n\t\t\t: COLORS.background.base};\n\tcolor: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.surface.standard\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: COLORS.content.secondary};\n`;\n\n// ── Shared step pieces ──────────────────────────────────────────────────────\n\nexport const SectionHeaderWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tpadding: 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n`;\n\nexport const SectionBodyWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tpadding: 16px;\n`;\n\nexport const FieldBlock = styled.div.attrs({ className: 'bik-field-block' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const FieldLabelRow = styled.div.attrs({\n\tclassName: 'bik-field-label-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\n// ── Labelled text area ──────────────────────────────────────────────────────\n\nexport const AiTextAreaShell = styled.div.attrs({\n\tclassName: 'bik-ai-text-area-shell',\n})<{\n\tfocused?: boolean;\n\tminHeight?: string;\n}>`\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder: 1px solid\n\t\t${(p) => (p.focused ? COLORS.stroke.brand : COLORS.stroke.primary)};\n\tborder-radius: 4px;\n\tpadding: 8px 12px;\n\tgap: 8px;\n\tmin-height: ${(p) => p.minHeight ?? '120px'};\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const AiTextAreaInput = styled.textarea.attrs({\n\tclassName: 'bik-ai-text-area-input',\n})`\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tresize: none;\n\tfont-family: Inter;\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: ${COLORS.content.primary};\n\tbackground: transparent;\n\tmin-height: 60px;\n\n\t&::placeholder {\n\t\tcolor: ${COLORS.content.placeholder};\n\t}\n`;\n\n// ── Radio card (Step 2 / Step 4 option cards) ───────────────────────────────\n\nexport const CardRow = styled.div.attrs({ className: 'bik-card-row' })`\n\tdisplay: flex;\n\tgap: 12px;\n`;\n\nexport const RadioCard = styled.button.attrs({ className: 'bik-radio-card' })<{\n\tselected?: boolean;\n}>`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 12px;\n\tpadding: 16px;\n\tborder: 1px solid\n\t\t${(p) => (p.selected ? COLORS.stroke.brand : COLORS.stroke.primary)};\n\tbackground: ${(p) =>\n\t\tp.selected ? COLORS.background.brandLight : COLORS.surface.standard};\n\tborder-radius: 8px;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n`;\n\nexport const RadioCardText = styled.div.attrs({\n\tclassName: 'bik-radio-card-text',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n`;\n\n// ── Intent chips (Step 2) ───────────────────────────────────────────────────\n\nexport const ChipWrap = styled.div.attrs({ className: 'bik-chip-wrap' })`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const IntentChip = styled.div.attrs({ className: 'bik-intent-chip' })`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 4px 8px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const ChipCloseButton = styled.button.attrs({\n\tclassName: 'bik-chip-close-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n`;\n\nexport const AddChipButton = styled.button.attrs({\n\tclassName: 'bik-add-chip-button',\n})`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 4px 8px;\n\tborder: 1px dashed ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n`;\n\n// ── Step 3 two-column layout + tool / sub-agent rows ────────────────────────\n\n// Fills the scroll area so the step header + grow-body chain reaches the footer.\nexport const Step3Root = styled.div.attrs({\n\tclassName: 'bik-agent-step bik-agent-step--response',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 100%;\n`;\n\nexport const Step3Grid = styled.div.attrs({ className: 'bik-step3-grid' })<{\n\t$grow?: boolean;\n}>`\n\tdisplay: grid;\n\tgrid-template-columns: minmax(0, 1fr) 1px 360px;\n\t/* Single row that fills the grid's height, so the divider spans the full\n\t height (down to the footer) rather than stopping at the taller column. */\n\tgrid-template-rows: 1fr;\n\tflex: 1;\n\tmin-height: 0;\n\n\t@media (max-width: 1100px) {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto;\n\t}\n\n\t/* Fill the remaining card height so a full-height child (e.g. the Step 3\n\t column divider) can stretch all the way down to the footer. */\n\t${(p) =>\n\t\tp.$grow &&\n\t\tcss`\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t`}\n`;\n\n// Vertical rule between the main column and the side (tools / sub-agents) column;\n// hidden once the grid collapses to a single column.\nexport const Step3Divider = styled.div.attrs({\n\tclassName: 'bik-step3-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tbackground: ${COLORS.stroke.primary};\n\n\t@media (max-width: 1100px) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const SideSection = styled.div.attrs({ className: 'bik-side-section' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const SideSectionHeader = styled.div.attrs({\n\tclassName: 'bik-side-section-header',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\nexport const AddIconButton = styled.button.attrs({\n\tclassName: 'bik-add-icon-button',\n})`\n\t${iconActionButton}\n`;\n\n// Empty-state tool-source picker (e.g. Manifest / Shopify buttons).\nexport const SourceButtonRow = styled.div.attrs({\n\tclassName: 'bik-source-button-row',\n})`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n`;\n\nexport const SourceButton = styled.button.attrs({\n\tclassName: 'bik-source-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 6px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: ${COLORS.surface.standard};\n\tcursor: pointer;\n\theight: 28px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const SelectableRow = styled.div.attrs({\n\tclassName: 'bik-selectable-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px 12px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Leading icon (e.g. tool source) keeps its size; the label takes the rest. */\n\t& > svg {\n\t\tflex-shrink: 0;\n\t}\n`;\n\nexport const RowText = styled.div.attrs({ className: 'bik-row-text' })`\n\tflex: 1;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Truncate the label to one line with an ellipsis. */\n\t& > * {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n`;\n\nexport const RowRemoveButton = styled.button.attrs({\n\tclassName: 'bik-row-remove-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n`;\n\n// ── Per-row actions (always-visible edit / delete icon buttons) ───────────────\n\nexport const RowActions = styled.div.attrs({ className: 'bik-row-actions' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tflex-shrink: 0;\n`;\n\n// Vertical separator between the edit and delete icon buttons.\nexport const RowActionDivider = styled.span.attrs({\n\tclassName: 'bik-row-action-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tmargin: 4px 0;\n\tbackground: ${COLORS.stroke.primary};\n`;\n\nexport const RowMenuButton = styled.button.attrs({\n\tclassName: 'bik-row-menu-button',\n})`\n\t${iconActionButton}\n`;\n\n// ── Go-live modal ───────────────────────────────────────────────────────────\n\nexport const ModalBody = styled.div.attrs({ className: 'bik-modal-body' })`\n\tpadding: 24px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: 16px;\n\ttext-align: center;\n`;\n\nexport const ModalIcon = styled.div.attrs({ className: 'bik-modal-icon' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 4px;\n`;\n\nexport const ModalActions = styled.div.attrs({\n\tclassName: 'bik-modal-actions',\n})`\n\tdisplay: flex;\n\tgap: 12px;\n\twidth: 100%;\n`;\n\n/** Inline action row inside a rich field (e.g. \"Improve with AI\"). */\nexport const FieldActionRow = styled.div.attrs({\n\tclassName: 'bik-field-action-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n"],"names":["iconActionButton","css","COLORS","BuilderRoot","styled","TopBar","TopBarSide","BackButton","Main","Rail","Content","ContentCard","StepScroll","Footer","FooterHint","FooterActions","RailList","RailItem","StepBadge","p","SectionHeaderWrap","SectionBodyWrap","FieldBlock","FieldLabelRow","AiTextAreaShell","AiTextAreaInput","CardRow","RadioCard","RadioCardText","ChipWrap","IntentChip","ChipCloseButton","AddChipButton","Step3Root","Step3Grid","Step3Divider","SideSection","SideSectionHeader","AddIconButton","SourceButtonRow","SourceButton","SelectableRow","RowText","RowActions","RowActionDivider","RowMenuButton","ModalBody","ModalIcon","ModalActions"],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.styled.js","sources":["../../../../src/components/agent-builder/AgentBuilder.styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { BASE_COLORS, COLORS } from '@src/constants/Theme';\n\n// Shared look for the 24×24 transparent icon buttons (add / row-menu / close).\nconst iconActionButton = css`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 24px;\n\theight: 24px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t\topacity: 0.5;\n\t\tbackground: transparent;\n\t}\n`;\n\nexport const BuilderRoot = styled.div.attrs({ className: 'bik-builder-root' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\twidth: 100%;\n\tmin-height: 0;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const TopBar = styled.div.attrs({ className: 'bik-top-bar' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 56px;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const TopBarSide = styled.div.attrs({ className: 'bik-top-bar-side' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const BackButton = styled.button.attrs({ className: 'bik-back-button' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n\tborder-radius: 4px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const Main = styled.div.attrs({ className: 'bik-main' })`\n\tdisplay: flex;\n\tflex: 1;\n\tmin-height: 0;\n`;\n\nexport const Rail = styled.div.attrs({ className: 'bik-rail' })`\n\twidth: 234px;\n\tflex-shrink: 0;\n\tborder-right: 1px solid ${COLORS.stroke.primary};\n\tpadding: 16px;\n\toverflow-y: auto;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const Content = styled.div.attrs({ className: 'bik-content' })`\n\tflex: 1;\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: hidden;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 16px;\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const ContentCard = styled.div.attrs({ className: 'bik-content-card' })`\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-sizing: border-box;\n`;\n\n// Scrollable step body inside the card; the footer stays pinned below it.\nexport const StepScroll = styled.div.attrs({ className: 'bik-step-scroll' })`\n\tflex: 1;\n\tmin-height: 0;\n\toverflow-y: auto;\n`;\n\nexport const Footer = styled.div.attrs({ className: 'bik-footer' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmin-height: 56px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n\tbox-shadow: 0px -2px 12px 0px #0000000a;\n`;\n\nexport const FooterHint = styled.div.attrs({ className: 'bik-footer-hint' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n`;\n\nexport const FooterActions = styled.div.attrs({\n\tclassName: 'bik-footer-actions',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\n// ── Step rail items ─────────────────────────────────────────────────────────\n\nexport const RailList = styled.div.attrs({ className: 'bik-rail-list' })`\n\tdisplay: flex;\n\tflex-direction: column;\n`;\n\nexport const RailItem = styled.button.attrs({ className: 'bik-rail-item' })`\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\t/* Bottom padding leaves room for the connector down to the next badge. */\n\tpadding: 0 0 24px;\n\tborder: none;\n\tbackground: transparent;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n\n\t&:last-child {\n\t\tpadding-bottom: 0;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t}\n\n\t/* Dashed connector line between consecutive step badges (centered on the badge). */\n\t&:not(:last-child)::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 9px;\n\t\ttop: 20px;\n\t\twidth: 0;\n\t\theight: 24px;\n\t\tborder-left: 1px dashed #e0e0e0;\n\t\tpointer-events: none;\n\t}\n`;\n\nexport const StepBadge = styled.div.attrs({ className: 'bik-step-badge' })<{\n\tstate: 'active' | 'complete' | 'inactive';\n}>`\n\twidth: 20px;\n\theight: 20px;\n\tflex-shrink: 0;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: Inter;\n\tfont-size: 10px;\n\tfont-weight: 400;\n\tline-height: 12px;\n\tbackground: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.brandLight\n\t\t\t: COLORS.background.base};\n\tcolor: ${(p) =>\n\t\tp.state === 'complete'\n\t\t\t? COLORS.surface.standard\n\t\t\t: p.state === 'active'\n\t\t\t? COLORS.background.inverseLight\n\t\t\t: COLORS.content.secondary};\n`;\n\n// ── Shared step pieces ──────────────────────────────────────────────────────\n\nexport const SectionHeaderWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tpadding: 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n`;\n\nexport const SectionBodyWrap = styled.div.attrs({\n\tclassName: 'bik-section-header-wrap',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tpadding: 16px;\n`;\n\nexport const FieldBlock = styled.div.attrs({ className: 'bik-field-block' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const FieldLabelRow = styled.div.attrs({\n\tclassName: 'bik-field-label-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\n// ── Labelled text area ──────────────────────────────────────────────────────\n\nexport const AiTextAreaShell = styled.div.attrs({\n\tclassName: 'bik-ai-text-area-shell',\n})<{\n\tfocused?: boolean;\n\tminHeight?: string;\n}>`\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder: 1px solid\n\t\t${(p) => (p.focused ? COLORS.stroke.brand : COLORS.stroke.primary)};\n\tborder-radius: 4px;\n\tpadding: 8px 12px;\n\tgap: 8px;\n\tmin-height: ${(p) => p.minHeight ?? '120px'};\n\tbackground: ${COLORS.surface.standard};\n`;\n\nexport const AiTextAreaInput = styled.textarea.attrs({\n\tclassName: 'bik-ai-text-area-input',\n})`\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tresize: none;\n\tfont-family: Inter;\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: ${COLORS.content.primary};\n\tbackground: transparent;\n\tmin-height: 60px;\n\n\t&::placeholder {\n\t\tcolor: ${COLORS.content.placeholder};\n\t}\n`;\n\n// ── Radio card (Step 2 / Step 4 option cards) ───────────────────────────────\n\nexport const CardRow = styled.div.attrs({ className: 'bik-card-row' })`\n\tdisplay: flex;\n\tgap: 12px;\n`;\n\nexport const RadioCard = styled.button.attrs({ className: 'bik-radio-card' })<{\n\tselected?: boolean;\n}>`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 12px;\n\tpadding: 16px;\n\tborder: 1px solid\n\t\t${(p) => (p.selected ? BASE_COLORS.brand['800'] : COLORS.stroke.primary)};\n\tbackground: ${(p) =>\n\t\tp.selected ? COLORS.background.brandLight : COLORS.surface.standard};\n\tborder-radius: 8px;\n\tcursor: pointer;\n\ttext-align: left;\n\twidth: 100%;\n`;\n\nexport const RadioCardText = styled.div.attrs({\n\tclassName: 'bik-radio-card-text',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n`;\n\n// ── Intent chips (Step 2) ───────────────────────────────────────────────────\n\nexport const ChipWrap = styled.div.attrs({ className: 'bik-chip-wrap' })`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const AddChipButton = styled.button.attrs({\n\tclassName: 'bik-add-chip-button',\n})`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 4px 8px;\n\tborder: 1px dashed ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n`;\n\n// ── Step 3 two-column layout + tool / sub-agent rows ────────────────────────\n\n// Fills the scroll area so the step header + grow-body chain reaches the footer.\nexport const Step3Root = styled.div.attrs({\n\tclassName: 'bik-agent-step bik-agent-step--response',\n})`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 100%;\n`;\n\nexport const Step3Grid = styled.div.attrs({ className: 'bik-step3-grid' })<{\n\t$grow?: boolean;\n}>`\n\tdisplay: grid;\n\tgrid-template-columns: minmax(0, 1fr) 1px 360px;\n\t/* Single row that fills the grid's height, so the divider spans the full\n\t height (down to the footer) rather than stopping at the taller column. */\n\tgrid-template-rows: 1fr;\n\tflex: 1;\n\tmin-height: 0;\n\n\t@media (max-width: 1100px) {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto;\n\t}\n\n\t/* Fill the remaining card height so a full-height child (e.g. the Step 3\n\t column divider) can stretch all the way down to the footer. */\n\t${(p) =>\n\t\tp.$grow &&\n\t\tcss`\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t`}\n`;\n\n// Vertical rule between the main column and the side (tools / sub-agents) column;\n// hidden once the grid collapses to a single column.\nexport const Step3Divider = styled.div.attrs({\n\tclassName: 'bik-step3-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tbackground: ${COLORS.stroke.primary};\n\n\t@media (max-width: 1100px) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const SideSection = styled.div.attrs({ className: 'bik-side-section' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nexport const SideSectionHeader = styled.div.attrs({\n\tclassName: 'bik-side-section-header',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n`;\n\nexport const AddIconButton = styled.button.attrs({\n\tclassName: 'bik-add-icon-button',\n})`\n\t${iconActionButton}\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n`;\n\n// Empty-state tool-source picker (e.g. Manifest / Shopify buttons).\nexport const SourceButtonRow = styled.div.attrs({\n\tclassName: 'bik-source-button-row',\n})`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px;\n`;\n\nexport const SourceButton = styled.button.attrs({\n\tclassName: 'bik-source-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 6px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbackground: ${COLORS.surface.standard};\n\tcursor: pointer;\n\theight: 28px;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nexport const SelectableRow = styled.div.attrs({\n\tclassName: 'bik-selectable-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px 12px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Leading icon (e.g. tool source) keeps its size; the label takes the rest. */\n\t& > svg {\n\t\tflex-shrink: 0;\n\t}\n`;\n\nexport const RowText = styled.div.attrs({ className: 'bik-row-text' })`\n\tflex: 1;\n\tmin-width: 0;\n\toverflow: hidden;\n\n\t/* Truncate the label to one line with an ellipsis. */\n\t& > * {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n`;\n\nexport const RowRemoveButton = styled.button.attrs({\n\tclassName: 'bik-row-remove-button',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tcursor: pointer;\n`;\n\n// ── Per-row actions (always-visible edit / delete icon buttons) ───────────────\n\nexport const RowActions = styled.div.attrs({ className: 'bik-row-actions' })`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tflex-shrink: 0;\n`;\n\n// Vertical separator between the edit and delete icon buttons.\nexport const RowActionDivider = styled.span.attrs({\n\tclassName: 'bik-row-action-divider',\n})`\n\twidth: 1px;\n\talign-self: stretch;\n\tmargin: 4px 0;\n\tbackground: ${COLORS.stroke.primary};\n`;\n\nexport const RowMenuButton = styled.button.attrs({\n\tclassName: 'bik-row-menu-button',\n})`\n\t${iconActionButton}\n`;\n\nexport const DraftButtonScope = styled.div.attrs({\n\tclassName: 'bik-draft-button-scope',\n})`\n\tdisplay: flex;\n\tflex: 1;\n\n\tbutton {\n\t\tborder-color: ${BASE_COLORS.brand['800']};\n\t}\n\tbutton .text {\n\t\tcolor: ${BASE_COLORS.brand['800']};\n\t}\n`;\n\n// ── Go-live modal ───────────────────────────────────────────────────────────\n\nexport const ModalBody = styled.div.attrs({ className: 'bik-modal-body' })`\n\tpadding: 24px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: 16px;\n\ttext-align: center;\n`;\n\nexport const ModalIcon = styled.div.attrs({ className: 'bik-modal-icon' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 4px;\n`;\n\nexport const ModalActions = styled.div.attrs({\n\tclassName: 'bik-modal-actions',\n})`\n\tdisplay: flex;\n\tgap: 12px;\n\twidth: 100%;\n\t/* Every action shares the row equally. Each action MUST be its own flex\n\t wrapper (a plain <div style=\"display:flex\">, or DraftButtonScope) rather\n\t than a bare Button: on hover the Button relocates its padding into an\n\t inner container, and as the flex item itself that changes its resolved\n\t width — the button visibly grows/shrinks. Wrapped, the div is the sized\n\t track (flex:1) and the Button grows to fill it, absorbing the padding\n\t move so the width stays put. */\n\t> * {\n\t\tflex: 1;\n\t}\n`;\n\n/** Inline action row inside a rich field (e.g. \"Improve with AI\"). */\nexport const FieldActionRow = styled.div.attrs({\n\tclassName: 'bik-field-action-row',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n"],"names":["iconActionButton","css","COLORS","BuilderRoot","styled","TopBar","TopBarSide","BackButton","Main","Rail","Content","ContentCard","StepScroll","Footer","FooterHint","FooterActions","RailList","RailItem","StepBadge","p","SectionHeaderWrap","SectionBodyWrap","FieldBlock","FieldLabelRow","AiTextAreaShell","AiTextAreaInput","CardRow","RadioCard","BASE_COLORS","RadioCardText","ChipWrap","Step3Root","Step3Grid","Step3Divider","SideSection","SideSectionHeader","AddIconButton","SourceButtonRow","SourceButton","SelectableRow","RowText","RowActions","RowActionDivider","RowMenuButton","DraftButtonScope","ModalBody","ModalIcon","ModalActions"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),g=require("../../../assets/icons/info.svg.js"),b=require("../../TypographyStyle.js"),r=require("../../../constants/Theme.js"),o=require("../AgentBuilder.styled.js"),p=require("../context/AgentBuilderContext.js"),e=require("../../button/Button.js"),y=({footerHint:i,onTestAgent:n,onGoLive:s,isPublishing:l})=>{const{isFirstStep:u,isLastStep:a,goPrev:c,goNext:d,isActiveStepValid:x}=p.useAgentBuilderContext();return t.jsxs(o.Footer,{children:[t.jsxs(o.FooterHint,{children:[t.jsx(g.default,{width:16,height:16,color:r.COLORS.content.placeholder}),t.jsx(b.BodySecondary,{color:r.COLORS.content.placeholder,children:i})]}),t.jsxs(o.FooterActions,{children:[!u&&t.jsx(e.Button,{"data-test":"agent-builder-back-step",buttonType:"text",size:"small",buttonText:"Back",onClick:c}),a?t.jsxs(t.Fragment,{children:[n&&t.jsx(e.Button,{"data-test":"agent-builder-test",buttonType:"secondary",size:"small",buttonText:"Test agent",onClick:n}),t.jsx(e.Button,{"data-test":"agent-builder-go-live",buttonType:"primary",size:"small",buttonText:"Go live",isLoading:l,onClick:s})]}):t.jsx(e.Button,{"data-test":"agent-builder-next",buttonType:"primary",size:"small",buttonText:"Next",disabled:!x,onClick:d})]})]})};exports.AgentBuilderFooter=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),p=require("../../../assets/icons/info.svg.js"),y=require("../../TypographyStyle.js"),i=require("../../../constants/Theme.js"),o=require("../AgentBuilder.styled.js"),j=require("../context/AgentBuilderContext.js"),e=require("../../button/Button.js"),B=({footerHint:r,onTestAgent:n,onGoLive:s,isPublishing:l})=>{const{isFirstStep:a,isLastStep:u,goPrev:d,goNext:c,isActiveStepValid:x,validation:b}=j.useAgentBuilderContext(),g=Object.values(b).every(Boolean);return t.jsxs(o.Footer,{children:[t.jsxs(o.FooterHint,{children:[t.jsx(p.default,{width:14,height:14,color:i.COLORS.content.placeholder}),t.jsx(y.BodyCaption,{color:i.COLORS.content.placeholder,children:r})]}),t.jsxs(o.FooterActions,{children:[!a&&t.jsx(e.Button,{"data-test":"agent-builder-back-step",buttonType:"tertiaryGray",size:"small",buttonText:"Back",onClick:d}),u?t.jsxs(t.Fragment,{children:[n&&t.jsx(e.Button,{"data-test":"agent-builder-test",buttonType:"secondary",size:"small",buttonText:"Test agent",onClick:n}),t.jsx(e.Button,{"data-test":"agent-builder-go-live",buttonType:"primary",size:"small",buttonText:"Go live",disabled:!g,isLoading:l,onClick:s})]}):t.jsx(e.Button,{"data-test":"agent-builder-next",buttonType:"primary",size:"small",buttonText:"Next",disabled:!x,onClick:c})]})]})};exports.AgentBuilderFooter=B;
2
2
  //# sourceMappingURL=AgentBuilderFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilderFooter.js","sources":["../../../../../src/components/agent-builder/components/AgentBuilderFooter.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React from 'react';\nimport { Button } from '@src/components/button';\nimport { BodySecondary } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { Footer, FooterActions, FooterHint } from '../AgentBuilder.styled';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\ninterface AgentBuilderFooterProps {\n\tfooterHint: string;\n\tonTestAgent?: () => void;\n\t/** Opens the go-live confirmation. */\n\tonGoLive: () => void;\n\tisPublishing?: boolean;\n}\n\nexport const AgentBuilderFooter: React.FC<AgentBuilderFooterProps> = ({\n\tfooterHint,\n\tonTestAgent,\n\tonGoLive,\n\tisPublishing,\n}) => {\n\tconst { isFirstStep, isLastStep, goPrev, goNext, isActiveStepValid } =\n\t\tuseAgentBuilderContext();\n\n\treturn (\n\t\t<Footer>\n\t\t\t<FooterHint>\n\t\t\t\t<InfoIcon width={16} height={16} color={COLORS.content.placeholder} />\n\t\t\t\t<BodySecondary color={COLORS.content.placeholder}>\n\t\t\t\t\t{footerHint}\n\t\t\t\t</BodySecondary>\n\t\t\t</FooterHint>\n\n\t\t\t<FooterActions>\n\t\t\t\t{!isFirstStep && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-back-step\"\n\t\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Back\"\n\t\t\t\t\t\tonClick={goPrev}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{isLastStep ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{onTestAgent && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-test=\"agent-builder-test\"\n\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tbuttonText=\"Test agent\"\n\t\t\t\t\t\t\t\tonClick={onTestAgent}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdata-test=\"agent-builder-go-live\"\n\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tbuttonText=\"Go live\"\n\t\t\t\t\t\t\tisLoading={isPublishing}\n\t\t\t\t\t\t\tonClick={onGoLive}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-next\"\n\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Next\"\n\t\t\t\t\t\tdisabled={!isActiveStepValid}\n\t\t\t\t\t\tonClick={goNext}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</FooterActions>\n\t\t</Footer>\n\t);\n};\n"],"names":["AgentBuilderFooter","footerHint","onTestAgent","onGoLive","isPublishing","isFirstStep","isLastStep","goPrev","goNext","isActiveStepValid","useAgentBuilderContext","Footer","jsxs","FooterHint","jsx","InfoIcon","COLORS","BodySecondary","FooterActions","Button","Fragment"],"mappings":"6WAgBaA,EAAwD,CAAC,CACrE,WAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,CACD,IAAM,CACL,KAAM,CAAE,YAAAC,EAAa,WAAAC,EAAY,OAAAC,EAAQ,OAAAC,EAAQ,kBAAAC,CAAA,EAChDC,yBAAA,EAED,cACEC,SAAA,CACA,SAAA,CAAAC,OAACC,EAAAA,WAAA,CACA,SAAA,CAAAC,EAAAA,IAACC,EAAAA,QAAA,CAAS,MAAO,GAAI,OAAQ,GAAI,MAAOC,EAAAA,OAAO,QAAQ,WAAA,CAAa,QACnEC,EAAAA,cAAA,CAAc,MAAOD,EAAAA,OAAO,QAAQ,YACnC,SAAAf,CAAA,CACF,CAAA,EACD,SAECiB,EAAAA,cAAA,CACC,SAAA,CAAA,CAACb,GACDS,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,0BACV,WAAW,OACX,KAAK,QACL,WAAW,OACX,QAASZ,CAAA,CAAA,EAIVD,EACAM,EAAAA,KAAAQ,WAAA,CACE,SAAA,CAAAlB,GACAY,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,qBACV,WAAW,YACX,KAAK,QACL,WAAW,aACX,QAASjB,CAAA,CAAA,EAGXY,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,wBACV,WAAW,UACX,KAAK,QACL,WAAW,UACX,UAAWf,EACX,QAASD,CAAA,CAAA,CACV,CAAA,CACD,EAEAW,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,qBACV,WAAW,UACX,KAAK,QACL,WAAW,OACX,SAAU,CAACV,EACX,QAASD,CAAA,CAAA,CACV,CAAA,CAEF,CAAA,EACD,CAEF"}
1
+ {"version":3,"file":"AgentBuilderFooter.js","sources":["../../../../../src/components/agent-builder/components/AgentBuilderFooter.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React from 'react';\nimport { Button } from '@src/components/button';\nimport { BodyCaption } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { Footer, FooterActions, FooterHint } from '../AgentBuilder.styled';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\ninterface AgentBuilderFooterProps {\n\tfooterHint: string;\n\tonTestAgent?: () => void;\n\t/** Opens the go-live confirmation. */\n\tonGoLive: () => void;\n\tisPublishing?: boolean;\n}\n\nexport const AgentBuilderFooter: React.FC<AgentBuilderFooterProps> = ({\n\tfooterHint,\n\tonTestAgent,\n\tonGoLive,\n\tisPublishing,\n}) => {\n\tconst {\n\t\tisFirstStep,\n\t\tisLastStep,\n\t\tgoPrev,\n\t\tgoNext,\n\t\tisActiveStepValid,\n\t\tvalidation,\n\t} = useAgentBuilderContext();\n\t// Publishing requires every step complete, not just the active one.\n\tconst allStepsValid = Object.values(validation).every(Boolean);\n\n\treturn (\n\t\t<Footer>\n\t\t\t<FooterHint>\n\t\t\t\t<InfoIcon width={14} height={14} color={COLORS.content.placeholder} />\n\t\t\t\t<BodyCaption color={COLORS.content.placeholder}>\n\t\t\t\t\t{footerHint}\n\t\t\t\t</BodyCaption>\n\t\t\t</FooterHint>\n\n\t\t\t<FooterActions>\n\t\t\t\t{!isFirstStep && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-back-step\"\n\t\t\t\t\t\tbuttonType=\"tertiaryGray\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Back\"\n\t\t\t\t\t\tonClick={goPrev}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{isLastStep ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{onTestAgent && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-test=\"agent-builder-test\"\n\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tbuttonText=\"Test agent\"\n\t\t\t\t\t\t\t\tonClick={onTestAgent}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdata-test=\"agent-builder-go-live\"\n\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tbuttonText=\"Go live\"\n\t\t\t\t\t\t\tdisabled={!allStepsValid}\n\t\t\t\t\t\t\tisLoading={isPublishing}\n\t\t\t\t\t\t\tonClick={onGoLive}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-test=\"agent-builder-next\"\n\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonText=\"Next\"\n\t\t\t\t\t\tdisabled={!isActiveStepValid}\n\t\t\t\t\t\tonClick={goNext}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</FooterActions>\n\t\t</Footer>\n\t);\n};\n"],"names":["AgentBuilderFooter","footerHint","onTestAgent","onGoLive","isPublishing","isFirstStep","isLastStep","goPrev","goNext","isActiveStepValid","validation","useAgentBuilderContext","allStepsValid","Footer","jsxs","FooterHint","jsx","InfoIcon","COLORS","BodyCaption","FooterActions","Button","Fragment"],"mappings":"6WAgBaA,EAAwD,CAAC,CACrE,WAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,CACD,IAAM,CACL,KAAM,CACL,YAAAC,EACA,WAAAC,EACA,OAAAC,EACA,OAAAC,EACA,kBAAAC,EACA,WAAAC,CAAA,EACGC,yBAAA,EAEEC,EAAgB,OAAO,OAAOF,CAAU,EAAE,MAAM,OAAO,EAE7D,cACEG,SAAA,CACA,SAAA,CAAAC,OAACC,EAAAA,WAAA,CACA,SAAA,CAAAC,EAAAA,IAACC,EAAAA,QAAA,CAAS,MAAO,GAAI,OAAQ,GAAI,MAAOC,EAAAA,OAAO,QAAQ,WAAA,CAAa,QACnEC,EAAAA,YAAA,CAAY,MAAOD,EAAAA,OAAO,QAAQ,YACjC,SAAAjB,CAAA,CACF,CAAA,EACD,SAECmB,EAAAA,cAAA,CACC,SAAA,CAAA,CAACf,GACDW,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,0BACV,WAAW,eACX,KAAK,QACL,WAAW,OACX,QAASd,CAAA,CAAA,EAIVD,EACAQ,EAAAA,KAAAQ,WAAA,CACE,SAAA,CAAApB,GACAc,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,qBACV,WAAW,YACX,KAAK,QACL,WAAW,aACX,QAASnB,CAAA,CAAA,EAGXc,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,wBACV,WAAW,UACX,KAAK,QACL,WAAW,UACX,SAAU,CAACT,EACX,UAAWR,EACX,QAASD,CAAA,CAAA,CACV,CAAA,CACD,EAEAa,EAAAA,IAACK,EAAAA,OAAA,CACA,YAAU,qBACV,WAAW,UACX,KAAK,QACL,WAAW,OACX,SAAU,CAACZ,EACX,QAASD,CAAA,CAAA,CACV,CAAA,CAEF,CAAA,EACD,CAEF"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("../../../assets/icons/arrow_left.svg.js"),c=require("../../TypographyStyle.js"),a=require("../../../constants/Theme.js"),t=require("../AgentBuilder.styled.js"),d=require("../../tag/Tag.js"),g=require("../../button/Button.js"),T=({name:n,status:o,onBack:r,onSaveDraft:s,isSaving:l})=>{const i=o==="live";return e.jsxs(t.TopBar,{children:[e.jsxs(t.TopBarSide,{children:[r&&e.jsx(t.BackButton,{"data-test":"agent-builder-back",onClick:r,"aria-label":"Back",children:e.jsx(u.default,{width:20,height:20,color:a.COLORS.content.primary})}),e.jsx(c.TitleRegular,{color:a.COLORS.content.primary,children:n||"Untitled agent"}),e.jsx(d.Tag,{tagText:i?"Live":"Draft",type:i?"positive":"neutral",variant:"regular"})]}),e.jsx(t.TopBarSide,{children:e.jsx(g.Button,{"data-test":"agent-builder-save-draft",buttonType:"secondary",size:"small",buttonText:"Save as draft",isLoading:l,onClick:s})})]})};exports.AgentBuilderTopBar=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../../assets/icons/arrow_left.svg.js"),d=require("../../TypographyStyle.js"),n=require("../../../constants/Theme.js"),t=require("../AgentBuilder.styled.js"),u=require("../../tag/Tag.js"),g=require("../../button/Button.js"),p=({name:r,status:o,onBack:i,onSaveDraft:s,isSaving:l})=>{const a=o==="live";return e.jsxs(t.TopBar,{children:[e.jsxs(t.TopBarSide,{children:[i&&e.jsx(t.BackButton,{"data-test":"agent-builder-back",onClick:i,"aria-label":"Back",children:e.jsx(c.default,{width:24,height:24,color:n.COLORS.content.primary})}),e.jsx(d.TitleRegular,{color:n.COLORS.content.primary,children:r||"Untitled agent"}),e.jsx(u.Tag,{tagText:a?"Live":"Draft",type:a?"positive":"neutral",variant:"regular"})]}),e.jsx(t.TopBarSide,{children:e.jsx(t.DraftButtonScope,{children:e.jsx(g.Button,{"data-test":"agent-builder-save-draft",buttonType:"secondary",size:"small",buttonText:"Save as draft",disabled:!r.trim(),isLoading:l,onClick:s})})})]})};exports.AgentBuilderTopBar=p;
2
2
  //# 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 { BackButton, TopBar, TopBarSide } 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={20}\n\t\t\t\t\t\t\theight={20}\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<Button\n\t\t\t\t\tdata-test=\"agent-builder-save-draft\"\n\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tbuttonText=\"Save as draft\"\n\t\t\t\t\tisLoading={isSaving}\n\t\t\t\t\tonClick={onSaveDraft}\n\t\t\t\t/>\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","Button"],"mappings":"kWAiBaA,EAAwD,CAAC,CACrE,KAAAC,EACA,OAAAC,EACA,OAAAC,EACA,YAAAC,EACA,SAAAC,CACD,IAAM,CACL,MAAMC,EAASJ,IAAW,OAC1B,cACEK,SAAA,CACA,SAAA,CAAAC,OAACC,EAAAA,WAAA,CACC,SAAA,CAAAN,GACAO,EAAAA,IAACC,EAAAA,WAAA,CACA,YAAU,qBACV,QAASR,EACT,aAAW,OAEX,SAAAO,EAAAA,IAACE,EAAAA,QAAA,CACA,MAAO,GACP,OAAQ,GACR,MAAOC,EAAAA,OAAO,QAAQ,OAAA,CAAA,CACvB,CAAA,QAGDC,EAAAA,aAAA,CAAa,MAAOD,EAAAA,OAAO,QAAQ,QAClC,YAAQ,iBACV,EACAH,EAAAA,IAACK,EAAAA,IAAA,CACA,QAAST,EAAS,OAAS,QAC3B,KAAMA,EAAS,WAAa,UAC5B,QAAQ,SAAA,CAAA,CACT,EACD,QAECG,EAAAA,WAAA,CACA,SAAAC,EAAAA,IAACM,EAAAA,OAAA,CACA,YAAU,2BACV,WAAW,YACX,KAAK,QACL,WAAW,gBACX,UAAWX,EACX,QAASD,CAAA,CAAA,CACV,CACD,CAAA,EACD,CAEF"}
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":"kWAsBaA,EAAwD,CAAC,CACrE,KAAAC,EACA,OAAAC,EACA,OAAAC,EACA,YAAAC,EACA,SAAAC,CACD,IAAM,CACL,MAAMC,EAASJ,IAAW,OAC1B,cACEK,SAAA,CACA,SAAA,CAAAC,OAACC,EAAAA,WAAA,CACC,SAAA,CAAAN,GACAO,EAAAA,IAACC,EAAAA,WAAA,CACA,YAAU,qBACV,QAASR,EACT,aAAW,OAEX,SAAAO,EAAAA,IAACE,EAAAA,QAAA,CACA,MAAO,GACP,OAAQ,GACR,MAAOC,EAAAA,OAAO,QAAQ,OAAA,CAAA,CACvB,CAAA,QAGDC,EAAAA,aAAA,CAAa,MAAOD,EAAAA,OAAO,QAAQ,QAClC,YAAQ,iBACV,EACAH,EAAAA,IAACK,EAAAA,IAAA,CACA,QAAST,EAAS,OAAS,QAC3B,KAAMA,EAAS,WAAa,UAC5B,QAAQ,SAAA,CAAA,CACT,EACD,EAEAI,EAAAA,IAACD,EAAAA,WAAA,CACA,SAAAC,EAAAA,IAACM,EAAAA,iBAAA,CACA,SAAAN,EAAAA,IAACO,EAAAA,OAAA,CACA,YAAU,2BACV,WAAW,YACX,KAAK,QACL,WAAW,gBAEX,SAAU,CAAChB,EAAK,KAAA,EAChB,UAAWI,EACX,QAASD,CAAA,CAAA,EAEX,CAAA,CACD,CAAA,EACD,CAEF"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),L=require("../../../assets/icons/cross.svg.js"),T=require("react"),_=require("styled-components"),S=require("../../TypographyStyle.js"),r=require("../../../constants/Theme.js"),B=require("../AgentBuilder.styled.js"),I=require("../constants/charLimits.js"),C=require("./DrawerHeaderText.js"),q=require("./ToolInstructionsField.js"),E=require("../../side-modal/SideModal.js"),D=require("../../switch/Switch.js"),$=require("../../input/Input.js"),A=require("../../tag/Tag.js"),P=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},p=P(_),F={send_email:{title:"Handover to email",subtitle:"Notify someone by email when this agent can't continue. You pick the recipient, the AI drafts the message."},send_slack_message:{title:"Send Slack message",subtitle:"Post a message to a Slack channel. You pick the channel, the AI composes the message from the conversation."}},Y=({chips:t,onChange:s,placeholder:c,nativeID:u,hint:h})=>{const[d,y]=T.useState(""),m=()=>{const n=d.split(",").map(i=>i.trim()).filter(Boolean);n.length&&s([...t,...n.filter(i=>!t.includes(i))]),y("")};return o.jsxs(V,{children:[o.jsx(W,{id:u,type:"text",placeholder:c,value:d,onChange:n=>y(n.target.value),onBlur:m,onKeyDown:n=>{n.key==="Enter"||n.key===","?(n.preventDefault(),m()):n.key==="Backspace"&&d===""&&t.length>0&&s(t.slice(0,-1))}}),h,t.length>0&&o.jsx(G,{children:t.map((n,i)=>o.jsx(A.Tag,{tagText:n,theme:"light",type:"neutral",variant:"regular",TrailingIcon:L.default,onTrailingIconClicked:()=>s(t.filter((f,x)=>x!==i))},`${n}-${i}`))})]})},H=(t,s)=>{const c={};return Object.keys(t).forEach(u=>{c[u]=s?.params[u]?.value??t[u].value}),c},M=t=>String(t??"").split(",").map(s=>s.trim()).filter(Boolean),z=({toolKey:t,template:s,onClose:c,onSave:u,initial:h,onImprove:d,charLimits:y=I.AGENT_CHAR_LIMITS,zIndex:m})=>{const[n,i]=T.useState(()=>H(s,h)),[f,x]=T.useState(!1),k=Object.values(s),j=t==="send_email",g=(e,l)=>i(a=>({...a,[e]:l})),O=k.every(e=>!e.required||String(n[e.key]??"").trim()!==""),w=async()=>{if(!O||f)return;const e={};k.forEach(v=>{e[v.key]={...v,value:n[v.key]}});const l={id:h?.id??`${t}_${Date.now().toString(36)}`,tool_key:t,params:e},a=u(l);if(a&&typeof a.then=="function"){x(!0);try{await a}finally{x(!1)}}},R=e=>{const l=`config-tool-${e.key.toLowerCase()}`;switch(e.component){case"KeywordInput":if(!j)break;return o.jsxs(B.FieldBlock,{children:[o.jsx(S.TitleSmall,{color:r.COLORS.content.primary,children:e.title}),o.jsx(Y,{nativeID:l,placeholder:e.hint??"",chips:M(n[e.key]),onChange:a=>g(e.key,a.join(",")),hint:o.jsx(S.BodyCaption,{color:r.COLORS.content.secondary,children:"Press Enter or comma to add multiple emails"})})]},e.key);case"MultilineInput":return o.jsx(q.ToolInstructionsField,{"data-test":l,label:e.title,value:String(n[e.key]??""),onChange:a=>g(e.key,a),maxLength:y.instructions,placeholder:e.hint??"",onImprove:d},e.key);case"Switch":return o.jsxs(N,{children:[o.jsxs(J,{children:[o.jsx(S.TitleSmall,{color:r.COLORS.content.primary,children:e.title}),e.hint&&o.jsx(S.BodyCaption,{color:r.COLORS.content.secondary,children:e.hint})]}),o.jsx(D.Switch,{"data-test":l,value:!!n[e.key],onValueChange:async a=>g(e.key,a)})]},e.key)}return o.jsx($.Input,{"data-test":l,variant:"small",labelText:e.title,labelTextBold:!0,placeholder:e.hint??"",value:String(n[e.key]??""),onChangeText:a=>g(e.key,a)},e.key)},b=F[t];return o.jsx(E.SideModal,{header:b.title,closeOnEscapeKey:!1,zIndex:m,headerCustomComponent:o.jsx(C.DrawerHeaderText,{title:b.title,subtitle:b.subtitle}),hideCrossButton:!1,width:"431px",headerStyle:C.DRAWER_HEADER_STYLE,bodyStyle:C.DRAWER_BODY_STYLE,onClose:c,saveButtonProps:{"data-test":"config-tool-save",buttonText:"Save",buttonType:"primary",size:"small",disabled:!O,isLoading:f,onClick:w},cancelButtonProps:{"data-test":"config-tool-cancel",buttonText:"Cancel",buttonType:"tertiaryGray",size:"small",onClick:c},children:k.map(R)})},V=p.default.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),L=require("../../../assets/icons/cross.svg.js"),T=require("react"),_=require("styled-components"),S=require("../../TypographyStyle.js"),r=require("../../../constants/Theme.js"),B=require("../AgentBuilder.styled.js"),E=require("../constants/charLimits.js"),v=require("./DrawerHeaderText.js"),I=require("./ToolInstructionsField.js"),q=require("../../side-modal/SideModal.js"),D=require("../../switch/Switch.js"),$=require("../../input/Input.js"),A=require("../../tag/Tag.js"),P=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},p=P(_),F={send_email:{title:"Send Email",subtitle:"Notify someone by email when this agent can't continue. You pick the recipient, the AI drafts the message."},send_slack_message:{title:"Send Slack message",subtitle:"Post a message to a Slack channel. You pick the channel, the AI composes the message from the conversation."}},Y=({chips:t,onChange:s,placeholder:c,nativeID:u,hint:h})=>{const[d,y]=T.useState(""),m=()=>{const n=d.split(",").map(i=>i.trim()).filter(Boolean);n.length&&s([...t,...n.filter(i=>!t.includes(i))]),y("")};return o.jsxs(V,{children:[o.jsx(W,{id:u,type:"text",placeholder:c,value:d,onChange:n=>y(n.target.value),onBlur:m,onKeyDown:n=>{n.key==="Enter"||n.key===","?(n.preventDefault(),m()):n.key==="Backspace"&&d===""&&t.length>0&&s(t.slice(0,-1))}}),h,t.length>0&&o.jsx(G,{children:t.map((n,i)=>o.jsx(A.Tag,{tagText:n,theme:"light",type:"neutral",variant:"regular",TrailingIcon:L.default,onTrailingIconClicked:()=>s(t.filter((f,x)=>x!==i))},`${n}-${i}`))})]})},M=(t,s)=>{const c={};return Object.keys(t).forEach(u=>{c[u]=s?.params[u]?.value??t[u].value}),c},z=t=>String(t??"").split(",").map(s=>s.trim()).filter(Boolean),H=({toolKey:t,template:s,onClose:c,onSave:u,initial:h,onImprove:d,charLimits:y=E.AGENT_CHAR_LIMITS,zIndex:m})=>{const[n,i]=T.useState(()=>M(s,h)),[f,x]=T.useState(!1),k=Object.values(s),j=t==="send_email",g=(e,l)=>i(a=>({...a,[e]:l})),O=k.every(e=>!e.required||String(n[e.key]??"").trim()!==""),w=async()=>{if(!O||f)return;const e={};k.forEach(C=>{e[C.key]={...C,value:n[C.key]}});const l={id:h?.id??`${t}_${Date.now().toString(36)}`,tool_key:t,params:e},a=u(l);if(a&&typeof a.then=="function"){x(!0);try{await a}finally{x(!1)}}},R=e=>{const l=`config-tool-${e.key.toLowerCase()}`;switch(e.component){case"KeywordInput":if(!j)break;return o.jsxs(B.FieldBlock,{children:[o.jsx(S.TitleSmall,{color:r.COLORS.content.primary,children:e.title}),o.jsx(Y,{nativeID:l,placeholder:e.hint??"",chips:z(n[e.key]),onChange:a=>g(e.key,a.join(",")),hint:o.jsx(S.BodyCaption,{color:r.COLORS.content.secondary,children:"Press Enter or comma to add multiple emails"})})]},e.key);case"MultilineInput":return o.jsx(I.ToolInstructionsField,{"data-test":l,label:e.title,value:String(n[e.key]??""),onChange:a=>g(e.key,a),maxLength:y.instructions,placeholder:e.hint??"",onImprove:d},e.key);case"Switch":return o.jsxs(N,{children:[o.jsxs(J,{children:[o.jsx(S.TitleSmall,{color:r.COLORS.content.primary,children:e.title}),e.hint&&o.jsx(S.BodyCaption,{color:r.COLORS.content.secondary,children:e.hint})]}),o.jsx(D.Switch,{"data-test":l,value:!!n[e.key],onValueChange:async a=>g(e.key,a)})]},e.key)}return o.jsx($.Input,{"data-test":l,variant:"small",labelText:e.title,labelTextBold:!0,placeholder:e.hint??"",value:String(n[e.key]??""),onChangeText:a=>g(e.key,a)},e.key)},b=F[t];return o.jsx(q.SideModal,{header:b.title,closeOnEscapeKey:!1,zIndex:m,headerCustomComponent:o.jsx(v.DrawerHeaderText,{title:b.title,subtitle:b.subtitle}),hideCrossButton:!1,width:"431px",headerStyle:v.DRAWER_HEADER_STYLE,bodyStyle:v.DRAWER_BODY_STYLE,onClose:c,saveButtonProps:{"data-test":"config-tool-save",buttonText:"Save",buttonType:"primary",size:"small",disabled:!O,isLoading:f,onClick:w},cancelButtonProps:{"data-test":"config-tool-cancel",buttonText:"Cancel",buttonType:"tertiaryGray",size:"small",onClick:c},children:k.map(R)})},V=p.default.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: 8px;
@@ -37,5 +37,5 @@
37
37
  flex-direction: column;
38
38
  gap: 4px;
39
39
  min-width: 0;
40
- `;exports.ConfigToolPanel=z;
40
+ `;exports.ConfigToolPanel=H;
41
41
  //# sourceMappingURL=ConfigToolPanel.js.map