@praxisui/page-builder 9.0.0-beta.8 → 9.0.0-beta.80

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.0-beta.8",
3
+ "version": "9.0.0-beta.80",
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.0-beta.8",
12
- "@praxisui/core": "^9.0.0-beta.8",
13
- "@praxisui/settings-panel": "^9.0.0-beta.8",
11
+ "@praxisui/ai": "^9.0.0-beta.80",
12
+ "@praxisui/core": "^9.0.0-beta.80",
13
+ "@praxisui/settings-panel": "^9.0.0-beta.80",
14
14
  "rxjs": "~7.8.0"
15
15
  },
16
16
  "dependencies": {
@@ -24,6 +24,7 @@
24
24
  "keywords": [
25
25
  "angular",
26
26
  "praxisui",
27
+ "praxis",
27
28
  "page-builder",
28
29
  "widgets",
29
30
  "dashboard",
@@ -39,7 +40,10 @@
39
40
  ".": {
40
41
  "types": "./types/praxisui-page-builder.d.ts",
41
42
  "default": "./fesm2022/praxisui-page-builder.mjs"
43
+ },
44
+ "./ai/component-registry.json": {
45
+ "default": "./ai/component-registry.json"
42
46
  }
43
47
  },
44
48
  "type": "module"
45
- }
49
+ }
@@ -1,13 +1,12 @@
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, WidgetShellConfig, 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, ComponentContextPack, ComponentAuthoringManifest, DynamicWidgetPageComponent, WidgetEventEnvelope, SettingsPanelBridge, RichTimelineItem } from '@praxisui/core';
5
- export { WidgetShellComponent } from '@praxisui/core';
4
+ import { ComponentDocMeta, ComponentMetadataRegistry, WidgetShellConfig, 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, ComponentContextPack, ComponentAuthoringManifest, DynamicWidgetPageComponent, WidgetEventEnvelope, ObservabilityAgenticTurnMetrics, SettingsPanelBridge, ObservabilityAgenticTurnMetricBucket, RichTimelineItem } from '@praxisui/core';
6
5
  import * as rxjs from 'rxjs';
7
6
  import { BehaviorSubject, Observable } from 'rxjs';
8
7
  import { FormGroup, FormControl, FormArray } from '@angular/forms';
9
8
  import { SettingsValueProvider } from '@praxisui/settings-panel';
10
- import { AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AiJsonObject, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamStartResponseContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantShellAction, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
9
+ import { AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AiJsonObject, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamContextHintsContract, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamStartResponseContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantRecommendedIntent, PraxisAssistantShellAction, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
11
10
 
12
11
  declare const PLACEHOLDER = 1;
13
12
 
@@ -265,11 +264,12 @@ interface ConnectionEditorNode {
265
264
  states: ConnectionEditorPort[];
266
265
  }
267
266
  type ConnectionEditorDiagnosticSeverity = 'error' | 'warning';
268
- type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared';
267
+ type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared' | 'feedback-cycle-unguarded' | 'feedback-cycle-guarded';
269
268
  interface ConnectionEditorDiagnostic {
270
269
  code: ConnectionEditorDiagnosticCode;
271
270
  severity: ConnectionEditorDiagnosticSeverity;
272
- endpoint: 'from' | 'to';
271
+ endpoint: 'from' | 'to' | 'link';
272
+ relatedLinkIds?: string[];
273
273
  }
274
274
  interface ConnectionEditorConnection {
275
275
  id: string;
@@ -373,6 +373,7 @@ type ConnectionEditorFlowMode = 'all' | 'data' | 'event' | 'capability' | 'simul
373
373
  type ConnectionEditorDockTab = 'json' | 'links' | 'derived' | 'export';
374
374
  type ConnectionEditorConditionPreset = 'source-present' | 'source-id-present';
375
375
  type ConnectionEditorPolicyPreset = 'stable-delivery' | 'skip-missing';
376
+ type ConnectionEditorVisualDensity = 'guided' | 'full';
376
377
  interface DragState {
377
378
  port: ConnectionEditorPort;
378
379
  source: ConnectionEditorPoint;
@@ -456,6 +457,7 @@ declare class ConnectionEditorComponent {
456
457
  readonly selectedWidgetId: _angular_core.WritableSignal<string | null>;
457
458
  readonly selectedLinkId: _angular_core.WritableSignal<string | null>;
458
459
  readonly recentLinkId: _angular_core.WritableSignal<string | null>;
460
+ readonly lastCreatedLinkId: _angular_core.WritableSignal<string | null>;
459
461
  readonly hoveredLinkId: _angular_core.WritableSignal<string | null>;
460
462
  readonly expandedNodeId: _angular_core.WritableSignal<string | null>;
461
463
  readonly activeDockTab: _angular_core.WritableSignal<ConnectionEditorDockTab>;
@@ -464,6 +466,8 @@ declare class ConnectionEditorComponent {
464
466
  readonly traceStepIndex: _angular_core.WritableSignal<number>;
465
467
  readonly traceSourceNodeId: _angular_core.WritableSignal<string | null>;
466
468
  readonly selectedPort: _angular_core.WritableSignal<ConnectionEditorPort | null>;
469
+ readonly hoveredNodeId: _angular_core.WritableSignal<string | null>;
470
+ readonly visualDensity: _angular_core.WritableSignal<ConnectionEditorVisualDensity>;
467
471
  readonly globalActionPayloadError: _angular_core.WritableSignal<string | null>;
468
472
  readonly pendingSegmentState: _angular_core.WritableSignal<PendingSegmentState | null>;
469
473
  readonly dragState: _angular_core.WritableSignal<DragState | null>;
@@ -543,6 +547,8 @@ declare class ConnectionEditorComponent {
543
547
  readonly visibleEdges: _angular_core.Signal<ConnectionsViewerEdge[]>;
544
548
  readonly selectedEdge: _angular_core.Signal<ConnectionsViewerEdge | null>;
545
549
  readonly editorGraph: _angular_core.Signal<ConnectionEditorGraph>;
550
+ readonly connectedNodeIds: _angular_core.Signal<Set<string>>;
551
+ readonly connectedPortIds: _angular_core.Signal<Set<string>>;
546
552
  readonly editorNodes: _angular_core.Signal<ConnectionEditorNode[]>;
547
553
  readonly navigationBounds: _angular_core.Signal<ConnectionEditorBounds>;
548
554
  readonly minimapViewBox: _angular_core.Signal<string>;
@@ -553,6 +559,8 @@ declare class ConnectionEditorComponent {
553
559
  readonly modeMatchedNodeIds: _angular_core.Signal<Set<string>>;
554
560
  readonly modeMatchedPortIds: _angular_core.Signal<Set<string>>;
555
561
  readonly smartSuggestions: _angular_core.Signal<ConnectionEditorSuggestion[]>;
562
+ readonly recommendedMasterDetailSuggestion: _angular_core.Signal<ConnectionEditorSuggestion | null>;
563
+ readonly masterDetailReadinessDiagnostic: _angular_core.Signal<string | null>;
556
564
  readonly traceSteps: _angular_core.Signal<ConnectionEditorTraceStep[]>;
557
565
  readonly activeTraceStepIndex: _angular_core.Signal<number>;
558
566
  readonly traceActiveStep: _angular_core.Signal<ConnectionEditorTraceStep>;
@@ -610,6 +618,8 @@ declare class ConnectionEditorComponent {
610
618
  handleEditorKeydown(event: KeyboardEvent): void;
611
619
  setFilter(filter: ConnectionsEditorFilter): void;
612
620
  setMode(mode: ConnectionEditorFlowMode): void;
621
+ toggleVisualDensity(event: Event): void;
622
+ visualDensityAriaLabel(): string;
613
623
  activeModeStatus(): string;
614
624
  setDockTab(tab: ConnectionEditorDockTab): void;
615
625
  handleDockTabKeydown(event: KeyboardEvent, tab: ConnectionEditorDockTab): void;
@@ -670,6 +680,9 @@ declare class ConnectionEditorComponent {
670
680
  segmentLabelTransform(segment: ConnectionEditorSegmentGeometry, node: ConnectionEditorNode): string;
671
681
  nodeRotationHandleTransform(node: ConnectionEditorNode): string;
672
682
  segmentDisplayLabel(label: string): string;
683
+ isNestedPort(port: ConnectionEditorPort): boolean;
684
+ nestedPortPathText(port: ConnectionEditorPort): string;
685
+ portDescription(port: ConnectionEditorPort): string;
673
686
  segmentKindGlyph(kind: ConnectionEditorPortKind): string;
674
687
  nodeIcon(node: ConnectionEditorNode): string;
675
688
  dockTabLabel(tab: ConnectionEditorDockTabDefinition): string;
@@ -677,6 +690,9 @@ declare class ConnectionEditorComponent {
677
690
  dockPanelId(tab: ConnectionEditorDockTab): string;
678
691
  dockToggleLabel(): string;
679
692
  segmentKindText(kind: ConnectionEditorPortKind): string;
693
+ connectionHasNestedEndpoint(connection: ConnectionEditorConnection): boolean;
694
+ connectionNestedSummary(connection: ConnectionEditorConnection): string;
695
+ private formatNestedPath;
680
696
  connectionHasErrors(connection: ConnectionEditorConnection): boolean;
681
697
  connectionHasWarnings(connection: ConnectionEditorConnection): boolean;
682
698
  connectionHasPolicy(connection: ConnectionEditorConnection): boolean;
@@ -685,6 +701,12 @@ declare class ConnectionEditorComponent {
685
701
  isModeDimmedConnection(connection: ConnectionEditorConnection): boolean;
686
702
  isModeDimmedNode(node: ConnectionEditorNode): boolean;
687
703
  isModeDimmedPort(port: ConnectionEditorPort): boolean;
704
+ isGuidedQuietNode(node: ConnectionEditorNode): boolean;
705
+ areNodePortsVisible(node: ConnectionEditorNode): boolean;
706
+ isGuidedPortVisible(port: ConnectionEditorPort): boolean;
707
+ isGuidedSegmentLabelVisible(port: ConnectionEditorPort): boolean;
708
+ clearHoveredNode(nodeId: string): void;
709
+ private updateAutoExpandedNode;
688
710
  edgeMatchesMode(edge: ConnectionsViewerEdge): boolean;
689
711
  isNodeFocusedByConnection(node: ConnectionEditorNode): boolean;
690
712
  isPortFocusedByConnection(port: ConnectionEditorPort): boolean;
@@ -696,7 +718,24 @@ declare class ConnectionEditorComponent {
696
718
  diagnosticSeverityLabel(diagnostic: ConnectionEditorDiagnostic): string;
697
719
  diagnosticText(diagnostic: ConnectionEditorDiagnostic): string;
698
720
  suggestionReasonText(reason: ConnectionEditorSuggestionReason): string;
721
+ connectionSemanticLabel(connection: ConnectionEditorConnection): string;
722
+ connectionHumanSummary(connection: ConnectionEditorConnection): string;
723
+ connectionDeliveryPreview(connection: ConnectionEditorConnection): string;
724
+ suggestionSemanticLabel(suggestion: ConnectionEditorSuggestion): string;
725
+ suggestionPreviewText(suggestion: ConnectionEditorSuggestion): string;
726
+ suggestionOutcomeText(suggestion: ConnectionEditorSuggestion): string;
727
+ suggestionRouteTechnicalText(suggestion: ConnectionEditorSuggestion): string;
728
+ suggestionActionText(suggestion: ConnectionEditorSuggestion): string;
729
+ connectionCreatedFeedback(connection: ConnectionEditorConnection): string;
730
+ portAriaLabel(node: ConnectionEditorNode, port: ConnectionEditorPort, role: 'input' | 'output' | 'state'): string;
699
731
  transformKindText(kind: TransformKind): string;
732
+ private readableEndpointLabel;
733
+ private isSelectionToDetailConnection;
734
+ private isSuggestedMasterDetail;
735
+ private isCanonicalSelectionToDetailConnection;
736
+ private isTableSelectionOutput;
737
+ private isFormResourceIdInput;
738
+ private portComponentType;
700
739
  expandedPorts(node: ConnectionEditorNode): ConnectionEditorPort[];
701
740
  movePort(node: ConnectionEditorNode, port: ConnectionEditorPort, direction: -1 | 1, event: Event): void;
702
741
  toggleSegments(node: ConnectionEditorNode, event: Event): void;
@@ -758,6 +797,7 @@ declare class ConnectionEditorComponent {
758
797
  private showInvalidDropFeedback;
759
798
  private clearInvalidDropFeedback;
760
799
  private markRecentLink;
800
+ private scrollConnectionSidePanelToTop;
761
801
  private clearPreviewConnectionState;
762
802
  private shouldIgnoreEditorShortcut;
763
803
  private scrollActiveModeIntoView;
@@ -807,20 +847,37 @@ type DeviceVariantForm = FormGroup<{
807
847
  groupingOverrides: FormControl<string>;
808
848
  widgetOverrides: FormControl<string>;
809
849
  }>;
850
+ type LayoutPresetEntry = {
851
+ id: string;
852
+ label: string;
853
+ description: string;
854
+ category: string;
855
+ defaultColumns: number;
856
+ defaultGap: string;
857
+ slotLabels: string[];
858
+ requiredSlotLabels: string[];
859
+ deviceStacking: string;
860
+ preferTabsOnMobile: boolean;
861
+ hideSecondaryContentOnMobile: boolean;
862
+ defaultThemePreset: string;
863
+ };
864
+ type ThemePresetEntry = {
865
+ id: string;
866
+ label: string;
867
+ description: string;
868
+ density: string;
869
+ motion: string;
870
+ shellPreset: string;
871
+ chartThemePreset: string;
872
+ };
810
873
  declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueProvider$1 {
811
874
  set page(value: WidgetPageDefinition | string | null | undefined);
812
875
  layout?: unknown;
813
876
  presets?: unknown;
814
877
  pagePreset?: string | null;
815
878
  pageChange: EventEmitter<WidgetPageDefinition>;
816
- readonly layoutPresetEntries: {
817
- id: string;
818
- label: string;
819
- }[];
820
- readonly themePresetEntries: {
821
- id: string;
822
- label: string;
823
- }[];
879
+ readonly layoutPresetEntries: LayoutPresetEntry[];
880
+ readonly themePresetEntries: ThemePresetEntry[];
824
881
  readonly shellPresetEntries: {
825
882
  id: string;
826
883
  label: string;
@@ -848,6 +905,7 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
848
905
  readonly stateError: WritableSignal<string | null>;
849
906
  readonly deviceError: WritableSignal<string | null>;
850
907
  private readonly injectedData;
908
+ private readonly i18n;
851
909
  private pageInput;
852
910
  private snapshot;
853
911
  private hydrating;
@@ -861,13 +919,24 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
861
919
  get dirtyStateLabel(): string;
862
920
  get selectedLayoutPresetLabel(): string;
863
921
  get selectedThemePresetLabel(): string;
922
+ get selectedLayoutPresetEntry(): LayoutPresetEntry | null;
923
+ get selectedThemePresetEntry(): ThemePresetEntry | null;
924
+ get recommendedThemePresetEntry(): ThemePresetEntry | null;
864
925
  get canvasSummaryLabel(): string;
865
926
  onSelectedTabIndexChange(index: number): void;
866
927
  getSettingsValue(): WidgetPageDefinition | null;
867
928
  onSave(): WidgetPageDefinition | null;
868
929
  reset(): void;
930
+ pinRecommendedThemePreset(): void;
869
931
  addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
870
932
  removeGroupingNode(index: number): void;
933
+ layoutPresetSummary(preset: LayoutPresetEntry): string;
934
+ slotsSummary(preset: LayoutPresetEntry): string;
935
+ requiredSlotsSummary(preset: LayoutPresetEntry): string;
936
+ devicePolicySummary(preset: LayoutPresetEntry): string;
937
+ inheritedThemeHelp(theme: ThemePresetEntry): string;
938
+ groupLabel(index: number): string;
939
+ tx(key: string, fallback: string): string;
871
940
  private createDeviceVariantForm;
872
941
  private createGroupingNodeGroup;
873
942
  private hydrate;
@@ -1207,7 +1276,8 @@ interface PageBuilderAgenticAuthoringTurnStreamRequest {
1207
1276
  pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
1208
1277
  componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
1209
1278
  attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
1210
- contextHints?: AiContextHintsContract | null;
1279
+ contextHints?: AgenticAuthoringTurnStreamContextHintsContract | null;
1280
+ activeSemanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
1211
1281
  diagnostics?: AiJsonObject | null;
1212
1282
  runtimeComponentObservations?: readonly PraxisRuntimeComponentObservationEnvelope[];
1213
1283
  runtimeComponentObservationTrustBoundary?: 'untrusted_frontend_observation';
@@ -1358,6 +1428,8 @@ type PageBuilderAgenticAuthoringTurnStreamEvent = AgenticAuthoringTurnStreamEnve
1358
1428
  interface PageBuilderApplyRequest {
1359
1429
  compiledFormPatch: PageBuilderCompiledFormPatch;
1360
1430
  componentId: string;
1431
+ streamId: string;
1432
+ resultEventId: string;
1361
1433
  componentType?: string;
1362
1434
  scope?: 'user' | 'tenant';
1363
1435
  tags?: Record<string, unknown>;
@@ -1653,6 +1725,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1653
1725
  private readonly agenticAuthoring;
1654
1726
  private readonly agenticTurnOrchestrator;
1655
1727
  private readonly assistantSessions;
1728
+ private readonly observabilityDashboard;
1656
1729
  private readonly runtimeObservationRegistry;
1657
1730
  private readonly agenticAuthoringOptions;
1658
1731
  runtime?: DynamicWidgetPageComponent;
@@ -1691,15 +1764,21 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1691
1764
  savedPageDeleteRequested: EventEmitter<void>;
1692
1765
  readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
1693
1766
  readonly hasPageWidgets: _angular_core.Signal<boolean>;
1767
+ readonly hasRecommendedConnectionSuggestion: _angular_core.Signal<boolean>;
1694
1768
  readonly premiumReadinessIssues: _angular_core.Signal<PageBuilderPremiumReadinessIssue[]>;
1695
1769
  readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
1696
1770
  readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
1697
1771
  readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
1698
1772
  readonly agenticAuthoringBusy: _angular_core.WritableSignal<boolean>;
1773
+ private readonly agenticAuthoringTerminalState;
1699
1774
  readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
1700
1775
  readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
1701
1776
  readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
1777
+ private readonly agenticAuthoringMaterializationPending;
1702
1778
  readonly agenticAuthoringSemanticDecision: _angular_core.WritableSignal<AgenticAuthoringSemanticDecisionContract | null>;
1779
+ private readonly agenticAuthoringSemanticResourcePresentationLabel;
1780
+ private readonly agenticAuthoringTurnResultRef;
1781
+ private readonly agenticAuthoringApplyTarget;
1703
1782
  readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
1704
1783
  readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
1705
1784
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
@@ -1720,6 +1799,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1720
1799
  readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
1721
1800
  readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
1722
1801
  readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
1802
+ readonly agenticTurnHealth: _angular_core.WritableSignal<ObservabilityAgenticTurnMetrics>;
1723
1803
  readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
1724
1804
  readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
1725
1805
  readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
@@ -1728,6 +1808,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1728
1808
  readonly agenticAuthoringWidgetContextKey: _angular_core.WritableSignal<string | null>;
1729
1809
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
1730
1810
  private previewMode;
1811
+ private runtimePreviewPageCache?;
1731
1812
  private agenticComponentCapabilities?;
1732
1813
  private agenticComponentCapabilitiesPromise?;
1733
1814
  private agenticTurnController?;
@@ -1736,11 +1817,13 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1736
1817
  private agenticAuthoringTurnTerminalTimeoutMs;
1737
1818
  private sharedRuleHandoffRevision;
1738
1819
  private agenticAuthoringPanelLayoutTouched;
1820
+ private readonly observabilityMetricsSubscription;
1739
1821
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
1740
1822
  ngOnChanges(changes: SimpleChanges): void;
1741
1823
  ngOnDestroy(): void;
1742
1824
  showSettings(): boolean;
1743
1825
  isPreviewMode(): boolean;
1826
+ runtimePage(): WidgetPageDefinition;
1744
1827
  builderModeLabel(): string;
1745
1828
  onRuntimePageChange(next: WidgetPageDefinition): void;
1746
1829
  onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
@@ -1748,6 +1831,14 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1748
1831
  onRuntimeWidgetSelectionChange(widgetKey: string | null): void;
1749
1832
  togglePreview(): void;
1750
1833
  toggleAgenticAuthoringLlmDiagnostics(): void;
1834
+ agenticAuthoringDiagnosticsAvailable(): boolean;
1835
+ agenticTurnHealthBuckets(): Array<{
1836
+ dimension: 'provider' | 'model';
1837
+ bucket: ObservabilityAgenticTurnMetricBucket;
1838
+ }>;
1839
+ formatAgenticMetricPercent(rate: number): string;
1840
+ formatAgenticDuration(durationMs: number): string;
1841
+ private emptyAgenticTurnHealth;
1751
1842
  toggleSharedRuleCockpit(): void;
1752
1843
  toggleProjectKnowledgeCockpit(): void;
1753
1844
  toggleConnectionsViewer(): void;
@@ -1774,6 +1865,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1774
1865
  minimizeAgenticAuthoring(): void;
1775
1866
  onAgenticAuthoringLayoutChange(layout: AgenticAuthoringPanelLayout): void;
1776
1867
  agenticAuthoringReviewRailActive(): boolean;
1868
+ showAgenticAuthoringPanel(): boolean;
1777
1869
  showAgenticAuthoringDock(): boolean;
1778
1870
  agenticAuthoringMinimized(): boolean;
1779
1871
  agenticAuthoringToggleLabel(): string;
@@ -1781,10 +1873,11 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1781
1873
  agenticAuthoringHeaderSubtitle(): string;
1782
1874
  agenticAuthoringHeaderModeLabel(): string;
1783
1875
  agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
1876
+ agenticAuthoringRecommendedIntents(): readonly PraxisAssistantRecommendedIntent[];
1784
1877
  private agenticAuthoringEmptyConversationMessage;
1785
1878
  private resolveAgenticAuthoredOpeningMessage;
1786
1879
  private isAgenticAuthoringPageBlank;
1787
- private hasBlockingAgenticReview;
1880
+ private hasPendingAgenticPreview;
1788
1881
  agenticAuthoringSubmitAction(): PraxisAssistantShellAction;
1789
1882
  agenticAuthoringDockIcon(): string;
1790
1883
  agenticAuthoringDockBadge(): string;
@@ -1794,6 +1887,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1794
1887
  private resetAgenticAuthoringSessionState;
1795
1888
  private syncAgenticAuthoringSession;
1796
1889
  private resolveAgenticAuthoringSessionId;
1890
+ private pageIdentityFingerprint;
1797
1891
  private truncateAgenticDockText;
1798
1892
  agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
1799
1893
  canRunProjectKnowledgeChangeSet(): boolean;
@@ -1811,6 +1905,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1811
1905
  private agenticAuthoringSemanticDecisionContextItems;
1812
1906
  private shouldHideSemanticDecisionContextItems;
1813
1907
  private humanizeAgenticResourcePath;
1908
+ private agenticSemanticResourceLabel;
1814
1909
  private humanizeAgenticDecisionSummary;
1815
1910
  private humanizeAgenticOperationKind;
1816
1911
  private humanizeAgenticArtifactKind;
@@ -1818,7 +1913,9 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1818
1913
  private humanizeAgenticDecisionEvidence;
1819
1914
  private humanizeAgenticToken;
1820
1915
  previewAgenticAuthoring(): Promise<void>;
1916
+ submitAgenticRecommendedIntent(intent: PraxisAssistantRecommendedIntent): Promise<void>;
1821
1917
  submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
1918
+ private isGovernedReviewRepairQuickReply;
1822
1919
  private agenticQuickReplyVisiblePrompt;
1823
1920
  private agenticQuickReplySubmittedPrompt;
1824
1921
  private agenticQuickReplyClarificationConfirmationPrompt;
@@ -1839,6 +1936,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1839
1936
  editAgenticMessage(message: PraxisAssistantShellMessage): void;
1840
1937
  resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
1841
1938
  retryAgenticAuthoring(): Promise<void>;
1939
+ updateAgenticAuthoringPrompt(prompt: string): void;
1842
1940
  cancelAgenticAuthoring(): Promise<void>;
1843
1941
  persistAgenticAuthoring(): Promise<void>;
1844
1942
  ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
@@ -1894,8 +1992,13 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1894
1992
  private formatSharedRuleTargetLayer;
1895
1993
  private loadAgenticComponentCapabilities;
1896
1994
  private collectRuntimeComponentObservationsForAgenticTurn;
1995
+ private resolveSelectedComponentAuthoringContext;
1996
+ private isComponentConfigEditorContextResult;
1897
1997
  private ensureAgenticTurnController;
1898
1998
  private applyAgenticPreviewLocally;
1999
+ private enterPreviewMode;
2000
+ private toPresentationRuntimePage;
2001
+ private toPresentationRuntimeWidget;
1899
2002
  private applyAgenticTurnState;
1900
2003
  private primeSharedRuleHandoff;
1901
2004
  private moveAgenticAuthoringPanelToReviewSidecar;
@@ -1909,6 +2012,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1909
2012
  private consumeAgenticTurn;
1910
2013
  private beginAgenticTurn;
1911
2014
  private cancelActiveAgenticTurn;
2015
+ private invalidateAgenticTerminalAuthorization;
1912
2016
  private isCurrentAgenticTurn;
1913
2017
  private createAgenticTurnTimeoutState;
1914
2018
  private isAgenticTurnTimeoutState;
@@ -1917,9 +2021,16 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1917
2021
  agenticAuthoringLlmDiagnosticsText(): string;
1918
2022
  private resolveAgenticLlmDiagnostics;
1919
2023
  private resolveAgenticSemanticDecision;
2024
+ private resolveAgenticSemanticResourcePresentationLabel;
2025
+ private resolveAgenticTurnResultRef;
2026
+ private resolveAgenticApplyTarget;
2027
+ private matchesCurrentAgenticApplyTarget;
2028
+ private normalizeAgenticEtag;
2029
+ private currentAgenticAuthoringEtag;
1920
2030
  private cloneAgenticContextHints;
1921
2031
  private resolveGovernedDomainContextSummary;
1922
2032
  private shouldShowGovernedDomainContext;
2033
+ private humanizeGovernedDomainContextResolutionStatus;
1923
2034
  private trimmedString;
1924
2035
  private toRecord;
1925
2036
  private resolvePreviewCompiledFormPatch;
@@ -1952,5 +2063,10 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1952
2063
  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; }; "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; }; "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"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
1953
2064
  }
1954
2065
 
1955
- 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, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs, validateUiCompositionPlan };
2066
+ /** Metadata for Praxis Page Builder component */
2067
+ declare const PRAXIS_PAGE_BUILDER_COMPONENT_METADATA: ComponentDocMeta;
2068
+ /** Provider para auto-registrar metadados do componente Page Builder. */
2069
+ declare function providePraxisPageBuilderMetadata(): Provider;
2070
+
2071
+ 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, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, providePraxisPageBuilderMetadata, registerWidgetAiCatalog, registerWidgetAiCatalogs, validateUiCompositionPlan };
1956
2072
  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, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, UiCompositionPlan, UiCompositionPlanBinding, UiCompositionPlanCompileResult, UiCompositionPlanComponentPortEndpoint, UiCompositionPlanDiagnostic, UiCompositionPlanEndpoint, UiCompositionPlanGlobalActionEndpoint, UiCompositionPlanInputSource, UiCompositionPlanSourceEndpoint, UiCompositionPlanStateEndpoint, UiCompositionPlanTargetEndpoint, UiCompositionPlanTransform, UiCompositionPlanWidget, ValueKind };