@praxisui/page-builder 8.0.0-beta.19 → 8.0.0-beta.20

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, ComponentAuthoringManifest, 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, WidgetInstance, WidgetPageStateInput, ComponentAuthoringManifest, DynamicWidgetPageComponent, SettingsPanelBridge, 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, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiJsonObject, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringConversationMessageContract, AiContextHintsContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamStartResponseContract, AgenticAuthoringTurnStreamEnvelopeContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
10
+ import { AgenticAuthoringPlanRequestContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AiJsonObject, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamStartResponseContract, AgenticAuthoringTurnStreamEnvelopeContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
11
11
 
12
12
  declare const PLACEHOLDER = 1;
13
13
 
@@ -50,27 +50,43 @@ declare class FloatingToolbarComponent {
50
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>;
51
51
  }
52
52
 
53
+ interface ComponentPaletteSelection {
54
+ componentId: string;
55
+ presetId?: string;
56
+ inputs?: Record<string, unknown>;
57
+ }
53
58
  interface ComponentPaletteData {
54
59
  title?: string;
55
60
  allowedWidgetIds?: string[];
56
61
  allowedWidgetTags?: string[];
57
62
  predicate?: (m: ComponentDocMeta) => boolean;
58
63
  }
64
+ interface ComponentPaletteEntry {
65
+ key: string;
66
+ componentId: string;
67
+ presetId?: string;
68
+ title: string;
69
+ description: string;
70
+ icon: string;
71
+ searchText: string;
72
+ inputs?: Record<string, unknown>;
73
+ }
59
74
  declare class ComponentPaletteDialogComponent implements OnInit {
60
75
  private dialogRef;
61
76
  private registry;
62
77
  data?: ComponentPaletteData | undefined;
63
78
  query: string;
64
79
  private all;
65
- filtered: _angular_core.Signal<ComponentDocMeta[]>;
80
+ filtered: _angular_core.Signal<ComponentPaletteEntry[]>;
66
81
  density: _angular_core.Signal<"roomy" | "dense" | "normal">;
67
- constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, string>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
82
+ constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, ComponentPaletteSelection>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
68
83
  ngOnInit(): void;
69
- select(id: string): void;
70
- trackById: (_: number, m: ComponentDocMeta) => string;
71
- getPreview(m: ComponentDocMeta): string;
84
+ select(entry: ComponentPaletteEntry): void;
85
+ trackById: (_: number, entry: ComponentPaletteEntry) => string;
86
+ getPreview(entry: ComponentPaletteEntry): string;
72
87
  private _adjustSizeEffect;
73
88
  private applyFilters;
89
+ private buildEntries;
74
90
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComponentPaletteDialogComponent, never>;
75
91
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComponentPaletteDialogComponent, "praxis-component-palette-dialog", never, {}, {}, never, never, true, never>;
76
92
  }
@@ -207,6 +223,539 @@ declare class WidgetShellEditorComponent implements SettingsValueProvider {
207
223
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetShellEditorComponent, "praxis-widget-shell-editor", never, {}, {}, never, never, true, never>;
208
224
  }
209
225
 
226
+ type ConnectionEditorPortKind = 'output' | 'input' | 'state';
227
+ interface ConnectionEditorPort {
228
+ id: string;
229
+ nodeId: string;
230
+ label: string;
231
+ kind: ConnectionEditorPortKind;
232
+ endpoint: EndpointRef;
233
+ nestedPath?: ComponentPortPathSegment[];
234
+ }
235
+ interface ConnectionEditorNode {
236
+ id: string;
237
+ title: string;
238
+ subtitle: string;
239
+ icon?: string;
240
+ x: number;
241
+ y: number;
242
+ rotationDegrees?: number;
243
+ portOrder?: string[];
244
+ outputs: ConnectionEditorPort[];
245
+ inputs: ConnectionEditorPort[];
246
+ states: ConnectionEditorPort[];
247
+ }
248
+ type ConnectionEditorDiagnosticSeverity = 'error' | 'warning';
249
+ type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared';
250
+ interface ConnectionEditorDiagnostic {
251
+ code: ConnectionEditorDiagnosticCode;
252
+ severity: ConnectionEditorDiagnosticSeverity;
253
+ endpoint: 'from' | 'to';
254
+ }
255
+ interface ConnectionEditorConnection {
256
+ id: string;
257
+ fromNode: string | null;
258
+ toNode: string | null;
259
+ fromLabel: string;
260
+ toLabel: string;
261
+ fromPort: ConnectionEditorPort | null;
262
+ toPort: ConnectionEditorPort | null;
263
+ intent: LinkIntent;
264
+ link: CompositionLink;
265
+ diagnostics: ConnectionEditorDiagnostic[];
266
+ }
267
+ interface ConnectionEditorGraph {
268
+ nodes: ConnectionEditorNode[];
269
+ connections: ConnectionEditorConnection[];
270
+ portById: Map<string, ConnectionEditorPort>;
271
+ portByEndpointKey: Map<string, ConnectionEditorPort>;
272
+ connectionToLink: Map<string, CompositionLink>;
273
+ diagnostics: ConnectionEditorDiagnostic[];
274
+ }
275
+ type ConnectionEditorSuggestionReason = 'row-selection-to-id' | 'state-to-input' | 'compatible-port';
276
+ interface ConnectionEditorSuggestion {
277
+ id: string;
278
+ source: ConnectionEditorPort;
279
+ target: ConnectionEditorPort;
280
+ sourceNodeTitle: string;
281
+ targetNodeTitle: string;
282
+ intent: LinkIntent;
283
+ reason: ConnectionEditorSuggestionReason;
284
+ score: number;
285
+ }
286
+
287
+ type ConnectionEditorTracePhase = 'emit' | 'condition' | 'transform' | 'deliver' | 'write' | 'read' | 'blocked';
288
+ interface ConnectionEditorTraceStep {
289
+ id: string;
290
+ order: number;
291
+ connectionId: string;
292
+ phase: ConnectionEditorTracePhase;
293
+ fromLabel: string;
294
+ toLabel: string;
295
+ intent: string;
296
+ blocked: boolean;
297
+ }
298
+
299
+ interface ConnectionsViewerNode {
300
+ widgetId: string;
301
+ componentType: string;
302
+ incomingCount: number;
303
+ outgoingCount: number;
304
+ }
305
+ interface ConnectionsViewerEdge {
306
+ id: string;
307
+ fromKind: CompositionLink['from']['kind'];
308
+ fromWidgetId: string | null;
309
+ fromEndpointId: string | null;
310
+ fromNestedPath: ComponentPortPathSegment[] | null;
311
+ fromPort: string | null;
312
+ toKind: CompositionLink['to']['kind'];
313
+ toWidgetId: string | null;
314
+ toEndpointId: string | null;
315
+ toNestedPath: ComponentPortPathSegment[] | null;
316
+ toPort: string | null;
317
+ toStatePath: string | null;
318
+ intent: CompositionLink['intent'];
319
+ hasCondition: boolean;
320
+ hasTransform: boolean;
321
+ hasPolicy: boolean;
322
+ hasDiagnostics: boolean;
323
+ diagnosticReasons: string[];
324
+ link: CompositionLink;
325
+ }
326
+ interface ConnectionsViewerModel {
327
+ nodes: ConnectionsViewerNode[];
328
+ edges: ConnectionsViewerEdge[];
329
+ totalLinks: number;
330
+ conditionLinks: number;
331
+ transformLinks: number;
332
+ policyLinks: number;
333
+ diagnosticLinks: number;
334
+ }
335
+
336
+ interface ConnectionEditorPoint {
337
+ x: number;
338
+ y: number;
339
+ }
340
+ interface ConnectionEditorSegmentGeometry {
341
+ port: ConnectionEditorPort;
342
+ path: string;
343
+ anchor: ConnectionEditorPoint;
344
+ label: ConnectionEditorPoint;
345
+ icon: ConnectionEditorPoint;
346
+ normalAngle: number;
347
+ color: string;
348
+ }
349
+
350
+ type ConnectionEditorPortOrderState = Record<string, string[]>;
351
+
352
+ type ConnectionsEditorFilter = 'all' | 'condition' | 'transform' | 'policy' | 'diagnostic';
353
+ type ConnectionEditorFlowMode = 'all' | 'data' | 'event' | 'capability' | 'simulation';
354
+ type ConnectionEditorDockTab = 'json' | 'links' | 'derived' | 'export';
355
+ type ConnectionEditorConditionPreset = 'source-present' | 'source-id-present';
356
+ type ConnectionEditorPolicyPreset = 'stable-delivery' | 'skip-missing';
357
+ interface DragState {
358
+ port: ConnectionEditorPort;
359
+ source: ConnectionEditorPoint;
360
+ pointer: ConnectionEditorPoint;
361
+ candidate: ConnectionEditorPort | null;
362
+ }
363
+ interface PendingSegmentState {
364
+ port: ConnectionEditorPort;
365
+ nodeId: string;
366
+ start: ConnectionEditorPoint;
367
+ source: ConnectionEditorPoint;
368
+ }
369
+ interface InvalidDropFeedbackState {
370
+ id: number;
371
+ source: ConnectionEditorPort;
372
+ target: ConnectionEditorPort | null;
373
+ point: ConnectionEditorPoint;
374
+ }
375
+ interface PanState {
376
+ startClientX: number;
377
+ startClientY: number;
378
+ originX: number;
379
+ originY: number;
380
+ }
381
+ interface MinimapPanState {
382
+ pointerId: number;
383
+ }
384
+ interface RotationState {
385
+ nodeId: string;
386
+ startAngle: number;
387
+ startRotation: number;
388
+ }
389
+ interface NodeDragState {
390
+ nodeId: string;
391
+ start: ConnectionEditorPoint;
392
+ originOffset: ConnectionEditorPoint;
393
+ moved: boolean;
394
+ }
395
+ interface ViewportState {
396
+ x: number;
397
+ y: number;
398
+ scale: number;
399
+ }
400
+ interface ConnectionEditorBounds {
401
+ x: number;
402
+ y: number;
403
+ width: number;
404
+ height: number;
405
+ }
406
+ interface ConnectionEditorTooltipPosition {
407
+ x: number;
408
+ y: number;
409
+ }
410
+ interface ConnectionEditorHistoryEntry {
411
+ before: WidgetPageDefinition;
412
+ after: WidgetPageDefinition;
413
+ selectedBefore: string | null;
414
+ selectedAfter: string | null;
415
+ }
416
+ interface ConnectionEditorDockTabDefinition {
417
+ id: ConnectionEditorDockTab;
418
+ label: string;
419
+ glyph: string;
420
+ }
421
+ declare class ConnectionEditorComponent {
422
+ readonly stateNodeId = "__page_state__";
423
+ readonly nodeViewBox = "0 0 168 168";
424
+ readonly canvasViewBox = "0 0 900 540";
425
+ readonly nodeHaloPaths: string[];
426
+ private readonly i18n;
427
+ private readonly hostElement;
428
+ readonly open: _angular_core.InputSignal<boolean>;
429
+ readonly page: _angular_core.InputSignal<WidgetPageDefinition | null | undefined>;
430
+ readonly pageChange: _angular_core.OutputEmitterRef<WidgetPageDefinition>;
431
+ readonly focusWidget: _angular_core.OutputEmitterRef<string>;
432
+ readonly openPageSettings: _angular_core.OutputEmitterRef<void>;
433
+ readonly activeMode: _angular_core.WritableSignal<ConnectionEditorFlowMode>;
434
+ readonly activeFilter: _angular_core.WritableSignal<ConnectionsEditorFilter>;
435
+ readonly selectedWidgetId: _angular_core.WritableSignal<string | null>;
436
+ readonly selectedLinkId: _angular_core.WritableSignal<string | null>;
437
+ readonly recentLinkId: _angular_core.WritableSignal<string | null>;
438
+ readonly hoveredLinkId: _angular_core.WritableSignal<string | null>;
439
+ readonly expandedNodeId: _angular_core.WritableSignal<string | null>;
440
+ readonly activeDockTab: _angular_core.WritableSignal<ConnectionEditorDockTab>;
441
+ readonly dockCollapsed: _angular_core.WritableSignal<boolean>;
442
+ readonly traceEnabled: _angular_core.WritableSignal<boolean>;
443
+ readonly traceStepIndex: _angular_core.WritableSignal<number>;
444
+ readonly traceSourceNodeId: _angular_core.WritableSignal<string | null>;
445
+ readonly selectedPort: _angular_core.WritableSignal<ConnectionEditorPort | null>;
446
+ readonly pendingSegmentState: _angular_core.WritableSignal<PendingSegmentState | null>;
447
+ readonly dragState: _angular_core.WritableSignal<DragState | null>;
448
+ readonly nodeDragState: _angular_core.WritableSignal<NodeDragState | null>;
449
+ readonly invalidDropFeedback: _angular_core.WritableSignal<InvalidDropFeedbackState | null>;
450
+ readonly panState: _angular_core.WritableSignal<PanState | null>;
451
+ readonly minimapPanState: _angular_core.WritableSignal<MinimapPanState | null>;
452
+ readonly rotationState: _angular_core.WritableSignal<RotationState | null>;
453
+ readonly viewport: _angular_core.WritableSignal<ViewportState>;
454
+ readonly portOrder: _angular_core.WritableSignal<ConnectionEditorPortOrderState>;
455
+ readonly nodeRotations: _angular_core.WritableSignal<Record<string, number>>;
456
+ readonly nodeOffsets: _angular_core.WritableSignal<Record<string, ConnectionEditorPoint>>;
457
+ readonly undoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
458
+ readonly redoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
459
+ private invalidDropFeedbackId;
460
+ private invalidDropFeedbackTimer;
461
+ private recentLinkFeedbackTimer;
462
+ private minimapPointerCaptureTarget;
463
+ private suppressedNodeClickId;
464
+ private readonly fitViewportOnOpen;
465
+ readonly filters: ({
466
+ id: "all";
467
+ label: string;
468
+ } | {
469
+ id: "condition";
470
+ label: string;
471
+ } | {
472
+ id: "transform";
473
+ label: string;
474
+ } | {
475
+ id: "policy";
476
+ label: string;
477
+ } | {
478
+ id: "diagnostic";
479
+ label: string;
480
+ })[];
481
+ readonly flowModes: ({
482
+ id: "all";
483
+ label: string;
484
+ glyph: string;
485
+ } | {
486
+ id: "data";
487
+ label: string;
488
+ glyph: string;
489
+ } | {
490
+ id: "event";
491
+ label: string;
492
+ glyph: string;
493
+ } | {
494
+ id: "capability";
495
+ label: string;
496
+ glyph: string;
497
+ } | {
498
+ id: "simulation";
499
+ label: string;
500
+ glyph: string;
501
+ })[];
502
+ readonly dockTabs: ({
503
+ id: "json";
504
+ label: string;
505
+ glyph: string;
506
+ } | {
507
+ id: "links";
508
+ label: string;
509
+ glyph: string;
510
+ } | {
511
+ id: "derived";
512
+ label: string;
513
+ glyph: string;
514
+ } | {
515
+ id: "export";
516
+ label: string;
517
+ glyph: string;
518
+ })[];
519
+ readonly model: _angular_core.Signal<ConnectionsViewerModel>;
520
+ readonly selectedNode: _angular_core.Signal<ConnectionsViewerNode | null>;
521
+ readonly visibleEdges: _angular_core.Signal<ConnectionsViewerEdge[]>;
522
+ readonly selectedEdge: _angular_core.Signal<ConnectionsViewerEdge | null>;
523
+ readonly editorGraph: _angular_core.Signal<ConnectionEditorGraph>;
524
+ readonly editorNodes: _angular_core.Signal<ConnectionEditorNode[]>;
525
+ readonly navigationBounds: _angular_core.Signal<ConnectionEditorBounds>;
526
+ readonly minimapViewBox: _angular_core.Signal<string>;
527
+ readonly editorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
528
+ readonly canvasEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
529
+ readonly visibleEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
530
+ readonly modeMatchedConnectionIds: _angular_core.Signal<Set<string>>;
531
+ readonly modeMatchedNodeIds: _angular_core.Signal<Set<string>>;
532
+ readonly modeMatchedPortIds: _angular_core.Signal<Set<string>>;
533
+ readonly smartSuggestions: _angular_core.Signal<ConnectionEditorSuggestion[]>;
534
+ readonly traceSteps: _angular_core.Signal<ConnectionEditorTraceStep[]>;
535
+ readonly activeTraceStepIndex: _angular_core.Signal<number>;
536
+ readonly traceActiveStep: _angular_core.Signal<ConnectionEditorTraceStep>;
537
+ readonly tracedConnectionIds: _angular_core.Signal<Set<string>>;
538
+ readonly traceProgressPercent: _angular_core.Signal<number>;
539
+ readonly traceProgressLabel: _angular_core.Signal<string>;
540
+ readonly traceSourceNodeIds: _angular_core.Signal<Set<string>>;
541
+ readonly traceReactingNodeIds: _angular_core.Signal<Set<string>>;
542
+ readonly focusedConnectionNodeIds: _angular_core.Signal<Set<string>>;
543
+ readonly focusedConnectionPortIds: _angular_core.Signal<Set<string>>;
544
+ readonly diagnosticConnectionIds: _angular_core.Signal<Set<string>>;
545
+ readonly diagnosticLinkCount: _angular_core.Signal<number>;
546
+ readonly selectedEditorNode: _angular_core.Signal<ConnectionEditorNode | null>;
547
+ readonly selectedConnection: _angular_core.Signal<ConnectionEditorConnection | null>;
548
+ readonly connectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
549
+ readonly canvasInteractionActive: _angular_core.Signal<boolean>;
550
+ readonly visibleConnectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
551
+ readonly visibleExpandedNodeId: _angular_core.Signal<string | null>;
552
+ readonly canUndo: _angular_core.Signal<boolean>;
553
+ readonly canRedo: _angular_core.Signal<boolean>;
554
+ readonly hasVisualPortOrder: _angular_core.Signal<boolean>;
555
+ readonly dragPreviewPath: _angular_core.Signal<string>;
556
+ readonly dragTargetPoint: _angular_core.Signal<ConnectionEditorPoint>;
557
+ readonly dragTipPosition: _angular_core.Signal<{
558
+ x: number;
559
+ y: number;
560
+ }>;
561
+ readonly invalidDropPosition: _angular_core.Signal<{
562
+ x: number;
563
+ y: number;
564
+ }>;
565
+ readonly invalidDropTipPosition: _angular_core.Signal<{
566
+ x: number;
567
+ y: number;
568
+ }>;
569
+ readonly dragEndpointText: _angular_core.Signal<string>;
570
+ readonly invalidDropEndpointText: _angular_core.Signal<string>;
571
+ readonly dragStatusText: _angular_core.Signal<string>;
572
+ readonly invalidDropStatusText: _angular_core.Signal<string>;
573
+ readonly viewportTransform: _angular_core.Signal<string>;
574
+ readonly minimapViewport: _angular_core.Signal<{
575
+ x: number;
576
+ y: number;
577
+ width: number;
578
+ height: number;
579
+ }>;
580
+ selectNode(nodeId: string): void;
581
+ selectSegment(port: ConnectionEditorPort, event: MouseEvent): void;
582
+ selectWidget(node: ConnectionsViewerNode): void;
583
+ selectLink(edge: ConnectionsViewerEdge): void;
584
+ selectConnection(connection: ConnectionEditorConnection): void;
585
+ jumpToConnection(connection: ConnectionEditorConnection, event: Event): void;
586
+ previewConnection(connection: ConnectionEditorConnection): void;
587
+ clearPreviewConnection(connection: ConnectionEditorConnection): void;
588
+ handleEditorKeydown(event: KeyboardEvent): void;
589
+ setFilter(filter: ConnectionsEditorFilter): void;
590
+ setMode(mode: ConnectionEditorFlowMode): void;
591
+ activeModeStatus(): string;
592
+ setDockTab(tab: ConnectionEditorDockTab): void;
593
+ handleDockTabKeydown(event: KeyboardEvent, tab: ConnectionEditorDockTab): void;
594
+ toggleDock(): void;
595
+ toggleTrace(event: Event): void;
596
+ selectTraceSource(nodeId: string | null, event: Event): void;
597
+ moveTraceStep(delta: -1 | 1, event: Event): void;
598
+ selectTraceStep(index: number, event: Event): void;
599
+ quickConnectSuggestion(suggestion: ConnectionEditorSuggestion, event: Event): void;
600
+ startDrag(port: ConnectionEditorPort, event: PointerEvent): void;
601
+ startSegmentDrag(port: ConnectionEditorPort, event: PointerEvent): void;
602
+ updatePendingSegment(event: PointerEvent): void;
603
+ updateDrag(event: PointerEvent): void;
604
+ startNodeDrag(nodeId: string, event: PointerEvent): void;
605
+ updateNodeDrag(event: PointerEvent): void;
606
+ stopNodeDrag(): void;
607
+ finishNodePointer(nodeId: string, event: PointerEvent): void;
608
+ closeFloatingPanelsOnOutsidePointerDown(event: PointerEvent): void;
609
+ previewDrop(target: ConnectionEditorPort): void;
610
+ clearPreviewDrop(target: ConnectionEditorPort): void;
611
+ completeDrag(target: ConnectionEditorPort, event: PointerEvent): void;
612
+ cancelDrag(event?: PointerEvent): void;
613
+ cancelPendingSegment(): void;
614
+ startPan(event: PointerEvent): void;
615
+ updatePan(event: PointerEvent): void;
616
+ stopPan(): void;
617
+ startMinimapPan(event: PointerEvent): void;
618
+ updateMinimapPan(event: PointerEvent): void;
619
+ stopMinimapPan(): void;
620
+ startNodeRotation(nodeId: string, event: PointerEvent): void;
621
+ updateRotation(event: PointerEvent): void;
622
+ stopRotation(): void;
623
+ zoomCanvas(event: WheelEvent): void;
624
+ zoomBy(delta: number, event: Event): void;
625
+ resetViewport(event?: Event): void;
626
+ autoArrange(event: Event): void;
627
+ reorganizeSlices(event: Event): void;
628
+ isCompatibleDrop(target: ConnectionEditorPort): boolean;
629
+ isCompatibilityPreview(target: ConnectionEditorPort): boolean;
630
+ isDropCandidate(target: ConnectionEditorPort): boolean;
631
+ isDragSource(port: ConnectionEditorPort): boolean;
632
+ isIncompatibleDrop(target: ConnectionEditorPort): boolean;
633
+ nodeHasCompatiblePreviewPort(node: ConnectionEditorNode): boolean;
634
+ isInvalidDropFeedbackTarget(target: ConnectionEditorPort): boolean;
635
+ removeLink(linkId: string): void;
636
+ undoHistory(event: Event): void;
637
+ redoHistory(event: Event): void;
638
+ enableTransform(connection: ConnectionEditorConnection, event: Event): void;
639
+ addTransformStep(connection: ConnectionEditorConnection, kind: TransformKind, event: Event): void;
640
+ removeTransformStep(connection: ConnectionEditorConnection, index: number, event: Event): void;
641
+ clearTransform(connection: ConnectionEditorConnection, event: Event): void;
642
+ applyConditionPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorConditionPreset, event: Event): void;
643
+ clearCondition(connection: ConnectionEditorConnection, event: Event): void;
644
+ applyPolicyPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorPolicyPreset, event: Event): void;
645
+ clearPolicy(connection: ConnectionEditorConnection, event: Event): void;
646
+ nodeSegments(node: ConnectionEditorNode): ConnectionEditorSegmentGeometry[];
647
+ nodeSvgRotation(node: ConnectionEditorNode): string | null;
648
+ segmentLabelTransform(segment: ConnectionEditorSegmentGeometry, node: ConnectionEditorNode): string;
649
+ nodeRotationHandleTransform(node: ConnectionEditorNode): string;
650
+ segmentDisplayLabel(label: string): string;
651
+ segmentKindGlyph(kind: ConnectionEditorPortKind): string;
652
+ nodeIcon(node: ConnectionEditorNode): string;
653
+ dockTabLabel(tab: ConnectionEditorDockTabDefinition): string;
654
+ dockTabId(tab: ConnectionEditorDockTab): string;
655
+ dockPanelId(tab: ConnectionEditorDockTab): string;
656
+ dockToggleLabel(): string;
657
+ segmentKindText(kind: ConnectionEditorPortKind): string;
658
+ connectionHasErrors(connection: ConnectionEditorConnection): boolean;
659
+ connectionHasWarnings(connection: ConnectionEditorConnection): boolean;
660
+ connectionHasPolicy(connection: ConnectionEditorConnection): boolean;
661
+ connectionMatchesMode(connection: ConnectionEditorConnection): boolean;
662
+ hasModeFocus(): boolean;
663
+ isModeDimmedConnection(connection: ConnectionEditorConnection): boolean;
664
+ isModeDimmedNode(node: ConnectionEditorNode): boolean;
665
+ isModeDimmedPort(port: ConnectionEditorPort): boolean;
666
+ edgeMatchesMode(edge: ConnectionsViewerEdge): boolean;
667
+ isNodeFocusedByConnection(node: ConnectionEditorNode): boolean;
668
+ isPortFocusedByConnection(port: ConnectionEditorPort): boolean;
669
+ isTracedConnection(connection: ConnectionEditorConnection): boolean;
670
+ isTraceSourceNode(node: ConnectionEditorNode): boolean;
671
+ isTraceReactingNode(node: ConnectionEditorNode): boolean;
672
+ traceNodeLabel(node: ConnectionEditorNode): string | null;
673
+ tracePhaseText(phase: ConnectionEditorTracePhase): string;
674
+ diagnosticSeverityLabel(diagnostic: ConnectionEditorDiagnostic): string;
675
+ diagnosticText(diagnostic: ConnectionEditorDiagnostic): string;
676
+ suggestionReasonText(reason: ConnectionEditorSuggestionReason): string;
677
+ transformKindText(kind: TransformKind): string;
678
+ expandedPorts(node: ConnectionEditorNode): ConnectionEditorPort[];
679
+ movePort(node: ConnectionEditorNode, port: ConnectionEditorPort, direction: -1 | 1, event: Event): void;
680
+ toggleSegments(node: ConnectionEditorNode, event: Event): void;
681
+ wirePath(connection: ConnectionEditorConnection): string;
682
+ wireSourcePoint(connection: ConnectionEditorConnection): {
683
+ x: number;
684
+ y: number;
685
+ } | null;
686
+ wireTargetPoint(connection: ConnectionEditorConnection): {
687
+ x: number;
688
+ y: number;
689
+ } | null;
690
+ wireRoutePoint(connection: ConnectionEditorConnection, key: 'sourceStub' | 'sourceControl' | 'targetControl' | 'targetStub' | 'midpoint'): {
691
+ x: number;
692
+ y: number;
693
+ } | null;
694
+ wireLabelTransform(connection: ConnectionEditorConnection, endpoint: 'source' | 'target'): string;
695
+ minimapWirePath(connection: ConnectionEditorConnection): string;
696
+ connectionTooltipPosition(connection: ConnectionEditorConnection): ConnectionEditorTooltipPosition;
697
+ connectionTooltipCalloutX(connection: ConnectionEditorConnection): number;
698
+ connectionTooltipKind(connection: ConnectionEditorConnection): string;
699
+ dockJson(): WidgetPageDefinition | null | undefined;
700
+ dockLinks(): unknown[];
701
+ dockDerived(): unknown;
702
+ dockExport(): unknown;
703
+ describeEdge(edge: ConnectionsViewerEdge): string;
704
+ edgeHasDiagnostics(edge: ConnectionsViewerEdge): boolean;
705
+ edgeDiagnostics(edge: ConnectionsViewerEdge): unknown[];
706
+ describeSource(edge: ConnectionsViewerEdge): string;
707
+ describeTarget(edge: ConnectionsViewerEdge): string;
708
+ tx(key: string, fallback: string): string;
709
+ private addLink;
710
+ private setConnectionTransform;
711
+ private setConnectionCondition;
712
+ private setConnectionPolicy;
713
+ private updateConnectionLink;
714
+ private commitPageChange;
715
+ private defaultTransformPipeline;
716
+ private createTransformStep;
717
+ private createConditionPreset;
718
+ private createPolicyPreset;
719
+ private applyNodeRotation;
720
+ private nodeRotationHandlePoint;
721
+ private applyNodeOffset;
722
+ private compatibilitySourcePort;
723
+ private intentMatchesMode;
724
+ private clonePage;
725
+ private pagesEqual;
726
+ private anchorForPort;
727
+ private showInvalidDropFeedback;
728
+ private clearInvalidDropFeedback;
729
+ private markRecentLink;
730
+ private clearPreviewConnectionState;
731
+ private shouldIgnoreEditorShortcut;
732
+ private scrollActiveModeIntoView;
733
+ private focusDockTab;
734
+ private portQualifiedLabel;
735
+ private stagePointFromEvent;
736
+ private rotationAngleForNode;
737
+ private snapDegrees;
738
+ private portIndexAtPoint;
739
+ private previewWirePath;
740
+ private formatPoint;
741
+ private labelPointBetween;
742
+ private connectionTooltipAnchor;
743
+ private applyZoom;
744
+ private centerViewportOnMinimapEvent;
745
+ private minimapPointFromEvent;
746
+ private fitViewportState;
747
+ private clampViewport;
748
+ private connectionEditorNavigationBounds;
749
+ private stageClientSize;
750
+ private stageRect;
751
+ private shouldIgnorePanTarget;
752
+ private shouldIgnoreNodeDragTarget;
753
+ private isFloatingPanelInteractionTarget;
754
+ private clamp;
755
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectionEditorComponent, never>;
756
+ 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>;
757
+ }
758
+
210
759
  type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state';
211
760
  type DeviceKey = 'desktop' | 'tablet' | 'mobile';
212
761
  type GroupingNodeGroup$1 = FormGroup<{
@@ -545,7 +1094,50 @@ interface PageBuilderAgenticAuthoringOptions {
545
1094
  baseUrl?: string;
546
1095
  headersFactory?: () => Record<string, string | undefined>;
547
1096
  defaultHeaders?: Record<string, string>;
1097
+ createProjectKnowledgeChangeSet?: (request: DomainKnowledgeChangeSetRequest, options?: {
1098
+ headers?: Record<string, string> | undefined;
1099
+ }) => Observable<DomainKnowledgeChangeSet>;
1100
+ getProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1101
+ headers?: Record<string, string> | undefined;
1102
+ }) => Observable<DomainKnowledgeChangeSet>;
1103
+ getProjectKnowledgeChangeSetTimeline?: (changeSetId: string, options?: {
1104
+ headers?: Record<string, string> | undefined;
1105
+ }) => Observable<DomainKnowledgeChangeSetTimelineResponse>;
1106
+ listProjectKnowledgeChangeSets?: (filters: DomainKnowledgeChangeSetFilters, options?: {
1107
+ headers?: Record<string, string> | undefined;
1108
+ }) => Observable<DomainKnowledgeChangeSet[]>;
1109
+ validateProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1110
+ headers?: Record<string, string> | undefined;
1111
+ }) => Observable<DomainKnowledgeValidationResponse>;
1112
+ transitionProjectKnowledgeChangeSetStatus?: (changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: {
1113
+ headers?: Record<string, string> | undefined;
1114
+ }) => Observable<DomainKnowledgeChangeSet>;
1115
+ applyProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
1116
+ headers?: Record<string, string> | undefined;
1117
+ }) => Observable<DomainKnowledgeChangeSet>;
1118
+ sharedRuleIntake?: (request: DomainRuleIntakeRequest, options?: {
1119
+ headers?: Record<string, string> | undefined;
1120
+ }) => Observable<DomainRuleIntakeResponse>;
1121
+ sharedRuleCreateDefinition?: (request: DomainRuleDefinitionRequest, options?: {
1122
+ headers?: Record<string, string> | undefined;
1123
+ }) => Observable<DomainRuleDefinition>;
1124
+ sharedRuleSimulate?: (request: DomainRuleSimulationRequest, options?: {
1125
+ headers?: Record<string, string> | undefined;
1126
+ }) => Observable<DomainRuleSimulationResponse>;
1127
+ sharedRuleTransitionDefinitionStatus?: (definitionId: string, request: DomainRuleStatusTransitionRequest, options?: {
1128
+ headers?: Record<string, string> | undefined;
1129
+ }) => Observable<DomainRuleDefinition>;
1130
+ sharedRulePublish?: (request: DomainRulePublicationRequest, options?: {
1131
+ headers?: Record<string, string> | undefined;
1132
+ }) => Observable<DomainRulePublicationResponse>;
1133
+ sharedRuleListMaterializations?: (filters: DomainRuleMaterializationFilters, options?: {
1134
+ headers?: Record<string, string> | undefined;
1135
+ }) => Observable<DomainRuleMaterialization[]>;
1136
+ sharedRuleGetDefinitionTimeline?: (definitionId: string, options?: {
1137
+ headers?: Record<string, string> | undefined;
1138
+ }) => Observable<DomainRuleTimelineResponse>;
548
1139
  eventSourceFactory?: PageBuilderAgenticAuthoringEventSourceFactory;
1140
+ streamStartTimeoutMs?: number;
549
1141
  streamConnectionErrorGraceMs?: number;
550
1142
  }
551
1143
  interface PageBuilderAgenticAuthoringEventSource {
@@ -676,6 +1268,7 @@ interface PageBuilderAgenticAuthoringIntentResolutionResult {
676
1268
  warnings: string[];
677
1269
  failureCodes: string[];
678
1270
  currentPageSummary: unknown;
1271
+ contextHints?: AiContextHintsContract | null;
679
1272
  llmDiagnostics?: AiJsonObject | null;
680
1273
  }
681
1274
  interface PageBuilderMinimalFormPlanResult {
@@ -699,6 +1292,25 @@ interface PageBuilderPreviewDiagnostics {
699
1292
  operationKind?: string;
700
1293
  changeKind?: string;
701
1294
  fieldScopeDecision?: string;
1295
+ projectKnowledgeAudit?: PageBuilderProjectKnowledgeAudit | null;
1296
+ }
1297
+ interface PageBuilderProjectKnowledgeAudit {
1298
+ schemaVersion?: string;
1299
+ source?: string;
1300
+ influenceCount?: number;
1301
+ citedCount?: number;
1302
+ uncitedCount?: number;
1303
+ citationPolicy?: string;
1304
+ entries?: Array<{
1305
+ knowledgeId?: string;
1306
+ conceptKey?: string;
1307
+ kind?: string;
1308
+ visibility?: string;
1309
+ influence?: string;
1310
+ sourceSummary?: string;
1311
+ cited?: boolean;
1312
+ sourceRefs?: string[];
1313
+ }>;
702
1314
  }
703
1315
  interface PageBuilderPreviewResult {
704
1316
  valid: boolean;
@@ -746,12 +1358,15 @@ declare class PageBuilderAgenticAuthoringService {
746
1358
  applyPage(request: PageBuilderApplyRequest): Observable<PageBuilderApplyResult>;
747
1359
  private buildHeaders;
748
1360
  private connectTurnStream;
1361
+ private streamStartTimeoutMs;
749
1362
  private streamConnectionError;
750
1363
  private buildStreamUrl;
751
1364
  private buildStreamProbeUrl;
752
1365
  private createEventSource;
753
1366
  private probeTurnStreamEndpoint;
754
1367
  private formatEtag;
1368
+ private normalizeIntentResolutionResult;
1369
+ private normalizeStringList;
755
1370
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageBuilderAgenticAuthoringService, never>;
756
1371
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
757
1372
  }
@@ -816,16 +1431,80 @@ declare function providePageBuilderWidgetAiCatalogs(): Provider;
816
1431
 
817
1432
  declare const PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST: ComponentAuthoringManifest;
818
1433
 
1434
+ type PageBuilderGovernedContinuationFamily = 'shared-rule' | 'project-knowledge';
1435
+ 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';
1436
+ 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';
1437
+ interface PageBuilderGovernedContinuationTarget {
1438
+ artifactType: 'domain-rule-definition' | 'domain-knowledge-change-set' | 'materialization' | 'timeline';
1439
+ id?: string | null;
1440
+ key?: string | null;
1441
+ resourceKey?: string | null;
1442
+ contextKey?: string | null;
1443
+ }
1444
+ interface PageBuilderGovernedContinuationAction {
1445
+ kind: PageBuilderGovernedContinuationActionKind;
1446
+ family: PageBuilderGovernedContinuationFamily;
1447
+ enabled: boolean;
1448
+ blockedReason?: PageBuilderGovernedContinuationBlockedReason;
1449
+ labelKey: string;
1450
+ labelFallback: string;
1451
+ descriptionKey: string;
1452
+ descriptionFallback: string;
1453
+ target?: PageBuilderGovernedContinuationTarget;
1454
+ }
1455
+
819
1456
  interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
820
1457
  kind: string;
821
1458
  }
1459
+ type SharedRuleCockpitAction = 'definition' | 'simulation' | 'approve' | 'activate' | 'publication' | 'materializations' | 'timeline' | 'enforcement';
1460
+ type ProjectKnowledgeCockpitAction = 'change-set' | 'validate' | 'approve' | 'reject' | 'apply' | 'readback';
1461
+ interface SharedRuleEnforcementSummary {
1462
+ status: 'ready' | 'waiting' | 'unavailable';
1463
+ targetLayers: string[];
1464
+ targetArtifacts: string[];
1465
+ projections: SharedRuleEnforcementProjection[];
1466
+ appliedCount: number;
1467
+ pendingCount: number;
1468
+ sourceHashes: string[];
1469
+ }
1470
+ interface SharedRuleEnforcementProjection {
1471
+ targetLayer: string;
1472
+ targetLayerLabel: string;
1473
+ status: 'ready' | 'waiting';
1474
+ targetArtifact: string;
1475
+ sourceHash: string | null;
1476
+ }
1477
+ interface PageBuilderAgenticAuthoringSharedRuleHandoff {
1478
+ endpoint: string;
1479
+ flowId: 'shared_rule_authoring';
1480
+ intakeEndpoint?: string | null;
1481
+ intakeId?: string | null;
1482
+ intakeStatus?: string | null;
1483
+ nextEndpoint?: string | null;
1484
+ ruleDefinitionId?: string | null;
1485
+ ruleKey?: string | null;
1486
+ recommendedRuleType?: string | null;
1487
+ targetLayer?: string | null;
1488
+ sourcePrompt: string;
1489
+ assistantMessage: string;
1490
+ resourcePath?: string | null;
1491
+ resourceKey?: string | null;
1492
+ contextKey?: string | null;
1493
+ routeGateStatus?: string | null;
1494
+ routeFailureCode?: string | null;
1495
+ routeDecisionSource?: string | null;
1496
+ previewDisposition?: string | null;
1497
+ }
822
1498
  declare class DynamicPageBuilderComponent implements OnChanges {
823
1499
  private dialog;
824
1500
  private settingsPanel;
825
1501
  private readonly i18n;
1502
+ private readonly injector;
826
1503
  private readonly componentMetadata;
827
1504
  private readonly agenticAuthoring;
828
1505
  private readonly agenticTurnOrchestrator;
1506
+ private readonly assistantSessions;
1507
+ private readonly agenticAuthoringOptions;
829
1508
  runtime?: DynamicWidgetPageComponent;
830
1509
  page?: WidgetPageDefinition | string;
831
1510
  context?: Record<string, unknown> | null;
@@ -845,8 +1524,10 @@ declare class DynamicPageBuilderComponent implements OnChanges {
845
1524
  agenticAuthoringEtag?: string;
846
1525
  agenticAuthoringIncludeLlmDiagnostics: boolean;
847
1526
  agenticAuthoringEnableStreaming: boolean;
1527
+ agenticAuthoringContextHints?: Record<string, unknown> | null;
848
1528
  pageChange: EventEmitter<WidgetPageDefinition>;
849
1529
  agenticAuthoringApplied: EventEmitter<PageBuilderApplyResult>;
1530
+ agenticAuthoringSharedRuleHandoff: EventEmitter<PageBuilderAgenticAuthoringSharedRuleHandoff>;
850
1531
  readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
851
1532
  readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
852
1533
  readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
@@ -859,28 +1540,73 @@ declare class DynamicPageBuilderComponent implements OnChanges {
859
1540
  readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
860
1541
  readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
861
1542
  readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
1543
+ readonly agenticAuthoringSharedRuleHandoffState: _angular_core.WritableSignal<PageBuilderAgenticAuthoringSharedRuleHandoff | null>;
1544
+ readonly sharedRuleCockpitBusyAction: _angular_core.WritableSignal<SharedRuleCockpitAction | null>;
1545
+ readonly sharedRuleCockpitError: _angular_core.WritableSignal<string>;
1546
+ readonly sharedRuleCockpitDefinition: _angular_core.WritableSignal<DomainRuleDefinition | null>;
1547
+ readonly sharedRuleCockpitSimulation: _angular_core.WritableSignal<DomainRuleSimulationResponse | null>;
1548
+ readonly sharedRuleCockpitTimeline: _angular_core.WritableSignal<DomainRuleTimelineResponse | null>;
1549
+ readonly sharedRuleCockpitPublication: _angular_core.WritableSignal<DomainRulePublicationResponse | null>;
1550
+ readonly sharedRuleCockpitMaterializations: _angular_core.WritableSignal<DomainRuleMaterialization[]>;
1551
+ readonly sharedRuleCockpitEnforcement: _angular_core.WritableSignal<SharedRuleEnforcementSummary | null>;
1552
+ readonly projectKnowledgeCockpitBusyAction: _angular_core.WritableSignal<ProjectKnowledgeCockpitAction | null>;
1553
+ readonly projectKnowledgeCockpitError: _angular_core.WritableSignal<string>;
1554
+ readonly projectKnowledgeCockpitChangeSet: _angular_core.WritableSignal<DomainKnowledgeChangeSet | null>;
1555
+ readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
1556
+ readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
862
1557
  readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
1558
+ readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
1559
+ readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
1560
+ readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
863
1561
  readonly agenticAuthoringEditingMessageId: _angular_core.WritableSignal<string | null>;
864
1562
  readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
865
1563
  private previewMode;
866
1564
  private agenticComponentCapabilities?;
867
1565
  private agenticComponentCapabilitiesPromise?;
868
1566
  private agenticTurnController?;
1567
+ private sharedRuleHandoffRevision;
869
1568
  constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
870
1569
  ngOnChanges(changes: SimpleChanges): void;
871
1570
  showSettings(): boolean;
872
1571
  onRuntimePageChange(next: WidgetPageDefinition): void;
1572
+ onConnectionEditorPageChange(next: WidgetPageDefinition): void;
873
1573
  togglePreview(): void;
1574
+ toggleAgenticAuthoringLlmDiagnostics(): void;
1575
+ toggleSharedRuleCockpit(): void;
1576
+ toggleProjectKnowledgeCockpit(): void;
874
1577
  toggleConnectionsViewer(): void;
875
1578
  onAddComponent(): void;
876
- addWidget(type: string): void;
1579
+ addWidget(selection: string | ComponentPaletteSelection): void;
877
1580
  openPageSettings(): void;
878
1581
  saveCurrentPage(): void;
879
1582
  applyConfigFromAdapter(config: PageBuilderConfig): void;
880
1583
  private createAdapterHost;
881
1584
  toggleAgenticAuthoring(): void;
1585
+ openAgenticAuthoring(): void;
1586
+ openAgenticAuthoringFromSession(session: PraxisAssistantSessionSnapshot): void;
1587
+ minimizeAgenticAuthoring(): void;
1588
+ showAgenticAuthoringDock(): boolean;
882
1589
  agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
1590
+ agenticAuthoringDockIcon(): string;
1591
+ agenticAuthoringDockBadge(): string;
1592
+ agenticAuthoringDockSummary(): string;
883
1593
  agenticAuthoringShellState(): PraxisAssistantShellState;
1594
+ private hasAgenticAuthoringSession;
1595
+ private syncAgenticAuthoringSession;
1596
+ private resolveAgenticAuthoringSessionId;
1597
+ private truncateAgenticDockText;
1598
+ agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
1599
+ canRunProjectKnowledgeChangeSet(): boolean;
1600
+ sharedRuleGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1601
+ projectKnowledgeGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
1602
+ trackGovernedContinuationAction(_index: number, action: PageBuilderGovernedContinuationAction): string;
1603
+ trackSharedRuleEnforcementProjection(index: number, projection: SharedRuleEnforcementProjection): string;
1604
+ governedContinuationActionTestId(action: PageBuilderGovernedContinuationAction): string;
1605
+ governedContinuationActionTooltip(action: PageBuilderGovernedContinuationAction): string;
1606
+ projectKnowledgeTimelineItems(): RichTimelineItem[];
1607
+ trackProjectKnowledgeTimelineItem(index: number, item: RichTimelineItem): string;
1608
+ runSharedRuleGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
1609
+ runProjectKnowledgeGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
884
1610
  agenticAuthoringContextItems(): PraxisAssistantShellContextItem[];
885
1611
  previewAgenticAuthoring(): Promise<void>;
886
1612
  submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
@@ -893,14 +1619,76 @@ declare class DynamicPageBuilderComponent implements OnChanges {
893
1619
  editAgenticMessage(message: PraxisAssistantShellMessage): void;
894
1620
  resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
895
1621
  persistAgenticAuthoring(): Promise<void>;
1622
+ ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
1623
+ simulateSharedRule(): Promise<DomainRuleSimulationResponse | null>;
1624
+ transitionSharedRuleDefinition(status: 'approved' | 'active'): Promise<DomainRuleDefinition | null>;
1625
+ publishSharedRule(): Promise<DomainRulePublicationResponse | null>;
1626
+ openSharedRuleEnforcementValidation(): Promise<SharedRuleEnforcementSummary | null>;
1627
+ runProjectKnowledgeChangeSetLifecycle(): Promise<DomainKnowledgeChangeSet | null>;
1628
+ createProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1629
+ validateProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeValidationResponse | null>;
1630
+ approveProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1631
+ rejectProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1632
+ applyProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
1633
+ private refreshSharedRuleTimeline;
1634
+ private resolveDomainRuleService;
1635
+ private resolveDomainKnowledgeService;
1636
+ private createProjectKnowledgeChangeSet;
1637
+ private getProjectKnowledgeChangeSet;
1638
+ private validateProjectKnowledgeChangeSet;
1639
+ private getProjectKnowledgeChangeSetTimeline;
1640
+ private transitionProjectKnowledgeChangeSetStatus;
1641
+ private applyProjectKnowledgeChangeSet;
1642
+ private refreshProjectKnowledgeTimeline;
1643
+ private createSharedRuleDefinition;
1644
+ private simulateSharedRuleDefinition;
1645
+ private transitionSharedRuleDefinitionStatus;
1646
+ private publishSharedRuleDefinition;
1647
+ private listSharedRuleMaterializations;
1648
+ private getSharedRuleDefinitionTimeline;
1649
+ private resolveSharedRuleDefinitionId;
1650
+ private runSharedRuleCockpitAction;
1651
+ private clearSharedRuleCockpitState;
1652
+ private runProjectKnowledgeCockpitAction;
1653
+ private clearProjectKnowledgeCockpitState;
1654
+ private resolveProjectKnowledgeEvidenceCandidate;
1655
+ private createProjectKnowledgeChangeSetRequest;
1656
+ private slugifyProjectKnowledgeKey;
1657
+ private governedContinuationActionDomKey;
1658
+ private updateSharedRuleHandoff;
1659
+ private promoteSharedRuleHandoffFromQuickReply;
1660
+ private resolveSharedRuleQuickReplyRuleType;
1661
+ private resolveSharedRuleQuickReplyTargetLayer;
1662
+ private resolveSharedRuleKey;
1663
+ private resolveSharedRuleResourceKey;
1664
+ private resolveSharedRuleContextKey;
1665
+ private deriveResourceKeyFromPath;
1666
+ private deriveContextKeyFromPath;
1667
+ private resolveSharedRuleType;
1668
+ private normalizeSharedRuleType;
1669
+ private inferSharedRuleTypeFromHumanIntent;
1670
+ private summarizeSharedRuleEnforcement;
1671
+ private isAppliedSharedRuleProjection;
1672
+ private formatSharedRuleTargetLayer;
896
1673
  private loadAgenticComponentCapabilities;
897
1674
  private ensureAgenticTurnController;
898
1675
  private applyAgenticPreviewLocally;
899
1676
  private applyAgenticTurnState;
1677
+ private primeSharedRuleHandoff;
1678
+ private resolveAgenticSharedRuleHandoff;
1679
+ private resolveAgenticSharedRuleAssistantMessage;
1680
+ private resolveSharedRuleHandoffRuleType;
1681
+ private sameSharedRuleHandoff;
1682
+ private sameSharedRuleHandoffIdentity;
1683
+ private enrichSharedRuleHandoffFromIntake;
1684
+ private resolveSharedRuleHeaders;
900
1685
  private consumeAgenticTurn;
901
1686
  agenticAuthoringDiagnosticsTop(): number;
902
1687
  agenticAuthoringLlmDiagnosticsText(): string;
903
1688
  private resolveAgenticLlmDiagnostics;
1689
+ private cloneAgenticContextHints;
1690
+ private resolveGovernedDomainContextSummary;
1691
+ private trimmedString;
904
1692
  private toRecord;
905
1693
  private resolvePreviewCompiledFormPatch;
906
1694
  focusCanvasWidget(widgetKey: string): void;
@@ -918,8 +1706,8 @@ declare class DynamicPageBuilderComponent implements OnChanges {
918
1706
  private cloneValue;
919
1707
  tx(key: string, fallback: string): string;
920
1708
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
921
- 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; }; }, { "pageChange": "pageChange"; "agenticAuthoringApplied": "agenticAuthoringApplied"; }, never, never, true, never>;
1709
+ 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; }; }, { "pageChange": "pageChange"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; }, never, never, true, never>;
922
1710
  }
923
1711
 
924
- export { ComponentPaletteDialogComponent, ConfirmDialogComponent, 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, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs };
925
- export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringEventSource, PageBuilderAgenticAuthoringEventSourceFactory, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, ValueKind };
1712
+ 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, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs };
1713
+ export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringEventSource, PageBuilderAgenticAuthoringEventSourceFactory, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringSharedRuleHandoff, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, ValueKind };