Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev rebase #858

Merged
merged 82 commits into from
Jul 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
a47dfac
Merge pull request #791 from TransformerOptimus/dev
Jul 18, 2023
6486fe8
Fix/agents delete (#795)
nihiragarwal24 Jul 18, 2023
d631120
fixing the send email attachement issue
Jul 18, 2023
aeeb1db
delete run label (#796)
nihiragarwal24 Jul 18, 2023
b462789
fix
nihiragarwal24 Jul 18, 2023
d0ea637
Merge pull request #797 from TransformerOptimus/delete-fix
Jul 18, 2023
d11fff5
fixing schedule agent run
Jul 18, 2023
05b35c6
Updated README.md
Phoenix2809 Jul 18, 2023
b53048c
Update README.md
Phoenix2809 Jul 19, 2023
0fe28c8
Update config_template.yaml
Phoenix2809 Jul 19, 2023
16af253
Twitter and Google Oauth for Web (#808)
Tarraann Jul 19, 2023
8351cb9
Updated DB settings (#805)
luciferlinx101 Jul 19, 2023
aae7df9
document fix (#806)
Fluder-Paradyne Jul 19, 2023
9deefec
ui bug bash fixes
jedan2506 Jul 19, 2023
6faf73f
ui bug bash fixes
jedan2506 Jul 19, 2023
8ac7b33
ui bug bash fixes
jedan2506 Jul 19, 2023
c537a43
ui bug bash fixes
jedan2506 Jul 19, 2023
0e039a5
ui bug bash fixes
jedan2506 Jul 19, 2023
77e957f
ui bug bash fixes
jedan2506 Jul 19, 2023
0a03153
ui bug bash fixes
jedan2506 Jul 19, 2023
a375648
ui bug bash fixes
jedan2506 Jul 19, 2023
79a3c55
ui bug bash fixes
jedan2506 Jul 19, 2023
49fc287
ui bug bash fixes
jedan2506 Jul 19, 2023
cc55778
ui bug bash fixes
jedan2506 Jul 19, 2023
92feabf
Bugs fixes new (#809)
jedan2506 Jul 19, 2023
7ed46d9
csv file fix (#810)
Tarraann Jul 19, 2023
55cad10
Merge pull request #804 from Phoenix2809/main
neelayan7 Jul 19, 2023
b988e77
ui bug bash fixes
jedan2506 Jul 19, 2023
dcc1859
Merge branch 'main' of github.com:TransformerOptimus/SuperAGI into bu…
jedan2506 Jul 19, 2023
910acd5
ui bug bash fixes
jedan2506 Jul 19, 2023
2aae2b1
Bugs new (#814)
jedan2506 Jul 19, 2023
b3ce34c
Fixes (#815)
Tarraann Jul 19, 2023
be181c3
ui bug bash fixes
jedan2506 Jul 19, 2023
b782c8e
Merge branch 'main' of github.com:TransformerOptimus/SuperAGI into bu…
jedan2506 Jul 19, 2023
d32a410
ui bug bash fixes
jedan2506 Jul 20, 2023
03442ee
Merge pull request #822 from TransformerOptimus/bugs_new
nborthy Jul 20, 2023
be7797f
Handling the rate limit exception
Jul 20, 2023
2476c8f
Merge pull request #826 from TransformerOptimus/rate_limit_error
Jul 20, 2023
925fa17
fixed add_to_vector_store_and_create_summary (#827)
Fluder-Paradyne Jul 20, 2023
8e2396c
fix 97971622 (#824)
Fluder-Paradyne Jul 20, 2023
b58067f
Llm models fix (#829)
nihiragarwal24 Jul 20, 2023
ee4b72b
removed unnecessary toolkits from marketplace
NishantBorthakur Jul 20, 2023
c49e840
Merge pull request #832 from TransformerOptimus/remove_toolkit_market…
nborthy Jul 21, 2023
9156985
Dalle fix (#825)
Tarraann Jul 21, 2023
540509d
ui bug bash fixes (#839)
jedan2506 Jul 21, 2023
9c89991
Fixing twitter creds
Jul 21, 2023
7fd8d8d
fixing google oauth issues
Jul 21, 2023
34aeb5b
fixing google oauth issue
Jul 21, 2023
26acffb
fixess
nihiragarwal24 Jul 25, 2023
2e96b00
Merge pull request #850 from TransformerOptimus/jwt-expiry-issue
nborthy Jul 25, 2023
8c5be36
fixess
nihiragarwal24 Jul 25, 2023
857ddc1
Merge pull request #851 from TransformerOptimus/hotfix-prod
nborthy Jul 25, 2023
da17138
fixess
nihiragarwal24 Jul 25, 2023
b173a5f
Merge pull request #852 from TransformerOptimus/hotfix-prod
nborthy Jul 25, 2023
f5fcb1b
fixess (#854)
nihiragarwal24 Jul 25, 2023
4fb14f9
Resource duplicate fix (#803)
luciferlinx101 Jul 19, 2023
03bc7fb
Supercoder Improve tool addition (#755)
Autocop-Agent Jul 20, 2023
fa8a8e0
rebased
nihiragarwal24 Jul 25, 2023
0fc0578
Read file s3 fix (#823)
luciferlinx101 Jul 20, 2023
1169b6b
Edit agent templates fix (#838)
anisha1607 Jul 21, 2023
b3cdf41
ui bug bash fixes
jedan2506 Jul 21, 2023
3f28aa1
ui bug bash fixes
jedan2506 Jul 21, 2023
60dc171
ui bug bash fixes
jedan2506 Jul 21, 2023
4c1a09a
rebased
nihiragarwal24 Jul 25, 2023
0721cf0
first commit
Aryan-Singh-14 Jul 11, 2023
1499a93
instagram APIs implemented and AI generated caption utility added
Aryan-Singh-14 Jul 13, 2023
98a6b2a
Image upload to S3 and URL generation added
Aryan-Singh-14 Jul 14, 2023
e970e7d
added upload to s3 instagram bucket
Aryan-Singh-14 Jul 18, 2023
3676f53
Refactored code
Aryan-Singh-14 Jul 19, 2023
e251d7b
removed jpeg files used for testing
Aryan-Singh-14 Jul 19, 2023
99f206a
fixed recurring run issues
Aryan-Singh-14 Jul 20, 2023
27f8ddd
fixed recurring issues
Aryan-Singh-14 Jul 20, 2023
1bf9d74
Readme added
Aryan-Singh-14 Jul 20, 2023
da7232a
instabot config folder deleted
Aryan-Singh-14 Jul 20, 2023
730fc0c
refactored code
Aryan-Singh-14 Jul 20, 2023
ab7210e
Handled the case where stable diffusion generated multiple photos
Aryan-Singh-14 Jul 21, 2023
35d2e2e
docker compose.yaml version reverted to original
Aryan-Singh-14 Jul 21, 2023
a6a897a
removed the utility to add stable diffusion automatically
Aryan-Singh-14 Jul 21, 2023
9b1ddda
added test cases and modified readme
Aryan-Singh-14 Jul 25, 2023
bd0cb6e
Added instagram tool bucket entry in config_template.yaml
Aryan-Singh-14 Jul 25, 2023
3aa2849
added instagram tool bucket entry in config template
Aryan-Singh-14 Jul 25, 2023
d701e1b
merged latest
nihiragarwal24 Jul 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions config_template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ WEAVIATE_USE_EMBEDDED: true
GOOGLE_API_KEY: YOUR_GOOGLE_API_KEY
SEARCH_ENGINE_ID: YOUR_SEARCH_ENIGNE_ID

# IF YOU DONT HAVE GOOGLE SEARCH KEY, USE THIS
SERP_API_KEY: YOUR_SERP_API_KEY
# IF YOU DONT HAVE GOOGLE SEARCH KEY, YOU CAN USE SERPER.DEV KEYS
SERP_API_KEY: YOUR_SERPER_API_KEY

#ENTER YOUR EMAIL CREDENTIALS TO ACCESS EMAIL TOOL
EMAIL_ADDRESS: YOUR_EMAIL_ADDRESS
Expand Down Expand Up @@ -118,4 +118,4 @@ ENGINE_ID: "stable-diffusion-xl-beta-v2-2-2"

## To use Qdrant for vector store
#QDRANT_HOST_NAME: YOUR_QDRANT_HOST_NAME
#QDRANT_PORT: YOUR_QDRANT_PORT
#QDRANT_PORT: YOUR_QDRANT_PORT
14 changes: 6 additions & 8 deletions gui/pages/Content/Agents/ActivityFeed.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,9 @@ export default function ActivityFeed({selectedRunId, selectedView, setFetchedDat
}, [runStatus])

function fetchFeeds() {
console.log("In")
setIsLoading(true);
console.log(isLoading)
getExecutionFeeds(selectedRunId)
if (selectedRunId !== null) {
setIsLoading(true);
getExecutionFeeds(selectedRunId)
.then((response) => {
const data = response.data;
setFeeds(data.feeds);
Expand All @@ -90,6 +89,7 @@ export default function ActivityFeed({selectedRunId, selectedView, setFetchedDat
console.error('Error fetching execution feeds:', error);
setIsLoading(false); // and this line
});
}
}

useEffect(() => {
Expand Down Expand Up @@ -166,12 +166,10 @@ export default function ActivityFeed({selectedRunId, selectedView, setFetchedDat
}
{feeds.length < 1 && !agent?.is_running && !agent?.is_scheduled ?
(isLoading ?
<div style={{display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh'}}>
<div style={{display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh'}}>
<ClipLoader/>
</div>
: <div style={{color: 'white', fontSize: '14px', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', width: '100%'}}>
The Agent is not scheduled
</div>): null
: <div style={{color: 'white', fontSize: '14px', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', width: '100%'}}>The Agent is not scheduled</div>): null
}
</div>
{feedContainerRef.current && feedContainerRef.current.scrollTop >= 1200 &&
Expand Down
73 changes: 31 additions & 42 deletions gui/pages/Content/Agents/AgentCreate.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
editAgentTemplate,
fetchAgentTemplateConfigLocal,
getOrganisationConfig,
getLlmModels,
updateExecution,
uploadFile
} from "@/pages/api/DashboardService";
Expand All @@ -16,22 +17,13 @@ import {
openNewTab,
removeTab,
setLocalStorageValue,
setLocalStorageArray, returnResourceIcon, getUserTimezone, createInternalId, preventDefault
setLocalStorageArray, returnResourceIcon, getUserTimezone, createInternalId,preventDefault,excludedToolkits
} from "@/utils/utils";
import {EventBus} from "@/utils/eventBus";
import 'moment-timezone';
import AgentSchedule from "@/pages/Content/Agents/AgentSchedule";

export default function AgentCreate({
sendAgentData,
selectedProjectId,
fetchAgents,
toolkits,
organisationId,
template,
internalId
}) {

export default function AgentCreate({sendAgentData, selectedProjectId, fetchAgents, toolkits, organisationId, template, internalId, env}) {
const [advancedOptions, setAdvancedOptions] = useState(false);
const [agentName, setAgentName] = useState("");
const [agentTemplateId, setAgentTemplateId] = useState(null);
Expand Down Expand Up @@ -59,8 +51,8 @@ export default function AgentCreate({
const [goals, setGoals] = useState(['Describe the agent goals here']);
const [instructions, setInstructions] = useState(['']);

const models = ['gpt-4', 'gpt-3.5-turbo', 'gpt-3.5-turbo-16k', 'gpt-4-32k', 'google-palm-bison-001']
const [model, setModel] = useState(models[1]);
const [modelsArray, setModelsArray] = useState([]);
const [model, setModel] = useState('');
const modelRef = useRef(null);
const [modelDropdown, setModelDropdown] = useState(false);

Expand Down Expand Up @@ -94,18 +86,12 @@ export default function AgentCreate({
const toolkitRef = useRef(null);
const [toolkitDropdown, setToolkitDropdown] = useState(false);

const excludedToolkits = ["Thinking Toolkit", "Human Input Toolkit", "Resource Toolkit"];
const [hasAPIkey, setHasAPIkey] = useState(false);

const [createDropdown, setCreateDropdown] = useState(false);
const [createModal, setCreateModal] = useState(false);

const [scheduleData, setScheduleData] = useState(null);
const [col6ScrollTop, setCol6ScrollTop] = useState(0);

const handleCol3Scroll = (event) => {
setCol6ScrollTop(event.target.scrollTop);
};

useEffect(() => {
getOrganisationConfig(organisationId, "model_api_key")
Expand Down Expand Up @@ -138,6 +124,21 @@ export default function AgentCreate({
}, [toolNames]);

useEffect(() => {
getLlmModels()
.then((response) => {
const models = response.data || [];
const selected_model = localStorage.getItem("agent_model_" + String(internalId)) || '';
setModelsArray(models);
if(models.length > 0 && !selected_model) {
setLocalStorageValue("agent_model_" + String(internalId), models[0], setModel);
} else {
setModel(selected_model);
}
})
.catch((error) => {
console.error('Error fetching models:', error);
});

if (template !== null) {
setLocalStorageValue("agent_name_" + String(internalId), template.name, setAgentName);
setLocalStorageValue("agent_description_" + String(internalId), template.description, setAgentDescription);
Expand Down Expand Up @@ -266,8 +267,8 @@ export default function AgentCreate({
};

const handleModelSelect = (index) => {
setLocalStorageValue("agent_model_" + String(internalId), models[index], setModel);
if (models[index] === "google-palm-bison-001") {
setLocalStorageValue("agent_model_" + String(internalId), modelsArray[index], setModel);
if (modelsArray[index] === "google-palm-bison-001") {
setAgentType("Fixed Task Queue")
}
setModelDropdown(false);
Expand Down Expand Up @@ -392,6 +393,10 @@ export default function AgentCreate({
toast.error("Add atleast one tool", {autoClose: 1800});
return false;
}
if(!modelsArray.includes(model)) {
toast.error("Your key does not have access to the selected model", {autoClose: 1800});
return false;
}
return true;
}

Expand Down Expand Up @@ -716,7 +721,7 @@ export default function AgentCreate({

return (<>
<div className="row" style={{overflowY: 'scroll', height: 'calc(100vh - 92px)'}}>
<div className="col-3" onScroll={handleCol3Scroll}></div>
<div className="col-3"></div>
<div className="col-6" style={{padding: '25px 20px'}}>
<div>
<div className={styles.page_title}>Create new agent</div>
Expand Down Expand Up @@ -787,7 +792,7 @@ export default function AgentCreate({
</div>
<div>
{modelDropdown && <div className="custom_select_options" ref={modelRef} style={{width: '100%'}}>
{models.map((model, index) => (
{modelsArray?.map((model, index) => (
<div key={index} className="custom_select_option" onClick={() => handleModelSelect(index)}
style={{padding: '12px 14px', maxWidth: '100%'}}>
{model}
Expand Down Expand Up @@ -826,7 +831,7 @@ export default function AgentCreate({
{toolkitDropdown && <div className="custom_select_options" ref={toolkitRef} style={{width: '100%'}}>
{toolkitList && toolkitList.filter((toolkit) => toolkit.tools ? toolkit.tools.some((tool) => tool.name.toLowerCase().includes(searchValue.toLowerCase())) : false).map((toolkit, index) => (
<div key={index}>
{toolkit.name !== null && !excludedToolkits.includes(toolkit.name) && <div>
{toolkit.name !== null && !excludedToolkits().includes(toolkit.name) && <div>
<div onClick={() => addToolkit(toolkit)} className="custom_select_option" style={{
padding: '10px 14px',
maxWidth: '100%',
Expand Down Expand Up @@ -1055,23 +1060,7 @@ export default function AgentCreate({
</button>
)}
<div style={{display: 'flex', position: 'relative'}}>
{createDropdown && (<div className="custom_select_option" style={{
background: '#3B3B49',
borderRadius: '8px',
position: 'absolute',
top: '-40px',
right: '0',
zIndex: '1',
boxShadow: '0 2px 7px rgba(0,0,0,.4), 0 0 2px rgba(0,0,0,.22)',
height: '40px',
width: '150px',
paddingTop: '10px',
textAlign: 'center'
}}
onClick={() => {
setCreateModal(true);
setCreateDropdown(false);
}}>Create & Schedule Run
{createDropdown && (<div className="create_agent_dropdown_options" onClick={() => {setCreateModal(true);setCreateDropdown(false);}}>Create & Schedule Run
</div>)}
<div className="primary_button"
style={{backgroundColor: 'white', marginBottom: '4px', paddingLeft: '0', paddingRight: '5px'}}>
Expand All @@ -1088,7 +1077,7 @@ export default function AgentCreate({
</div>

{createModal && (
<AgentSchedule internalId={internalId} closeCreateModal={closeCreateModal} type="create_agent"/>
<AgentSchedule env={env} internalId={internalId} closeCreateModal={closeCreateModal} type="create_agent"/>
)}

</div>
Expand Down
11 changes: 2 additions & 9 deletions gui/pages/Content/Agents/AgentSchedule.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,14 @@ import {agentScheduleComponent, createAndScheduleRun, updateSchedule} from "@/pa
import {EventBus} from "@/utils/eventBus";
import moment from 'moment';

export default function AgentSchedule({
internalId,
closeCreateModal,
type,
agentId,
setCreateModal,
setCreateEditModal
}) {
export default function AgentSchedule({internalId, closeCreateModal, type, agentId, setCreateModal, setCreateEditModal, env}) {
const [isRecurring, setIsRecurring] = useState(false);
const [timeDropdown, setTimeDropdown] = useState(false);
const [expiryDropdown, setExpiryDropdown] = useState(false);

const [startTime, setStartTime] = useState('');

const timeUnitArray = ['Days', 'Hours', 'Minutes'];
const timeUnitArray = (env === 'PROD') ? ['Days', 'Hours'] : ['Days', 'Hours', 'Minutes'];
const [timeUnit, setTimeUnit] = useState(timeUnitArray[1]);
const [timeValue, setTimeValue] = useState(null);

Expand Down
11 changes: 2 additions & 9 deletions gui/pages/Content/Agents/AgentTemplatesList.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,7 @@ import {fetchAgentTemplateListLocal} from "@/pages/api/DashboardService";
import AgentCreate from "@/pages/Content/Agents/AgentCreate";
import {setLocalStorageValue, openNewTab} from "@/utils/utils";

export default function AgentTemplatesList({
sendAgentData,
selectedProjectId,
fetchAgents,
toolkits,
organisationId,
internalId
}) {
export default function AgentTemplatesList({sendAgentData, selectedProjectId, fetchAgents, toolkits, organisationId, internalId, env}) {
const [agentTemplates, setAgentTemplates] = useState([])
const [createAgentClicked, setCreateAgentClicked] = useState(false)
const [sendTemplate, setSendTemplate] = useState(null)
Expand Down Expand Up @@ -112,7 +105,7 @@ export default function AgentTemplatesList({
</div>
</div> : <AgentCreate internalId={internalId} organisationId={organisationId} sendAgentData={sendAgentData}
selectedProjectId={selectedProjectId} fetchAgents={fetchAgents} toolkits={toolkits}
template={sendTemplate}/>}
template={sendTemplate} env={env} />}
</div>
)
};
14 changes: 7 additions & 7 deletions gui/pages/Content/Agents/AgentWorkspace.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {EventBus} from "@/utils/eventBus";
import 'moment-timezone';
import AgentSchedule from "@/pages/Content/Agents/AgentSchedule";

export default function AgentWorkspace({agentId, agentName, selectedView, agents, internalId}) {
export default function AgentWorkspace({env, agentId, agentName, selectedView, agents, internalId}) {
const [leftPanel, setLeftPanel] = useState('activity_feed')
const [rightPanel, setRightPanel] = useState('')
const [history, setHistory] = useState(true)
Expand Down Expand Up @@ -235,7 +235,7 @@ export default function AgentWorkspace({agentId, agentName, selectedView, agents
}

function fetchAgentScheduleComponent() {
if (agent.is_scheduled) {
if (agent?.is_scheduled) {
getDateTime(agentId)
.then((response) => {
setAgentScheduleDetails(response.data)
Expand Down Expand Up @@ -365,9 +365,9 @@ export default function AgentWorkspace({agentId, agentName, selectedView, agents
}}>Resume</li>}
{agentExecutions && agentExecutions.length > 1 && <li className="dropdown_item" onClick={() => {
updateRunStatus("TERMINATED")
}}>Delete</li>}
}}>Delete Run</li>}

{agent && agent.is_scheduled ? (<div>
{agent?.is_scheduled ? (<div>
<li className="dropdown_item" onClick={handleEditScheduleClick}>Edit Schedule</li>
<li className="dropdown_item" onClick={handleStopScheduleClick}>Stop Schedule</li>
</div>) : (<div>
Expand All @@ -379,10 +379,10 @@ export default function AgentWorkspace({agentId, agentName, selectedView, agents
</div>}

{createModal &&
<AgentSchedule internalId={internalId} closeCreateModal={closeCreateModal} type="schedule_agent"
<AgentSchedule env={env} internalId={internalId} closeCreateModal={closeCreateModal} type="schedule_agent"
agentId={agentId} setCreateModal={() => setCreateModal(false)}/>}
{createEditModal &&
<AgentSchedule internalId={internalId} closeCreateModal={closeCreateModal} type="edit_schedule_agent"
<AgentSchedule env={env} internalId={internalId} closeCreateModal={closeCreateModal} type="edit_schedule_agent"
agentId={agentId} setCreateEditModal={() => setCreateEditModal(false)}/>}
{createStopModal && (
<div className="modal" onClick={closeCreateModal}>
Expand All @@ -406,7 +406,7 @@ export default function AgentWorkspace({agentId, agentName, selectedView, agents
</div>
<div className={styles.detail_body}>
{leftPanel === 'activity_feed' && <div className={styles.detail_content}>
<ActivityFeed selectedView={selectedView} selectedRunId={selectedRun?.id || 0}
<ActivityFeed selectedView={selectedView} selectedRunId={selectedRun?.id || null}
setFetchedData={setFetchedData} agent={agent}/>
</div>}
{leftPanel === 'agent_type' &&
Expand Down
2 changes: 1 addition & 1 deletion gui/pages/Content/Agents/Agents.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export default function Agents({sendAgentData, agents}) {
src="/images/loading.gif" alt="active-icon"/></div>}
<div style={{display: 'flex', height: '15px'}}>
<div className={styles.text_block}><span className={styles.agent_text}>{agent.name}</span></div>
{agent.is_scheduled &&
{agent?.is_scheduled &&
<div style={{marginLeft: '8px'}}><Image style={{paddingBottom: '12px'}} width={20} height={28}
src="/images/event_repeat.svg" alt="check-icon"/></div>}
</div>
Expand Down
4 changes: 2 additions & 2 deletions gui/pages/Content/Agents/Details.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function Details({agentDetails, runCount, goals, instructions, ag
}, [instructions]);

useEffect(() => {
if (agent.is_scheduled) {
if (agent?.is_scheduled) {
if (agentScheduleDetails?.recurrence_interval !== null) {
if ((agentScheduleDetails?.expiry_runs === -1 || agentScheduleDetails?.expiry_runs == null) && agentScheduleDetails?.expiry_date !== null) {
let expiryDate;
Expand Down Expand Up @@ -182,7 +182,7 @@ export default function Details({agentDetails, runCount, goals, instructions, ag
<div><Image width={15} height={15} src="/images/info.svg" alt="info-icon"/></div>
<div style={info_text}>Stop after {agentDetails.max_iterations} iterations</div>
</div>}
{agent.is_scheduled && <div className={styles.agent_info_box}>
{agent?.is_scheduled && <div className={styles.agent_info_box}>
<div><Image width={15} height={15} src="/images/event_repeat.svg" alt="info-icon"/></div>
<div style={info_text}>{scheduleText}</div>
</div>}
Expand Down
Loading