推进 INI 面板 shell handoff package schema

This commit is contained in:
2026-06-15 10:32:45 +08:00
parent 542b139477
commit f1d10fc317
10 changed files with 303 additions and 5 deletions

View File

@@ -82,7 +82,9 @@
!launchApi?.getShellSessionHandoffRenderState ||
!launchApi?.getShellSessionHandoffActionPlan ||
!launchApi?.getShellSessionHandoffChecklist ||
!launchApi?.getShellSessionHandoffPackageSchema ||
!launchApi?.getShellSessionHandoffPackage ||
!launchApi?.isSupportedShellSessionHandoffPackage ||
!launchApi?.getLauncherLinks ||
!launchApi?.getControlPageApiMethods
) {
@@ -122,7 +124,7 @@
);
assertEqual(
launchApiManifest.methods.join(","),
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackageSchema,getShellSessionHandoffPackage,isSupportedShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
"launch API manifest methods",
);
const shellIntegrationSchema = launchApi.getShellIntegrationSchema();
@@ -136,6 +138,7 @@
const shellSessionHandoffRenderState = launchApi.getShellSessionHandoffRenderState();
const shellSessionHandoffActionPlan = launchApi.getShellSessionHandoffActionPlan();
const shellSessionHandoffChecklist = launchApi.getShellSessionHandoffChecklist();
const shellSessionHandoffPackageSchema = launchApi.getShellSessionHandoffPackageSchema();
const shellSessionHandoffPackage = launchApi.getShellSessionHandoffPackage();
assertEqual(
shellIntegrationSchema.manifestVersion,
@@ -292,6 +295,21 @@
1,
"shell session handoff package version",
);
assertEqual(
shellSessionHandoffPackageSchema.packageVersion,
1,
"shell session handoff package schema version",
);
assertEqual(
launchApi.isSupportedShellSessionHandoffPackage(shellSessionHandoffPackage),
true,
"shell session handoff package supported",
);
assertEqual(
launchApi.isSupportedShellSessionHandoffPackage({ ...shellSessionHandoffPackage, packageVersion: 2 }),
false,
"shell session handoff package rejects version",
);
assertEqual(
shellSessionHandoffPackage.ready,
true,

View File

@@ -73,7 +73,9 @@ TOOL_TABLE = browser-shell-tool.tbl
!launchApi?.getShellSessionHandoffRenderState ||
!launchApi?.getShellSessionHandoffActionPlan ||
!launchApi?.getShellSessionHandoffChecklist ||
!launchApi?.getShellSessionHandoffPackage
!launchApi?.getShellSessionHandoffPackageSchema ||
!launchApi?.getShellSessionHandoffPackage ||
!launchApi?.isSupportedShellSessionHandoffPackage
) {
throw new Error("launch API namespace did not expose shell integration helpers");
}
@@ -88,6 +90,7 @@ TOOL_TABLE = browser-shell-tool.tbl
const handoffRenderState = launchApi.getShellSessionHandoffRenderState();
const handoffActionPlan = launchApi.getShellSessionHandoffActionPlan();
const handoffChecklist = launchApi.getShellSessionHandoffChecklist();
const handoffPackageSchema = launchApi.getShellSessionHandoffPackageSchema();
const handoffPackage = launchApi.getShellSessionHandoffPackage();
assertEqual(handoffSummarySchema.summaryVersion, 1, "shell handoff summary schema version");
assertEqual(
@@ -125,6 +128,12 @@ TOOL_TABLE = browser-shell-tool.tbl
"shell handoff checklist next steps",
);
assertEqual(handoffPackage.ready, true, "shell handoff package readiness");
assertEqual(handoffPackageSchema.packageVersion, 1, "shell handoff package schema version");
assertEqual(
launchApi.isSupportedShellSessionHandoffPackage(handoffPackage),
true,
"shell handoff package supported",
);
assertEqual(handoffPackage.checklist.ready, handoffChecklist.ready, "shell handoff package checklist");
assertEqual(
handoffPackage.actionPlan.nextSteps.map(({ id }) => id).join(","),