推进 INI 面板 shell handoff package

This commit is contained in:
2026-06-15 10:14:25 +08:00
parent c92021fa82
commit 542b139477
10 changed files with 279 additions and 5 deletions

View File

@@ -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",