feat(agents): 支持个人微信发布与渠道会话
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
brother7 committed 2026-09-13 16:22:36 +08:00
1 parent 03774d0625
commit 2e710db0fb
28 files changed
+2678 -31

No files matched your search

+9 -3
View File
@@ -322,7 +322,10 @@ export function CloudChat({ slug, previewRevision: latestRevision, initialThread
</section></CloudPendingContext.Provider>;
}
function CloudApproval({ interrupt, runId, onResumed }: { interrupt: CloudInterrupt; runId: string; onResumed: (run: CloudRun) => void }) {
export function CloudApproval({ interrupt, runId, onResumed, submitDecision }: {
interrupt: CloudInterrupt; runId: string; onResumed?: (run: CloudRun) => void;
submitDecision?: (input: { operation_id: string; decision: Record<string, unknown> }) => Promise<void>;
}) {
const [answers, setAnswers] = useState<Record<string, string[]>>({});
const [freeText, setFreeText] = useState<Record<string, string>>({});
const [error, setError] = useState('');
@@ -344,8 +347,11 @@ function CloudApproval({ interrupt, runId, onResumed }: { interrupt: CloudInterr
const input = intent ?? { operation_id: crypto.randomUUID(), decision };
setIntent(input); setBusy(true); setError('');
try {
const result = await cloudAgentsApi.call('resume', { run_id: runId, ...input });
onResumed(await cloudAgentsApi.call('run', { run_id: result.run_id }));
if (submitDecision) await submitDecision(input);
else {
const result = await cloudAgentsApi.call('resume', { run_id: runId, ...input });
onResumed?.(await cloudAgentsApi.call('run', { run_id: result.run_id }));
}
}
catch(e) { setError(message(e)); } finally { setBusy(false); }
};