@praxisui/page-builder 9.0.0-beta.9 → 9.0.0-beta.90

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.9",
3
+ "version": "9.0.0-beta.90",
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.9",
12
- "@praxisui/core": "^9.0.0-beta.9",
13
- "@praxisui/settings-panel": "^9.0.0-beta.9",
11
+ "@praxisui/ai": "^9.0.0-beta.90",
12
+ "@praxisui/core": "^9.0.0-beta.90",
13
+ "@praxisui/settings-panel": "^9.0.0-beta.90",
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, PraxisAssistantVoiceInputMode, 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;
@@ -1677,6 +1750,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1677
1750
  agenticAuthoringEtag?: string;
1678
1751
  agenticAuthoringIncludeLlmDiagnostics: boolean;
1679
1752
  agenticAuthoringEnableStreaming: boolean;
1753
+ agenticAuthoringVoiceInputMode: PraxisAssistantVoiceInputMode;
1680
1754
  agenticAuthoringContextHints?: Record<string, unknown> | null;
1681
1755
  showPageLifecycleActions: boolean;
1682
1756
  canDeleteSavedPage: boolean;
@@ -1691,15 +1765,21 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1691
1765
  savedPageDeleteRequested: EventEmitter<void>;
1692
1766
  readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
1693
1767
  readonly hasPageWidgets: _angular_core.Signal<boolean>;
1768
+ readonly hasRecommendedConnectionSuggestion: _angular_core.Signal<boolean>;
1694
1769
  readonly premiumReadinessIssues: _angular_core.Signal<PageBuilderPremiumReadinessIssue[]>;
1695
1770
  readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
1696
1771
  readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
1697
1772
  readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
1698
1773
  readonly agenticAuthoringBusy: _angular_core.WritableSignal<boolean>;
1774
+ private readonly agenticAuthoringTerminalState;
1699
1775
  readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
1700
1776
  readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
1701
1777
  readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
1778
+ private readonly agenticAuthoringMaterializationPending;
1702
1779
  readonly agenticAuthoringSemanticDecision: _angular_core.WritableSignal<AgenticAuthoringSemanticDecisionContract | null>;
1780
+ private readonly agenticAuthoringSemanticResourcePresentationLabel;
1781
+ private readonly agenticAuthoringTurnResultRef;
1782
+ private readonly agenticAuthoringApplyTarget;
1703
1783
  readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
1704
1784
  readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
1705
1785
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
@@ -1720,6 +1800,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1720
1800
  readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
1721
1801
  readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
1722
1802
  readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
1803
+ readonly agenticTurnHealth: _angular_core.WritableSignal<ObservabilityAgenticTurnMetrics>;
1723
1804
  readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
1724
1805
  readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
1725
1806
  readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
@@ -1728,19 +1809,25 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1728
1809
  readonly agenticAuthoringWidgetContextKey: _angular_core.WritableSignal<string | null>;
1729
1810
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
1730
1811
  private previewMode;
1812
+ private runtimePreviewPageCache?;
1813
+ private runtimeAuthoringPageCache?;
1731
1814
  private agenticComponentCapabilities?;
1732
1815
  private agenticComponentCapabilitiesPromise?;
1733
1816
  private agenticTurnController?;
1817
+ private readonly agenticLocalPreviewHistory;
1818
+ private agenticLocalPreviewHistoryTruncated;
1734
1819
  private readonly agenticTurnCancel$;
1735
1820
  private agenticTurnRunId;
1736
- private agenticAuthoringTurnTerminalTimeoutMs;
1821
+ private agenticAuthoringTurnInactivityTimeoutMs;
1737
1822
  private sharedRuleHandoffRevision;
1738
1823
  private agenticAuthoringPanelLayoutTouched;
1824
+ private readonly observabilityMetricsSubscription;
1739
1825
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
1740
1826
  ngOnChanges(changes: SimpleChanges): void;
1741
1827
  ngOnDestroy(): void;
1742
1828
  showSettings(): boolean;
1743
1829
  isPreviewMode(): boolean;
1830
+ runtimePage(): WidgetPageDefinition;
1744
1831
  builderModeLabel(): string;
1745
1832
  onRuntimePageChange(next: WidgetPageDefinition): void;
1746
1833
  onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
@@ -1748,6 +1835,14 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1748
1835
  onRuntimeWidgetSelectionChange(widgetKey: string | null): void;
1749
1836
  togglePreview(): void;
1750
1837
  toggleAgenticAuthoringLlmDiagnostics(): void;
1838
+ agenticAuthoringDiagnosticsAvailable(): boolean;
1839
+ agenticTurnHealthBuckets(): Array<{
1840
+ dimension: 'provider' | 'model';
1841
+ bucket: ObservabilityAgenticTurnMetricBucket;
1842
+ }>;
1843
+ formatAgenticMetricPercent(rate: number): string;
1844
+ formatAgenticDuration(durationMs: number): string;
1845
+ private emptyAgenticTurnHealth;
1751
1846
  toggleSharedRuleCockpit(): void;
1752
1847
  toggleProjectKnowledgeCockpit(): void;
1753
1848
  toggleConnectionsViewer(): void;
@@ -1774,6 +1869,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1774
1869
  minimizeAgenticAuthoring(): void;
1775
1870
  onAgenticAuthoringLayoutChange(layout: AgenticAuthoringPanelLayout): void;
1776
1871
  agenticAuthoringReviewRailActive(): boolean;
1872
+ showAgenticAuthoringPanel(): boolean;
1777
1873
  showAgenticAuthoringDock(): boolean;
1778
1874
  agenticAuthoringMinimized(): boolean;
1779
1875
  agenticAuthoringToggleLabel(): string;
@@ -1781,10 +1877,11 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1781
1877
  agenticAuthoringHeaderSubtitle(): string;
1782
1878
  agenticAuthoringHeaderModeLabel(): string;
1783
1879
  agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
1880
+ agenticAuthoringRecommendedIntents(): readonly PraxisAssistantRecommendedIntent[];
1784
1881
  private agenticAuthoringEmptyConversationMessage;
1785
1882
  private resolveAgenticAuthoredOpeningMessage;
1786
1883
  private isAgenticAuthoringPageBlank;
1787
- private hasBlockingAgenticReview;
1884
+ private hasPendingAgenticPreview;
1788
1885
  agenticAuthoringSubmitAction(): PraxisAssistantShellAction;
1789
1886
  agenticAuthoringDockIcon(): string;
1790
1887
  agenticAuthoringDockBadge(): string;
@@ -1794,6 +1891,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1794
1891
  private resetAgenticAuthoringSessionState;
1795
1892
  private syncAgenticAuthoringSession;
1796
1893
  private resolveAgenticAuthoringSessionId;
1894
+ private pageIdentityFingerprint;
1797
1895
  private truncateAgenticDockText;
1798
1896
  agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
1799
1897
  canRunProjectKnowledgeChangeSet(): boolean;
@@ -1811,6 +1909,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1811
1909
  private agenticAuthoringSemanticDecisionContextItems;
1812
1910
  private shouldHideSemanticDecisionContextItems;
1813
1911
  private humanizeAgenticResourcePath;
1912
+ private agenticSemanticResourceLabel;
1814
1913
  private humanizeAgenticDecisionSummary;
1815
1914
  private humanizeAgenticOperationKind;
1816
1915
  private humanizeAgenticArtifactKind;
@@ -1818,7 +1917,9 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1818
1917
  private humanizeAgenticDecisionEvidence;
1819
1918
  private humanizeAgenticToken;
1820
1919
  previewAgenticAuthoring(): Promise<void>;
1920
+ submitAgenticRecommendedIntent(intent: PraxisAssistantRecommendedIntent): Promise<void>;
1821
1921
  submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
1922
+ private isGovernedReviewRepairQuickReply;
1822
1923
  private agenticQuickReplyVisiblePrompt;
1823
1924
  private agenticQuickReplySubmittedPrompt;
1824
1925
  private agenticQuickReplyClarificationConfirmationPrompt;
@@ -1839,6 +1940,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1839
1940
  editAgenticMessage(message: PraxisAssistantShellMessage): void;
1840
1941
  resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
1841
1942
  retryAgenticAuthoring(): Promise<void>;
1943
+ updateAgenticAuthoringPrompt(prompt: string): void;
1842
1944
  cancelAgenticAuthoring(): Promise<void>;
1843
1945
  persistAgenticAuthoring(): Promise<void>;
1844
1946
  ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
@@ -1894,8 +1996,21 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1894
1996
  private formatSharedRuleTargetLayer;
1895
1997
  private loadAgenticComponentCapabilities;
1896
1998
  private collectRuntimeComponentObservationsForAgenticTurn;
1999
+ private resolveSelectedComponentAuthoringContext;
2000
+ private isComponentConfigEditorContextResult;
1897
2001
  private ensureAgenticTurnController;
1898
2002
  private applyAgenticPreviewLocally;
2003
+ private agenticLocalUndoAction;
2004
+ private executeAgenticClientAction;
2005
+ private canUndoAgenticLocalPreview;
2006
+ private undoAgenticLocalPreview;
2007
+ private recordAgenticLocalPreview;
2008
+ private clearAgenticLocalPreviewHistory;
2009
+ private agenticCurrentPageFingerprint;
2010
+ private enterPreviewMode;
2011
+ private toPresentationRuntimePage;
2012
+ private toAuthoringRuntimePage;
2013
+ private toPresentationRuntimeWidget;
1899
2014
  private applyAgenticTurnState;
1900
2015
  private primeSharedRuleHandoff;
1901
2016
  private moveAgenticAuthoringPanelToReviewSidecar;
@@ -1909,6 +2024,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1909
2024
  private consumeAgenticTurn;
1910
2025
  private beginAgenticTurn;
1911
2026
  private cancelActiveAgenticTurn;
2027
+ private invalidateAgenticTerminalAuthorization;
1912
2028
  private isCurrentAgenticTurn;
1913
2029
  private createAgenticTurnTimeoutState;
1914
2030
  private isAgenticTurnTimeoutState;
@@ -1917,9 +2033,16 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1917
2033
  agenticAuthoringLlmDiagnosticsText(): string;
1918
2034
  private resolveAgenticLlmDiagnostics;
1919
2035
  private resolveAgenticSemanticDecision;
2036
+ private resolveAgenticSemanticResourcePresentationLabel;
2037
+ private resolveAgenticTurnResultRef;
2038
+ private resolveAgenticApplyTarget;
2039
+ private matchesCurrentAgenticApplyTarget;
2040
+ private normalizeAgenticEtag;
2041
+ private currentAgenticAuthoringEtag;
1920
2042
  private cloneAgenticContextHints;
1921
2043
  private resolveGovernedDomainContextSummary;
1922
2044
  private shouldShowGovernedDomainContext;
2045
+ private humanizeGovernedDomainContextResolutionStatus;
1923
2046
  private trimmedString;
1924
2047
  private toRecord;
1925
2048
  private resolvePreviewCompiledFormPatch;
@@ -1949,8 +2072,13 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
1949
2072
  private cloneValue;
1950
2073
  tx(key: string, fallback: string): string;
1951
2074
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
1952
- 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>;
2075
+ 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; }; "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"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
1953
2076
  }
1954
2077
 
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 };
2078
+ /** Metadata for Praxis Page Builder component */
2079
+ declare const PRAXIS_PAGE_BUILDER_COMPONENT_METADATA: ComponentDocMeta;
2080
+ /** Provider para auto-registrar metadados do componente Page Builder. */
2081
+ declare function providePraxisPageBuilderMetadata(): Provider;
2082
+
2083
+ 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
2084
  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 };