feat(agent-runner): enforce 4.x host-owned execution

This commit is contained in:
huanghuoguoguo
2026-07-12 20:36:32 +08:00
parent 9aa71d54e3
commit d88d05e27c
170 changed files with 6952 additions and 5381 deletions
@@ -35,6 +35,7 @@ export default function PipelineDetailContent({
const [activeTab, setActiveTab] = useState('config');
const [isWebSocketConnected, setIsWebSocketConnected] = useState(false);
const [formDirty, setFormDirty] = useState(false);
const [formSaving, setFormSaving] = useState(false);
function handleFinish() {
refreshPipelines();
@@ -53,7 +54,7 @@ export default function PipelineDetailContent({
<h1 className="text-xl font-semibold">
{t('pipelines.createPipeline')}
</h1>
<Button type="submit" form="pipeline-form">
<Button type="submit" form="pipeline-form" disabled={formSaving}>
{t('common.submit')}
</Button>
</div>
@@ -68,6 +69,7 @@ export default function PipelineDetailContent({
onFinish={handleFinish}
onNewPipelineCreated={handleNewPipelineCreated}
onDeletePipeline={() => {}}
onSavingChange={setFormSaving}
/>
</div>
</div>
@@ -89,7 +91,7 @@ export default function PipelineDetailContent({
<Button
type="submit"
form="pipeline-form"
disabled={!formDirty}
disabled={!formDirty || formSaving}
className={activeTab !== 'config' ? 'invisible' : ''}
>
{t('common.save')}
@@ -140,6 +142,7 @@ export default function PipelineDetailContent({
onDeletePipeline={handleDeletePipeline}
onCancel={() => navigate(routeBase)}
onDirtyChange={setFormDirty}
onSavingChange={setFormSaving}
/>
</TabsContent>