@praxisui/page-builder 8.0.0-beta.0 → 8.0.0-beta.1

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/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { MatDialogRef, MatDialog } from '@angular/material/dialog';
2
- import * as i0 from '@angular/core';
2
+ import * as _angular_core from '@angular/core';
3
3
  import { EventEmitter, OnInit, WritableSignal, InjectionToken, Provider, OnChanges, Type, SimpleChanges } from '@angular/core';
4
4
  import { ComponentDocMeta, ComponentMetadataRegistry, WidgetShellConfig, WidgetShellAction, SettingsValueProvider as SettingsValueProvider$1, WidgetPageDefinition, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog, WidgetInstance, WidgetPageStateInput, CompositionLink, DynamicWidgetPageComponent, SettingsPanelBridge } from '@praxisui/core';
5
5
  export { WidgetShellComponent } from '@praxisui/core';
6
6
  import * as rxjs from 'rxjs';
7
- import { BehaviorSubject } from 'rxjs';
7
+ import { BehaviorSubject, Observable } from 'rxjs';
8
8
  import { FormGroup, FormControl, FormArray } from '@angular/forms';
9
9
  import { SettingsValueProvider } from '@praxisui/settings-panel';
10
+ import { AgenticAuthoringPlanRequestContract, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringConversationMessageContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
10
11
 
11
12
  declare const PLACEHOLDER = 1;
12
13
 
@@ -21,8 +22,8 @@ declare class ConfirmDialogComponent {
21
22
  data: ConfirmDialogData;
22
23
  ref: MatDialogRef<ConfirmDialogComponent, boolean>;
23
24
  constructor(data: ConfirmDialogData, ref: MatDialogRef<ConfirmDialogComponent, boolean>);
24
- static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDialogComponent, "praxis-confirm-dialog", never, {}, {}, never, never, true, never>;
25
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
26
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDialogComponent, "praxis-confirm-dialog", never, {}, {}, never, never, true, never>;
26
27
  }
27
28
 
28
29
  declare class TileToolbarComponent {
@@ -31,8 +32,8 @@ declare class TileToolbarComponent {
31
32
  remove: EventEmitter<void>;
32
33
  settings: EventEmitter<void>;
33
34
  shell: EventEmitter<void>;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<TileToolbarComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<TileToolbarComponent, "praxis-tile-toolbar", never, { "selected": { "alias": "selected"; "required": false; }; "widgetType": { "alias": "widgetType"; "required": false; }; }, { "remove": "remove"; "settings": "settings"; "shell": "shell"; }, never, never, true, never>;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TileToolbarComponent, never>;
36
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TileToolbarComponent, "praxis-tile-toolbar", never, { "selected": { "alias": "selected"; "required": false; }; "widgetType": { "alias": "widgetType"; "required": false; }; }, { "remove": "remove"; "settings": "settings"; "shell": "shell"; }, never, never, true, never>;
36
37
  }
37
38
 
38
39
  declare class FloatingToolbarComponent {
@@ -45,8 +46,8 @@ declare class FloatingToolbarComponent {
45
46
  settings: EventEmitter<void>;
46
47
  preview: EventEmitter<void>;
47
48
  save: EventEmitter<void>;
48
- static ɵfac: i0.ɵɵFactoryDeclaration<FloatingToolbarComponent, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<FloatingToolbarComponent, "praxis-floating-toolbar", never, { "visible": { "alias": "visible"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; }, { "add": "add"; "undo": "undo"; "redo": "redo"; "settings": "settings"; "preview": "preview"; "save": "save"; }, never, ["[pdx-toolbar-extra]"], true, never>;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FloatingToolbarComponent, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FloatingToolbarComponent, "praxis-floating-toolbar", never, { "visible": { "alias": "visible"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; }, { "add": "add"; "undo": "undo"; "redo": "redo"; "settings": "settings"; "preview": "preview"; "save": "save"; }, never, ["[pdx-toolbar-extra]"], true, never>;
50
51
  }
51
52
 
52
53
  interface ComponentPaletteData {
@@ -61,8 +62,8 @@ declare class ComponentPaletteDialogComponent implements OnInit {
61
62
  data?: ComponentPaletteData | undefined;
62
63
  query: string;
63
64
  private all;
64
- filtered: i0.Signal<ComponentDocMeta[]>;
65
- density: i0.Signal<"roomy" | "dense" | "normal">;
65
+ filtered: _angular_core.Signal<ComponentDocMeta[]>;
66
+ density: _angular_core.Signal<"roomy" | "dense" | "normal">;
66
67
  constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, string>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
67
68
  ngOnInit(): void;
68
69
  select(id: string): void;
@@ -70,8 +71,8 @@ declare class ComponentPaletteDialogComponent implements OnInit {
70
71
  getPreview(m: ComponentDocMeta): string;
71
72
  private _adjustSizeEffect;
72
73
  private applyFilters;
73
- static ɵfac: i0.ɵɵFactoryDeclaration<ComponentPaletteDialogComponent, never>;
74
- static ɵcmp: i0.ɵɵComponentDeclaration<ComponentPaletteDialogComponent, "praxis-component-palette-dialog", never, {}, {}, never, never, true, never>;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComponentPaletteDialogComponent, never>;
75
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComponentPaletteDialogComponent, "praxis-component-palette-dialog", never, {}, {}, never, never, true, never>;
75
76
  }
76
77
 
77
78
  type ShellInputs = {
@@ -202,8 +203,8 @@ declare class WidgetShellEditorComponent implements SettingsValueProvider {
202
203
  private findActionIndex;
203
204
  private previewActions;
204
205
  private loadSetInputPresets;
205
- static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellEditorComponent, [{ optional: true; }, { optional: true; }]>;
206
- static ɵcmp: i0.ɵɵComponentDeclaration<WidgetShellEditorComponent, "praxis-widget-shell-editor", never, {}, {}, never, never, true, never>;
206
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetShellEditorComponent, [{ optional: true; }, { optional: true; }]>;
207
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetShellEditorComponent, "praxis-widget-shell-editor", never, {}, {}, never, never, true, never>;
207
208
  }
208
209
 
209
210
  type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state';
@@ -317,8 +318,8 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
317
318
  private lookupPresetLabel;
318
319
  private defaultCanvas;
319
320
  private clone;
320
- static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageConfigEditorComponent, never>;
321
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageConfigEditorComponent, "praxis-dynamic-page-config-editor", never, { "page": { "alias": "page"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "pagePreset": { "alias": "pagePreset"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
321
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageConfigEditorComponent, never>;
322
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageConfigEditorComponent, "praxis-dynamic-page-config-editor", never, { "page": { "alias": "page"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "pagePreset": { "alias": "pagePreset"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
322
323
  }
323
324
 
324
325
  type LegacyGridOptions = {
@@ -372,10 +373,10 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
372
373
  protected readonly groupingKinds: readonly ["section", "tabs", "hero", "rail"];
373
374
  protected readonly layoutPresetEntries: Array<(typeof BUILTIN_PAGE_LAYOUT_PRESETS)[string]>;
374
375
  protected readonly themePresetEntries: Array<(typeof BUILTIN_PAGE_THEME_PRESETS)[string]>;
375
- readonly page: i0.InputSignal<string | PageDefinition | null>;
376
- readonly identity: i0.InputSignal<PageIdentity | null>;
377
- readonly layoutCompatOptions: i0.InputSignal<any>;
378
- readonly pageChange: i0.OutputEmitterRef<PageDefinition>;
376
+ readonly page: _angular_core.InputSignal<string | PageDefinition | null>;
377
+ readonly identity: _angular_core.InputSignal<PageIdentity | null>;
378
+ readonly layoutCompatOptions: _angular_core.InputSignal<any>;
379
+ readonly pageChange: _angular_core.OutputEmitterRef<PageDefinition>;
379
380
  readonly form: FormGroup<{
380
381
  cols: FormControl<number | null>;
381
382
  rowHeight: FormControl<number | null>;
@@ -415,10 +416,10 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
415
416
  groupingOverridesJson: FormControl<string>;
416
417
  widgetOverridesJson: FormControl<string>;
417
418
  }>;
418
- readonly contextError: i0.WritableSignal<string | null>;
419
- readonly layoutError: i0.WritableSignal<string | null>;
420
- readonly stateError: i0.WritableSignal<string | null>;
421
- readonly activeTab: i0.WritableSignal<EditorTabId>;
419
+ readonly contextError: _angular_core.WritableSignal<string | null>;
420
+ readonly layoutError: _angular_core.WritableSignal<string | null>;
421
+ readonly stateError: _angular_core.WritableSignal<string | null>;
422
+ readonly activeTab: _angular_core.WritableSignal<EditorTabId>;
422
423
  readonly shellPresetEntries: Array<{
423
424
  id: string;
424
425
  label: string;
@@ -512,8 +513,8 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
512
513
  private buildOperatorOptions;
513
514
  private buildOptions;
514
515
  private clone;
515
- static ɵfac: i0.ɵɵFactoryDeclaration<PageConfigEditorComponent, never>;
516
- static ɵcmp: i0.ɵɵComponentDeclaration<PageConfigEditorComponent, "praxis-page-config-editor", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "identity": { "alias": "identity"; "required": false; "isSignal": true; }; "layoutCompatOptions": { "alias": "layoutCompatOptions"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
516
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageConfigEditorComponent, never>;
517
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageConfigEditorComponent, "praxis-page-config-editor", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "identity": { "alias": "identity"; "required": false; "isSignal": true; }; "layoutCompatOptions": { "alias": "layoutCompatOptions"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
517
518
  }
518
519
 
519
520
  /**
@@ -539,6 +540,160 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
539
540
  }
540
541
  declare const PAGE_BUILDER_AI_CAPABILITIES: CapabilityCatalog;
541
542
 
543
+ type PageBuilderAgenticAuthoringProvider = 'openai' | 'gemini' | string;
544
+ interface PageBuilderAgenticAuthoringOptions {
545
+ baseUrl?: string;
546
+ headersFactory?: () => Record<string, string | undefined>;
547
+ defaultHeaders?: Record<string, string>;
548
+ }
549
+ interface PageBuilderAgenticAuthoringPromptRequest extends Omit<AgenticAuthoringPlanRequestContract, 'currentPage' | 'intentResolution'> {
550
+ provider?: PageBuilderAgenticAuthoringProvider | null;
551
+ currentPage?: unknown;
552
+ selectedWidgetKey?: string | null;
553
+ intentResolution?: PageBuilderAgenticAuthoringIntentResolutionResult | null;
554
+ componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
555
+ attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
556
+ }
557
+ interface PageBuilderAgenticAuthoringIntentResolutionRequest extends Omit<AgenticAuthoringIntentResolutionRequestContract, 'currentPage'> {
558
+ provider?: PageBuilderAgenticAuthoringProvider | null;
559
+ currentPage?: unknown;
560
+ componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
561
+ attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
562
+ }
563
+ type PageBuilderAgenticAuthoringConversationMessage = AgenticAuthoringConversationMessageContract;
564
+ type PageBuilderAgenticAuthoringPendingClarification = AgenticAuthoringPendingClarificationContract;
565
+ type PageBuilderAgenticAuthoringQuickReply = AgenticAuthoringQuickReplyContract;
566
+ type PageBuilderAgenticAuthoringAttachmentSummary = AgenticAuthoringAttachmentSummaryContract;
567
+ interface PageBuilderAgenticAuthoringCandidate {
568
+ resourcePath: string;
569
+ operation: string;
570
+ schemaUrl: string;
571
+ submitUrl: string;
572
+ submitMethod: string;
573
+ score: number;
574
+ reason: string;
575
+ evidence: string[];
576
+ }
577
+ interface PageBuilderAgenticAuthoringTarget {
578
+ widgetKey: string;
579
+ componentId: string;
580
+ resourcePath: string;
581
+ schemaUrl: string;
582
+ submitUrl: string;
583
+ submitMethod: string;
584
+ }
585
+ interface PageBuilderAgenticAuthoringGateResult {
586
+ gateId: string;
587
+ status: string;
588
+ messages: string[];
589
+ }
590
+ interface PageBuilderAgenticAuthoringComponentFieldAlias {
591
+ field: string;
592
+ aliases: string[];
593
+ }
594
+ interface PageBuilderAgenticAuthoringComponentCapability {
595
+ id: string;
596
+ changeKind: string;
597
+ triggerTerms: string[];
598
+ fieldAliases: PageBuilderAgenticAuthoringComponentFieldAlias[];
599
+ }
600
+ interface PageBuilderAgenticAuthoringComponentCapabilityCatalog {
601
+ componentId: string;
602
+ version: string;
603
+ capabilities: PageBuilderAgenticAuthoringComponentCapability[];
604
+ }
605
+ interface PageBuilderAgenticAuthoringComponentCapabilitiesResult {
606
+ version: string;
607
+ catalogs: PageBuilderAgenticAuthoringComponentCapabilityCatalog[];
608
+ }
609
+ interface PageBuilderAgenticAuthoringIntentResolutionResult {
610
+ valid: boolean;
611
+ operationKind: string;
612
+ artifactKind: string;
613
+ changeKind: string;
614
+ authoringProfile: string;
615
+ targetApp: string;
616
+ targetComponentId: string;
617
+ target: PageBuilderAgenticAuthoringTarget | null;
618
+ selectedCandidate: PageBuilderAgenticAuthoringCandidate | null;
619
+ candidates: PageBuilderAgenticAuthoringCandidate[];
620
+ gate: PageBuilderAgenticAuthoringGateResult;
621
+ effectivePrompt?: string | null;
622
+ assistantMessage?: string | null;
623
+ quickReplies?: PageBuilderAgenticAuthoringQuickReply[];
624
+ pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
625
+ clarificationQuestions: string[];
626
+ warnings: string[];
627
+ failureCodes: string[];
628
+ currentPageSummary: unknown;
629
+ }
630
+ interface PageBuilderMinimalFormPlanResult {
631
+ valid: boolean;
632
+ failureCodes: string[];
633
+ warnings: string[];
634
+ minimalFormPlan: unknown;
635
+ }
636
+ interface PageBuilderCompiledFormPatch {
637
+ profileId?: string;
638
+ catalogReleaseId?: string;
639
+ builderVersion?: string;
640
+ patch?: {
641
+ page?: BuilderPageDefinition;
642
+ };
643
+ [key: string]: unknown;
644
+ }
645
+ interface PageBuilderPreviewDiagnostics {
646
+ derivedCurrentPageSummary?: boolean;
647
+ targetWidgetKey?: string;
648
+ operationKind?: string;
649
+ changeKind?: string;
650
+ fieldScopeDecision?: string;
651
+ }
652
+ interface PageBuilderPreviewResult {
653
+ valid: boolean;
654
+ failureCodes: string[];
655
+ warnings: string[];
656
+ minimalFormPlan: unknown;
657
+ uiCompositionPlan?: unknown;
658
+ compiledFormPatch: PageBuilderCompiledFormPatch;
659
+ diagnostics?: PageBuilderPreviewDiagnostics | null;
660
+ }
661
+ interface PageBuilderApplyRequest {
662
+ compiledFormPatch: PageBuilderCompiledFormPatch;
663
+ componentId: string;
664
+ componentType?: string;
665
+ scope?: 'user' | 'tenant';
666
+ tags?: Record<string, unknown>;
667
+ ifMatch?: string;
668
+ }
669
+ interface PageBuilderApplyResult {
670
+ applied: boolean;
671
+ componentType: string;
672
+ componentId: string;
673
+ environment?: string;
674
+ scope: 'user' | 'tenant' | string;
675
+ version: number;
676
+ etag?: string;
677
+ payload: BuilderPageDefinition;
678
+ tags?: Record<string, unknown>;
679
+ warnings: string[];
680
+ }
681
+ declare const PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS: InjectionToken<PageBuilderAgenticAuthoringOptions>;
682
+ declare class PageBuilderAgenticAuthoringService {
683
+ private readonly http;
684
+ private readonly options;
685
+ private readonly baseUrl;
686
+ private readonly headersFactory;
687
+ getComponentCapabilities(): Observable<PageBuilderAgenticAuthoringComponentCapabilitiesResult>;
688
+ previewPage(request: PageBuilderAgenticAuthoringPromptRequest): Observable<PageBuilderPreviewResult>;
689
+ resolveIntent(request: PageBuilderAgenticAuthoringIntentResolutionRequest): Observable<PageBuilderAgenticAuthoringIntentResolutionResult>;
690
+ applyPage(request: PageBuilderApplyRequest): Observable<PageBuilderApplyResult>;
691
+ private buildHeaders;
692
+ private formatEtag;
693
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageBuilderAgenticAuthoringService, never>;
694
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
695
+ }
696
+
542
697
  type LegacyLayoutOptions = {
543
698
  cols?: number;
544
699
  rowHeight?: number;
@@ -567,6 +722,7 @@ type BuilderCanvasLayout = {
567
722
  rowUnit?: string;
568
723
  gap?: string;
569
724
  autoRows?: 'fixed' | 'content';
725
+ collisionPolicy?: 'block' | 'swap';
570
726
  items: Record<string, BuilderCanvasItem>;
571
727
  };
572
728
  type BuilderPageDefinition = Omit<WidgetPageDefinition, 'widgets'> & {
@@ -596,24 +752,53 @@ declare const PAGE_BUILDER_WIDGET_AI_CATALOGS: InjectionToken<Record<string, AiC
596
752
 
597
753
  declare function providePageBuilderWidgetAiCatalogs(): Provider;
598
754
 
755
+ interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
756
+ kind: 'confirm' | 'revise' | 'cancel' | 'suggestion';
757
+ }
599
758
  declare class DynamicPageBuilderComponent implements OnChanges {
600
759
  private dialog;
601
760
  private settingsPanel;
602
761
  private readonly i18n;
603
762
  private readonly componentMetadata;
763
+ private readonly agenticAuthoring;
764
+ private readonly agenticTurnOrchestrator;
604
765
  runtime?: DynamicWidgetPageComponent;
605
766
  page?: WidgetPageDefinition | string;
606
767
  context?: Record<string, unknown> | null;
607
768
  strictValidation: boolean;
769
+ autoPersist: boolean;
608
770
  enableCustomization: boolean;
609
771
  showSettingsButton: boolean;
610
772
  pageIdentity?: PageIdentity;
611
773
  componentInstanceId?: string;
612
774
  pageEditorComponent: Type<any> | undefined;
775
+ enableAgenticAuthoring: boolean;
776
+ agenticAuthoringProvider?: string;
777
+ agenticAuthoringModel?: string;
778
+ agenticAuthoringApiKey?: string;
779
+ agenticAuthoringComponentId?: string;
780
+ agenticAuthoringScope: 'user' | 'tenant';
781
+ agenticAuthoringEtag?: string;
613
782
  pageChange: EventEmitter<WidgetPageDefinition>;
614
- readonly currentPage: i0.WritableSignal<WidgetPageDefinition>;
615
- readonly connectionsViewerOpen: i0.WritableSignal<boolean>;
783
+ agenticAuthoringApplied: EventEmitter<PageBuilderApplyResult>;
784
+ readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
785
+ readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
786
+ readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
787
+ readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
788
+ readonly agenticAuthoringBusy: _angular_core.WritableSignal<boolean>;
789
+ readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
790
+ readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
791
+ readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
792
+ readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
793
+ readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
794
+ readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
795
+ readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
796
+ readonly agenticAuthoringEditingMessageId: _angular_core.WritableSignal<string | null>;
797
+ readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
616
798
  private previewMode;
799
+ private agenticComponentCapabilities?;
800
+ private agenticComponentCapabilitiesPromise?;
801
+ private agenticTurnController?;
617
802
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
618
803
  ngOnChanges(changes: SimpleChanges): void;
619
804
  showSettings(): boolean;
@@ -624,15 +809,41 @@ declare class DynamicPageBuilderComponent implements OnChanges {
624
809
  addWidget(type: string): void;
625
810
  openPageSettings(): void;
626
811
  saveCurrentPage(): void;
812
+ applyConfigFromAdapter(config: PageBuilderConfig): void;
813
+ private createAdapterHost;
814
+ toggleAgenticAuthoring(): void;
815
+ agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
816
+ agenticAuthoringShellState(): PraxisAssistantShellState;
817
+ agenticAuthoringContextItems(): PraxisAssistantShellContextItem[];
818
+ previewAgenticAuthoring(): Promise<void>;
819
+ submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
820
+ attachAgenticContext(): void;
821
+ addAgenticAttachments(attachments: readonly PraxisAssistantShellAttachment[]): void;
822
+ removeAgenticAttachment(attachment: PraxisAssistantShellAttachment): void;
823
+ editAgenticMessage(message: PraxisAssistantShellMessage): void;
824
+ resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
825
+ persistAgenticAuthoring(): Promise<void>;
826
+ private loadAgenticComponentCapabilities;
827
+ private ensureAgenticTurnController;
828
+ private applyAgenticPreviewLocally;
829
+ private applyAgenticTurnState;
830
+ private resolvePreviewCompiledFormPatch;
627
831
  focusCanvasWidget(widgetKey: string): void;
628
832
  private parsePage;
629
833
  private clonePage;
630
834
  private defaultInputsFor;
835
+ private resolveAgenticComponentId;
836
+ private resolveSelectedWidgetKey;
837
+ private formatAgenticFailures;
838
+ private describeAgenticPreviewFailure;
839
+ private describeAgenticPreviewStatus;
840
+ private appendAgenticMessage;
841
+ private describeAgenticError;
631
842
  private cloneValue;
632
843
  tx(key: string, fallback: string): string;
633
- static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
634
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageBuilderComponent, "praxis-dynamic-page-builder", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "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; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
844
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
845
+ 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; }; "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; }; }, { "pageChange": "pageChange"; "agenticAuthoringApplied": "agenticAuthoringApplied"; }, never, never, true, never>;
635
846
  }
636
847
 
637
- export { ComponentPaletteDialogComponent, ConfirmDialogComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PageConfigEditorComponent, TileToolbarComponent, WidgetShellEditorComponent, clearWidgetAiCatalogs, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs };
638
- export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ConfirmDialogData, ValueKind };
848
+ export { ComponentPaletteDialogComponent, ConfirmDialogComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, WidgetShellEditorComponent, clearWidgetAiCatalogs, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs };
849
+ export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringTarget, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, ValueKind };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/page-builder",
3
- "version": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.1",
4
4
  "description": "Page and widget builder utilities for Praxis UI (grid, dynamic widgets, editors).",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
@@ -8,8 +8,9 @@
8
8
  "@angular/forms": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
10
10
  "@angular/material": "^20.0.0",
11
- "@praxisui/core": "^8.0.0-beta.0",
12
- "@praxisui/settings-panel": "^8.0.0-beta.0"
11
+ "@praxisui/ai": "^8.0.0-beta.1",
12
+ "@praxisui/core": "^8.0.0-beta.1",
13
+ "@praxisui/settings-panel": "^8.0.0-beta.1"
13
14
  },
14
15
  "dependencies": {
15
16
  "tslib": "^2.3.0"