@praxisui/page-builder 9.0.61 → 9.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/page-builder",
3
- "version": "9.0.61",
3
+ "version": "9.0.63",
4
4
  "description": "Page and widget builder utilities for Praxis UI (grid, dynamic widgets, editors).",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -8,9 +8,9 @@
8
8
  "@angular/forms": "^21.0.0",
9
9
  "@angular/cdk": "^21.0.0",
10
10
  "@angular/material": "^21.0.0",
11
- "@praxisui/ai": "^9.0.61",
12
- "@praxisui/core": "^9.0.61",
13
- "@praxisui/settings-panel": "^9.0.61",
11
+ "@praxisui/ai": "^9.0.63",
12
+ "@praxisui/core": "^9.0.63",
13
+ "@praxisui/settings-panel": "^9.0.63",
14
14
  "rxjs": "~7.8.0"
15
15
  },
16
16
  "dependencies": {
@@ -1,12 +1,13 @@
1
1
  import { MatDialogRef, MatDialog } from '@angular/material/dialog';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { EventEmitter, OnInit, WritableSignal, InjectionToken, Provider, OnChanges, OnDestroy, Type, SimpleChanges } from '@angular/core';
4
- import { ComponentDocMeta, ComponentMetadataRegistry, PraxisI18nService, WidgetShellConfig, WidgetPageAuthoringCapabilities, WidgetShellAction, EndpointRef, ComponentPortPathSegment, LinkIntent, CompositionLink, WidgetPageDefinition, TransformKind, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, PraxisRuntimeComponentObservationEnvelope, WidgetPageCanvasLayout, WidgetPageDeviceLayouts, WidgetPageSlotAssignments, WidgetPageStateInput, WidgetInstance, TransformOutputHint, TransformSemanticKind, ComponentContextPack, ComponentAuthoringManifest, DiagnosticRecord, NestedPortCatalogRegistry, CompositionValidatorService, ApiUrlEntry, DynamicWidgetPageComponent, WidgetEventEnvelope, ObservabilityAgenticTurnMetrics, SettingsPanelBridge, ObservabilityAgenticTurnMetricBucket, RichTimelineItem } from '@praxisui/core';
4
+ import { ComponentDocMeta, ComponentMetadataRegistry, PraxisI18nService, WidgetShellConfig, WidgetPageAuthoringCapabilities, WidgetShellAction, EndpointRef, ComponentPortPathSegment, LinkIntent, CompositionLink, WidgetPageDefinition, TransformKind, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, WidgetPageCanvasLayout, WidgetPageDeviceLayouts, WidgetPageSlotAssignments, WidgetPageStateInput, WidgetInstance, TransformOutputHint, TransformSemanticKind, ConfigAuthoringSource, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, PraxisRuntimeComponentObservationEnvelope, ComponentContextPack, ComponentAuthoringManifest, DiagnosticRecord, NestedPortCatalogRegistry, CompositionValidatorService, ApiUrlEntry, DynamicWidgetPageComponent, ConfigDocument, WidgetEventEnvelope, ObservabilityAgenticTurnMetrics, SettingsPanelBridge, ObservabilityAgenticTurnMetricBucket, RichTimelineItem } from '@praxisui/core';
5
5
  import * as rxjs from 'rxjs';
6
6
  import { BehaviorSubject, Observable } from 'rxjs';
7
7
  import { FormGroup, FormControl, FormArray } from '@angular/forms';
8
8
  import { SettingsValueProvider } from '@praxisui/settings-panel';
9
9
  import { AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AiJsonObject, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamContextHintsContract, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamStartResponseContract, PraxisAssistantVoiceInputMode, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantRecommendedIntent, PraxisAssistantShellAction, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
10
+ import * as _praxisui_page_builder from '@praxisui/page-builder';
10
11
 
11
12
  declare const PLACEHOLDER = 1;
12
13
 
@@ -1240,6 +1241,254 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
1240
1241
  }
1241
1242
  declare const PAGE_BUILDER_AI_CAPABILITIES: CapabilityCatalog;
1242
1243
 
1244
+ type UiCompositionPlanInputSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
1245
+ type UiCompositionPlanTransformOutput = TransformOutputHint & {
1246
+ semanticKind: TransformSemanticKind;
1247
+ };
1248
+ type UiCompositionPlanComponentPortEndpoint = {
1249
+ kind: 'component-port';
1250
+ widget: string;
1251
+ port: string;
1252
+ direction: 'input' | 'output';
1253
+ nestedPath?: ComponentPortPathSegment[];
1254
+ };
1255
+ type UiCompositionPlanStateEndpoint = {
1256
+ kind: 'state';
1257
+ path: string;
1258
+ layer?: 'values' | 'derived' | 'transient';
1259
+ };
1260
+ type UiCompositionPlanGlobalActionEndpoint = {
1261
+ kind: 'global-action';
1262
+ actionId: string;
1263
+ payload?: unknown;
1264
+ payloadExpr?: string;
1265
+ meta?: Record<string, unknown>;
1266
+ };
1267
+ /**
1268
+ * A runtime event source emitted through `dynamicPage.composition.dispatch`.
1269
+ * Only actionId participates in canonical endpoint matching; payload is always
1270
+ * supplied by the runtime dispatch event.
1271
+ */
1272
+ type UiCompositionPlanGlobalActionSourceEndpoint = Pick<UiCompositionPlanGlobalActionEndpoint, 'kind' | 'actionId'>;
1273
+ type UiCompositionPlanSourceEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint | UiCompositionPlanGlobalActionSourceEndpoint;
1274
+ type UiCompositionPlanTargetEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint | UiCompositionPlanGlobalActionEndpoint;
1275
+ type UiCompositionPlanEndpoint = UiCompositionPlanTargetEndpoint;
1276
+ interface UiCompositionPlanSelectCase {
1277
+ /** Canonical Json Logic guard evaluated against event/payload/state/context/source. */
1278
+ when: unknown;
1279
+ /** Total branch value. Structured values may use the normal ${...} template bindings. */
1280
+ value: unknown;
1281
+ }
1282
+ type UiCompositionPlanTransform = {
1283
+ kind: 'pick-path';
1284
+ id: string;
1285
+ path: string;
1286
+ inputSource?: UiCompositionPlanInputSource;
1287
+ /** Explicit value delivered when the projection resolves to undefined. */
1288
+ fallbackValue?: unknown;
1289
+ } | {
1290
+ kind: 'constant';
1291
+ id: string;
1292
+ value: unknown;
1293
+ } | {
1294
+ kind: 'query-context';
1295
+ id: string;
1296
+ field: string;
1297
+ operator?: string;
1298
+ valueVar?: string;
1299
+ inputSource?: UiCompositionPlanInputSource;
1300
+ fallbackValue?: unknown;
1301
+ } | {
1302
+ kind: 'template';
1303
+ id: string;
1304
+ template: unknown;
1305
+ inputSource?: UiCompositionPlanInputSource;
1306
+ /** Explicit semantic contract produced by the template after materialization. */
1307
+ output?: UiCompositionPlanTransformOutput;
1308
+ fallbackValue?: unknown;
1309
+ } | {
1310
+ kind: 'select-case';
1311
+ id: string;
1312
+ cases: UiCompositionPlanSelectCase[];
1313
+ /** Required total fallback when no branch matches. */
1314
+ defaultValue: unknown;
1315
+ inputSource?: UiCompositionPlanInputSource;
1316
+ /** Optional semantic contract overriding the shape inferred from defaultValue. */
1317
+ output?: UiCompositionPlanTransformOutput;
1318
+ fallbackValue?: unknown;
1319
+ };
1320
+ interface UiCompositionPlanWidget {
1321
+ key: string;
1322
+ componentId: string;
1323
+ role?: string;
1324
+ shell?: WidgetInstance['shell'];
1325
+ inputs?: Record<string, unknown>;
1326
+ outputs?: Record<string, unknown>;
1327
+ bindingOrder?: string[];
1328
+ }
1329
+ interface UiCompositionPlanBinding {
1330
+ id: string;
1331
+ from: UiCompositionPlanSourceEndpoint;
1332
+ to: UiCompositionPlanTargetEndpoint;
1333
+ intent: CompositionLink['intent'];
1334
+ condition?: unknown;
1335
+ transform?: UiCompositionPlanTransform;
1336
+ policy?: CompositionLink['policy'];
1337
+ metadata?: Record<string, unknown>;
1338
+ }
1339
+ type UiCompositionPlanSelectionSyncMapping = string | {
1340
+ path: string;
1341
+ inputSource?: UiCompositionPlanInputSource;
1342
+ condition?: unknown;
1343
+ };
1344
+ /**
1345
+ * Semantic authoring shorthand for projecting the same selection emitted by one
1346
+ * or more component outputs into page state. The compiler expands this shape
1347
+ * into explicit canonical composition links before preview or persistence.
1348
+ */
1349
+ interface UiCompositionPlanSelectionSync {
1350
+ id: string;
1351
+ intent: 'selection-sync';
1352
+ sources: UiCompositionPlanComponentPortEndpoint[];
1353
+ target: UiCompositionPlanStateEndpoint;
1354
+ mapping: Record<string, UiCompositionPlanSelectionSyncMapping>;
1355
+ policy?: CompositionLink['policy'];
1356
+ metadata?: Record<string, unknown>;
1357
+ }
1358
+ type UiCompositionPlanContextValue = {
1359
+ kind: 'constant';
1360
+ value: unknown;
1361
+ } | {
1362
+ kind: 'state';
1363
+ path: string;
1364
+ layer?: 'values' | 'derived' | 'transient';
1365
+ condition?: unknown;
1366
+ /** Explicit value materialized before the first state propagation. */
1367
+ initial?: unknown;
1368
+ };
1369
+ interface UiCompositionPlanContextScopeTarget {
1370
+ widget: string;
1371
+ nestedPath?: ComponentPortPathSegment[];
1372
+ inherit?: string[];
1373
+ }
1374
+ /**
1375
+ * Groups reusable parent/resource context for one or more component targets.
1376
+ * Constants and explicit state initial values become widget inputs, while
1377
+ * state values become canonical links during compilation. No hidden runtime
1378
+ * inheritance remains in the executable page.
1379
+ */
1380
+ interface UiCompositionPlanContextScope {
1381
+ id: string;
1382
+ context: Record<string, UiCompositionPlanContextValue>;
1383
+ targets: UiCompositionPlanContextScopeTarget[];
1384
+ policy?: CompositionLink['policy'];
1385
+ metadata?: Record<string, unknown>;
1386
+ }
1387
+ interface UiCompositionPlan {
1388
+ version: '1.0';
1389
+ kind: 'praxis.ui-composition-plan';
1390
+ /** Page-owned business copy compiled verbatim into WidgetPageDefinition.i18n. */
1391
+ i18n?: WidgetPageDefinition['i18n'];
1392
+ /** Explicit page-wide context compiled into WidgetPageDefinition.context. */
1393
+ context?: WidgetPageDefinition['context'];
1394
+ /** Canonical responsive grid layout compiled into WidgetPageDefinition.layout. */
1395
+ layout?: WidgetPageDefinition['layout'];
1396
+ layoutPreset?: string;
1397
+ layoutPresetOptions?: Record<string, unknown>;
1398
+ canvas?: WidgetPageCanvasLayout;
1399
+ deviceLayouts?: WidgetPageDeviceLayouts;
1400
+ grouping?: WidgetPageGroupingDefinition[];
1401
+ slotAssignments?: WidgetPageSlotAssignments;
1402
+ state?: WidgetPageStateInput;
1403
+ themePreset?: string;
1404
+ widgets: UiCompositionPlanWidget[];
1405
+ selectionSyncs?: UiCompositionPlanSelectionSync[];
1406
+ contextScopes?: UiCompositionPlanContextScope[];
1407
+ bindings?: UiCompositionPlanBinding[];
1408
+ /** Non-executable authoring and resolution evidence; never copied into WidgetPageDefinition. */
1409
+ diagnostics?: Record<string, unknown>;
1410
+ }
1411
+ interface UiCompositionPlanTemplateRef {
1412
+ registryKey: string;
1413
+ configSha256: string;
1414
+ }
1415
+ /** Compact intermediate authoring input. It is never a runtime persistence shape. */
1416
+ interface UiCompositionPlanTemplateReference {
1417
+ version: '1.0';
1418
+ kind: 'praxis.ui-composition-plan';
1419
+ templateRef: UiCompositionPlanTemplateRef;
1420
+ overrides?: Readonly<Record<string, never>>;
1421
+ }
1422
+ interface UiCompositionPlanTemplateRevision {
1423
+ version?: number;
1424
+ etag?: string;
1425
+ configSha256: string;
1426
+ }
1427
+ /** Exact template body and revision evidence supplied by the governed backend. */
1428
+ interface UiCompositionPlanTemplateMaterialization {
1429
+ registryKey: string;
1430
+ revision: UiCompositionPlanTemplateRevision;
1431
+ authoringPlan: UiCompositionPlan;
1432
+ }
1433
+ type UiCompositionPlanAuthoringInput = UiCompositionPlan | UiCompositionPlanTemplateReference;
1434
+ type UiCompositionPlanTemplateResolutionResult = {
1435
+ valid: true;
1436
+ referenced: boolean;
1437
+ plan: UiCompositionPlan;
1438
+ diagnostics: UiCompositionPlanDiagnostic[];
1439
+ } | {
1440
+ valid: false;
1441
+ referenced: true;
1442
+ plan: null;
1443
+ diagnostics: UiCompositionPlanDiagnostic[];
1444
+ };
1445
+ interface UiCompositionPlanDiagnostic {
1446
+ code: string;
1447
+ message: string;
1448
+ path?: string;
1449
+ }
1450
+ type UiCompositionPlanCompileResult = {
1451
+ valid: true;
1452
+ page: WidgetPageDefinition;
1453
+ diagnostics: UiCompositionPlanDiagnostic[];
1454
+ } | {
1455
+ valid: false;
1456
+ page: null;
1457
+ diagnostics: UiCompositionPlanDiagnostic[];
1458
+ };
1459
+ /**
1460
+ * Pure, fail-closed normalization for an exact template reference.
1461
+ *
1462
+ * The function performs no HTTP, registry search or template selection. The governed backend must
1463
+ * supply the exact materialization and its revision evidence before the existing compiler runs.
1464
+ */
1465
+ declare function resolveUiCompositionPlanTemplate(input: UiCompositionPlanAuthoringInput, materialization?: UiCompositionPlanTemplateMaterialization): UiCompositionPlanTemplateResolutionResult;
1466
+ declare function compileUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanCompileResult;
1467
+ declare function validateUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanDiagnostic[];
1468
+
1469
+ type UiCompositionPlanAuthoringSource = ConfigAuthoringSource<UiCompositionPlan>;
1470
+ type UiCompositionAuthoringSourceDiagnosticCode = 'authoring-source-absent' | 'authoring-source-schema-invalid' | 'authoring-source-kind-invalid' | 'authoring-source-plan-invalid' | 'authoring-source-provenance-invalid' | 'authoring-source-materialization-kind-invalid' | 'authoring-source-component-type-mismatch' | 'authoring-source-component-id-mismatch' | 'authoring-source-hash-mismatch' | 'authoring-source-materialization-hash-mismatch';
1471
+ interface UiCompositionAuthoringSourceDiagnostic {
1472
+ code: UiCompositionAuthoringSourceDiagnosticCode;
1473
+ message: string;
1474
+ blocking: boolean;
1475
+ }
1476
+ interface UiCompositionAuthoringSourceVerification {
1477
+ valid: boolean;
1478
+ source: UiCompositionPlanAuthoringSource | null;
1479
+ diagnostics: UiCompositionAuthoringSourceDiagnostic[];
1480
+ }
1481
+ interface UiCompositionAuthoringSourceVerificationContext {
1482
+ componentId?: string | null;
1483
+ componentType?: string | null;
1484
+ }
1485
+ /**
1486
+ * Verifies that a persisted semantic source still describes the executable
1487
+ * page opened by the builder. An invalid envelope is never returned as usable
1488
+ * authoring context.
1489
+ */
1490
+ declare function verifyUiCompositionAuthoringSource(candidate: unknown, page: WidgetPageDefinition, context?: UiCompositionAuthoringSourceVerificationContext): UiCompositionAuthoringSourceVerification;
1491
+
1243
1492
  type PageBuilderAgenticAuthoringProvider = 'openai' | 'gemini' | string;
1244
1493
  interface PageBuilderAgenticAuthoringOptions {
1245
1494
  baseUrl?: string;
@@ -1497,6 +1746,7 @@ interface PageBuilderApplyResult {
1497
1746
  etag?: string;
1498
1747
  payload: BuilderPageDefinition;
1499
1748
  tags?: Record<string, unknown>;
1749
+ authoringSource?: UiCompositionPlanAuthoringSource | null;
1500
1750
  warnings: string[];
1501
1751
  }
1502
1752
  declare const PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS: InjectionToken<PageBuilderAgenticAuthoringOptions>;
@@ -1531,211 +1781,6 @@ declare class PageBuilderAgenticAuthoringService {
1531
1781
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
1532
1782
  }
1533
1783
 
1534
- type UiCompositionPlanInputSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
1535
- type UiCompositionPlanTransformOutput = TransformOutputHint & {
1536
- semanticKind: TransformSemanticKind;
1537
- };
1538
- type UiCompositionPlanComponentPortEndpoint = {
1539
- kind: 'component-port';
1540
- widget: string;
1541
- port: string;
1542
- direction: 'input' | 'output';
1543
- nestedPath?: ComponentPortPathSegment[];
1544
- };
1545
- type UiCompositionPlanStateEndpoint = {
1546
- kind: 'state';
1547
- path: string;
1548
- layer?: 'values' | 'derived' | 'transient';
1549
- };
1550
- type UiCompositionPlanGlobalActionEndpoint = {
1551
- kind: 'global-action';
1552
- actionId: string;
1553
- payload?: unknown;
1554
- payloadExpr?: string;
1555
- meta?: Record<string, unknown>;
1556
- };
1557
- /**
1558
- * A runtime event source emitted through `dynamicPage.composition.dispatch`.
1559
- * Only actionId participates in canonical endpoint matching; payload is always
1560
- * supplied by the runtime dispatch event.
1561
- */
1562
- type UiCompositionPlanGlobalActionSourceEndpoint = Pick<UiCompositionPlanGlobalActionEndpoint, 'kind' | 'actionId'>;
1563
- type UiCompositionPlanSourceEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint | UiCompositionPlanGlobalActionSourceEndpoint;
1564
- type UiCompositionPlanTargetEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint | UiCompositionPlanGlobalActionEndpoint;
1565
- type UiCompositionPlanEndpoint = UiCompositionPlanTargetEndpoint;
1566
- type UiCompositionPlanTransform = {
1567
- kind: 'pick-path';
1568
- id: string;
1569
- path: string;
1570
- inputSource?: UiCompositionPlanInputSource;
1571
- } | {
1572
- kind: 'constant';
1573
- id: string;
1574
- value: unknown;
1575
- } | {
1576
- kind: 'query-context';
1577
- id: string;
1578
- field: string;
1579
- operator?: string;
1580
- valueVar?: string;
1581
- inputSource?: UiCompositionPlanInputSource;
1582
- } | {
1583
- kind: 'template';
1584
- id: string;
1585
- template: unknown;
1586
- inputSource?: UiCompositionPlanInputSource;
1587
- /** Explicit semantic contract produced by the template after materialization. */
1588
- output?: UiCompositionPlanTransformOutput;
1589
- };
1590
- interface UiCompositionPlanWidget {
1591
- key: string;
1592
- componentId: string;
1593
- role?: string;
1594
- shell?: WidgetInstance['shell'];
1595
- inputs?: Record<string, unknown>;
1596
- outputs?: Record<string, unknown>;
1597
- bindingOrder?: string[];
1598
- }
1599
- interface UiCompositionPlanBinding {
1600
- id: string;
1601
- from: UiCompositionPlanSourceEndpoint;
1602
- to: UiCompositionPlanTargetEndpoint;
1603
- intent: CompositionLink['intent'];
1604
- condition?: unknown;
1605
- transform?: UiCompositionPlanTransform;
1606
- policy?: CompositionLink['policy'];
1607
- metadata?: Record<string, unknown>;
1608
- }
1609
- type UiCompositionPlanSelectionSyncMapping = string | {
1610
- path: string;
1611
- inputSource?: UiCompositionPlanInputSource;
1612
- condition?: unknown;
1613
- };
1614
- /**
1615
- * Semantic authoring shorthand for projecting the same selection emitted by one
1616
- * or more component outputs into page state. The compiler expands this shape
1617
- * into explicit canonical composition links before preview or persistence.
1618
- */
1619
- interface UiCompositionPlanSelectionSync {
1620
- id: string;
1621
- intent: 'selection-sync';
1622
- sources: UiCompositionPlanComponentPortEndpoint[];
1623
- target: UiCompositionPlanStateEndpoint;
1624
- mapping: Record<string, UiCompositionPlanSelectionSyncMapping>;
1625
- policy?: CompositionLink['policy'];
1626
- metadata?: Record<string, unknown>;
1627
- }
1628
- type UiCompositionPlanContextValue = {
1629
- kind: 'constant';
1630
- value: unknown;
1631
- } | {
1632
- kind: 'state';
1633
- path: string;
1634
- layer?: 'values' | 'derived' | 'transient';
1635
- condition?: unknown;
1636
- /** Explicit value materialized before the first state propagation. */
1637
- initial?: unknown;
1638
- };
1639
- interface UiCompositionPlanContextScopeTarget {
1640
- widget: string;
1641
- nestedPath?: ComponentPortPathSegment[];
1642
- inherit?: string[];
1643
- }
1644
- /**
1645
- * Groups reusable parent/resource context for one or more component targets.
1646
- * Constants and explicit state initial values become widget inputs, while
1647
- * state values become canonical links during compilation. No hidden runtime
1648
- * inheritance remains in the executable page.
1649
- */
1650
- interface UiCompositionPlanContextScope {
1651
- id: string;
1652
- context: Record<string, UiCompositionPlanContextValue>;
1653
- targets: UiCompositionPlanContextScopeTarget[];
1654
- policy?: CompositionLink['policy'];
1655
- metadata?: Record<string, unknown>;
1656
- }
1657
- interface UiCompositionPlan {
1658
- version: '1.0';
1659
- kind: 'praxis.ui-composition-plan';
1660
- /** Page-owned business copy compiled verbatim into WidgetPageDefinition.i18n. */
1661
- i18n?: WidgetPageDefinition['i18n'];
1662
- /** Explicit page-wide context compiled into WidgetPageDefinition.context. */
1663
- context?: WidgetPageDefinition['context'];
1664
- /** Canonical responsive grid layout compiled into WidgetPageDefinition.layout. */
1665
- layout?: WidgetPageDefinition['layout'];
1666
- layoutPreset?: string;
1667
- layoutPresetOptions?: Record<string, unknown>;
1668
- canvas?: WidgetPageCanvasLayout;
1669
- deviceLayouts?: WidgetPageDeviceLayouts;
1670
- grouping?: WidgetPageGroupingDefinition[];
1671
- slotAssignments?: WidgetPageSlotAssignments;
1672
- state?: WidgetPageStateInput;
1673
- themePreset?: string;
1674
- widgets: UiCompositionPlanWidget[];
1675
- selectionSyncs?: UiCompositionPlanSelectionSync[];
1676
- contextScopes?: UiCompositionPlanContextScope[];
1677
- bindings?: UiCompositionPlanBinding[];
1678
- /** Non-executable authoring and resolution evidence; never copied into WidgetPageDefinition. */
1679
- diagnostics?: Record<string, unknown>;
1680
- }
1681
- interface UiCompositionPlanTemplateRef {
1682
- registryKey: string;
1683
- configSha256: string;
1684
- }
1685
- /** Compact intermediate authoring input. It is never a runtime persistence shape. */
1686
- interface UiCompositionPlanTemplateReference {
1687
- version: '1.0';
1688
- kind: 'praxis.ui-composition-plan';
1689
- templateRef: UiCompositionPlanTemplateRef;
1690
- overrides?: Readonly<Record<string, never>>;
1691
- }
1692
- interface UiCompositionPlanTemplateRevision {
1693
- version?: number;
1694
- etag?: string;
1695
- configSha256: string;
1696
- }
1697
- /** Exact template body and revision evidence supplied by the governed backend. */
1698
- interface UiCompositionPlanTemplateMaterialization {
1699
- registryKey: string;
1700
- revision: UiCompositionPlanTemplateRevision;
1701
- authoringPlan: UiCompositionPlan;
1702
- }
1703
- type UiCompositionPlanAuthoringInput = UiCompositionPlan | UiCompositionPlanTemplateReference;
1704
- type UiCompositionPlanTemplateResolutionResult = {
1705
- valid: true;
1706
- referenced: boolean;
1707
- plan: UiCompositionPlan;
1708
- diagnostics: UiCompositionPlanDiagnostic[];
1709
- } | {
1710
- valid: false;
1711
- referenced: true;
1712
- plan: null;
1713
- diagnostics: UiCompositionPlanDiagnostic[];
1714
- };
1715
- interface UiCompositionPlanDiagnostic {
1716
- code: string;
1717
- message: string;
1718
- path?: string;
1719
- }
1720
- type UiCompositionPlanCompileResult = {
1721
- valid: true;
1722
- page: WidgetPageDefinition;
1723
- diagnostics: UiCompositionPlanDiagnostic[];
1724
- } | {
1725
- valid: false;
1726
- page: null;
1727
- diagnostics: UiCompositionPlanDiagnostic[];
1728
- };
1729
- /**
1730
- * Pure, fail-closed normalization for an exact template reference.
1731
- *
1732
- * The function performs no HTTP, registry search or template selection. The governed backend must
1733
- * supply the exact materialization and its revision evidence before the existing compiler runs.
1734
- */
1735
- declare function resolveUiCompositionPlanTemplate(input: UiCompositionPlanAuthoringInput, materialization?: UiCompositionPlanTemplateMaterialization): UiCompositionPlanTemplateResolutionResult;
1736
- declare function compileUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanCompileResult;
1737
- declare function validateUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanDiagnostic[];
1738
-
1739
1784
  type LegacyLayoutOptions = {
1740
1785
  cols?: number;
1741
1786
  rowHeight?: number;
@@ -1963,6 +2008,8 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1963
2008
  agenticAuthoringEnableStreaming: boolean;
1964
2009
  agenticAuthoringVoiceInputMode: PraxisAssistantVoiceInputMode;
1965
2010
  agenticAuthoringContextHints?: Record<string, unknown> | null;
2011
+ /** Canonical persisted payload, revision and semantic source used to reopen authoring. */
2012
+ authoringDocument?: ConfigDocument<WidgetPageDefinition> | null;
1966
2013
  showPageLifecycleActions: boolean;
1967
2014
  canDeleteSavedPage: boolean;
1968
2015
  pageLifecycleBusy: boolean;
@@ -1996,6 +2043,9 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1996
2043
  private readonly agenticAuthoringApplyTarget;
1997
2044
  readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
1998
2045
  readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
2046
+ private readonly persistedUiCompositionAuthoringSource;
2047
+ readonly uiCompositionAuthoringSourceVerification: _angular_core.Signal<_praxisui_page_builder.UiCompositionAuthoringSourceVerification>;
2048
+ readonly uiCompositionAuthoringBlockingDiagnostics: _angular_core.Signal<UiCompositionAuthoringSourceDiagnostic[]>;
1999
2049
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
2000
2050
  readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
2001
2051
  readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
@@ -2024,6 +2074,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
2024
2074
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
2025
2075
  private readonly previewMode;
2026
2076
  private runtimePageCache?;
2077
+ private lastRuntimePageChangeFingerprint;
2027
2078
  private agenticComponentCapabilities?;
2028
2079
  private agenticComponentCapabilitiesPromise?;
2029
2080
  private agenticTurnController?;
@@ -2302,9 +2353,10 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
2302
2353
  private describeAgenticError;
2303
2354
  private looksLikeHtmlErrorResponse;
2304
2355
  private cloneValue;
2356
+ authoringSourceDiagnosticText(diagnostic: UiCompositionAuthoringSourceDiagnostic): string;
2305
2357
  tx(key: string, fallback: string): string;
2306
2358
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
2307
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageBuilderComponent, "praxis-dynamic-page-builder", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "required": false; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "componentPaletteAllowedWidgetIds": { "alias": "componentPaletteAllowedWidgetIds"; "required": false; }; "componentPaletteAllowedWidgetTags": { "alias": "componentPaletteAllowedWidgetTags"; "required": false; }; "componentPaletteAllowedPresetIds": { "alias": "componentPaletteAllowedPresetIds"; "required": false; }; "enableAgenticAuthoring": { "alias": "enableAgenticAuthoring"; "required": false; }; "agenticAuthoringProvider": { "alias": "agenticAuthoringProvider"; "required": false; }; "agenticAuthoringModel": { "alias": "agenticAuthoringModel"; "required": false; }; "agenticAuthoringApiKey": { "alias": "agenticAuthoringApiKey"; "required": false; }; "agenticAuthoringComponentId": { "alias": "agenticAuthoringComponentId"; "required": false; }; "agenticAuthoringScope": { "alias": "agenticAuthoringScope"; "required": false; }; "agenticAuthoringEtag": { "alias": "agenticAuthoringEtag"; "required": false; }; "agenticAuthoringIncludeLlmDiagnostics": { "alias": "agenticAuthoringIncludeLlmDiagnostics"; "required": false; }; "agenticAuthoringEnableStreaming": { "alias": "agenticAuthoringEnableStreaming"; "required": false; }; "agenticAuthoringVoiceInputMode": { "alias": "agenticAuthoringVoiceInputMode"; "required": false; }; "agenticAuthoringContextHints": { "alias": "agenticAuthoringContextHints"; "required": false; }; "showPageLifecycleActions": { "alias": "showPageLifecycleActions"; "required": false; }; "canDeleteSavedPage": { "alias": "canDeleteSavedPage"; "required": false; }; "pageLifecycleBusy": { "alias": "pageLifecycleBusy"; "required": false; }; "pageLifecycleResetRevision": { "alias": "pageLifecycleResetRevision"; "required": false; }; }, { "pageChange": "pageChange"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
2359
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageBuilderComponent, "praxis-dynamic-page-builder", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "required": false; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "componentPaletteAllowedWidgetIds": { "alias": "componentPaletteAllowedWidgetIds"; "required": false; }; "componentPaletteAllowedWidgetTags": { "alias": "componentPaletteAllowedWidgetTags"; "required": false; }; "componentPaletteAllowedPresetIds": { "alias": "componentPaletteAllowedPresetIds"; "required": false; }; "enableAgenticAuthoring": { "alias": "enableAgenticAuthoring"; "required": false; }; "agenticAuthoringProvider": { "alias": "agenticAuthoringProvider"; "required": false; }; "agenticAuthoringModel": { "alias": "agenticAuthoringModel"; "required": false; }; "agenticAuthoringApiKey": { "alias": "agenticAuthoringApiKey"; "required": false; }; "agenticAuthoringComponentId": { "alias": "agenticAuthoringComponentId"; "required": false; }; "agenticAuthoringScope": { "alias": "agenticAuthoringScope"; "required": false; }; "agenticAuthoringEtag": { "alias": "agenticAuthoringEtag"; "required": false; }; "agenticAuthoringIncludeLlmDiagnostics": { "alias": "agenticAuthoringIncludeLlmDiagnostics"; "required": false; }; "agenticAuthoringEnableStreaming": { "alias": "agenticAuthoringEnableStreaming"; "required": false; }; "agenticAuthoringVoiceInputMode": { "alias": "agenticAuthoringVoiceInputMode"; "required": false; }; "agenticAuthoringContextHints": { "alias": "agenticAuthoringContextHints"; "required": false; }; "authoringDocument": { "alias": "authoringDocument"; "required": false; }; "showPageLifecycleActions": { "alias": "showPageLifecycleActions"; "required": false; }; "canDeleteSavedPage": { "alias": "canDeleteSavedPage"; "required": false; }; "pageLifecycleBusy": { "alias": "pageLifecycleBusy"; "required": false; }; "pageLifecycleResetRevision": { "alias": "pageLifecycleResetRevision"; "required": false; }; }, { "pageChange": "pageChange"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
2308
2360
  }
2309
2361
 
2310
2362
  /** Metadata for Praxis Page Builder component */
@@ -2312,5 +2364,5 @@ declare const PRAXIS_PAGE_BUILDER_COMPONENT_METADATA: ComponentDocMeta;
2312
2364
  /** Provider para auto-registrar metadados do componente Page Builder. */
2313
2365
  declare function providePraxisPageBuilderMetadata(): Provider;
2314
2366
 
2315
- export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_COMPONENT_CONTEXT_PACK, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PRAXIS_PAGE_BUILDER_COMPONENT_METADATA, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, UiCompositionResourcePreflightService, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, preflightUiCompositionPlan, preflightUiCompositionPlanResources, providePageBuilderWidgetAiCatalogs, providePraxisPageBuilderMetadata, registerWidgetAiCatalog, registerWidgetAiCatalogs, resolveUiCompositionPlanTemplate, validateUiCompositionPlan };
2316
- export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringSharedRuleHandoff, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderAuthoringCapabilities, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, UiCompositionPlan, UiCompositionPlanAuthoringInput, UiCompositionPlanBinding, UiCompositionPlanCompileResult, UiCompositionPlanComponentPortEndpoint, UiCompositionPlanContextScope, UiCompositionPlanContextScopeTarget, UiCompositionPlanContextValue, UiCompositionPlanDiagnostic, UiCompositionPlanEndpoint, UiCompositionPlanGlobalActionEndpoint, UiCompositionPlanGlobalActionSourceEndpoint, UiCompositionPlanInputSource, UiCompositionPlanPreflightResult, UiCompositionPlanSelectionSync, UiCompositionPlanSelectionSyncMapping, UiCompositionPlanSourceEndpoint, UiCompositionPlanStateEndpoint, UiCompositionPlanTargetEndpoint, UiCompositionPlanTemplateMaterialization, UiCompositionPlanTemplateRef, UiCompositionPlanTemplateReference, UiCompositionPlanTemplateResolutionResult, UiCompositionPlanTemplateRevision, UiCompositionPlanTransform, UiCompositionPlanTransformOutput, UiCompositionPlanWidget, UiCompositionResourceSchemaRequest, UiCompositionResourceSchemaResolution, UiCompositionResourceSchemaResolver, ValueKind };
2367
+ export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_COMPONENT_CONTEXT_PACK, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PRAXIS_PAGE_BUILDER_COMPONENT_METADATA, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, UiCompositionResourcePreflightService, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, preflightUiCompositionPlan, preflightUiCompositionPlanResources, providePageBuilderWidgetAiCatalogs, providePraxisPageBuilderMetadata, registerWidgetAiCatalog, registerWidgetAiCatalogs, resolveUiCompositionPlanTemplate, validateUiCompositionPlan, verifyUiCompositionAuthoringSource };
2368
+ export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringSharedRuleHandoff, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderAuthoringCapabilities, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, UiCompositionAuthoringSourceDiagnostic, UiCompositionAuthoringSourceDiagnosticCode, UiCompositionAuthoringSourceVerification, UiCompositionAuthoringSourceVerificationContext, UiCompositionPlan, UiCompositionPlanAuthoringInput, UiCompositionPlanAuthoringSource, UiCompositionPlanBinding, UiCompositionPlanCompileResult, UiCompositionPlanComponentPortEndpoint, UiCompositionPlanContextScope, UiCompositionPlanContextScopeTarget, UiCompositionPlanContextValue, UiCompositionPlanDiagnostic, UiCompositionPlanEndpoint, UiCompositionPlanGlobalActionEndpoint, UiCompositionPlanGlobalActionSourceEndpoint, UiCompositionPlanInputSource, UiCompositionPlanPreflightResult, UiCompositionPlanSelectCase, UiCompositionPlanSelectionSync, UiCompositionPlanSelectionSyncMapping, UiCompositionPlanSourceEndpoint, UiCompositionPlanStateEndpoint, UiCompositionPlanTargetEndpoint, UiCompositionPlanTemplateMaterialization, UiCompositionPlanTemplateRef, UiCompositionPlanTemplateReference, UiCompositionPlanTemplateResolutionResult, UiCompositionPlanTemplateRevision, UiCompositionPlanTransform, UiCompositionPlanTransformOutput, UiCompositionPlanWidget, UiCompositionResourceSchemaRequest, UiCompositionResourceSchemaResolution, UiCompositionResourceSchemaResolver, ValueKind };