@praxisui/page-builder 8.0.0-beta.3 → 8.0.0-beta.31

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,13 +1,13 @@
1
1
  import { MatDialogRef, MatDialog } from '@angular/material/dialog';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { EventEmitter, OnInit, WritableSignal, InjectionToken, Provider, OnChanges, Type, SimpleChanges } from '@angular/core';
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';
4
+ import { ComponentDocMeta, ComponentMetadataRegistry, WidgetShellConfig, WidgetShellAction, EndpointRef, ComponentPortPathSegment, LinkIntent, CompositionLink, WidgetPageDefinition, TransformKind, SettingsValueProvider as SettingsValueProvider$1, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, WidgetPageCanvasLayout, WidgetPageStateInput, WidgetInstance, ComponentAuthoringManifest, DynamicWidgetPageComponent, SettingsPanelBridge, WidgetEventEnvelope, RichTimelineItem } from '@praxisui/core';
5
5
  export { WidgetShellComponent } from '@praxisui/core';
6
6
  import * as rxjs from 'rxjs';
7
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
+ import { AgenticAuthoringPlanRequestContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AiJsonObject, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamStartResponseContract, AgenticAuthoringTurnStreamEnvelopeContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantShellAction, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
11
11
 
12
12
  declare const PLACEHOLDER = 1;
13
13
 
@@ -40,6 +40,8 @@ declare class FloatingToolbarComponent {
40
40
  visible: boolean;
41
41
  canUndo: boolean;
42
42
  canRedo: boolean;
43
+ showSave: boolean;
44
+ showPreview: boolean;
43
45
  add: EventEmitter<void>;
44
46
  undo: EventEmitter<void>;
45
47
  redo: EventEmitter<void>;
@@ -47,30 +49,56 @@ declare class FloatingToolbarComponent {
47
49
  preview: EventEmitter<void>;
48
50
  save: EventEmitter<void>;
49
51
  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>;
52
+ 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; }; "showSave": { "alias": "showSave"; "required": false; }; "showPreview": { "alias": "showPreview"; "required": false; }; }, { "add": "add"; "undo": "undo"; "redo": "redo"; "settings": "settings"; "preview": "preview"; "save": "save"; }, never, ["[pdx-toolbar-extra]"], true, never>;
51
53
  }
52
54
 
55
+ interface ComponentPaletteSelection {
56
+ componentId: string;
57
+ presetId?: string;
58
+ inputs?: Record<string, unknown>;
59
+ }
53
60
  interface ComponentPaletteData {
54
61
  title?: string;
55
62
  allowedWidgetIds?: string[];
56
63
  allowedWidgetTags?: string[];
57
64
  predicate?: (m: ComponentDocMeta) => boolean;
58
65
  }
66
+ interface ComponentPaletteEntry {
67
+ key: string;
68
+ componentId: string;
69
+ presetId?: string;
70
+ title: string;
71
+ description: string;
72
+ icon: string;
73
+ badges: ComponentPaletteBadge[];
74
+ searchText: string;
75
+ inputs?: Record<string, unknown>;
76
+ }
77
+ interface ComponentPaletteBadge {
78
+ label: string;
79
+ icon: string;
80
+ tone: 'ready' | 'info' | 'warning' | 'neutral';
81
+ description: string;
82
+ }
59
83
  declare class ComponentPaletteDialogComponent implements OnInit {
60
84
  private dialogRef;
61
85
  private registry;
62
86
  data?: ComponentPaletteData | undefined;
63
- query: string;
87
+ query: _angular_core.WritableSignal<string>;
64
88
  private all;
65
- filtered: _angular_core.Signal<ComponentDocMeta[]>;
89
+ filtered: _angular_core.Signal<ComponentPaletteEntry[]>;
66
90
  density: _angular_core.Signal<"roomy" | "dense" | "normal">;
67
- constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, string>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
91
+ constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, ComponentPaletteSelection>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
68
92
  ngOnInit(): void;
69
- select(id: string): void;
70
- trackById: (_: number, m: ComponentDocMeta) => string;
71
- getPreview(m: ComponentDocMeta): string;
93
+ select(entry: ComponentPaletteEntry): void;
94
+ trackById: (_: number, entry: ComponentPaletteEntry) => string;
95
+ getPreview(entry: ComponentPaletteEntry): string;
72
96
  private _adjustSizeEffect;
73
97
  private applyFilters;
98
+ private buildEntries;
99
+ private buildBadges;
100
+ private buildBadgeSearchText;
101
+ private hasDataSourceInputs;
74
102
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComponentPaletteDialogComponent, never>;
75
103
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComponentPaletteDialogComponent, "praxis-component-palette-dialog", never, {}, {}, never, never, true, never>;
76
104
  }
@@ -207,6 +235,539 @@ declare class WidgetShellEditorComponent implements SettingsValueProvider {
207
235
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetShellEditorComponent, "praxis-widget-shell-editor", never, {}, {}, never, never, true, never>;
208
236
  }
209
237
 
238
+ type ConnectionEditorPortKind = 'output' | 'input' | 'state';
239
+ interface ConnectionEditorPort {
240
+ id: string;
241
+ nodeId: string;
242
+ label: string;
243
+ kind: ConnectionEditorPortKind;
244
+ endpoint: EndpointRef;
245
+ nestedPath?: ComponentPortPathSegment[];
246
+ }
247
+ interface ConnectionEditorNode {
248
+ id: string;
249
+ title: string;
250
+ subtitle: string;
251
+ icon?: string;
252
+ x: number;
253
+ y: number;
254
+ rotationDegrees?: number;
255
+ portOrder?: string[];
256
+ outputs: ConnectionEditorPort[];
257
+ inputs: ConnectionEditorPort[];
258
+ states: ConnectionEditorPort[];
259
+ }
260
+ type ConnectionEditorDiagnosticSeverity = 'error' | 'warning';
261
+ type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared';
262
+ interface ConnectionEditorDiagnostic {
263
+ code: ConnectionEditorDiagnosticCode;
264
+ severity: ConnectionEditorDiagnosticSeverity;
265
+ endpoint: 'from' | 'to';
266
+ }
267
+ interface ConnectionEditorConnection {
268
+ id: string;
269
+ fromNode: string | null;
270
+ toNode: string | null;
271
+ fromLabel: string;
272
+ toLabel: string;
273
+ fromPort: ConnectionEditorPort | null;
274
+ toPort: ConnectionEditorPort | null;
275
+ intent: LinkIntent;
276
+ link: CompositionLink;
277
+ diagnostics: ConnectionEditorDiagnostic[];
278
+ }
279
+ interface ConnectionEditorGraph {
280
+ nodes: ConnectionEditorNode[];
281
+ connections: ConnectionEditorConnection[];
282
+ portById: Map<string, ConnectionEditorPort>;
283
+ portByEndpointKey: Map<string, ConnectionEditorPort>;
284
+ connectionToLink: Map<string, CompositionLink>;
285
+ diagnostics: ConnectionEditorDiagnostic[];
286
+ }
287
+ type ConnectionEditorSuggestionReason = 'row-selection-to-id' | 'state-to-input' | 'compatible-port';
288
+ interface ConnectionEditorSuggestion {
289
+ id: string;
290
+ source: ConnectionEditorPort;
291
+ target: ConnectionEditorPort;
292
+ sourceNodeTitle: string;
293
+ targetNodeTitle: string;
294
+ intent: LinkIntent;
295
+ reason: ConnectionEditorSuggestionReason;
296
+ score: number;
297
+ }
298
+
299
+ type ConnectionEditorTracePhase = 'emit' | 'condition' | 'transform' | 'deliver' | 'write' | 'read' | 'blocked';
300
+ interface ConnectionEditorTraceStep {
301
+ id: string;
302
+ order: number;
303
+ connectionId: string;
304
+ phase: ConnectionEditorTracePhase;
305
+ fromLabel: string;
306
+ toLabel: string;
307
+ intent: string;
308
+ blocked: boolean;
309
+ }
310
+
311
+ interface ConnectionsViewerNode {
312
+ widgetId: string;
313
+ componentType: string;
314
+ incomingCount: number;
315
+ outgoingCount: number;
316
+ }
317
+ interface ConnectionsViewerEdge {
318
+ id: string;
319
+ fromKind: CompositionLink['from']['kind'];
320
+ fromWidgetId: string | null;
321
+ fromEndpointId: string | null;
322
+ fromNestedPath: ComponentPortPathSegment[] | null;
323
+ fromPort: string | null;
324
+ toKind: CompositionLink['to']['kind'];
325
+ toWidgetId: string | null;
326
+ toEndpointId: string | null;
327
+ toNestedPath: ComponentPortPathSegment[] | null;
328
+ toPort: string | null;
329
+ toStatePath: string | null;
330
+ intent: CompositionLink['intent'];
331
+ hasCondition: boolean;
332
+ hasTransform: boolean;
333
+ hasPolicy: boolean;
334
+ hasDiagnostics: boolean;
335
+ diagnosticReasons: string[];
336
+ link: CompositionLink;
337
+ }
338
+ interface ConnectionsViewerModel {
339
+ nodes: ConnectionsViewerNode[];
340
+ edges: ConnectionsViewerEdge[];
341
+ totalLinks: number;
342
+ conditionLinks: number;
343
+ transformLinks: number;
344
+ policyLinks: number;
345
+ diagnosticLinks: number;
346
+ }
347
+
348
+ interface ConnectionEditorPoint {
349
+ x: number;
350
+ y: number;
351
+ }
352
+ interface ConnectionEditorSegmentGeometry {
353
+ port: ConnectionEditorPort;
354
+ path: string;
355
+ anchor: ConnectionEditorPoint;
356
+ label: ConnectionEditorPoint;
357
+ icon: ConnectionEditorPoint;
358
+ normalAngle: number;
359
+ color: string;
360
+ }
361
+
362
+ type ConnectionEditorPortOrderState = Record<string, string[]>;
363
+
364
+ type ConnectionsEditorFilter = 'all' | 'condition' | 'transform' | 'policy' | 'diagnostic';
365
+ type ConnectionEditorFlowMode = 'all' | 'data' | 'event' | 'capability' | 'simulation';
366
+ type ConnectionEditorDockTab = 'json' | 'links' | 'derived' | 'export';
367
+ type ConnectionEditorConditionPreset = 'source-present' | 'source-id-present';
368
+ type ConnectionEditorPolicyPreset = 'stable-delivery' | 'skip-missing';
369
+ interface DragState {
370
+ port: ConnectionEditorPort;
371
+ source: ConnectionEditorPoint;
372
+ pointer: ConnectionEditorPoint;
373
+ candidate: ConnectionEditorPort | null;
374
+ }
375
+ interface PendingSegmentState {
376
+ port: ConnectionEditorPort;
377
+ nodeId: string;
378
+ start: ConnectionEditorPoint;
379
+ source: ConnectionEditorPoint;
380
+ }
381
+ interface InvalidDropFeedbackState {
382
+ id: number;
383
+ source: ConnectionEditorPort;
384
+ target: ConnectionEditorPort | null;
385
+ point: ConnectionEditorPoint;
386
+ }
387
+ interface PanState {
388
+ startClientX: number;
389
+ startClientY: number;
390
+ originX: number;
391
+ originY: number;
392
+ }
393
+ interface MinimapPanState {
394
+ pointerId: number;
395
+ }
396
+ interface RotationState {
397
+ nodeId: string;
398
+ startAngle: number;
399
+ startRotation: number;
400
+ }
401
+ interface NodeDragState {
402
+ nodeId: string;
403
+ start: ConnectionEditorPoint;
404
+ originOffset: ConnectionEditorPoint;
405
+ moved: boolean;
406
+ }
407
+ interface ViewportState {
408
+ x: number;
409
+ y: number;
410
+ scale: number;
411
+ }
412
+ interface ConnectionEditorBounds {
413
+ x: number;
414
+ y: number;
415
+ width: number;
416
+ height: number;
417
+ }
418
+ interface ConnectionEditorTooltipPosition {
419
+ x: number;
420
+ y: number;
421
+ }
422
+ interface ConnectionEditorHistoryEntry {
423
+ before: WidgetPageDefinition;
424
+ after: WidgetPageDefinition;
425
+ selectedBefore: string | null;
426
+ selectedAfter: string | null;
427
+ }
428
+ interface ConnectionEditorDockTabDefinition {
429
+ id: ConnectionEditorDockTab;
430
+ label: string;
431
+ glyph: string;
432
+ }
433
+ declare class ConnectionEditorComponent {
434
+ readonly stateNodeId = "__page_state__";
435
+ readonly nodeViewBox = "0 0 168 168";
436
+ readonly canvasViewBox = "0 0 900 540";
437
+ readonly nodeHaloPaths: string[];
438
+ private readonly i18n;
439
+ private readonly hostElement;
440
+ readonly open: _angular_core.InputSignal<boolean>;
441
+ readonly page: _angular_core.InputSignal<WidgetPageDefinition | null | undefined>;
442
+ readonly pageChange: _angular_core.OutputEmitterRef<WidgetPageDefinition>;
443
+ readonly focusWidget: _angular_core.OutputEmitterRef<string>;
444
+ readonly openPageSettings: _angular_core.OutputEmitterRef<void>;
445
+ readonly activeMode: _angular_core.WritableSignal<ConnectionEditorFlowMode>;
446
+ readonly activeFilter: _angular_core.WritableSignal<ConnectionsEditorFilter>;
447
+ readonly selectedWidgetId: _angular_core.WritableSignal<string | null>;
448
+ readonly selectedLinkId: _angular_core.WritableSignal<string | null>;
449
+ readonly recentLinkId: _angular_core.WritableSignal<string | null>;
450
+ readonly hoveredLinkId: _angular_core.WritableSignal<string | null>;
451
+ readonly expandedNodeId: _angular_core.WritableSignal<string | null>;
452
+ readonly activeDockTab: _angular_core.WritableSignal<ConnectionEditorDockTab>;
453
+ readonly dockCollapsed: _angular_core.WritableSignal<boolean>;
454
+ readonly traceEnabled: _angular_core.WritableSignal<boolean>;
455
+ readonly traceStepIndex: _angular_core.WritableSignal<number>;
456
+ readonly traceSourceNodeId: _angular_core.WritableSignal<string | null>;
457
+ readonly selectedPort: _angular_core.WritableSignal<ConnectionEditorPort | null>;
458
+ readonly pendingSegmentState: _angular_core.WritableSignal<PendingSegmentState | null>;
459
+ readonly dragState: _angular_core.WritableSignal<DragState | null>;
460
+ readonly nodeDragState: _angular_core.WritableSignal<NodeDragState | null>;
461
+ readonly invalidDropFeedback: _angular_core.WritableSignal<InvalidDropFeedbackState | null>;
462
+ readonly panState: _angular_core.WritableSignal<PanState | null>;
463
+ readonly minimapPanState: _angular_core.WritableSignal<MinimapPanState | null>;
464
+ readonly rotationState: _angular_core.WritableSignal<RotationState | null>;
465
+ readonly viewport: _angular_core.WritableSignal<ViewportState>;
466
+ readonly portOrder: _angular_core.WritableSignal<ConnectionEditorPortOrderState>;
467
+ readonly nodeRotations: _angular_core.WritableSignal<Record<string, number>>;
468
+ readonly nodeOffsets: _angular_core.WritableSignal<Record<string, ConnectionEditorPoint>>;
469
+ readonly undoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
470
+ readonly redoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
471
+ private invalidDropFeedbackId;
472
+ private invalidDropFeedbackTimer;
473
+ private recentLinkFeedbackTimer;
474
+ private minimapPointerCaptureTarget;
475
+ private suppressedNodeClickId;
476
+ private readonly fitViewportOnOpen;
477
+ readonly filters: ({
478
+ id: "all";
479
+ label: string;
480
+ } | {
481
+ id: "condition";
482
+ label: string;
483
+ } | {
484
+ id: "transform";
485
+ label: string;
486
+ } | {
487
+ id: "policy";
488
+ label: string;
489
+ } | {
490
+ id: "diagnostic";
491
+ label: string;
492
+ })[];
493
+ readonly flowModes: ({
494
+ id: "all";
495
+ label: string;
496
+ glyph: string;
497
+ } | {
498
+ id: "data";
499
+ label: string;
500
+ glyph: string;
501
+ } | {
502
+ id: "event";
503
+ label: string;
504
+ glyph: string;
505
+ } | {
506
+ id: "capability";
507
+ label: string;
508
+ glyph: string;
509
+ } | {
510
+ id: "simulation";
511
+ label: string;
512
+ glyph: string;
513
+ })[];
514
+ readonly dockTabs: ({
515
+ id: "json";
516
+ label: string;
517
+ glyph: string;
518
+ } | {
519
+ id: "links";
520
+ label: string;
521
+ glyph: string;
522
+ } | {
523
+ id: "derived";
524
+ label: string;
525
+ glyph: string;
526
+ } | {
527
+ id: "export";
528
+ label: string;
529
+ glyph: string;
530
+ })[];
531
+ readonly model: _angular_core.Signal<ConnectionsViewerModel>;
532
+ readonly selectedNode: _angular_core.Signal<ConnectionsViewerNode | null>;
533
+ readonly visibleEdges: _angular_core.Signal<ConnectionsViewerEdge[]>;
534
+ readonly selectedEdge: _angular_core.Signal<ConnectionsViewerEdge | null>;
535
+ readonly editorGraph: _angular_core.Signal<ConnectionEditorGraph>;
536
+ readonly editorNodes: _angular_core.Signal<ConnectionEditorNode[]>;
537
+ readonly navigationBounds: _angular_core.Signal<ConnectionEditorBounds>;
538
+ readonly minimapViewBox: _angular_core.Signal<string>;
539
+ readonly editorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
540
+ readonly canvasEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
541
+ readonly visibleEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
542
+ readonly modeMatchedConnectionIds: _angular_core.Signal<Set<string>>;
543
+ readonly modeMatchedNodeIds: _angular_core.Signal<Set<string>>;
544
+ readonly modeMatchedPortIds: _angular_core.Signal<Set<string>>;
545
+ readonly smartSuggestions: _angular_core.Signal<ConnectionEditorSuggestion[]>;
546
+ readonly traceSteps: _angular_core.Signal<ConnectionEditorTraceStep[]>;
547
+ readonly activeTraceStepIndex: _angular_core.Signal<number>;
548
+ readonly traceActiveStep: _angular_core.Signal<ConnectionEditorTraceStep>;
549
+ readonly tracedConnectionIds: _angular_core.Signal<Set<string>>;
550
+ readonly traceProgressPercent: _angular_core.Signal<number>;
551
+ readonly traceProgressLabel: _angular_core.Signal<string>;
552
+ readonly traceSourceNodeIds: _angular_core.Signal<Set<string>>;
553
+ readonly traceReactingNodeIds: _angular_core.Signal<Set<string>>;
554
+ readonly focusedConnectionNodeIds: _angular_core.Signal<Set<string>>;
555
+ readonly focusedConnectionPortIds: _angular_core.Signal<Set<string>>;
556
+ readonly diagnosticConnectionIds: _angular_core.Signal<Set<string>>;
557
+ readonly diagnosticLinkCount: _angular_core.Signal<number>;
558
+ readonly selectedEditorNode: _angular_core.Signal<ConnectionEditorNode | null>;
559
+ readonly selectedConnection: _angular_core.Signal<ConnectionEditorConnection | null>;
560
+ readonly connectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
561
+ readonly canvasInteractionActive: _angular_core.Signal<boolean>;
562
+ readonly visibleConnectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
563
+ readonly visibleExpandedNodeId: _angular_core.Signal<string | null>;
564
+ readonly canUndo: _angular_core.Signal<boolean>;
565
+ readonly canRedo: _angular_core.Signal<boolean>;
566
+ readonly hasVisualPortOrder: _angular_core.Signal<boolean>;
567
+ readonly dragPreviewPath: _angular_core.Signal<string>;
568
+ readonly dragTargetPoint: _angular_core.Signal<ConnectionEditorPoint>;
569
+ readonly dragTipPosition: _angular_core.Signal<{
570
+ x: number;
571
+ y: number;
572
+ }>;
573
+ readonly invalidDropPosition: _angular_core.Signal<{
574
+ x: number;
575
+ y: number;
576
+ }>;
577
+ readonly invalidDropTipPosition: _angular_core.Signal<{
578
+ x: number;
579
+ y: number;
580
+ }>;
581
+ readonly dragEndpointText: _angular_core.Signal<string>;
582
+ readonly invalidDropEndpointText: _angular_core.Signal<string>;
583
+ readonly dragStatusText: _angular_core.Signal<string>;
584
+ readonly invalidDropStatusText: _angular_core.Signal<string>;
585
+ readonly viewportTransform: _angular_core.Signal<string>;
586
+ readonly minimapViewport: _angular_core.Signal<{
587
+ x: number;
588
+ y: number;
589
+ width: number;
590
+ height: number;
591
+ }>;
592
+ selectNode(nodeId: string): void;
593
+ selectSegment(port: ConnectionEditorPort, event: MouseEvent): void;
594
+ selectWidget(node: ConnectionsViewerNode): void;
595
+ selectLink(edge: ConnectionsViewerEdge): void;
596
+ selectConnection(connection: ConnectionEditorConnection): void;
597
+ jumpToConnection(connection: ConnectionEditorConnection, event: Event): void;
598
+ previewConnection(connection: ConnectionEditorConnection): void;
599
+ clearPreviewConnection(connection: ConnectionEditorConnection): void;
600
+ handleEditorKeydown(event: KeyboardEvent): void;
601
+ setFilter(filter: ConnectionsEditorFilter): void;
602
+ setMode(mode: ConnectionEditorFlowMode): void;
603
+ activeModeStatus(): string;
604
+ setDockTab(tab: ConnectionEditorDockTab): void;
605
+ handleDockTabKeydown(event: KeyboardEvent, tab: ConnectionEditorDockTab): void;
606
+ toggleDock(): void;
607
+ toggleTrace(event: Event): void;
608
+ selectTraceSource(nodeId: string | null, event: Event): void;
609
+ moveTraceStep(delta: -1 | 1, event: Event): void;
610
+ selectTraceStep(index: number, event: Event): void;
611
+ quickConnectSuggestion(suggestion: ConnectionEditorSuggestion, event: Event): void;
612
+ startDrag(port: ConnectionEditorPort, event: PointerEvent): void;
613
+ startSegmentDrag(port: ConnectionEditorPort, event: PointerEvent): void;
614
+ updatePendingSegment(event: PointerEvent): void;
615
+ updateDrag(event: PointerEvent): void;
616
+ startNodeDrag(nodeId: string, event: PointerEvent): void;
617
+ updateNodeDrag(event: PointerEvent): void;
618
+ stopNodeDrag(): void;
619
+ finishNodePointer(nodeId: string, event: PointerEvent): void;
620
+ closeFloatingPanelsOnOutsidePointerDown(event: PointerEvent): void;
621
+ previewDrop(target: ConnectionEditorPort): void;
622
+ clearPreviewDrop(target: ConnectionEditorPort): void;
623
+ completeDrag(target: ConnectionEditorPort, event: PointerEvent): void;
624
+ cancelDrag(event?: PointerEvent): void;
625
+ cancelPendingSegment(): void;
626
+ startPan(event: PointerEvent): void;
627
+ updatePan(event: PointerEvent): void;
628
+ stopPan(): void;
629
+ startMinimapPan(event: PointerEvent): void;
630
+ updateMinimapPan(event: PointerEvent): void;
631
+ stopMinimapPan(): void;
632
+ startNodeRotation(nodeId: string, event: PointerEvent): void;
633
+ updateRotation(event: PointerEvent): void;
634
+ stopRotation(): void;
635
+ zoomCanvas(event: WheelEvent): void;
636
+ zoomBy(delta: number, event: Event): void;
637
+ resetViewport(event?: Event): void;
638
+ autoArrange(event: Event): void;
639
+ reorganizeSlices(event: Event): void;
640
+ isCompatibleDrop(target: ConnectionEditorPort): boolean;
641
+ isCompatibilityPreview(target: ConnectionEditorPort): boolean;
642
+ isDropCandidate(target: ConnectionEditorPort): boolean;
643
+ isDragSource(port: ConnectionEditorPort): boolean;
644
+ isIncompatibleDrop(target: ConnectionEditorPort): boolean;
645
+ nodeHasCompatiblePreviewPort(node: ConnectionEditorNode): boolean;
646
+ isInvalidDropFeedbackTarget(target: ConnectionEditorPort): boolean;
647
+ removeLink(linkId: string): void;
648
+ undoHistory(event: Event): void;
649
+ redoHistory(event: Event): void;
650
+ enableTransform(connection: ConnectionEditorConnection, event: Event): void;
651
+ addTransformStep(connection: ConnectionEditorConnection, kind: TransformKind, event: Event): void;
652
+ removeTransformStep(connection: ConnectionEditorConnection, index: number, event: Event): void;
653
+ clearTransform(connection: ConnectionEditorConnection, event: Event): void;
654
+ applyConditionPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorConditionPreset, event: Event): void;
655
+ clearCondition(connection: ConnectionEditorConnection, event: Event): void;
656
+ applyPolicyPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorPolicyPreset, event: Event): void;
657
+ clearPolicy(connection: ConnectionEditorConnection, event: Event): void;
658
+ nodeSegments(node: ConnectionEditorNode): ConnectionEditorSegmentGeometry[];
659
+ nodeSvgRotation(node: ConnectionEditorNode): string | null;
660
+ segmentLabelTransform(segment: ConnectionEditorSegmentGeometry, node: ConnectionEditorNode): string;
661
+ nodeRotationHandleTransform(node: ConnectionEditorNode): string;
662
+ segmentDisplayLabel(label: string): string;
663
+ segmentKindGlyph(kind: ConnectionEditorPortKind): string;
664
+ nodeIcon(node: ConnectionEditorNode): string;
665
+ dockTabLabel(tab: ConnectionEditorDockTabDefinition): string;
666
+ dockTabId(tab: ConnectionEditorDockTab): string;
667
+ dockPanelId(tab: ConnectionEditorDockTab): string;
668
+ dockToggleLabel(): string;
669
+ segmentKindText(kind: ConnectionEditorPortKind): string;
670
+ connectionHasErrors(connection: ConnectionEditorConnection): boolean;
671
+ connectionHasWarnings(connection: ConnectionEditorConnection): boolean;
672
+ connectionHasPolicy(connection: ConnectionEditorConnection): boolean;
673
+ connectionMatchesMode(connection: ConnectionEditorConnection): boolean;
674
+ hasModeFocus(): boolean;
675
+ isModeDimmedConnection(connection: ConnectionEditorConnection): boolean;
676
+ isModeDimmedNode(node: ConnectionEditorNode): boolean;
677
+ isModeDimmedPort(port: ConnectionEditorPort): boolean;
678
+ edgeMatchesMode(edge: ConnectionsViewerEdge): boolean;
679
+ isNodeFocusedByConnection(node: ConnectionEditorNode): boolean;
680
+ isPortFocusedByConnection(port: ConnectionEditorPort): boolean;
681
+ isTracedConnection(connection: ConnectionEditorConnection): boolean;
682
+ isTraceSourceNode(node: ConnectionEditorNode): boolean;
683
+ isTraceReactingNode(node: ConnectionEditorNode): boolean;
684
+ traceNodeLabel(node: ConnectionEditorNode): string | null;
685
+ tracePhaseText(phase: ConnectionEditorTracePhase): string;
686
+ diagnosticSeverityLabel(diagnostic: ConnectionEditorDiagnostic): string;
687
+ diagnosticText(diagnostic: ConnectionEditorDiagnostic): string;
688
+ suggestionReasonText(reason: ConnectionEditorSuggestionReason): string;
689
+ transformKindText(kind: TransformKind): string;
690
+ expandedPorts(node: ConnectionEditorNode): ConnectionEditorPort[];
691
+ movePort(node: ConnectionEditorNode, port: ConnectionEditorPort, direction: -1 | 1, event: Event): void;
692
+ toggleSegments(node: ConnectionEditorNode, event: Event): void;
693
+ wirePath(connection: ConnectionEditorConnection): string;
694
+ wireSourcePoint(connection: ConnectionEditorConnection): {
695
+ x: number;
696
+ y: number;
697
+ } | null;
698
+ wireTargetPoint(connection: ConnectionEditorConnection): {
699
+ x: number;
700
+ y: number;
701
+ } | null;
702
+ wireRoutePoint(connection: ConnectionEditorConnection, key: 'sourceStub' | 'sourceControl' | 'targetControl' | 'targetStub' | 'midpoint'): {
703
+ x: number;
704
+ y: number;
705
+ } | null;
706
+ wireLabelTransform(connection: ConnectionEditorConnection, endpoint: 'source' | 'target'): string;
707
+ minimapWirePath(connection: ConnectionEditorConnection): string;
708
+ connectionTooltipPosition(connection: ConnectionEditorConnection): ConnectionEditorTooltipPosition;
709
+ connectionTooltipCalloutX(connection: ConnectionEditorConnection): number;
710
+ connectionTooltipKind(connection: ConnectionEditorConnection): string;
711
+ dockJson(): WidgetPageDefinition | null | undefined;
712
+ dockLinks(): unknown[];
713
+ dockDerived(): unknown;
714
+ dockExport(): unknown;
715
+ describeEdge(edge: ConnectionsViewerEdge): string;
716
+ edgeHasDiagnostics(edge: ConnectionsViewerEdge): boolean;
717
+ edgeDiagnostics(edge: ConnectionsViewerEdge): unknown[];
718
+ describeSource(edge: ConnectionsViewerEdge): string;
719
+ describeTarget(edge: ConnectionsViewerEdge): string;
720
+ tx(key: string, fallback: string): string;
721
+ private addLink;
722
+ private setConnectionTransform;
723
+ private setConnectionCondition;
724
+ private setConnectionPolicy;
725
+ private updateConnectionLink;
726
+ private commitPageChange;
727
+ private defaultTransformPipeline;
728
+ private createTransformStep;
729
+ private createConditionPreset;
730
+ private createPolicyPreset;
731
+ private applyNodeRotation;
732
+ private nodeRotationHandlePoint;
733
+ private applyNodeOffset;
734
+ private compatibilitySourcePort;
735
+ private intentMatchesMode;
736
+ private clonePage;
737
+ private pagesEqual;
738
+ private anchorForPort;
739
+ private showInvalidDropFeedback;
740
+ private clearInvalidDropFeedback;
741
+ private markRecentLink;
742
+ private clearPreviewConnectionState;
743
+ private shouldIgnoreEditorShortcut;
744
+ private scrollActiveModeIntoView;
745
+ private focusDockTab;
746
+ private portQualifiedLabel;
747
+ private stagePointFromEvent;
748
+ private rotationAngleForNode;
749
+ private snapDegrees;
750
+ private portIndexAtPoint;
751
+ private previewWirePath;
752
+ private formatPoint;
753
+ private labelPointBetween;
754
+ private connectionTooltipAnchor;
755
+ private applyZoom;
756
+ private centerViewportOnMinimapEvent;
757
+ private minimapPointFromEvent;
758
+ private fitViewportState;
759
+ private clampViewport;
760
+ private connectionEditorNavigationBounds;
761
+ private stageClientSize;
762
+ private stageRect;
763
+ private shouldIgnorePanTarget;
764
+ private shouldIgnoreNodeDragTarget;
765
+ private isFloatingPanelInteractionTarget;
766
+ private clamp;
767
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectionEditorComponent, never>;
768
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectionEditorComponent, "praxis-connection-editor", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "focusWidget": "focusWidget"; "openPageSettings": "openPageSettings"; }, never, never, true, never>;
769
+ }
770
+
210
771
  type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state';
211
772
  type DeviceKey = 'desktop' | 'tablet' | 'mobile';
212
773
  type GroupingNodeGroup$1 = FormGroup<{
@@ -545,6 +1106,68 @@ interface PageBuilderAgenticAuthoringOptions {
545
1106
  baseUrl?: string;
546
1107
  headersFactory?: () => Record<string, string | undefined>;
547
1108
  defaultHeaders?: Record<string, string>;
1109
+ createProjectKnowledgeChangeSet?: (request: DomainKnowledgeChangeSetRequest, options?: {
1110
+ headers?: Record<string, string> | undefined;
1111
+ }) => Observable<DomainKnowledgeChangeSet>;
1112
+ getProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1113
+ headers?: Record<string, string> | undefined;
1114
+ }) => Observable<DomainKnowledgeChangeSet>;
1115
+ getProjectKnowledgeChangeSetTimeline?: (changeSetId: string, options?: {
1116
+ headers?: Record<string, string> | undefined;
1117
+ }) => Observable<DomainKnowledgeChangeSetTimelineResponse>;
1118
+ listProjectKnowledgeChangeSets?: (filters: DomainKnowledgeChangeSetFilters, options?: {
1119
+ headers?: Record<string, string> | undefined;
1120
+ }) => Observable<DomainKnowledgeChangeSet[]>;
1121
+ validateProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1122
+ headers?: Record<string, string> | undefined;
1123
+ }) => Observable<DomainKnowledgeValidationResponse>;
1124
+ transitionProjectKnowledgeChangeSetStatus?: (changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: {
1125
+ headers?: Record<string, string> | undefined;
1126
+ }) => Observable<DomainKnowledgeChangeSet>;
1127
+ applyProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1128
+ headers?: Record<string, string> | undefined;
1129
+ }) => Observable<DomainKnowledgeChangeSet>;
1130
+ sharedRuleIntake?: (request: DomainRuleIntakeRequest, options?: {
1131
+ headers?: Record<string, string> | undefined;
1132
+ }) => Observable<DomainRuleIntakeResponse>;
1133
+ sharedRuleCreateDefinition?: (request: DomainRuleDefinitionRequest, options?: {
1134
+ headers?: Record<string, string> | undefined;
1135
+ }) => Observable<DomainRuleDefinition>;
1136
+ sharedRuleSimulate?: (request: DomainRuleSimulationRequest, options?: {
1137
+ headers?: Record<string, string> | undefined;
1138
+ }) => Observable<DomainRuleSimulationResponse>;
1139
+ sharedRuleTransitionDefinitionStatus?: (definitionId: string, request: DomainRuleStatusTransitionRequest, options?: {
1140
+ headers?: Record<string, string> | undefined;
1141
+ }) => Observable<DomainRuleDefinition>;
1142
+ sharedRulePublish?: (request: DomainRulePublicationRequest, options?: {
1143
+ headers?: Record<string, string> | undefined;
1144
+ }) => Observable<DomainRulePublicationResponse>;
1145
+ sharedRuleListMaterializations?: (filters: DomainRuleMaterializationFilters, options?: {
1146
+ headers?: Record<string, string> | undefined;
1147
+ }) => Observable<DomainRuleMaterialization[]>;
1148
+ sharedRuleGetDefinitionTimeline?: (definitionId: string, options?: {
1149
+ headers?: Record<string, string> | undefined;
1150
+ }) => Observable<DomainRuleTimelineResponse>;
1151
+ eventSourceFactory?: PageBuilderAgenticAuthoringEventSourceFactory;
1152
+ requestTimeoutMs?: number;
1153
+ streamStartTimeoutMs?: number;
1154
+ streamTurnTimeoutMs?: number;
1155
+ streamConnectionErrorGraceMs?: number;
1156
+ }
1157
+ interface PageBuilderAgenticAuthoringEventSource {
1158
+ readonly readyState?: number;
1159
+ onmessage: ((event: MessageEvent<string>) => void) | null;
1160
+ onerror: ((event: Event) => void) | null;
1161
+ addEventListener?(type: string, listener: (event: MessageEvent<string>) => void): void;
1162
+ close(): void;
1163
+ }
1164
+ interface PageBuilderAgenticAuthoringEventSourceOptions {
1165
+ withCredentials?: boolean;
1166
+ }
1167
+ type PageBuilderAgenticAuthoringEventSourceFactory = (url: string, options?: PageBuilderAgenticAuthoringEventSourceOptions) => PageBuilderAgenticAuthoringEventSource;
1168
+ interface PageBuilderAgenticAuthoringTurnStreamConnectionError {
1169
+ readonly praxisAgenticTurnStreamConnectionError: true;
1170
+ readonly cause: unknown;
548
1171
  }
549
1172
  interface PageBuilderAgenticAuthoringPromptRequest extends Omit<AgenticAuthoringPlanRequestContract, 'currentPage' | 'intentResolution'> {
550
1173
  provider?: PageBuilderAgenticAuthoringProvider | null;
@@ -560,11 +1183,29 @@ interface PageBuilderAgenticAuthoringIntentResolutionRequest extends Omit<Agenti
560
1183
  componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
561
1184
  attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
562
1185
  }
1186
+ interface PageBuilderAgenticAuthoringTurnStreamRequest {
1187
+ userPrompt: string;
1188
+ targetApp?: string | null;
1189
+ targetComponentId?: string | null;
1190
+ currentRoute?: string | null;
1191
+ provider?: PageBuilderAgenticAuthoringProvider | null;
1192
+ model?: string | null;
1193
+ apiKey?: string | null;
1194
+ currentPage?: unknown;
1195
+ selectedWidgetKey?: string | null;
1196
+ sessionId?: string | null;
1197
+ clientTurnId?: string | null;
1198
+ conversationMessages?: PageBuilderAgenticAuthoringConversationMessage[];
1199
+ pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
1200
+ componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
1201
+ attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
1202
+ contextHints?: AiContextHintsContract | null;
1203
+ }
563
1204
  type PageBuilderAgenticAuthoringConversationMessage = AgenticAuthoringConversationMessageContract;
564
1205
  type PageBuilderAgenticAuthoringPendingClarification = AgenticAuthoringPendingClarificationContract;
565
1206
  type PageBuilderAgenticAuthoringQuickReply = AgenticAuthoringQuickReplyContract;
566
1207
  type PageBuilderAgenticAuthoringAttachmentSummary = AgenticAuthoringAttachmentSummaryContract;
567
- interface PageBuilderAgenticAuthoringCandidate {
1208
+ interface PageBuilderAgenticAuthoringCandidate extends AgenticAuthoringCandidateContract {
568
1209
  resourcePath: string;
569
1210
  operation: string;
570
1211
  schemaUrl: string;
@@ -573,6 +1214,19 @@ interface PageBuilderAgenticAuthoringCandidate {
573
1214
  score: number;
574
1215
  reason: string;
575
1216
  evidence: string[];
1217
+ [key: string]: AiJsonValue | undefined;
1218
+ }
1219
+ interface PageBuilderAgenticAuthoringResourceCandidatesRequest extends AgenticAuthoringResourceCandidatesRequestContract {
1220
+ }
1221
+ interface PageBuilderAgenticAuthoringResourceCandidatesResult extends Omit<AgenticAuthoringResourceCandidatesResultContract, 'candidates'> {
1222
+ valid: boolean;
1223
+ tool: string;
1224
+ retrievalQuery: string;
1225
+ artifactKind: string;
1226
+ assistantMessage?: string | null;
1227
+ candidates: PageBuilderAgenticAuthoringCandidate[];
1228
+ quickReplies?: PageBuilderAgenticAuthoringQuickReply[];
1229
+ warnings: string[];
576
1230
  }
577
1231
  interface PageBuilderAgenticAuthoringTarget {
578
1232
  widgetKey: string;
@@ -587,22 +1241,28 @@ interface PageBuilderAgenticAuthoringGateResult {
587
1241
  status: string;
588
1242
  messages: string[];
589
1243
  }
590
- interface PageBuilderAgenticAuthoringComponentFieldAlias {
1244
+ interface PageBuilderAgenticAuthoringComponentFieldAlias extends AgenticAuthoringComponentFieldAliasContract {
591
1245
  field: string;
592
1246
  aliases: string[];
593
1247
  }
594
- interface PageBuilderAgenticAuthoringComponentCapability {
1248
+ interface PageBuilderAgenticAuthoringComponentCapability extends Omit<AgenticAuthoringComponentCapabilityContract, 'fieldAliases' | 'examples'> {
595
1249
  id: string;
596
1250
  changeKind: string;
597
1251
  triggerTerms: string[];
598
1252
  fieldAliases: PageBuilderAgenticAuthoringComponentFieldAlias[];
1253
+ examples?: PageBuilderAgenticAuthoringComponentCapabilityExample[];
599
1254
  }
600
- interface PageBuilderAgenticAuthoringComponentCapabilityCatalog {
1255
+ interface PageBuilderAgenticAuthoringComponentCapabilityExample extends AgenticAuthoringComponentCapabilityExampleContract {
1256
+ prompt: string;
1257
+ intent: string;
1258
+ configHints: string[];
1259
+ }
1260
+ interface PageBuilderAgenticAuthoringComponentCapabilityCatalog extends Omit<AgenticAuthoringComponentCapabilityCatalogContract, 'capabilities'> {
601
1261
  componentId: string;
602
1262
  version: string;
603
1263
  capabilities: PageBuilderAgenticAuthoringComponentCapability[];
604
1264
  }
605
- interface PageBuilderAgenticAuthoringComponentCapabilitiesResult {
1265
+ interface PageBuilderAgenticAuthoringComponentCapabilitiesResult extends Omit<AgenticAuthoringComponentCapabilitiesResultContract, 'catalogs'> {
606
1266
  version: string;
607
1267
  catalogs: PageBuilderAgenticAuthoringComponentCapabilityCatalog[];
608
1268
  }
@@ -626,6 +1286,9 @@ interface PageBuilderAgenticAuthoringIntentResolutionResult {
626
1286
  warnings: string[];
627
1287
  failureCodes: string[];
628
1288
  currentPageSummary: unknown;
1289
+ contextHints?: AiContextHintsContract | null;
1290
+ llmDiagnostics?: AiJsonObject | null;
1291
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
629
1292
  }
630
1293
  interface PageBuilderMinimalFormPlanResult {
631
1294
  valid: boolean;
@@ -648,6 +1311,25 @@ interface PageBuilderPreviewDiagnostics {
648
1311
  operationKind?: string;
649
1312
  changeKind?: string;
650
1313
  fieldScopeDecision?: string;
1314
+ projectKnowledgeAudit?: PageBuilderProjectKnowledgeAudit | null;
1315
+ }
1316
+ interface PageBuilderProjectKnowledgeAudit {
1317
+ schemaVersion?: string;
1318
+ source?: string;
1319
+ influenceCount?: number;
1320
+ citedCount?: number;
1321
+ uncitedCount?: number;
1322
+ citationPolicy?: string;
1323
+ entries?: Array<{
1324
+ knowledgeId?: string;
1325
+ conceptKey?: string;
1326
+ kind?: string;
1327
+ visibility?: string;
1328
+ influence?: string;
1329
+ sourceSummary?: string;
1330
+ cited?: boolean;
1331
+ sourceRefs?: string[];
1332
+ }>;
651
1333
  }
652
1334
  interface PageBuilderPreviewResult {
653
1335
  valid: boolean;
@@ -657,7 +1339,10 @@ interface PageBuilderPreviewResult {
657
1339
  uiCompositionPlan?: unknown;
658
1340
  compiledFormPatch: PageBuilderCompiledFormPatch;
659
1341
  diagnostics?: PageBuilderPreviewDiagnostics | null;
1342
+ assistantMessage?: string | null;
660
1343
  }
1344
+ type PageBuilderAgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1345
+ type PageBuilderAgenticAuthoringTurnStreamEvent = AgenticAuthoringTurnStreamEnvelopeContract;
661
1346
  interface PageBuilderApplyRequest {
662
1347
  compiledFormPatch: PageBuilderCompiledFormPatch;
663
1348
  componentId: string;
@@ -665,6 +1350,7 @@ interface PageBuilderApplyRequest {
665
1350
  scope?: 'user' | 'tenant';
666
1351
  tags?: Record<string, unknown>;
667
1352
  ifMatch?: string;
1353
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
668
1354
  }
669
1355
  interface PageBuilderApplyResult {
670
1356
  applied: boolean;
@@ -687,13 +1373,118 @@ declare class PageBuilderAgenticAuthoringService {
687
1373
  getComponentCapabilities(): Observable<PageBuilderAgenticAuthoringComponentCapabilitiesResult>;
688
1374
  previewPage(request: PageBuilderAgenticAuthoringPromptRequest): Observable<PageBuilderPreviewResult>;
689
1375
  resolveIntent(request: PageBuilderAgenticAuthoringIntentResolutionRequest): Observable<PageBuilderAgenticAuthoringIntentResolutionResult>;
1376
+ searchResourceCandidates(request: PageBuilderAgenticAuthoringResourceCandidatesRequest): Observable<PageBuilderAgenticAuthoringResourceCandidatesResult>;
1377
+ streamTurn(request: PageBuilderAgenticAuthoringTurnStreamRequest): Observable<PageBuilderAgenticAuthoringTurnStreamEvent>;
690
1378
  applyPage(request: PageBuilderApplyRequest): Observable<PageBuilderApplyResult>;
691
1379
  private buildHeaders;
1380
+ private connectTurnStream;
1381
+ private consumeFetchTurnStream;
1382
+ private consumeBufferedSseFrames;
1383
+ private findSseFrameBoundary;
1384
+ private streamStartTimeoutMs;
1385
+ private streamTurnTimeoutMs;
1386
+ private requestTimeoutMs;
1387
+ private streamConnectionError;
1388
+ private buildStreamUrl;
1389
+ private buildStreamProbeUrl;
1390
+ private createEventSource;
1391
+ private probeTurnStreamEndpoint;
692
1392
  private formatEtag;
1393
+ private normalizeIntentResolutionResult;
1394
+ private normalizeStringList;
693
1395
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageBuilderAgenticAuthoringService, never>;
694
1396
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
695
1397
  }
696
1398
 
1399
+ type UiCompositionPlanInputSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
1400
+ type UiCompositionPlanComponentPortEndpoint = {
1401
+ kind: 'component-port';
1402
+ widget: string;
1403
+ port: string;
1404
+ direction: 'input' | 'output';
1405
+ nestedPath?: ComponentPortPathSegment[];
1406
+ };
1407
+ type UiCompositionPlanStateEndpoint = {
1408
+ kind: 'state';
1409
+ path: string;
1410
+ layer?: 'values' | 'derived' | 'transient';
1411
+ };
1412
+ type UiCompositionPlanGlobalActionEndpoint = {
1413
+ kind: 'global-action';
1414
+ actionId: string;
1415
+ payload?: unknown;
1416
+ payloadExpr?: string;
1417
+ meta?: Record<string, unknown>;
1418
+ };
1419
+ type UiCompositionPlanSourceEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint;
1420
+ type UiCompositionPlanTargetEndpoint = UiCompositionPlanSourceEndpoint | UiCompositionPlanGlobalActionEndpoint;
1421
+ type UiCompositionPlanEndpoint = UiCompositionPlanTargetEndpoint;
1422
+ type UiCompositionPlanTransform = {
1423
+ kind: 'pick-path';
1424
+ id: string;
1425
+ path: string;
1426
+ inputSource?: UiCompositionPlanInputSource;
1427
+ } | {
1428
+ kind: 'constant';
1429
+ id: string;
1430
+ value: unknown;
1431
+ } | {
1432
+ kind: 'query-context';
1433
+ id: string;
1434
+ field: string;
1435
+ operator?: string;
1436
+ valueVar?: string;
1437
+ inputSource?: UiCompositionPlanInputSource;
1438
+ } | {
1439
+ kind: 'template';
1440
+ id: string;
1441
+ template: unknown;
1442
+ inputSource?: UiCompositionPlanInputSource;
1443
+ };
1444
+ interface UiCompositionPlanWidget {
1445
+ key: string;
1446
+ componentId: string;
1447
+ role?: string;
1448
+ inputs?: Record<string, unknown>;
1449
+ outputs?: Record<string, unknown>;
1450
+ bindingOrder?: string[];
1451
+ }
1452
+ interface UiCompositionPlanBinding {
1453
+ id: string;
1454
+ from: UiCompositionPlanSourceEndpoint;
1455
+ to: UiCompositionPlanTargetEndpoint;
1456
+ intent: CompositionLink['intent'];
1457
+ condition?: unknown;
1458
+ transform?: UiCompositionPlanTransform;
1459
+ policy?: CompositionLink['policy'];
1460
+ metadata?: Record<string, unknown>;
1461
+ }
1462
+ interface UiCompositionPlan {
1463
+ version: '1.0';
1464
+ kind: 'praxis.ui-composition-plan';
1465
+ layoutPreset?: string;
1466
+ canvas?: WidgetPageCanvasLayout;
1467
+ state?: WidgetPageStateInput;
1468
+ widgets: UiCompositionPlanWidget[];
1469
+ bindings?: UiCompositionPlanBinding[];
1470
+ }
1471
+ interface UiCompositionPlanDiagnostic {
1472
+ code: string;
1473
+ message: string;
1474
+ path?: string;
1475
+ }
1476
+ type UiCompositionPlanCompileResult = {
1477
+ valid: true;
1478
+ page: WidgetPageDefinition;
1479
+ diagnostics: UiCompositionPlanDiagnostic[];
1480
+ } | {
1481
+ valid: false;
1482
+ page: null;
1483
+ diagnostics: UiCompositionPlanDiagnostic[];
1484
+ };
1485
+ declare function compileUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanCompileResult;
1486
+ declare function validateUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanDiagnostic[];
1487
+
697
1488
  type LegacyLayoutOptions = {
698
1489
  cols?: number;
699
1490
  rowHeight?: number;
@@ -752,16 +1543,83 @@ declare const PAGE_BUILDER_WIDGET_AI_CATALOGS: InjectionToken<Record<string, AiC
752
1543
 
753
1544
  declare function providePageBuilderWidgetAiCatalogs(): Provider;
754
1545
 
1546
+ declare const PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST: ComponentAuthoringManifest;
1547
+
1548
+ type PageBuilderGovernedContinuationFamily = 'shared-rule' | 'project-knowledge';
1549
+ type PageBuilderGovernedContinuationActionKind = 'open_definition' | 'simulate' | 'approve' | 'reject' | 'publish' | 'materialize' | 'validate_enforcement' | 'create_knowledge_change_set' | 'validate_knowledge_change_set' | 'apply_knowledge_change_set' | 'open_timeline';
1550
+ type PageBuilderGovernedContinuationBlockedReason = 'busy' | 'missing_handoff' | 'missing_authoring_target' | 'missing_definition' | 'definition_already_available' | 'missing_materialization' | 'missing_project_knowledge_audit' | 'missing_project_knowledge_candidate' | 'change_set_already_available' | 'missing_change_set' | 'validation_required' | 'validation_already_valid' | 'approval_required' | 'already_applied' | 'timeline_unavailable' | 'timeline_contract_unwired';
1551
+ interface PageBuilderGovernedContinuationTarget {
1552
+ artifactType: 'domain-rule-definition' | 'domain-knowledge-change-set' | 'materialization' | 'timeline';
1553
+ id?: string | null;
1554
+ key?: string | null;
1555
+ resourceKey?: string | null;
1556
+ contextKey?: string | null;
1557
+ }
1558
+ interface PageBuilderGovernedContinuationAction {
1559
+ kind: PageBuilderGovernedContinuationActionKind;
1560
+ family: PageBuilderGovernedContinuationFamily;
1561
+ enabled: boolean;
1562
+ blockedReason?: PageBuilderGovernedContinuationBlockedReason;
1563
+ labelKey: string;
1564
+ labelFallback: string;
1565
+ descriptionKey: string;
1566
+ descriptionFallback: string;
1567
+ target?: PageBuilderGovernedContinuationTarget;
1568
+ }
1569
+
755
1570
  interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
756
- kind: 'confirm' | 'revise' | 'cancel' | 'suggestion';
1571
+ kind: string;
1572
+ }
1573
+ type AgenticAuthoringPanelLayout = PraxisAssistantShellLayout;
1574
+ type SharedRuleCockpitAction = 'definition' | 'simulation' | 'approve' | 'activate' | 'publication' | 'materializations' | 'timeline' | 'enforcement';
1575
+ type ProjectKnowledgeCockpitAction = 'change-set' | 'validate' | 'approve' | 'reject' | 'apply' | 'readback';
1576
+ interface SharedRuleEnforcementSummary {
1577
+ status: 'ready' | 'waiting' | 'unavailable';
1578
+ targetLayers: string[];
1579
+ targetArtifacts: string[];
1580
+ projections: SharedRuleEnforcementProjection[];
1581
+ appliedCount: number;
1582
+ pendingCount: number;
1583
+ sourceHashes: string[];
1584
+ }
1585
+ interface SharedRuleEnforcementProjection {
1586
+ targetLayer: string;
1587
+ targetLayerLabel: string;
1588
+ status: 'ready' | 'waiting';
1589
+ targetArtifact: string;
1590
+ sourceHash: string | null;
1591
+ }
1592
+ interface PageBuilderAgenticAuthoringSharedRuleHandoff {
1593
+ endpoint: string;
1594
+ flowId: 'shared_rule_authoring';
1595
+ intakeEndpoint?: string | null;
1596
+ intakeId?: string | null;
1597
+ intakeStatus?: string | null;
1598
+ nextEndpoint?: string | null;
1599
+ ruleDefinitionId?: string | null;
1600
+ ruleKey?: string | null;
1601
+ recommendedRuleType?: string | null;
1602
+ targetLayer?: string | null;
1603
+ sourcePrompt: string;
1604
+ assistantMessage: string;
1605
+ resourcePath?: string | null;
1606
+ resourceKey?: string | null;
1607
+ contextKey?: string | null;
1608
+ routeGateStatus?: string | null;
1609
+ routeFailureCode?: string | null;
1610
+ routeDecisionSource?: string | null;
1611
+ previewDisposition?: string | null;
757
1612
  }
758
1613
  declare class DynamicPageBuilderComponent implements OnChanges {
759
1614
  private dialog;
760
1615
  private settingsPanel;
761
1616
  private readonly i18n;
1617
+ private readonly injector;
762
1618
  private readonly componentMetadata;
763
1619
  private readonly agenticAuthoring;
764
1620
  private readonly agenticTurnOrchestrator;
1621
+ private readonly assistantSessions;
1622
+ private readonly agenticAuthoringOptions;
765
1623
  runtime?: DynamicWidgetPageComponent;
766
1624
  page?: WidgetPageDefinition | string;
767
1625
  context?: Record<string, unknown> | null;
@@ -779,9 +1637,21 @@ declare class DynamicPageBuilderComponent implements OnChanges {
779
1637
  agenticAuthoringComponentId?: string;
780
1638
  agenticAuthoringScope: 'user' | 'tenant';
781
1639
  agenticAuthoringEtag?: string;
1640
+ agenticAuthoringIncludeLlmDiagnostics: boolean;
1641
+ agenticAuthoringEnableStreaming: boolean;
1642
+ agenticAuthoringContextHints?: Record<string, unknown> | null;
1643
+ showPageLifecycleActions: boolean;
1644
+ canDeleteSavedPage: boolean;
1645
+ pageLifecycleBusy: boolean;
1646
+ pageLifecycleResetRevision: number | string | null;
782
1647
  pageChange: EventEmitter<WidgetPageDefinition>;
1648
+ pageSaveRequested: EventEmitter<WidgetPageDefinition>;
783
1649
  agenticAuthoringApplied: EventEmitter<PageBuilderApplyResult>;
1650
+ agenticAuthoringSharedRuleHandoff: EventEmitter<PageBuilderAgenticAuthoringSharedRuleHandoff>;
1651
+ pageRestart: EventEmitter<void>;
1652
+ savedPageDeleteRequested: EventEmitter<void>;
784
1653
  readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
1654
+ readonly hasPageWidgets: _angular_core.Signal<boolean>;
785
1655
  readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
786
1656
  readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
787
1657
  readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
@@ -789,61 +1659,229 @@ declare class DynamicPageBuilderComponent implements OnChanges {
789
1659
  readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
790
1660
  readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
791
1661
  readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
1662
+ readonly agenticAuthoringSemanticDecision: _angular_core.WritableSignal<AgenticAuthoringSemanticDecisionContract | null>;
1663
+ readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
792
1664
  readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
793
1665
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
794
1666
  readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
795
1667
  readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
1668
+ readonly agenticAuthoringSharedRuleHandoffState: _angular_core.WritableSignal<PageBuilderAgenticAuthoringSharedRuleHandoff | null>;
1669
+ readonly sharedRuleCockpitBusyAction: _angular_core.WritableSignal<SharedRuleCockpitAction | null>;
1670
+ readonly sharedRuleCockpitError: _angular_core.WritableSignal<string>;
1671
+ readonly sharedRuleCockpitDefinition: _angular_core.WritableSignal<DomainRuleDefinition | null>;
1672
+ readonly sharedRuleCockpitSimulation: _angular_core.WritableSignal<DomainRuleSimulationResponse | null>;
1673
+ readonly sharedRuleCockpitTimeline: _angular_core.WritableSignal<DomainRuleTimelineResponse | null>;
1674
+ readonly sharedRuleCockpitPublication: _angular_core.WritableSignal<DomainRulePublicationResponse | null>;
1675
+ readonly sharedRuleCockpitMaterializations: _angular_core.WritableSignal<DomainRuleMaterialization[]>;
1676
+ readonly sharedRuleCockpitEnforcement: _angular_core.WritableSignal<SharedRuleEnforcementSummary | null>;
1677
+ readonly projectKnowledgeCockpitBusyAction: _angular_core.WritableSignal<ProjectKnowledgeCockpitAction | null>;
1678
+ readonly projectKnowledgeCockpitError: _angular_core.WritableSignal<string>;
1679
+ readonly projectKnowledgeCockpitChangeSet: _angular_core.WritableSignal<DomainKnowledgeChangeSet | null>;
1680
+ readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
1681
+ readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
1682
+ readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
1683
+ readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
1684
+ readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
1685
+ readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
796
1686
  readonly agenticAuthoringEditingMessageId: _angular_core.WritableSignal<string | null>;
1687
+ readonly selectedWidgetKey: _angular_core.WritableSignal<string | null>;
1688
+ readonly agenticAuthoringWidgetContextKey: _angular_core.WritableSignal<string | null>;
797
1689
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
798
1690
  private previewMode;
799
1691
  private agenticComponentCapabilities?;
800
1692
  private agenticComponentCapabilitiesPromise?;
801
1693
  private agenticTurnController?;
1694
+ private sharedRuleHandoffRevision;
1695
+ private agenticAuthoringPanelLayoutTouched;
802
1696
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
803
1697
  ngOnChanges(changes: SimpleChanges): void;
804
1698
  showSettings(): boolean;
805
1699
  onRuntimePageChange(next: WidgetPageDefinition): void;
1700
+ onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
1701
+ onConnectionEditorPageChange(next: WidgetPageDefinition): void;
1702
+ onRuntimeWidgetSelectionChange(widgetKey: string | null): void;
806
1703
  togglePreview(): void;
1704
+ toggleAgenticAuthoringLlmDiagnostics(): void;
1705
+ toggleSharedRuleCockpit(): void;
1706
+ toggleProjectKnowledgeCockpit(): void;
807
1707
  toggleConnectionsViewer(): void;
808
1708
  onAddComponent(): void;
809
- addWidget(type: string): void;
1709
+ addWidget(selection: string | ComponentPaletteSelection): void;
810
1710
  openPageSettings(): void;
811
1711
  saveCurrentPage(): void;
812
1712
  applyConfigFromAdapter(config: PageBuilderConfig): void;
813
1713
  private createAdapterHost;
814
1714
  toggleAgenticAuthoring(): void;
1715
+ openAgenticAuthoring(): void;
1716
+ openAgenticAuthoringForWidget(widgetKey: string): void;
1717
+ openAgenticAuthoringFromSession(session: PraxisAssistantSessionSnapshot): void;
1718
+ minimizeAgenticAuthoring(): void;
1719
+ onAgenticAuthoringLayoutChange(layout: AgenticAuthoringPanelLayout): void;
1720
+ agenticAuthoringReviewRailActive(): boolean;
1721
+ showAgenticAuthoringDock(): boolean;
1722
+ agenticAuthoringMinimized(): boolean;
1723
+ agenticAuthoringToggleLabel(): string;
1724
+ agenticAuthoringHeaderTitle(): string;
1725
+ agenticAuthoringHeaderSubtitle(): string;
1726
+ agenticAuthoringHeaderModeLabel(): string;
815
1727
  agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
1728
+ private agenticAuthoringEmptyConversationMessage;
1729
+ private resolveAgenticAuthoredOpeningMessage;
1730
+ private isAgenticAuthoringPageBlank;
1731
+ agenticAuthoringSubmitAction(): PraxisAssistantShellAction;
1732
+ agenticAuthoringDockIcon(): string;
1733
+ agenticAuthoringDockBadge(): string;
1734
+ agenticAuthoringDockSummary(): string;
816
1735
  agenticAuthoringShellState(): PraxisAssistantShellState;
1736
+ private hasAgenticAuthoringSession;
1737
+ private resetAgenticAuthoringSessionState;
1738
+ private syncAgenticAuthoringSession;
1739
+ private resolveAgenticAuthoringSessionId;
1740
+ private truncateAgenticDockText;
1741
+ agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
1742
+ canRunProjectKnowledgeChangeSet(): boolean;
1743
+ sharedRuleGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1744
+ projectKnowledgeGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1745
+ trackGovernedContinuationAction(_index: number, action: PageBuilderGovernedContinuationAction): string;
1746
+ trackSharedRuleEnforcementProjection(index: number, projection: SharedRuleEnforcementProjection): string;
1747
+ governedContinuationActionTestId(action: PageBuilderGovernedContinuationAction): string;
1748
+ governedContinuationActionTooltip(action: PageBuilderGovernedContinuationAction): string;
1749
+ projectKnowledgeTimelineItems(): RichTimelineItem[];
1750
+ trackProjectKnowledgeTimelineItem(index: number, item: RichTimelineItem): string;
1751
+ runSharedRuleGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
1752
+ runProjectKnowledgeGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
817
1753
  agenticAuthoringContextItems(): PraxisAssistantShellContextItem[];
1754
+ private agenticAuthoringSemanticDecisionContextItems;
1755
+ private shouldHideSemanticDecisionContextItems;
1756
+ private humanizeAgenticResourcePath;
1757
+ private humanizeAgenticDecisionSummary;
1758
+ private humanizeAgenticOperationKind;
1759
+ private humanizeAgenticArtifactKind;
1760
+ private humanizeAgenticChangeKind;
1761
+ private humanizeAgenticDecisionEvidence;
1762
+ private humanizeAgenticToken;
818
1763
  previewAgenticAuthoring(): Promise<void>;
819
1764
  submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
1765
+ private agenticQuickReplyVisiblePrompt;
1766
+ private agenticQuickReplySubmittedPrompt;
1767
+ private agenticQuickReplyClarificationConfirmationPrompt;
1768
+ private isHumanSafeResourceQuickReplyPrompt;
1769
+ private isGenericDataSourceQuickReplyPrompt;
1770
+ private isGenericGovernedConfirmationQuickReplyPrompt;
1771
+ private agenticQuickReplyGovernedConfirmationPrompt;
1772
+ private isResourceQuickReply;
1773
+ private isContextualPreviewActionQuickReply;
1774
+ private isGovernedConfirmationQuickReply;
1775
+ private isConfirmationQuickReply;
1776
+ private hasResourceContextHint;
1777
+ private describeResourceContext;
820
1778
  attachAgenticContext(): void;
821
1779
  addAgenticAttachments(attachments: readonly PraxisAssistantShellAttachment[]): void;
822
1780
  removeAgenticAttachment(attachment: PraxisAssistantShellAttachment): void;
823
1781
  editAgenticMessage(message: PraxisAssistantShellMessage): void;
824
1782
  resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
1783
+ retryAgenticAuthoring(): Promise<void>;
1784
+ cancelAgenticAuthoring(): Promise<void>;
825
1785
  persistAgenticAuthoring(): Promise<void>;
1786
+ ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
1787
+ simulateSharedRule(): Promise<DomainRuleSimulationResponse | null>;
1788
+ transitionSharedRuleDefinition(status: 'approved' | 'active'): Promise<DomainRuleDefinition | null>;
1789
+ publishSharedRule(): Promise<DomainRulePublicationResponse | null>;
1790
+ openSharedRuleEnforcementValidation(): Promise<SharedRuleEnforcementSummary | null>;
1791
+ runProjectKnowledgeChangeSetLifecycle(): Promise<DomainKnowledgeChangeSet | null>;
1792
+ createProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1793
+ validateProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeValidationResponse | null>;
1794
+ approveProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1795
+ rejectProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1796
+ applyProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1797
+ private refreshSharedRuleTimeline;
1798
+ private resolveDomainRuleService;
1799
+ private resolveDomainKnowledgeService;
1800
+ private createProjectKnowledgeChangeSet;
1801
+ private getProjectKnowledgeChangeSet;
1802
+ private validateProjectKnowledgeChangeSet;
1803
+ private getProjectKnowledgeChangeSetTimeline;
1804
+ private transitionProjectKnowledgeChangeSetStatus;
1805
+ private applyProjectKnowledgeChangeSet;
1806
+ private refreshProjectKnowledgeTimeline;
1807
+ private createSharedRuleDefinition;
1808
+ private simulateSharedRuleDefinition;
1809
+ private transitionSharedRuleDefinitionStatus;
1810
+ private publishSharedRuleDefinition;
1811
+ private listSharedRuleMaterializations;
1812
+ private getSharedRuleDefinitionTimeline;
1813
+ private resolveSharedRuleDefinitionId;
1814
+ private runSharedRuleCockpitAction;
1815
+ private clearSharedRuleCockpitState;
1816
+ private runProjectKnowledgeCockpitAction;
1817
+ private clearProjectKnowledgeCockpitState;
1818
+ private resolveProjectKnowledgeEvidenceCandidate;
1819
+ private createProjectKnowledgeChangeSetRequest;
1820
+ private slugifyProjectKnowledgeKey;
1821
+ private governedContinuationActionDomKey;
1822
+ private updateSharedRuleHandoff;
1823
+ private promoteSharedRuleHandoffFromQuickReply;
1824
+ private resolveSharedRuleQuickReplyRuleType;
1825
+ private resolveSharedRuleQuickReplyTargetLayer;
1826
+ private resolveSharedRuleKey;
1827
+ private resolveSharedRuleResourceKey;
1828
+ private resolveSharedRuleContextKey;
1829
+ private deriveResourceKeyFromPath;
1830
+ private deriveContextKeyFromPath;
1831
+ private resolveSharedRuleType;
1832
+ private normalizeSharedRuleType;
1833
+ private inferSharedRuleTypeFromHumanIntent;
1834
+ private summarizeSharedRuleEnforcement;
1835
+ private isAppliedSharedRuleProjection;
1836
+ private formatSharedRuleTargetLayer;
826
1837
  private loadAgenticComponentCapabilities;
827
1838
  private ensureAgenticTurnController;
828
1839
  private applyAgenticPreviewLocally;
829
1840
  private applyAgenticTurnState;
1841
+ private primeSharedRuleHandoff;
1842
+ private moveAgenticAuthoringPanelToReviewSidecar;
1843
+ private resolveAgenticSharedRuleHandoff;
1844
+ private resolveAgenticSharedRuleAssistantMessage;
1845
+ private resolveSharedRuleHandoffRuleType;
1846
+ private sameSharedRuleHandoff;
1847
+ private sameSharedRuleHandoffIdentity;
1848
+ private enrichSharedRuleHandoffFromIntake;
1849
+ private resolveSharedRuleHeaders;
1850
+ private consumeAgenticTurn;
1851
+ private isAgenticTurnTerminalState;
1852
+ agenticAuthoringDiagnosticsTop(): number;
1853
+ agenticAuthoringLlmDiagnosticsText(): string;
1854
+ private resolveAgenticLlmDiagnostics;
1855
+ private resolveAgenticSemanticDecision;
1856
+ private cloneAgenticContextHints;
1857
+ private resolveGovernedDomainContextSummary;
1858
+ private shouldShowGovernedDomainContext;
1859
+ private trimmedString;
1860
+ private toRecord;
830
1861
  private resolvePreviewCompiledFormPatch;
831
1862
  focusCanvasWidget(widgetKey: string): void;
832
1863
  private parsePage;
833
1864
  private clonePage;
1865
+ private clearSelectedWidgetIfMissing;
834
1866
  private defaultInputsFor;
1867
+ private applyWidgetIdentityDefaults;
835
1868
  private resolveAgenticComponentId;
836
1869
  private resolveSelectedWidgetKey;
1870
+ private resolveWidgetByKey;
1871
+ private resolveSelectedWidgetLabel;
1872
+ private describeSelectedWidgetContext;
1873
+ private resolveWidgetDisplayName;
837
1874
  private formatAgenticFailures;
838
1875
  private describeAgenticPreviewFailure;
839
1876
  private describeAgenticPreviewStatus;
1877
+ private isAgenticTableContractError;
840
1878
  private appendAgenticMessage;
841
1879
  private describeAgenticError;
842
1880
  private cloneValue;
843
1881
  tx(key: string, fallback: string): string;
844
1882
  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>;
1883
+ 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; }; "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"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
846
1884
  }
847
1885
 
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 };
1886
+ export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs, validateUiCompositionPlan };
1887
+ export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringEventSource, PageBuilderAgenticAuthoringEventSourceFactory, PageBuilderAgenticAuthoringEventSourceOptions, 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 };