have a feature flag to decide if we should disable user_goal_check (#1192)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import { MultiSelect } from "@/components/ui/multi-select";
|
||||
import { useWorkflowParametersState } from "../../useWorkflowParametersState";
|
||||
import { HelpTooltip } from "@/components/HelpTooltip";
|
||||
import { helpTooltipContent } from "./types";
|
||||
|
||||
type Props = {
|
||||
availableOutputParameters: Array<string>;
|
||||
parameters: Array<string>;
|
||||
onParametersChange: (parameters: Array<string>) => void;
|
||||
};
|
||||
|
||||
function TaskNodeParametersPanel({
|
||||
availableOutputParameters,
|
||||
parameters,
|
||||
onParametersChange,
|
||||
}: Props) {
|
||||
const [workflowParameters] = useWorkflowParametersState();
|
||||
const keys = workflowParameters
|
||||
.map((parameter) => parameter.key)
|
||||
.concat(availableOutputParameters);
|
||||
|
||||
const options = keys.map((key) => {
|
||||
return {
|
||||
label: key,
|
||||
value: key,
|
||||
};
|
||||
});
|
||||
|
||||
return (
|
||||
<div className="space-y-2">
|
||||
<header className="flex gap-2">
|
||||
<h1 className="text-xs text-slate-300">Parameters</h1>
|
||||
<HelpTooltip content={helpTooltipContent["parameters"]} />
|
||||
</header>
|
||||
<MultiSelect
|
||||
value={parameters}
|
||||
onValueChange={onParametersChange}
|
||||
options={options}
|
||||
maxCount={50}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TaskNodeParametersPanel };
|
||||
@@ -859,26 +859,32 @@ class ForgeAgent:
|
||||
|
||||
task_completes_on_download = task_block and task_block.complete_on_download and task.workflow_run_id
|
||||
if not has_decisive_action and not task_completes_on_download:
|
||||
working_page = await browser_state.must_get_working_page()
|
||||
complete_action = await self.check_user_goal_complete(
|
||||
page=working_page,
|
||||
scraped_page=scraped_page,
|
||||
task=task,
|
||||
step=step,
|
||||
disable_user_goal_check = app.EXPERIMENTATION_PROVIDER.is_feature_enabled_cached(
|
||||
"DISABLE_USER_GOAL_CHECK",
|
||||
task.task_id,
|
||||
properties={"task_url": task.url, "organization_id": task.organization_id},
|
||||
)
|
||||
if complete_action is not None:
|
||||
LOG.info("User goal achieved, executing complete action")
|
||||
complete_action.organization_id = task.organization_id
|
||||
complete_action.workflow_run_id = task.workflow_run_id
|
||||
complete_action.task_id = task.task_id
|
||||
complete_action.step_id = step.step_id
|
||||
complete_action.step_order = step.order
|
||||
complete_action.action_order = len(detailed_agent_step_output.actions_and_results)
|
||||
complete_results = await ActionHandler.handle_action(
|
||||
scraped_page, task, step, working_page, complete_action
|
||||
if not disable_user_goal_check:
|
||||
working_page = await browser_state.must_get_working_page()
|
||||
complete_action = await self.check_user_goal_complete(
|
||||
page=working_page,
|
||||
scraped_page=scraped_page,
|
||||
task=task,
|
||||
step=step,
|
||||
)
|
||||
detailed_agent_step_output.actions_and_results.append((complete_action, complete_results))
|
||||
await self.record_artifacts_after_action(task, step, browser_state)
|
||||
if complete_action is not None:
|
||||
LOG.info("User goal achieved, executing complete action")
|
||||
complete_action.organization_id = task.organization_id
|
||||
complete_action.workflow_run_id = task.workflow_run_id
|
||||
complete_action.task_id = task.task_id
|
||||
complete_action.step_id = step.step_id
|
||||
complete_action.step_order = step.order
|
||||
complete_action.action_order = len(detailed_agent_step_output.actions_and_results)
|
||||
complete_results = await ActionHandler.handle_action(
|
||||
scraped_page, task, step, working_page, complete_action
|
||||
)
|
||||
detailed_agent_step_output.actions_and_results.append((complete_action, complete_results))
|
||||
await self.record_artifacts_after_action(task, step, browser_state)
|
||||
# If no action errors return the agent state and output
|
||||
completed_step = await self.update_step(
|
||||
step=step,
|
||||
|
||||
Reference in New Issue
Block a user