Files
orca/mobile/scripts/hosted-webview-e2e-report.mjs
Jinwoo-H 15d19c308b feat(mobile): move mobile sessions and settings into the hosted page
Session snapshot/feed/activate/close/createBrowser/createTerminal,
quick commands and agent options now run as Desktop mobileWeb.* adapters
behind the generic host-request forwarder instead of shell translators.
Voice, notification, terminal, browser, chat, About and diagnostics
settings render as hosted page routes with native-*/web-* operation
backends. Adds the hosted WebView e2e journeys used to validate them.

Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb
2026-09-07 04:16:39 -04:00

59 lines
2.4 KiB
JavaScript

export async function evidenceStep(label, run) {
console.log(`[hosted-e2e] ${label}...`)
try {
const result = await run()
console.log(`[hosted-e2e] ${label}: ok`)
return result
} catch (error) {
throw new Error(`${label} failed: ${error instanceof Error ? error.message : String(error)}`, {
cause: error
})
}
}
export function printHostedWebViewE2eReport(evidence) {
console.log(
JSON.stringify(
{
ok: true,
device: evidence.deviceUdid,
targetId: evidence.workspaceDocument.targetId,
route: evidence.workspaceDocument.href,
nativeAppPath: evidence.nativeAppPath,
visibleText: evidence.expectedWorkspace,
interactiveControls: evidence.workspaceDocument.buttonCount,
networkIsolation: evidence.networkIsolation,
navigationIsolation: evidence.navigationIsolation,
executableIsolation: evidence.executableIsolation,
privacyIsolation: evidence.privacyIsolation,
nativeOnboarding: evidence.nativeOnboarding,
nativeAlert: evidence.nativeAlert.evidence,
productSettings: evidence.productSettings,
chatSettings: evidence.chatSettings,
browserSettings: evidence.browserSettings,
terminalSettings: evidence.terminalSettings,
documentUpload: evidence.terminalDeviceInput?.documentUpload?.evidence ?? null,
photoPermissionDenial:
evidence.terminalDeviceInput?.photoPermissionDenial?.evidence ?? null,
photoPermissionRevocation:
evidence.terminalDeviceInput?.photoPermissionRevocation?.evidence ?? null,
terminalClipboardImagePaste:
evidence.terminalDeviceInput?.terminalClipboardImagePaste?.evidence ?? null,
terminalClipboardPaste:
evidence.terminalDeviceInput?.terminalClipboardPaste.evidence ?? null,
workspaceParity: evidence.hostedWorkspace,
accountsParity: evidence.hostedAccounts?.evidence ?? null,
agentHistory: evidence.historyEvidence,
coreRouteParity: evidence.hostedCoreRoutes?.evidence ?? null,
filesPreviewParity: evidence.hostedFilesPreview?.evidence ?? null,
sourceControlReview: evidence.sourceControlReview,
adversarialContent: evidence.adversarialContent,
adversarialProviderContent: evidence.adversarialProviderContent,
adversarialTerminalLinks: evidence.adversarialTerminalLinks
},
null,
2
)
)
}