推进 INI 面板 shell handoff workflow render-state helper

This commit is contained in:
2026-06-15 14:11:17 +08:00
parent 1da6180387
commit e1e0c7f6d2
9 changed files with 170 additions and 3 deletions

View File

@@ -93,6 +93,7 @@ TOOL_TABLE = browser-shell-tool.tbl
!launchApi?.readShellSessionHandoffStatusFromControlPage ||
!launchApi?.getShellSessionHandoffWorkflowSummary ||
!launchApi?.getShellSessionHandoffWorkflowDisplayViewModel ||
!launchApi?.getShellSessionHandoffWorkflowRenderState ||
!launchApi?.isSupportedShellSessionHandoffPackage
) {
throw new Error("launch API namespace did not expose shell integration helpers");
@@ -367,6 +368,9 @@ TOOL_TABLE = browser-shell-tool.tbl
const workflowDisplayResult = launchApi.getShellSessionHandoffWorkflowDisplayViewModel(
workflowSummaryResult,
);
const workflowRenderState = launchApi.getShellSessionHandoffWorkflowRenderState(
workflowDisplayResult,
);
assertEqual(readonlyStatusResult.phase, "ready", "shell handoff readonly status result phase");
assertEqual(readonlyStatusResult.ready, true, "shell handoff readonly status result readiness");
assertEqual(
@@ -380,6 +384,9 @@ TOOL_TABLE = browser-shell-tool.tbl
assertEqual(workflowDisplayResult.phase, "ready", "shell handoff workflow display phase");
assertEqual(workflowDisplayResult.statusText, "Ready", "shell handoff workflow display status");
assertEqual(workflowDisplayResult.detailText, "No blocking reasons", "shell handoff workflow display detail");
assertEqual(workflowRenderState.phase, "ready", "shell handoff workflow render-state phase");
assertEqual(workflowRenderState.statusLine, "Ready: No blocking reasons", "shell handoff workflow render-state status");
assertEqual(workflowRenderState.dataset.handoffScope, "workflow", "shell handoff workflow render-state scope");
assertEqual(
readonlyStatus.workflowStatus.lastAction,
"load-session",