Skip to main content
Version: 1.x

Function: buildPageContext()

buildPageContext(page, config): Promise<AiResponse<PageContext>>

Builds a complete AI PageContext from the current Playwright page state.

Parameters

page

DiscoveryPage

Playwright Page instance (or any structural equivalent).

config

Readonly<PramanConfig>

Readonly Praman configuration (used for timeout).

Returns

Promise<AiResponse<PageContext>>

AiResponse<PageContext> — matches the shape returned by discoverPage(), potentially enriched with ui5Version.

Remarks

Combines bulk control discovery with UI5 version detection. The UI5 version is read via a separate page.evaluate() call and merged into the returned PageContext only when it is available. If the version call fails (e.g. the page is not a UI5 application), the context is still returned successfully without ui5Version.

Uses config.controlDiscoveryTimeout as the discovery timeout.

Intent

Build AI context from current page UI5 state

Capability

pramanAI.buildContext

Sap Module

All

Example

import { buildPageContext } from '#ai/context-builder.js';

const response = await buildPageContext(page, config);
if (response.status === 'success') {
logger.info('UI5 version:', response.data.ui5Version ?? 'unknown');
logger.info('Controls found:', response.data.controls.length);
}