推进 INI 面板 shell handoff package
This commit is contained in:
@@ -82,6 +82,7 @@
|
||||
!launchApi?.getShellSessionHandoffRenderState ||
|
||||
!launchApi?.getShellSessionHandoffActionPlan ||
|
||||
!launchApi?.getShellSessionHandoffChecklist ||
|
||||
!launchApi?.getShellSessionHandoffPackage ||
|
||||
!launchApi?.getLauncherLinks ||
|
||||
!launchApi?.getControlPageApiMethods
|
||||
) {
|
||||
@@ -121,7 +122,7 @@
|
||||
);
|
||||
assertEqual(
|
||||
launchApiManifest.methods.join(","),
|
||||
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getLauncherLinks,getControlPageApiMethods",
|
||||
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
|
||||
"launch API manifest methods",
|
||||
);
|
||||
const shellIntegrationSchema = launchApi.getShellIntegrationSchema();
|
||||
@@ -135,6 +136,7 @@
|
||||
const shellSessionHandoffRenderState = launchApi.getShellSessionHandoffRenderState();
|
||||
const shellSessionHandoffActionPlan = launchApi.getShellSessionHandoffActionPlan();
|
||||
const shellSessionHandoffChecklist = launchApi.getShellSessionHandoffChecklist();
|
||||
const shellSessionHandoffPackage = launchApi.getShellSessionHandoffPackage();
|
||||
assertEqual(
|
||||
shellIntegrationSchema.manifestVersion,
|
||||
1,
|
||||
@@ -285,6 +287,26 @@
|
||||
"open-control-page,read-readonly-status",
|
||||
"shell session handoff checklist next step ids",
|
||||
);
|
||||
assertEqual(
|
||||
shellSessionHandoffPackage.packageVersion,
|
||||
1,
|
||||
"shell session handoff package version",
|
||||
);
|
||||
assertEqual(
|
||||
shellSessionHandoffPackage.ready,
|
||||
true,
|
||||
"shell session handoff package readiness",
|
||||
);
|
||||
assertEqual(
|
||||
shellSessionHandoffPackage.manifests.launchMethods.includes("getShellSessionHandoffPackage"),
|
||||
true,
|
||||
"shell session handoff package launch methods",
|
||||
);
|
||||
assertEqual(
|
||||
shellSessionHandoffPackage.manifests.controlPageMethods.includes("readControlPageStatus"),
|
||||
true,
|
||||
"shell session handoff package control methods",
|
||||
);
|
||||
assertEqual(
|
||||
JSON.stringify(shellSessionHandoffSnapshot.readiness),
|
||||
JSON.stringify(shellIntegrationReadiness),
|
||||
@@ -315,6 +337,11 @@
|
||||
JSON.stringify(shellSessionHandoffRenderState.rows),
|
||||
"shell session handoff checklist rows",
|
||||
);
|
||||
assertEqual(
|
||||
JSON.stringify(shellSessionHandoffPackage.checklist),
|
||||
JSON.stringify(shellSessionHandoffChecklist),
|
||||
"shell session handoff package checklist",
|
||||
);
|
||||
assertEqual(
|
||||
launchDoc.querySelector("[data-handoff-status]").textContent,
|
||||
"Ready: No blocking reasons",
|
||||
|
||||
@@ -72,7 +72,8 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
!launchApi?.getShellSessionHandoffSnapshot ||
|
||||
!launchApi?.getShellSessionHandoffRenderState ||
|
||||
!launchApi?.getShellSessionHandoffActionPlan ||
|
||||
!launchApi?.getShellSessionHandoffChecklist
|
||||
!launchApi?.getShellSessionHandoffChecklist ||
|
||||
!launchApi?.getShellSessionHandoffPackage
|
||||
) {
|
||||
throw new Error("launch API namespace did not expose shell integration helpers");
|
||||
}
|
||||
@@ -87,6 +88,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
const handoffRenderState = launchApi.getShellSessionHandoffRenderState();
|
||||
const handoffActionPlan = launchApi.getShellSessionHandoffActionPlan();
|
||||
const handoffChecklist = launchApi.getShellSessionHandoffChecklist();
|
||||
const handoffPackage = launchApi.getShellSessionHandoffPackage();
|
||||
assertEqual(handoffSummarySchema.summaryVersion, 1, "shell handoff summary schema version");
|
||||
assertEqual(
|
||||
launchApi.isSupportedShellSessionHandoffSummary(handoffSummary),
|
||||
@@ -122,6 +124,18 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
"open-control-page,read-readonly-status",
|
||||
"shell handoff checklist next steps",
|
||||
);
|
||||
assertEqual(handoffPackage.ready, true, "shell handoff package readiness");
|
||||
assertEqual(handoffPackage.checklist.ready, handoffChecklist.ready, "shell handoff package checklist");
|
||||
assertEqual(
|
||||
handoffPackage.actionPlan.nextSteps.map(({ id }) => id).join(","),
|
||||
handoffActionPlan.nextSteps.map(({ id }) => id).join(","),
|
||||
"shell handoff package action-plan",
|
||||
);
|
||||
assertEqual(
|
||||
handoffPackage.manifests.controlPageMethods.includes("readControlPageStatus"),
|
||||
true,
|
||||
"shell handoff package control method",
|
||||
);
|
||||
assertEqual(readiness.phase, "ready", "shell integration readiness phase");
|
||||
assertEqual(readiness.ready, true, "shell integration readiness");
|
||||
assertEqual(readiness.missing.join(","), "", "shell integration readiness missing checks");
|
||||
|
||||
Reference in New Issue
Block a user