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

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,67 @@ 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
+ onmessage: ((event: MessageEvent<string>) => void) | null;
1159
+ onerror: ((event: Event) => void) | null;
1160
+ addEventListener?(type: string, listener: (event: MessageEvent<string>) => void): void;
1161
+ close(): void;
1162
+ }
1163
+ interface PageBuilderAgenticAuthoringEventSourceOptions {
1164
+ withCredentials?: boolean;
1165
+ }
1166
+ type PageBuilderAgenticAuthoringEventSourceFactory = (url: string, options?: PageBuilderAgenticAuthoringEventSourceOptions) => PageBuilderAgenticAuthoringEventSource;
1167
+ interface PageBuilderAgenticAuthoringTurnStreamConnectionError {
1168
+ readonly praxisAgenticTurnStreamConnectionError: true;
1169
+ readonly cause: unknown;
548
1170
  }
549
1171
  interface PageBuilderAgenticAuthoringPromptRequest extends Omit<AgenticAuthoringPlanRequestContract, 'currentPage' | 'intentResolution'> {
550
1172
  provider?: PageBuilderAgenticAuthoringProvider | null;
@@ -560,11 +1182,29 @@ interface PageBuilderAgenticAuthoringIntentResolutionRequest extends Omit<Agenti
560
1182
  componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
561
1183
  attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
562
1184
  }
1185
+ interface PageBuilderAgenticAuthoringTurnStreamRequest {
1186
+ userPrompt: string;
1187
+ targetApp?: string | null;
1188
+ targetComponentId?: string | null;
1189
+ currentRoute?: string | null;
1190
+ provider?: PageBuilderAgenticAuthoringProvider | null;
1191
+ model?: string | null;
1192
+ apiKey?: string | null;
1193
+ currentPage?: unknown;
1194
+ selectedWidgetKey?: string | null;
1195
+ sessionId?: string | null;
1196
+ clientTurnId?: string | null;
1197
+ conversationMessages?: PageBuilderAgenticAuthoringConversationMessage[];
1198
+ pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
1199
+ componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
1200
+ attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
1201
+ contextHints?: AiContextHintsContract | null;
1202
+ }
563
1203
  type PageBuilderAgenticAuthoringConversationMessage = AgenticAuthoringConversationMessageContract;
564
1204
  type PageBuilderAgenticAuthoringPendingClarification = AgenticAuthoringPendingClarificationContract;
565
1205
  type PageBuilderAgenticAuthoringQuickReply = AgenticAuthoringQuickReplyContract;
566
1206
  type PageBuilderAgenticAuthoringAttachmentSummary = AgenticAuthoringAttachmentSummaryContract;
567
- interface PageBuilderAgenticAuthoringCandidate {
1207
+ interface PageBuilderAgenticAuthoringCandidate extends AgenticAuthoringCandidateContract {
568
1208
  resourcePath: string;
569
1209
  operation: string;
570
1210
  schemaUrl: string;
@@ -573,6 +1213,19 @@ interface PageBuilderAgenticAuthoringCandidate {
573
1213
  score: number;
574
1214
  reason: string;
575
1215
  evidence: string[];
1216
+ [key: string]: AiJsonValue | undefined;
1217
+ }
1218
+ interface PageBuilderAgenticAuthoringResourceCandidatesRequest extends AgenticAuthoringResourceCandidatesRequestContract {
1219
+ }
1220
+ interface PageBuilderAgenticAuthoringResourceCandidatesResult extends Omit<AgenticAuthoringResourceCandidatesResultContract, 'candidates'> {
1221
+ valid: boolean;
1222
+ tool: string;
1223
+ retrievalQuery: string;
1224
+ artifactKind: string;
1225
+ assistantMessage?: string | null;
1226
+ candidates: PageBuilderAgenticAuthoringCandidate[];
1227
+ quickReplies?: PageBuilderAgenticAuthoringQuickReply[];
1228
+ warnings: string[];
576
1229
  }
577
1230
  interface PageBuilderAgenticAuthoringTarget {
578
1231
  widgetKey: string;
@@ -587,22 +1240,28 @@ interface PageBuilderAgenticAuthoringGateResult {
587
1240
  status: string;
588
1241
  messages: string[];
589
1242
  }
590
- interface PageBuilderAgenticAuthoringComponentFieldAlias {
1243
+ interface PageBuilderAgenticAuthoringComponentFieldAlias extends AgenticAuthoringComponentFieldAliasContract {
591
1244
  field: string;
592
1245
  aliases: string[];
593
1246
  }
594
- interface PageBuilderAgenticAuthoringComponentCapability {
1247
+ interface PageBuilderAgenticAuthoringComponentCapability extends Omit<AgenticAuthoringComponentCapabilityContract, 'fieldAliases' | 'examples'> {
595
1248
  id: string;
596
1249
  changeKind: string;
597
1250
  triggerTerms: string[];
598
1251
  fieldAliases: PageBuilderAgenticAuthoringComponentFieldAlias[];
1252
+ examples?: PageBuilderAgenticAuthoringComponentCapabilityExample[];
599
1253
  }
600
- interface PageBuilderAgenticAuthoringComponentCapabilityCatalog {
1254
+ interface PageBuilderAgenticAuthoringComponentCapabilityExample extends AgenticAuthoringComponentCapabilityExampleContract {
1255
+ prompt: string;
1256
+ intent: string;
1257
+ configHints: string[];
1258
+ }
1259
+ interface PageBuilderAgenticAuthoringComponentCapabilityCatalog extends Omit<AgenticAuthoringComponentCapabilityCatalogContract, 'capabilities'> {
601
1260
  componentId: string;
602
1261
  version: string;
603
1262
  capabilities: PageBuilderAgenticAuthoringComponentCapability[];
604
1263
  }
605
- interface PageBuilderAgenticAuthoringComponentCapabilitiesResult {
1264
+ interface PageBuilderAgenticAuthoringComponentCapabilitiesResult extends Omit<AgenticAuthoringComponentCapabilitiesResultContract, 'catalogs'> {
606
1265
  version: string;
607
1266
  catalogs: PageBuilderAgenticAuthoringComponentCapabilityCatalog[];
608
1267
  }
@@ -626,6 +1285,9 @@ interface PageBuilderAgenticAuthoringIntentResolutionResult {
626
1285
  warnings: string[];
627
1286
  failureCodes: string[];
628
1287
  currentPageSummary: unknown;
1288
+ contextHints?: AiContextHintsContract | null;
1289
+ llmDiagnostics?: AiJsonObject | null;
1290
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
629
1291
  }
630
1292
  interface PageBuilderMinimalFormPlanResult {
631
1293
  valid: boolean;
@@ -648,6 +1310,25 @@ interface PageBuilderPreviewDiagnostics {
648
1310
  operationKind?: string;
649
1311
  changeKind?: string;
650
1312
  fieldScopeDecision?: string;
1313
+ projectKnowledgeAudit?: PageBuilderProjectKnowledgeAudit | null;
1314
+ }
1315
+ interface PageBuilderProjectKnowledgeAudit {
1316
+ schemaVersion?: string;
1317
+ source?: string;
1318
+ influenceCount?: number;
1319
+ citedCount?: number;
1320
+ uncitedCount?: number;
1321
+ citationPolicy?: string;
1322
+ entries?: Array<{
1323
+ knowledgeId?: string;
1324
+ conceptKey?: string;
1325
+ kind?: string;
1326
+ visibility?: string;
1327
+ influence?: string;
1328
+ sourceSummary?: string;
1329
+ cited?: boolean;
1330
+ sourceRefs?: string[];
1331
+ }>;
651
1332
  }
652
1333
  interface PageBuilderPreviewResult {
653
1334
  valid: boolean;
@@ -657,7 +1338,10 @@ interface PageBuilderPreviewResult {
657
1338
  uiCompositionPlan?: unknown;
658
1339
  compiledFormPatch: PageBuilderCompiledFormPatch;
659
1340
  diagnostics?: PageBuilderPreviewDiagnostics | null;
1341
+ assistantMessage?: string | null;
660
1342
  }
1343
+ type PageBuilderAgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1344
+ type PageBuilderAgenticAuthoringTurnStreamEvent = AgenticAuthoringTurnStreamEnvelopeContract;
661
1345
  interface PageBuilderApplyRequest {
662
1346
  compiledFormPatch: PageBuilderCompiledFormPatch;
663
1347
  componentId: string;
@@ -665,6 +1349,7 @@ interface PageBuilderApplyRequest {
665
1349
  scope?: 'user' | 'tenant';
666
1350
  tags?: Record<string, unknown>;
667
1351
  ifMatch?: string;
1352
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
668
1353
  }
669
1354
  interface PageBuilderApplyResult {
670
1355
  applied: boolean;
@@ -687,13 +1372,115 @@ declare class PageBuilderAgenticAuthoringService {
687
1372
  getComponentCapabilities(): Observable<PageBuilderAgenticAuthoringComponentCapabilitiesResult>;
688
1373
  previewPage(request: PageBuilderAgenticAuthoringPromptRequest): Observable<PageBuilderPreviewResult>;
689
1374
  resolveIntent(request: PageBuilderAgenticAuthoringIntentResolutionRequest): Observable<PageBuilderAgenticAuthoringIntentResolutionResult>;
1375
+ searchResourceCandidates(request: PageBuilderAgenticAuthoringResourceCandidatesRequest): Observable<PageBuilderAgenticAuthoringResourceCandidatesResult>;
1376
+ streamTurn(request: PageBuilderAgenticAuthoringTurnStreamRequest): Observable<PageBuilderAgenticAuthoringTurnStreamEvent>;
690
1377
  applyPage(request: PageBuilderApplyRequest): Observable<PageBuilderApplyResult>;
691
1378
  private buildHeaders;
1379
+ private connectTurnStream;
1380
+ private streamStartTimeoutMs;
1381
+ private streamTurnTimeoutMs;
1382
+ private requestTimeoutMs;
1383
+ private streamConnectionError;
1384
+ private buildStreamUrl;
1385
+ private buildStreamProbeUrl;
1386
+ private createEventSource;
1387
+ private probeTurnStreamEndpoint;
692
1388
  private formatEtag;
1389
+ private normalizeIntentResolutionResult;
1390
+ private normalizeStringList;
693
1391
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageBuilderAgenticAuthoringService, never>;
694
1392
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
695
1393
  }
696
1394
 
1395
+ type UiCompositionPlanInputSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
1396
+ type UiCompositionPlanComponentPortEndpoint = {
1397
+ kind: 'component-port';
1398
+ widget: string;
1399
+ port: string;
1400
+ direction: 'input' | 'output';
1401
+ nestedPath?: ComponentPortPathSegment[];
1402
+ };
1403
+ type UiCompositionPlanStateEndpoint = {
1404
+ kind: 'state';
1405
+ path: string;
1406
+ layer?: 'values' | 'derived' | 'transient';
1407
+ };
1408
+ type UiCompositionPlanGlobalActionEndpoint = {
1409
+ kind: 'global-action';
1410
+ actionId: string;
1411
+ payload?: unknown;
1412
+ payloadExpr?: string;
1413
+ meta?: Record<string, unknown>;
1414
+ };
1415
+ type UiCompositionPlanSourceEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint;
1416
+ type UiCompositionPlanTargetEndpoint = UiCompositionPlanSourceEndpoint | UiCompositionPlanGlobalActionEndpoint;
1417
+ type UiCompositionPlanEndpoint = UiCompositionPlanTargetEndpoint;
1418
+ type UiCompositionPlanTransform = {
1419
+ kind: 'pick-path';
1420
+ id: string;
1421
+ path: string;
1422
+ inputSource?: UiCompositionPlanInputSource;
1423
+ } | {
1424
+ kind: 'constant';
1425
+ id: string;
1426
+ value: unknown;
1427
+ } | {
1428
+ kind: 'query-context';
1429
+ id: string;
1430
+ field: string;
1431
+ operator?: string;
1432
+ valueVar?: string;
1433
+ inputSource?: UiCompositionPlanInputSource;
1434
+ } | {
1435
+ kind: 'template';
1436
+ id: string;
1437
+ template: unknown;
1438
+ inputSource?: UiCompositionPlanInputSource;
1439
+ };
1440
+ interface UiCompositionPlanWidget {
1441
+ key: string;
1442
+ componentId: string;
1443
+ role?: string;
1444
+ inputs?: Record<string, unknown>;
1445
+ outputs?: Record<string, unknown>;
1446
+ bindingOrder?: string[];
1447
+ }
1448
+ interface UiCompositionPlanBinding {
1449
+ id: string;
1450
+ from: UiCompositionPlanSourceEndpoint;
1451
+ to: UiCompositionPlanTargetEndpoint;
1452
+ intent: CompositionLink['intent'];
1453
+ condition?: unknown;
1454
+ transform?: UiCompositionPlanTransform;
1455
+ policy?: CompositionLink['policy'];
1456
+ metadata?: Record<string, unknown>;
1457
+ }
1458
+ interface UiCompositionPlan {
1459
+ version: '1.0';
1460
+ kind: 'praxis.ui-composition-plan';
1461
+ layoutPreset?: string;
1462
+ canvas?: WidgetPageCanvasLayout;
1463
+ state?: WidgetPageStateInput;
1464
+ widgets: UiCompositionPlanWidget[];
1465
+ bindings?: UiCompositionPlanBinding[];
1466
+ }
1467
+ interface UiCompositionPlanDiagnostic {
1468
+ code: string;
1469
+ message: string;
1470
+ path?: string;
1471
+ }
1472
+ type UiCompositionPlanCompileResult = {
1473
+ valid: true;
1474
+ page: WidgetPageDefinition;
1475
+ diagnostics: UiCompositionPlanDiagnostic[];
1476
+ } | {
1477
+ valid: false;
1478
+ page: null;
1479
+ diagnostics: UiCompositionPlanDiagnostic[];
1480
+ };
1481
+ declare function compileUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanCompileResult;
1482
+ declare function validateUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanDiagnostic[];
1483
+
697
1484
  type LegacyLayoutOptions = {
698
1485
  cols?: number;
699
1486
  rowHeight?: number;
@@ -752,16 +1539,83 @@ declare const PAGE_BUILDER_WIDGET_AI_CATALOGS: InjectionToken<Record<string, AiC
752
1539
 
753
1540
  declare function providePageBuilderWidgetAiCatalogs(): Provider;
754
1541
 
1542
+ declare const PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST: ComponentAuthoringManifest;
1543
+
1544
+ type PageBuilderGovernedContinuationFamily = 'shared-rule' | 'project-knowledge';
1545
+ 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';
1546
+ 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';
1547
+ interface PageBuilderGovernedContinuationTarget {
1548
+ artifactType: 'domain-rule-definition' | 'domain-knowledge-change-set' | 'materialization' | 'timeline';
1549
+ id?: string | null;
1550
+ key?: string | null;
1551
+ resourceKey?: string | null;
1552
+ contextKey?: string | null;
1553
+ }
1554
+ interface PageBuilderGovernedContinuationAction {
1555
+ kind: PageBuilderGovernedContinuationActionKind;
1556
+ family: PageBuilderGovernedContinuationFamily;
1557
+ enabled: boolean;
1558
+ blockedReason?: PageBuilderGovernedContinuationBlockedReason;
1559
+ labelKey: string;
1560
+ labelFallback: string;
1561
+ descriptionKey: string;
1562
+ descriptionFallback: string;
1563
+ target?: PageBuilderGovernedContinuationTarget;
1564
+ }
1565
+
755
1566
  interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
756
- kind: 'confirm' | 'revise' | 'cancel' | 'suggestion';
1567
+ kind: string;
1568
+ }
1569
+ type AgenticAuthoringPanelLayout = PraxisAssistantShellLayout;
1570
+ type SharedRuleCockpitAction = 'definition' | 'simulation' | 'approve' | 'activate' | 'publication' | 'materializations' | 'timeline' | 'enforcement';
1571
+ type ProjectKnowledgeCockpitAction = 'change-set' | 'validate' | 'approve' | 'reject' | 'apply' | 'readback';
1572
+ interface SharedRuleEnforcementSummary {
1573
+ status: 'ready' | 'waiting' | 'unavailable';
1574
+ targetLayers: string[];
1575
+ targetArtifacts: string[];
1576
+ projections: SharedRuleEnforcementProjection[];
1577
+ appliedCount: number;
1578
+ pendingCount: number;
1579
+ sourceHashes: string[];
1580
+ }
1581
+ interface SharedRuleEnforcementProjection {
1582
+ targetLayer: string;
1583
+ targetLayerLabel: string;
1584
+ status: 'ready' | 'waiting';
1585
+ targetArtifact: string;
1586
+ sourceHash: string | null;
1587
+ }
1588
+ interface PageBuilderAgenticAuthoringSharedRuleHandoff {
1589
+ endpoint: string;
1590
+ flowId: 'shared_rule_authoring';
1591
+ intakeEndpoint?: string | null;
1592
+ intakeId?: string | null;
1593
+ intakeStatus?: string | null;
1594
+ nextEndpoint?: string | null;
1595
+ ruleDefinitionId?: string | null;
1596
+ ruleKey?: string | null;
1597
+ recommendedRuleType?: string | null;
1598
+ targetLayer?: string | null;
1599
+ sourcePrompt: string;
1600
+ assistantMessage: string;
1601
+ resourcePath?: string | null;
1602
+ resourceKey?: string | null;
1603
+ contextKey?: string | null;
1604
+ routeGateStatus?: string | null;
1605
+ routeFailureCode?: string | null;
1606
+ routeDecisionSource?: string | null;
1607
+ previewDisposition?: string | null;
757
1608
  }
758
1609
  declare class DynamicPageBuilderComponent implements OnChanges {
759
1610
  private dialog;
760
1611
  private settingsPanel;
761
1612
  private readonly i18n;
1613
+ private readonly injector;
762
1614
  private readonly componentMetadata;
763
1615
  private readonly agenticAuthoring;
764
1616
  private readonly agenticTurnOrchestrator;
1617
+ private readonly assistantSessions;
1618
+ private readonly agenticAuthoringOptions;
765
1619
  runtime?: DynamicWidgetPageComponent;
766
1620
  page?: WidgetPageDefinition | string;
767
1621
  context?: Record<string, unknown> | null;
@@ -779,9 +1633,21 @@ declare class DynamicPageBuilderComponent implements OnChanges {
779
1633
  agenticAuthoringComponentId?: string;
780
1634
  agenticAuthoringScope: 'user' | 'tenant';
781
1635
  agenticAuthoringEtag?: string;
1636
+ agenticAuthoringIncludeLlmDiagnostics: boolean;
1637
+ agenticAuthoringEnableStreaming: boolean;
1638
+ agenticAuthoringContextHints?: Record<string, unknown> | null;
1639
+ showPageLifecycleActions: boolean;
1640
+ canDeleteSavedPage: boolean;
1641
+ pageLifecycleBusy: boolean;
1642
+ pageLifecycleResetRevision: number | string | null;
782
1643
  pageChange: EventEmitter<WidgetPageDefinition>;
1644
+ pageSaveRequested: EventEmitter<WidgetPageDefinition>;
783
1645
  agenticAuthoringApplied: EventEmitter<PageBuilderApplyResult>;
1646
+ agenticAuthoringSharedRuleHandoff: EventEmitter<PageBuilderAgenticAuthoringSharedRuleHandoff>;
1647
+ pageRestart: EventEmitter<void>;
1648
+ savedPageDeleteRequested: EventEmitter<void>;
784
1649
  readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
1650
+ readonly hasPageWidgets: _angular_core.Signal<boolean>;
785
1651
  readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
786
1652
  readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
787
1653
  readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
@@ -789,61 +1655,229 @@ declare class DynamicPageBuilderComponent implements OnChanges {
789
1655
  readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
790
1656
  readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
791
1657
  readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
1658
+ readonly agenticAuthoringSemanticDecision: _angular_core.WritableSignal<AgenticAuthoringSemanticDecisionContract | null>;
1659
+ readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
792
1660
  readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
793
1661
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
794
1662
  readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
795
1663
  readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
1664
+ readonly agenticAuthoringSharedRuleHandoffState: _angular_core.WritableSignal<PageBuilderAgenticAuthoringSharedRuleHandoff | null>;
1665
+ readonly sharedRuleCockpitBusyAction: _angular_core.WritableSignal<SharedRuleCockpitAction | null>;
1666
+ readonly sharedRuleCockpitError: _angular_core.WritableSignal<string>;
1667
+ readonly sharedRuleCockpitDefinition: _angular_core.WritableSignal<DomainRuleDefinition | null>;
1668
+ readonly sharedRuleCockpitSimulation: _angular_core.WritableSignal<DomainRuleSimulationResponse | null>;
1669
+ readonly sharedRuleCockpitTimeline: _angular_core.WritableSignal<DomainRuleTimelineResponse | null>;
1670
+ readonly sharedRuleCockpitPublication: _angular_core.WritableSignal<DomainRulePublicationResponse | null>;
1671
+ readonly sharedRuleCockpitMaterializations: _angular_core.WritableSignal<DomainRuleMaterialization[]>;
1672
+ readonly sharedRuleCockpitEnforcement: _angular_core.WritableSignal<SharedRuleEnforcementSummary | null>;
1673
+ readonly projectKnowledgeCockpitBusyAction: _angular_core.WritableSignal<ProjectKnowledgeCockpitAction | null>;
1674
+ readonly projectKnowledgeCockpitError: _angular_core.WritableSignal<string>;
1675
+ readonly projectKnowledgeCockpitChangeSet: _angular_core.WritableSignal<DomainKnowledgeChangeSet | null>;
1676
+ readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
1677
+ readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
1678
+ readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
1679
+ readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
1680
+ readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
1681
+ readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
796
1682
  readonly agenticAuthoringEditingMessageId: _angular_core.WritableSignal<string | null>;
1683
+ readonly selectedWidgetKey: _angular_core.WritableSignal<string | null>;
1684
+ readonly agenticAuthoringWidgetContextKey: _angular_core.WritableSignal<string | null>;
797
1685
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
798
1686
  private previewMode;
799
1687
  private agenticComponentCapabilities?;
800
1688
  private agenticComponentCapabilitiesPromise?;
801
1689
  private agenticTurnController?;
1690
+ private sharedRuleHandoffRevision;
1691
+ private agenticAuthoringPanelLayoutTouched;
802
1692
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
803
1693
  ngOnChanges(changes: SimpleChanges): void;
804
1694
  showSettings(): boolean;
805
1695
  onRuntimePageChange(next: WidgetPageDefinition): void;
1696
+ onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
1697
+ onConnectionEditorPageChange(next: WidgetPageDefinition): void;
1698
+ onRuntimeWidgetSelectionChange(widgetKey: string | null): void;
806
1699
  togglePreview(): void;
1700
+ toggleAgenticAuthoringLlmDiagnostics(): void;
1701
+ toggleSharedRuleCockpit(): void;
1702
+ toggleProjectKnowledgeCockpit(): void;
807
1703
  toggleConnectionsViewer(): void;
808
1704
  onAddComponent(): void;
809
- addWidget(type: string): void;
1705
+ addWidget(selection: string | ComponentPaletteSelection): void;
810
1706
  openPageSettings(): void;
811
1707
  saveCurrentPage(): void;
812
1708
  applyConfigFromAdapter(config: PageBuilderConfig): void;
813
1709
  private createAdapterHost;
814
1710
  toggleAgenticAuthoring(): void;
1711
+ openAgenticAuthoring(): void;
1712
+ openAgenticAuthoringForWidget(widgetKey: string): void;
1713
+ openAgenticAuthoringFromSession(session: PraxisAssistantSessionSnapshot): void;
1714
+ minimizeAgenticAuthoring(): void;
1715
+ onAgenticAuthoringLayoutChange(layout: AgenticAuthoringPanelLayout): void;
1716
+ agenticAuthoringReviewRailActive(): boolean;
1717
+ showAgenticAuthoringDock(): boolean;
1718
+ agenticAuthoringMinimized(): boolean;
1719
+ agenticAuthoringToggleLabel(): string;
1720
+ agenticAuthoringHeaderTitle(): string;
1721
+ agenticAuthoringHeaderSubtitle(): string;
1722
+ agenticAuthoringHeaderModeLabel(): string;
815
1723
  agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
1724
+ private agenticAuthoringEmptyConversationMessage;
1725
+ private resolveAgenticAuthoredOpeningMessage;
1726
+ private isAgenticAuthoringPageBlank;
1727
+ agenticAuthoringSubmitAction(): PraxisAssistantShellAction;
1728
+ agenticAuthoringDockIcon(): string;
1729
+ agenticAuthoringDockBadge(): string;
1730
+ agenticAuthoringDockSummary(): string;
816
1731
  agenticAuthoringShellState(): PraxisAssistantShellState;
1732
+ private hasAgenticAuthoringSession;
1733
+ private resetAgenticAuthoringSessionState;
1734
+ private syncAgenticAuthoringSession;
1735
+ private resolveAgenticAuthoringSessionId;
1736
+ private truncateAgenticDockText;
1737
+ agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
1738
+ canRunProjectKnowledgeChangeSet(): boolean;
1739
+ sharedRuleGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1740
+ projectKnowledgeGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1741
+ trackGovernedContinuationAction(_index: number, action: PageBuilderGovernedContinuationAction): string;
1742
+ trackSharedRuleEnforcementProjection(index: number, projection: SharedRuleEnforcementProjection): string;
1743
+ governedContinuationActionTestId(action: PageBuilderGovernedContinuationAction): string;
1744
+ governedContinuationActionTooltip(action: PageBuilderGovernedContinuationAction): string;
1745
+ projectKnowledgeTimelineItems(): RichTimelineItem[];
1746
+ trackProjectKnowledgeTimelineItem(index: number, item: RichTimelineItem): string;
1747
+ runSharedRuleGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
1748
+ runProjectKnowledgeGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
817
1749
  agenticAuthoringContextItems(): PraxisAssistantShellContextItem[];
1750
+ private agenticAuthoringSemanticDecisionContextItems;
1751
+ private shouldHideSemanticDecisionContextItems;
1752
+ private humanizeAgenticResourcePath;
1753
+ private humanizeAgenticDecisionSummary;
1754
+ private humanizeAgenticOperationKind;
1755
+ private humanizeAgenticArtifactKind;
1756
+ private humanizeAgenticChangeKind;
1757
+ private humanizeAgenticDecisionEvidence;
1758
+ private humanizeAgenticToken;
818
1759
  previewAgenticAuthoring(): Promise<void>;
819
1760
  submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
1761
+ private agenticQuickReplyVisiblePrompt;
1762
+ private agenticQuickReplySubmittedPrompt;
1763
+ private agenticQuickReplyClarificationConfirmationPrompt;
1764
+ private isHumanSafeResourceQuickReplyPrompt;
1765
+ private isGenericDataSourceQuickReplyPrompt;
1766
+ private isGenericGovernedConfirmationQuickReplyPrompt;
1767
+ private agenticQuickReplyGovernedConfirmationPrompt;
1768
+ private isResourceQuickReply;
1769
+ private isContextualPreviewActionQuickReply;
1770
+ private isGovernedConfirmationQuickReply;
1771
+ private isConfirmationQuickReply;
1772
+ private hasResourceContextHint;
1773
+ private describeResourceContext;
820
1774
  attachAgenticContext(): void;
821
1775
  addAgenticAttachments(attachments: readonly PraxisAssistantShellAttachment[]): void;
822
1776
  removeAgenticAttachment(attachment: PraxisAssistantShellAttachment): void;
823
1777
  editAgenticMessage(message: PraxisAssistantShellMessage): void;
824
1778
  resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
1779
+ retryAgenticAuthoring(): Promise<void>;
1780
+ cancelAgenticAuthoring(): Promise<void>;
825
1781
  persistAgenticAuthoring(): Promise<void>;
1782
+ ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
1783
+ simulateSharedRule(): Promise<DomainRuleSimulationResponse | null>;
1784
+ transitionSharedRuleDefinition(status: 'approved' | 'active'): Promise<DomainRuleDefinition | null>;
1785
+ publishSharedRule(): Promise<DomainRulePublicationResponse | null>;
1786
+ openSharedRuleEnforcementValidation(): Promise<SharedRuleEnforcementSummary | null>;
1787
+ runProjectKnowledgeChangeSetLifecycle(): Promise<DomainKnowledgeChangeSet | null>;
1788
+ createProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1789
+ validateProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeValidationResponse | null>;
1790
+ approveProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1791
+ rejectProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1792
+ applyProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1793
+ private refreshSharedRuleTimeline;
1794
+ private resolveDomainRuleService;
1795
+ private resolveDomainKnowledgeService;
1796
+ private createProjectKnowledgeChangeSet;
1797
+ private getProjectKnowledgeChangeSet;
1798
+ private validateProjectKnowledgeChangeSet;
1799
+ private getProjectKnowledgeChangeSetTimeline;
1800
+ private transitionProjectKnowledgeChangeSetStatus;
1801
+ private applyProjectKnowledgeChangeSet;
1802
+ private refreshProjectKnowledgeTimeline;
1803
+ private createSharedRuleDefinition;
1804
+ private simulateSharedRuleDefinition;
1805
+ private transitionSharedRuleDefinitionStatus;
1806
+ private publishSharedRuleDefinition;
1807
+ private listSharedRuleMaterializations;
1808
+ private getSharedRuleDefinitionTimeline;
1809
+ private resolveSharedRuleDefinitionId;
1810
+ private runSharedRuleCockpitAction;
1811
+ private clearSharedRuleCockpitState;
1812
+ private runProjectKnowledgeCockpitAction;
1813
+ private clearProjectKnowledgeCockpitState;
1814
+ private resolveProjectKnowledgeEvidenceCandidate;
1815
+ private createProjectKnowledgeChangeSetRequest;
1816
+ private slugifyProjectKnowledgeKey;
1817
+ private governedContinuationActionDomKey;
1818
+ private updateSharedRuleHandoff;
1819
+ private promoteSharedRuleHandoffFromQuickReply;
1820
+ private resolveSharedRuleQuickReplyRuleType;
1821
+ private resolveSharedRuleQuickReplyTargetLayer;
1822
+ private resolveSharedRuleKey;
1823
+ private resolveSharedRuleResourceKey;
1824
+ private resolveSharedRuleContextKey;
1825
+ private deriveResourceKeyFromPath;
1826
+ private deriveContextKeyFromPath;
1827
+ private resolveSharedRuleType;
1828
+ private normalizeSharedRuleType;
1829
+ private inferSharedRuleTypeFromHumanIntent;
1830
+ private summarizeSharedRuleEnforcement;
1831
+ private isAppliedSharedRuleProjection;
1832
+ private formatSharedRuleTargetLayer;
826
1833
  private loadAgenticComponentCapabilities;
827
1834
  private ensureAgenticTurnController;
828
1835
  private applyAgenticPreviewLocally;
829
1836
  private applyAgenticTurnState;
1837
+ private primeSharedRuleHandoff;
1838
+ private moveAgenticAuthoringPanelToReviewSidecar;
1839
+ private resolveAgenticSharedRuleHandoff;
1840
+ private resolveAgenticSharedRuleAssistantMessage;
1841
+ private resolveSharedRuleHandoffRuleType;
1842
+ private sameSharedRuleHandoff;
1843
+ private sameSharedRuleHandoffIdentity;
1844
+ private enrichSharedRuleHandoffFromIntake;
1845
+ private resolveSharedRuleHeaders;
1846
+ private consumeAgenticTurn;
1847
+ private isAgenticTurnTerminalState;
1848
+ agenticAuthoringDiagnosticsTop(): number;
1849
+ agenticAuthoringLlmDiagnosticsText(): string;
1850
+ private resolveAgenticLlmDiagnostics;
1851
+ private resolveAgenticSemanticDecision;
1852
+ private cloneAgenticContextHints;
1853
+ private resolveGovernedDomainContextSummary;
1854
+ private shouldShowGovernedDomainContext;
1855
+ private trimmedString;
1856
+ private toRecord;
830
1857
  private resolvePreviewCompiledFormPatch;
831
1858
  focusCanvasWidget(widgetKey: string): void;
832
1859
  private parsePage;
833
1860
  private clonePage;
1861
+ private clearSelectedWidgetIfMissing;
834
1862
  private defaultInputsFor;
1863
+ private applyWidgetIdentityDefaults;
835
1864
  private resolveAgenticComponentId;
836
1865
  private resolveSelectedWidgetKey;
1866
+ private resolveWidgetByKey;
1867
+ private resolveSelectedWidgetLabel;
1868
+ private describeSelectedWidgetContext;
1869
+ private resolveWidgetDisplayName;
837
1870
  private formatAgenticFailures;
838
1871
  private describeAgenticPreviewFailure;
839
1872
  private describeAgenticPreviewStatus;
1873
+ private isAgenticTableContractError;
840
1874
  private appendAgenticMessage;
841
1875
  private describeAgenticError;
842
1876
  private cloneValue;
843
1877
  tx(key: string, fallback: string): string;
844
1878
  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>;
1879
+ 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
1880
  }
847
1881
 
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 };
1882
+ 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 };
1883
+ 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 };