推进 INI 面板 shell handoff workflow overview surface

This commit is contained in:
2026-06-15 15:09:57 +08:00
parent 6b6629ce73
commit b61e7e980d
13 changed files with 376 additions and 12 deletions

View File

@@ -168,6 +168,7 @@ const requiredPages = [
["Launch", "runtime/ui/ini-panel/launch.html"],
["Edit and run", "runtime/ui/ini-panel/index.html"],
["Read-only control view", "runtime/ui/ini-panel/control-page.html"],
["Workflow overview", "runtime/ui/ini-panel/workflow-overview.html"],
];
for (const [label, path] of requiredPages) {

View File

@@ -17,6 +17,11 @@ assert.deepEqual(INI_PANEL_ENTRIES, [
title: "Open read-only control view",
href: "./control-page.html",
},
{
id: "workflow-overview",
title: "Open shell handoff overview",
href: "./workflow-overview.html",
},
]);
const manifest = getIniPanelEntryManifest();
@@ -26,6 +31,7 @@ assert.notStrictEqual(manifest[0], INI_PANEL_ENTRIES[0]);
assert.deepEqual(getIniPanelEntryByHref("./index.html"), INI_PANEL_ENTRIES[0]);
assert.deepEqual(getIniPanelEntryByHref("./control-page.html"), INI_PANEL_ENTRIES[1]);
assert.deepEqual(getIniPanelEntryByHref("./workflow-overview.html"), INI_PANEL_ENTRIES[2]);
assert.equal(getIniPanelEntryByHref("./missing.html"), null);
manifest[0].title = "changed";

View File

@@ -91,6 +91,11 @@ assert.deepEqual(manifest, {
href: "./control-page.html",
title: "Open read-only control view",
},
{
id: "workflow-overview",
href: "./workflow-overview.html",
title: "Open shell handoff overview",
},
],
targetPages: [
{
@@ -101,6 +106,10 @@ assert.deepEqual(manifest, {
entryId: "control-view",
href: "./control-page.html",
},
{
entryId: "workflow-overview",
href: "./workflow-overview.html",
},
],
controlPageApiMethods: createControlPageBrowserApiMethods(),
persistenceCapabilities: [

View File

@@ -159,8 +159,8 @@ assert.deepEqual(readiness, {
},
missing: [],
counts: {
pages: 2,
launcherLinks: 2,
pages: 3,
launcherLinks: 3,
launchMethods: 39,
controlPageMethods: 11,
persistenceCapabilities: 3,
@@ -221,8 +221,8 @@ assert.deepEqual(handoffSummary, {
phase: "ready",
missing: [],
counts: {
pages: 2,
launcherLinks: 2,
pages: 3,
launcherLinks: 3,
launchMethods: 39,
controlPageMethods: 11,
persistenceCapabilities: 3,
@@ -1156,8 +1156,8 @@ assert.deepEqual(createIniPanelShellIntegrationReadiness(blockedManifest), {
},
missing: ["launchCompatibility"],
counts: {
pages: 2,
launcherLinks: 2,
pages: 3,
launcherLinks: 3,
launchMethods: 39,
controlPageMethods: 11,
persistenceCapabilities: 3,

View File

@@ -153,6 +153,11 @@ assert.deepEqual(createIniPanelLauncherLinkViewModel(), [
href: "./control-page.html",
label: "Open read-only control view",
},
{
entryId: "workflow-overview",
href: "./workflow-overview.html",
label: "Open shell handoff overview",
},
]);
const launcherLinks = createIniPanelLauncherLinkViewModel();
launcherLinks[0].label = "changed";
@@ -169,6 +174,11 @@ assert.deepEqual(shellViewModel.pages, [
href: "./control-page.html",
title: "Open read-only control view",
},
{
id: "workflow-overview",
href: "./workflow-overview.html",
title: "Open shell handoff overview",
},
]);
assert.deepEqual(shellViewModel.launcherLinks, createIniPanelLauncherLinkViewModel());
assert.deepEqual(shellViewModel.shellIntegrationSchema, createIniPanelShellIntegrationSchema());