@praxisui/page-builder 8.0.0-beta.9 → 8.0.0-beta.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +189 -15
- package/fesm2022/praxisui-page-builder.mjs +14380 -1836
- package/package.json +14 -12
- package/types/praxisui-page-builder.d.ts +1912 -0
- package/index.d.ts +0 -914
|
@@ -0,0 +1,1912 @@
|
|
|
1
|
+
import { MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { EventEmitter, OnInit, WritableSignal, InjectionToken, Provider, OnChanges, Type, SimpleChanges } from '@angular/core';
|
|
4
|
+
import { ComponentDocMeta, ComponentMetadataRegistry, WidgetShellConfig, WidgetShellAction, EndpointRef, ComponentPortPathSegment, LinkIntent, CompositionLink, WidgetPageDefinition, TransformKind, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, WidgetPageCanvasLayout, WidgetPageDeviceLayouts, WidgetPageSlotAssignments, WidgetPageStateInput, WidgetInstance, ComponentContextPack, ComponentAuthoringManifest, DynamicWidgetPageComponent, SettingsPanelBridge, WidgetEventEnvelope, RichTimelineItem } from '@praxisui/core';
|
|
5
|
+
export { WidgetShellComponent } from '@praxisui/core';
|
|
6
|
+
import * as rxjs from 'rxjs';
|
|
7
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
8
|
+
import { FormGroup, FormControl, FormArray } from '@angular/forms';
|
|
9
|
+
import { SettingsValueProvider } from '@praxisui/settings-panel';
|
|
10
|
+
import { AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AiJsonValue, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringQuickReplyContract, AgenticAuthoringPendingClarificationContract, AiContextHintsContract, AiJsonObject, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamStartResponseContract, PraxisAssistantShellMessage, PraxisAssistantShellQuickReply, PraxisAssistantShellAttachment, PraxisAssistantShellLayout, PraxisAssistantSessionSnapshot, PraxisAssistantShellLabels, PraxisAssistantShellAction, PraxisAssistantShellState, PraxisAssistantShellContextItem } from '@praxisui/ai';
|
|
11
|
+
|
|
12
|
+
declare const PLACEHOLDER = 1;
|
|
13
|
+
|
|
14
|
+
interface ConfirmDialogData {
|
|
15
|
+
title?: string;
|
|
16
|
+
message?: string;
|
|
17
|
+
confirmLabel?: string;
|
|
18
|
+
cancelLabel?: string;
|
|
19
|
+
icon?: string;
|
|
20
|
+
}
|
|
21
|
+
declare class ConfirmDialogComponent {
|
|
22
|
+
data: ConfirmDialogData;
|
|
23
|
+
ref: MatDialogRef<ConfirmDialogComponent, boolean>;
|
|
24
|
+
constructor(data: ConfirmDialogData, ref: MatDialogRef<ConfirmDialogComponent, boolean>);
|
|
25
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
|
|
26
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDialogComponent, "praxis-confirm-dialog", never, {}, {}, never, never, true, never>;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare class TileToolbarComponent {
|
|
30
|
+
selected: boolean;
|
|
31
|
+
widgetType: string | null;
|
|
32
|
+
remove: EventEmitter<void>;
|
|
33
|
+
settings: EventEmitter<void>;
|
|
34
|
+
shell: EventEmitter<void>;
|
|
35
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TileToolbarComponent, never>;
|
|
36
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TileToolbarComponent, "praxis-tile-toolbar", never, { "selected": { "alias": "selected"; "required": false; }; "widgetType": { "alias": "widgetType"; "required": false; }; }, { "remove": "remove"; "settings": "settings"; "shell": "shell"; }, never, never, true, never>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare class FloatingToolbarComponent {
|
|
40
|
+
visible: boolean;
|
|
41
|
+
canUndo: boolean;
|
|
42
|
+
canRedo: boolean;
|
|
43
|
+
showSave: boolean;
|
|
44
|
+
showPreview: boolean;
|
|
45
|
+
add: EventEmitter<void>;
|
|
46
|
+
undo: EventEmitter<void>;
|
|
47
|
+
redo: EventEmitter<void>;
|
|
48
|
+
settings: EventEmitter<void>;
|
|
49
|
+
preview: EventEmitter<void>;
|
|
50
|
+
save: EventEmitter<void>;
|
|
51
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FloatingToolbarComponent, 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>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface ComponentPaletteSelection {
|
|
56
|
+
componentId: string;
|
|
57
|
+
presetId?: string;
|
|
58
|
+
inputs?: Record<string, unknown>;
|
|
59
|
+
}
|
|
60
|
+
interface ComponentPaletteData {
|
|
61
|
+
title?: string;
|
|
62
|
+
allowedWidgetIds?: string[];
|
|
63
|
+
allowedWidgetTags?: string[];
|
|
64
|
+
predicate?: (m: ComponentDocMeta) => boolean;
|
|
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
|
+
}
|
|
83
|
+
declare class ComponentPaletteDialogComponent implements OnInit {
|
|
84
|
+
private dialogRef;
|
|
85
|
+
private registry;
|
|
86
|
+
data?: ComponentPaletteData | undefined;
|
|
87
|
+
query: _angular_core.WritableSignal<string>;
|
|
88
|
+
private all;
|
|
89
|
+
filtered: _angular_core.Signal<ComponentPaletteEntry[]>;
|
|
90
|
+
density: _angular_core.Signal<"roomy" | "dense" | "normal">;
|
|
91
|
+
constructor(dialogRef: MatDialogRef<ComponentPaletteDialogComponent, ComponentPaletteSelection>, registry: ComponentMetadataRegistry, data?: ComponentPaletteData | undefined);
|
|
92
|
+
ngOnInit(): void;
|
|
93
|
+
select(entry: ComponentPaletteEntry): void;
|
|
94
|
+
trackById: (_: number, entry: ComponentPaletteEntry) => string;
|
|
95
|
+
getPreview(entry: ComponentPaletteEntry): string;
|
|
96
|
+
private _adjustSizeEffect;
|
|
97
|
+
private applyFilters;
|
|
98
|
+
private buildEntries;
|
|
99
|
+
private buildBadges;
|
|
100
|
+
private buildBadgeSearchText;
|
|
101
|
+
private hasDataSourceInputs;
|
|
102
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComponentPaletteDialogComponent, never>;
|
|
103
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComponentPaletteDialogComponent, "praxis-component-palette-dialog", never, {}, {}, never, never, true, never>;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type ShellInputs = {
|
|
107
|
+
shell?: WidgetShellConfig | null;
|
|
108
|
+
widgetKey?: string;
|
|
109
|
+
widgetType?: string;
|
|
110
|
+
presets?: Record<string, WidgetShellConfig['appearance']> | null;
|
|
111
|
+
pagePreset?: string | null;
|
|
112
|
+
};
|
|
113
|
+
type ShellEditorResult = {
|
|
114
|
+
shell: WidgetShellConfig | null;
|
|
115
|
+
applyToAll?: boolean;
|
|
116
|
+
pagePreset?: string;
|
|
117
|
+
};
|
|
118
|
+
type AvailableShellAction = {
|
|
119
|
+
kind: 'action' | 'command';
|
|
120
|
+
id: string;
|
|
121
|
+
label: string;
|
|
122
|
+
icon?: string;
|
|
123
|
+
scope?: NonNullable<ComponentDocMeta['actions']>[number]['scope'] | 'any';
|
|
124
|
+
emit?: string;
|
|
125
|
+
command?: string;
|
|
126
|
+
description?: string;
|
|
127
|
+
payloadExample?: any;
|
|
128
|
+
};
|
|
129
|
+
type SetInputValueOption = {
|
|
130
|
+
label: string;
|
|
131
|
+
value: any;
|
|
132
|
+
icon?: string;
|
|
133
|
+
};
|
|
134
|
+
type SetInputPreset = {
|
|
135
|
+
input: string;
|
|
136
|
+
label: string;
|
|
137
|
+
icon?: string;
|
|
138
|
+
values: SetInputValueOption[];
|
|
139
|
+
};
|
|
140
|
+
declare class WidgetShellEditorComponent implements SettingsValueProvider {
|
|
141
|
+
private registry?;
|
|
142
|
+
form: FormGroup<{
|
|
143
|
+
kind: FormControl<"none" | "dashboard-card">;
|
|
144
|
+
preset: FormControl<string>;
|
|
145
|
+
applyToAll: FormControl<boolean>;
|
|
146
|
+
title: FormControl<string>;
|
|
147
|
+
subtitle: FormControl<string>;
|
|
148
|
+
icon: FormControl<string>;
|
|
149
|
+
showHeader: FormControl<"auto" | "true" | "false">;
|
|
150
|
+
collapsible: FormControl<boolean>;
|
|
151
|
+
cardBg: FormControl<string>;
|
|
152
|
+
cardBorder: FormControl<string>;
|
|
153
|
+
cardRadius: FormControl<string>;
|
|
154
|
+
cardShadow: FormControl<string>;
|
|
155
|
+
headerBg: FormControl<string>;
|
|
156
|
+
headerBorder: FormControl<string>;
|
|
157
|
+
titleColor: FormControl<string>;
|
|
158
|
+
subtitleColor: FormControl<string>;
|
|
159
|
+
iconColor: FormControl<string>;
|
|
160
|
+
bodyBg: FormControl<string>;
|
|
161
|
+
bodyColor: FormControl<string>;
|
|
162
|
+
bodyPadding: FormControl<string>;
|
|
163
|
+
titleSize: FormControl<string>;
|
|
164
|
+
titleWeight: FormControl<string>;
|
|
165
|
+
subtitleSize: FormControl<string>;
|
|
166
|
+
actions: FormArray<FormGroup<any>>;
|
|
167
|
+
}>;
|
|
168
|
+
private readonly initialShell;
|
|
169
|
+
private readonly dirtySubject;
|
|
170
|
+
private readonly validSubject;
|
|
171
|
+
private readonly busySubject;
|
|
172
|
+
isDirty$: rxjs.Observable<boolean>;
|
|
173
|
+
isValid$: rxjs.Observable<boolean>;
|
|
174
|
+
isBusy$: rxjs.Observable<boolean>;
|
|
175
|
+
private snapshot;
|
|
176
|
+
presetOptions: Array<{
|
|
177
|
+
id: string;
|
|
178
|
+
label: string;
|
|
179
|
+
}>;
|
|
180
|
+
private presets;
|
|
181
|
+
availableActions: AvailableShellAction[];
|
|
182
|
+
actionQuery: FormControl<string>;
|
|
183
|
+
showScopeShell: boolean;
|
|
184
|
+
showScopeAny: boolean;
|
|
185
|
+
showScopeToolbar: boolean;
|
|
186
|
+
showScopeContext: boolean;
|
|
187
|
+
setInputPresets: SetInputPreset[];
|
|
188
|
+
setInputTarget: FormControl<string>;
|
|
189
|
+
setInputValue: FormControl<any>;
|
|
190
|
+
previewCollapsed: boolean;
|
|
191
|
+
previewExpanded: boolean;
|
|
192
|
+
pagePreset: string | null;
|
|
193
|
+
constructor(data?: ShellInputs | null, registry?: (ComponentMetadataRegistry | null) | undefined);
|
|
194
|
+
get actions(): FormArray<FormGroup>;
|
|
195
|
+
get hasAvailableActions(): boolean;
|
|
196
|
+
addAction(seed?: Partial<WidgetShellAction>): void;
|
|
197
|
+
removeAction(index: number): void;
|
|
198
|
+
getSettingsValue(): ShellEditorResult;
|
|
199
|
+
onSave(): ShellEditorResult;
|
|
200
|
+
reset(): void;
|
|
201
|
+
private applyShell;
|
|
202
|
+
private loadAvailableActions;
|
|
203
|
+
private createActionGroup;
|
|
204
|
+
private buildShell;
|
|
205
|
+
private buildResult;
|
|
206
|
+
private buildAppearance;
|
|
207
|
+
previewVars(): Record<string, string | null>;
|
|
208
|
+
previewShowHeader(): boolean;
|
|
209
|
+
previewTitle(): string;
|
|
210
|
+
previewSubtitle(): string;
|
|
211
|
+
private buildPreviewAppearance;
|
|
212
|
+
private mergeAppearance;
|
|
213
|
+
togglePreviewCollapse(): void;
|
|
214
|
+
togglePreviewExpand(): void;
|
|
215
|
+
previewHeaderActions(): WidgetShellAction[];
|
|
216
|
+
previewOverflowCount(): number;
|
|
217
|
+
previewWindowActions(): WidgetShellAction[];
|
|
218
|
+
private normalizeAction;
|
|
219
|
+
private tryParsePayload;
|
|
220
|
+
private snapshotValue;
|
|
221
|
+
filteredAvailableActions(): AvailableShellAction[];
|
|
222
|
+
isActionSelected(action: AvailableShellAction): boolean;
|
|
223
|
+
toggleAvailableAction(action: AvailableShellAction): void;
|
|
224
|
+
scopeLabel(scope?: string): string;
|
|
225
|
+
stringifyPayload(payload: any): string;
|
|
226
|
+
displayInputPath(path: string): string;
|
|
227
|
+
extractActionInput(actionValue: any): string;
|
|
228
|
+
showActionInputPath(actionValue: any): boolean;
|
|
229
|
+
currentSetInputValues(): SetInputValueOption[];
|
|
230
|
+
addSetInputAction(): void;
|
|
231
|
+
private findActionIndex;
|
|
232
|
+
private previewActions;
|
|
233
|
+
private loadSetInputPresets;
|
|
234
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetShellEditorComponent, [{ optional: true; }, { optional: true; }]>;
|
|
235
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetShellEditorComponent, "praxis-widget-shell-editor", never, {}, {}, never, never, true, never>;
|
|
236
|
+
}
|
|
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
|
+
private readonly globalActionCatalog;
|
|
441
|
+
readonly open: _angular_core.InputSignal<boolean>;
|
|
442
|
+
readonly page: _angular_core.InputSignal<WidgetPageDefinition | null | undefined>;
|
|
443
|
+
readonly pageChange: _angular_core.OutputEmitterRef<WidgetPageDefinition>;
|
|
444
|
+
readonly focusWidget: _angular_core.OutputEmitterRef<string>;
|
|
445
|
+
readonly openPageSettings: _angular_core.OutputEmitterRef<void>;
|
|
446
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
447
|
+
readonly activeMode: _angular_core.WritableSignal<ConnectionEditorFlowMode>;
|
|
448
|
+
readonly activeFilter: _angular_core.WritableSignal<ConnectionsEditorFilter>;
|
|
449
|
+
readonly selectedWidgetId: _angular_core.WritableSignal<string | null>;
|
|
450
|
+
readonly selectedLinkId: _angular_core.WritableSignal<string | null>;
|
|
451
|
+
readonly recentLinkId: _angular_core.WritableSignal<string | null>;
|
|
452
|
+
readonly hoveredLinkId: _angular_core.WritableSignal<string | null>;
|
|
453
|
+
readonly expandedNodeId: _angular_core.WritableSignal<string | null>;
|
|
454
|
+
readonly activeDockTab: _angular_core.WritableSignal<ConnectionEditorDockTab>;
|
|
455
|
+
readonly dockCollapsed: _angular_core.WritableSignal<boolean>;
|
|
456
|
+
readonly traceEnabled: _angular_core.WritableSignal<boolean>;
|
|
457
|
+
readonly traceStepIndex: _angular_core.WritableSignal<number>;
|
|
458
|
+
readonly traceSourceNodeId: _angular_core.WritableSignal<string | null>;
|
|
459
|
+
readonly selectedPort: _angular_core.WritableSignal<ConnectionEditorPort | null>;
|
|
460
|
+
readonly globalActionPayloadError: _angular_core.WritableSignal<string | null>;
|
|
461
|
+
readonly pendingSegmentState: _angular_core.WritableSignal<PendingSegmentState | null>;
|
|
462
|
+
readonly dragState: _angular_core.WritableSignal<DragState | null>;
|
|
463
|
+
readonly nodeDragState: _angular_core.WritableSignal<NodeDragState | null>;
|
|
464
|
+
readonly invalidDropFeedback: _angular_core.WritableSignal<InvalidDropFeedbackState | null>;
|
|
465
|
+
readonly panState: _angular_core.WritableSignal<PanState | null>;
|
|
466
|
+
readonly minimapPanState: _angular_core.WritableSignal<MinimapPanState | null>;
|
|
467
|
+
readonly rotationState: _angular_core.WritableSignal<RotationState | null>;
|
|
468
|
+
readonly viewport: _angular_core.WritableSignal<ViewportState>;
|
|
469
|
+
readonly portOrder: _angular_core.WritableSignal<ConnectionEditorPortOrderState>;
|
|
470
|
+
readonly nodeRotations: _angular_core.WritableSignal<Record<string, number>>;
|
|
471
|
+
readonly nodeOffsets: _angular_core.WritableSignal<Record<string, ConnectionEditorPoint>>;
|
|
472
|
+
readonly undoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
|
|
473
|
+
readonly redoStack: _angular_core.WritableSignal<ConnectionEditorHistoryEntry[]>;
|
|
474
|
+
private invalidDropFeedbackId;
|
|
475
|
+
private invalidDropFeedbackTimer;
|
|
476
|
+
private recentLinkFeedbackTimer;
|
|
477
|
+
private minimapPointerCaptureTarget;
|
|
478
|
+
private suppressedNodeClickId;
|
|
479
|
+
private readonly fitViewportOnOpen;
|
|
480
|
+
readonly filters: ({
|
|
481
|
+
id: "all";
|
|
482
|
+
label: string;
|
|
483
|
+
} | {
|
|
484
|
+
id: "condition";
|
|
485
|
+
label: string;
|
|
486
|
+
} | {
|
|
487
|
+
id: "transform";
|
|
488
|
+
label: string;
|
|
489
|
+
} | {
|
|
490
|
+
id: "policy";
|
|
491
|
+
label: string;
|
|
492
|
+
} | {
|
|
493
|
+
id: "diagnostic";
|
|
494
|
+
label: string;
|
|
495
|
+
})[];
|
|
496
|
+
readonly flowModes: ({
|
|
497
|
+
id: "all";
|
|
498
|
+
label: string;
|
|
499
|
+
glyph: string;
|
|
500
|
+
} | {
|
|
501
|
+
id: "data";
|
|
502
|
+
label: string;
|
|
503
|
+
glyph: string;
|
|
504
|
+
} | {
|
|
505
|
+
id: "event";
|
|
506
|
+
label: string;
|
|
507
|
+
glyph: string;
|
|
508
|
+
} | {
|
|
509
|
+
id: "capability";
|
|
510
|
+
label: string;
|
|
511
|
+
glyph: string;
|
|
512
|
+
} | {
|
|
513
|
+
id: "simulation";
|
|
514
|
+
label: string;
|
|
515
|
+
glyph: string;
|
|
516
|
+
})[];
|
|
517
|
+
readonly dockTabs: ({
|
|
518
|
+
id: "json";
|
|
519
|
+
label: string;
|
|
520
|
+
glyph: string;
|
|
521
|
+
} | {
|
|
522
|
+
id: "links";
|
|
523
|
+
label: string;
|
|
524
|
+
glyph: string;
|
|
525
|
+
} | {
|
|
526
|
+
id: "derived";
|
|
527
|
+
label: string;
|
|
528
|
+
glyph: string;
|
|
529
|
+
} | {
|
|
530
|
+
id: "export";
|
|
531
|
+
label: string;
|
|
532
|
+
glyph: string;
|
|
533
|
+
})[];
|
|
534
|
+
readonly model: _angular_core.Signal<ConnectionsViewerModel>;
|
|
535
|
+
readonly selectedNode: _angular_core.Signal<ConnectionsViewerNode | null>;
|
|
536
|
+
readonly visibleEdges: _angular_core.Signal<ConnectionsViewerEdge[]>;
|
|
537
|
+
readonly selectedEdge: _angular_core.Signal<ConnectionsViewerEdge | null>;
|
|
538
|
+
readonly editorGraph: _angular_core.Signal<ConnectionEditorGraph>;
|
|
539
|
+
readonly editorNodes: _angular_core.Signal<ConnectionEditorNode[]>;
|
|
540
|
+
readonly navigationBounds: _angular_core.Signal<ConnectionEditorBounds>;
|
|
541
|
+
readonly minimapViewBox: _angular_core.Signal<string>;
|
|
542
|
+
readonly editorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
|
|
543
|
+
readonly canvasEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
|
|
544
|
+
readonly visibleEditorConnections: _angular_core.Signal<ConnectionEditorConnection[]>;
|
|
545
|
+
readonly modeMatchedConnectionIds: _angular_core.Signal<Set<string>>;
|
|
546
|
+
readonly modeMatchedNodeIds: _angular_core.Signal<Set<string>>;
|
|
547
|
+
readonly modeMatchedPortIds: _angular_core.Signal<Set<string>>;
|
|
548
|
+
readonly smartSuggestions: _angular_core.Signal<ConnectionEditorSuggestion[]>;
|
|
549
|
+
readonly traceSteps: _angular_core.Signal<ConnectionEditorTraceStep[]>;
|
|
550
|
+
readonly activeTraceStepIndex: _angular_core.Signal<number>;
|
|
551
|
+
readonly traceActiveStep: _angular_core.Signal<ConnectionEditorTraceStep>;
|
|
552
|
+
readonly tracedConnectionIds: _angular_core.Signal<Set<string>>;
|
|
553
|
+
readonly traceProgressPercent: _angular_core.Signal<number>;
|
|
554
|
+
readonly traceProgressLabel: _angular_core.Signal<string>;
|
|
555
|
+
readonly traceSourceNodeIds: _angular_core.Signal<Set<string>>;
|
|
556
|
+
readonly traceReactingNodeIds: _angular_core.Signal<Set<string>>;
|
|
557
|
+
readonly focusedConnectionNodeIds: _angular_core.Signal<Set<string>>;
|
|
558
|
+
readonly focusedConnectionPortIds: _angular_core.Signal<Set<string>>;
|
|
559
|
+
readonly diagnosticConnectionIds: _angular_core.Signal<Set<string>>;
|
|
560
|
+
readonly diagnosticLinkCount: _angular_core.Signal<number>;
|
|
561
|
+
readonly selectedEditorNode: _angular_core.Signal<ConnectionEditorNode | null>;
|
|
562
|
+
readonly selectedConnection: _angular_core.Signal<ConnectionEditorConnection | null>;
|
|
563
|
+
readonly connectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
|
|
564
|
+
readonly canvasInteractionActive: _angular_core.Signal<boolean>;
|
|
565
|
+
readonly visibleConnectionTooltip: _angular_core.Signal<ConnectionEditorConnection | null>;
|
|
566
|
+
readonly visibleExpandedNodeId: _angular_core.Signal<string | null>;
|
|
567
|
+
readonly canUndo: _angular_core.Signal<boolean>;
|
|
568
|
+
readonly canRedo: _angular_core.Signal<boolean>;
|
|
569
|
+
readonly hasVisualPortOrder: _angular_core.Signal<boolean>;
|
|
570
|
+
readonly dragPreviewPath: _angular_core.Signal<string>;
|
|
571
|
+
readonly dragTargetPoint: _angular_core.Signal<ConnectionEditorPoint>;
|
|
572
|
+
readonly dragTipPosition: _angular_core.Signal<{
|
|
573
|
+
x: number;
|
|
574
|
+
y: number;
|
|
575
|
+
}>;
|
|
576
|
+
readonly invalidDropPosition: _angular_core.Signal<{
|
|
577
|
+
x: number;
|
|
578
|
+
y: number;
|
|
579
|
+
}>;
|
|
580
|
+
readonly invalidDropTipPosition: _angular_core.Signal<{
|
|
581
|
+
x: number;
|
|
582
|
+
y: number;
|
|
583
|
+
}>;
|
|
584
|
+
readonly dragEndpointText: _angular_core.Signal<string>;
|
|
585
|
+
readonly invalidDropEndpointText: _angular_core.Signal<string>;
|
|
586
|
+
readonly dragStatusText: _angular_core.Signal<string>;
|
|
587
|
+
readonly invalidDropStatusText: _angular_core.Signal<string>;
|
|
588
|
+
readonly viewportTransform: _angular_core.Signal<string>;
|
|
589
|
+
readonly minimapViewport: _angular_core.Signal<{
|
|
590
|
+
x: number;
|
|
591
|
+
y: number;
|
|
592
|
+
width: number;
|
|
593
|
+
height: number;
|
|
594
|
+
}>;
|
|
595
|
+
selectNode(nodeId: string): void;
|
|
596
|
+
selectSegment(port: ConnectionEditorPort, event: MouseEvent): void;
|
|
597
|
+
selectWidget(node: ConnectionsViewerNode): void;
|
|
598
|
+
selectLink(edge: ConnectionsViewerEdge): void;
|
|
599
|
+
selectConnection(connection: ConnectionEditorConnection): void;
|
|
600
|
+
jumpToConnection(connection: ConnectionEditorConnection, event: Event): void;
|
|
601
|
+
previewConnection(connection: ConnectionEditorConnection): void;
|
|
602
|
+
clearPreviewConnection(connection: ConnectionEditorConnection): void;
|
|
603
|
+
handleEditorKeydown(event: KeyboardEvent): void;
|
|
604
|
+
setFilter(filter: ConnectionsEditorFilter): void;
|
|
605
|
+
setMode(mode: ConnectionEditorFlowMode): void;
|
|
606
|
+
activeModeStatus(): string;
|
|
607
|
+
setDockTab(tab: ConnectionEditorDockTab): void;
|
|
608
|
+
handleDockTabKeydown(event: KeyboardEvent, tab: ConnectionEditorDockTab): void;
|
|
609
|
+
toggleDock(): void;
|
|
610
|
+
toggleTrace(event: Event): void;
|
|
611
|
+
selectTraceSource(nodeId: string | null, event: Event): void;
|
|
612
|
+
moveTraceStep(delta: -1 | 1, event: Event): void;
|
|
613
|
+
selectTraceStep(index: number, event: Event): void;
|
|
614
|
+
quickConnectSuggestion(suggestion: ConnectionEditorSuggestion, event: Event): void;
|
|
615
|
+
startDrag(port: ConnectionEditorPort, event: PointerEvent): void;
|
|
616
|
+
startSegmentDrag(port: ConnectionEditorPort, event: PointerEvent): void;
|
|
617
|
+
updatePendingSegment(event: PointerEvent): void;
|
|
618
|
+
updateDrag(event: PointerEvent): void;
|
|
619
|
+
startNodeDrag(nodeId: string, event: PointerEvent): void;
|
|
620
|
+
updateNodeDrag(event: PointerEvent): void;
|
|
621
|
+
stopNodeDrag(): void;
|
|
622
|
+
finishNodePointer(nodeId: string, event: PointerEvent): void;
|
|
623
|
+
closeFloatingPanelsOnOutsidePointerDown(event: PointerEvent): void;
|
|
624
|
+
previewDrop(target: ConnectionEditorPort): void;
|
|
625
|
+
clearPreviewDrop(target: ConnectionEditorPort): void;
|
|
626
|
+
completeDrag(target: ConnectionEditorPort, event: PointerEvent): void;
|
|
627
|
+
cancelDrag(event?: PointerEvent): void;
|
|
628
|
+
cancelPendingSegment(): void;
|
|
629
|
+
startPan(event: PointerEvent): void;
|
|
630
|
+
updatePan(event: PointerEvent): void;
|
|
631
|
+
stopPan(): void;
|
|
632
|
+
startMinimapPan(event: PointerEvent): void;
|
|
633
|
+
updateMinimapPan(event: PointerEvent): void;
|
|
634
|
+
stopMinimapPan(): void;
|
|
635
|
+
startNodeRotation(nodeId: string, event: PointerEvent): void;
|
|
636
|
+
updateRotation(event: PointerEvent): void;
|
|
637
|
+
stopRotation(): void;
|
|
638
|
+
zoomCanvas(event: WheelEvent): void;
|
|
639
|
+
zoomBy(delta: number, event: Event): void;
|
|
640
|
+
resetViewport(event?: Event): void;
|
|
641
|
+
autoArrange(event: Event): void;
|
|
642
|
+
reorganizeSlices(event: Event): void;
|
|
643
|
+
isCompatibleDrop(target: ConnectionEditorPort): boolean;
|
|
644
|
+
isCompatibilityPreview(target: ConnectionEditorPort): boolean;
|
|
645
|
+
isDropCandidate(target: ConnectionEditorPort): boolean;
|
|
646
|
+
isDragSource(port: ConnectionEditorPort): boolean;
|
|
647
|
+
isIncompatibleDrop(target: ConnectionEditorPort): boolean;
|
|
648
|
+
nodeHasCompatiblePreviewPort(node: ConnectionEditorNode): boolean;
|
|
649
|
+
isInvalidDropFeedbackTarget(target: ConnectionEditorPort): boolean;
|
|
650
|
+
removeLink(linkId: string): void;
|
|
651
|
+
undoHistory(event: Event): void;
|
|
652
|
+
redoHistory(event: Event): void;
|
|
653
|
+
enableTransform(connection: ConnectionEditorConnection, event: Event): void;
|
|
654
|
+
addTransformStep(connection: ConnectionEditorConnection, kind: TransformKind, event: Event): void;
|
|
655
|
+
removeTransformStep(connection: ConnectionEditorConnection, index: number, event: Event): void;
|
|
656
|
+
clearTransform(connection: ConnectionEditorConnection, event: Event): void;
|
|
657
|
+
applyConditionPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorConditionPreset, event: Event): void;
|
|
658
|
+
clearCondition(connection: ConnectionEditorConnection, event: Event): void;
|
|
659
|
+
applyPolicyPreset(connection: ConnectionEditorConnection, preset: ConnectionEditorPolicyPreset, event: Event): void;
|
|
660
|
+
clearPolicy(connection: ConnectionEditorConnection, event: Event): void;
|
|
661
|
+
nodeSegments(node: ConnectionEditorNode): ConnectionEditorSegmentGeometry[];
|
|
662
|
+
nodeSvgRotation(node: ConnectionEditorNode): string | null;
|
|
663
|
+
segmentLabelTransform(segment: ConnectionEditorSegmentGeometry, node: ConnectionEditorNode): string;
|
|
664
|
+
nodeRotationHandleTransform(node: ConnectionEditorNode): string;
|
|
665
|
+
segmentDisplayLabel(label: string): string;
|
|
666
|
+
segmentKindGlyph(kind: ConnectionEditorPortKind): string;
|
|
667
|
+
nodeIcon(node: ConnectionEditorNode): string;
|
|
668
|
+
dockTabLabel(tab: ConnectionEditorDockTabDefinition): string;
|
|
669
|
+
dockTabId(tab: ConnectionEditorDockTab): string;
|
|
670
|
+
dockPanelId(tab: ConnectionEditorDockTab): string;
|
|
671
|
+
dockToggleLabel(): string;
|
|
672
|
+
segmentKindText(kind: ConnectionEditorPortKind): string;
|
|
673
|
+
connectionHasErrors(connection: ConnectionEditorConnection): boolean;
|
|
674
|
+
connectionHasWarnings(connection: ConnectionEditorConnection): boolean;
|
|
675
|
+
connectionHasPolicy(connection: ConnectionEditorConnection): boolean;
|
|
676
|
+
connectionMatchesMode(connection: ConnectionEditorConnection): boolean;
|
|
677
|
+
hasModeFocus(): boolean;
|
|
678
|
+
isModeDimmedConnection(connection: ConnectionEditorConnection): boolean;
|
|
679
|
+
isModeDimmedNode(node: ConnectionEditorNode): boolean;
|
|
680
|
+
isModeDimmedPort(port: ConnectionEditorPort): boolean;
|
|
681
|
+
edgeMatchesMode(edge: ConnectionsViewerEdge): boolean;
|
|
682
|
+
isNodeFocusedByConnection(node: ConnectionEditorNode): boolean;
|
|
683
|
+
isPortFocusedByConnection(port: ConnectionEditorPort): boolean;
|
|
684
|
+
isTracedConnection(connection: ConnectionEditorConnection): boolean;
|
|
685
|
+
isTraceSourceNode(node: ConnectionEditorNode): boolean;
|
|
686
|
+
isTraceReactingNode(node: ConnectionEditorNode): boolean;
|
|
687
|
+
traceNodeLabel(node: ConnectionEditorNode): string | null;
|
|
688
|
+
tracePhaseText(phase: ConnectionEditorTracePhase): string;
|
|
689
|
+
diagnosticSeverityLabel(diagnostic: ConnectionEditorDiagnostic): string;
|
|
690
|
+
diagnosticText(diagnostic: ConnectionEditorDiagnostic): string;
|
|
691
|
+
suggestionReasonText(reason: ConnectionEditorSuggestionReason): string;
|
|
692
|
+
transformKindText(kind: TransformKind): string;
|
|
693
|
+
expandedPorts(node: ConnectionEditorNode): ConnectionEditorPort[];
|
|
694
|
+
movePort(node: ConnectionEditorNode, port: ConnectionEditorPort, direction: -1 | 1, event: Event): void;
|
|
695
|
+
toggleSegments(node: ConnectionEditorNode, event: Event): void;
|
|
696
|
+
wirePath(connection: ConnectionEditorConnection): string;
|
|
697
|
+
wireSourcePoint(connection: ConnectionEditorConnection): {
|
|
698
|
+
x: number;
|
|
699
|
+
y: number;
|
|
700
|
+
} | null;
|
|
701
|
+
wireTargetPoint(connection: ConnectionEditorConnection): {
|
|
702
|
+
x: number;
|
|
703
|
+
y: number;
|
|
704
|
+
} | null;
|
|
705
|
+
wireRoutePoint(connection: ConnectionEditorConnection, key: 'sourceStub' | 'sourceControl' | 'targetControl' | 'targetStub' | 'midpoint'): {
|
|
706
|
+
x: number;
|
|
707
|
+
y: number;
|
|
708
|
+
} | null;
|
|
709
|
+
wireLabelTransform(connection: ConnectionEditorConnection, endpoint: 'source' | 'target'): string;
|
|
710
|
+
minimapWirePath(connection: ConnectionEditorConnection): string;
|
|
711
|
+
connectionTooltipPosition(connection: ConnectionEditorConnection): ConnectionEditorTooltipPosition;
|
|
712
|
+
connectionTooltipCalloutX(connection: ConnectionEditorConnection): number;
|
|
713
|
+
connectionTooltipKind(connection: ConnectionEditorConnection): string;
|
|
714
|
+
dockJson(): WidgetPageDefinition | null | undefined;
|
|
715
|
+
dockLinks(): unknown[];
|
|
716
|
+
dockDerived(): unknown;
|
|
717
|
+
dockExport(): unknown;
|
|
718
|
+
describeEdge(edge: ConnectionsViewerEdge): string;
|
|
719
|
+
edgeHasDiagnostics(edge: ConnectionsViewerEdge): boolean;
|
|
720
|
+
edgeDiagnostics(edge: ConnectionsViewerEdge): unknown[];
|
|
721
|
+
describeSource(edge: ConnectionsViewerEdge): string;
|
|
722
|
+
describeTarget(edge: ConnectionsViewerEdge): string;
|
|
723
|
+
globalActionPayloadText(connection: ConnectionEditorConnection): string;
|
|
724
|
+
globalActionPayloadExample(connection: ConnectionEditorConnection): string;
|
|
725
|
+
surfaceOpenPayloadValue(connection: ConnectionEditorConnection): SurfaceOpenPayload | null;
|
|
726
|
+
surfaceOpenHostKind(connection: ConnectionEditorConnection): string;
|
|
727
|
+
applySurfaceOpenPayload(connection: ConnectionEditorConnection, payload: SurfaceOpenPayload): void;
|
|
728
|
+
applyGlobalActionPayload(connection: ConnectionEditorConnection, payloadText: string, event: Event): void;
|
|
729
|
+
tx(key: string, fallback: string): string;
|
|
730
|
+
private availableGlobalActions;
|
|
731
|
+
private availableGlobalActionIds;
|
|
732
|
+
private addLink;
|
|
733
|
+
private ensureSourceOutputDeclared;
|
|
734
|
+
private setConnectionTransform;
|
|
735
|
+
private setConnectionCondition;
|
|
736
|
+
private setConnectionPolicy;
|
|
737
|
+
private updateConnectionLink;
|
|
738
|
+
private commitPageChange;
|
|
739
|
+
private defaultTransformPipeline;
|
|
740
|
+
private createTransformStep;
|
|
741
|
+
private createConditionPreset;
|
|
742
|
+
private createPolicyPreset;
|
|
743
|
+
private applyNodeRotation;
|
|
744
|
+
private nodeRotationHandlePoint;
|
|
745
|
+
private applyNodeOffset;
|
|
746
|
+
private compatibilitySourcePort;
|
|
747
|
+
private intentMatchesMode;
|
|
748
|
+
private clonePage;
|
|
749
|
+
private pagesEqual;
|
|
750
|
+
private anchorForPort;
|
|
751
|
+
private showInvalidDropFeedback;
|
|
752
|
+
private clearInvalidDropFeedback;
|
|
753
|
+
private markRecentLink;
|
|
754
|
+
private clearPreviewConnectionState;
|
|
755
|
+
private shouldIgnoreEditorShortcut;
|
|
756
|
+
private scrollActiveModeIntoView;
|
|
757
|
+
private focusDockTab;
|
|
758
|
+
private portQualifiedLabel;
|
|
759
|
+
private stagePointFromEvent;
|
|
760
|
+
private rotationAngleForNode;
|
|
761
|
+
private snapDegrees;
|
|
762
|
+
private portIndexAtPoint;
|
|
763
|
+
private previewWirePath;
|
|
764
|
+
private formatPoint;
|
|
765
|
+
private labelPointBetween;
|
|
766
|
+
private connectionTooltipAnchor;
|
|
767
|
+
private applyZoom;
|
|
768
|
+
private centerViewportOnMinimapEvent;
|
|
769
|
+
private minimapPointFromEvent;
|
|
770
|
+
private fitViewportState;
|
|
771
|
+
private clampViewport;
|
|
772
|
+
private connectionEditorNavigationBounds;
|
|
773
|
+
private stageClientSize;
|
|
774
|
+
private stageRect;
|
|
775
|
+
private shouldIgnorePanTarget;
|
|
776
|
+
private shouldIgnoreNodeDragTarget;
|
|
777
|
+
private isFloatingPanelInteractionTarget;
|
|
778
|
+
private clamp;
|
|
779
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectionEditorComponent, never>;
|
|
780
|
+
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"; "close": "close"; }, never, never, true, never>;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state';
|
|
784
|
+
type DeviceKey = 'desktop' | 'tablet' | 'mobile';
|
|
785
|
+
type GroupingNodeGroup$1 = FormGroup<{
|
|
786
|
+
kind: FormControl<string>;
|
|
787
|
+
id: FormControl<string>;
|
|
788
|
+
label: FormControl<string>;
|
|
789
|
+
widgetKeysCsv: FormControl<string>;
|
|
790
|
+
layout: FormControl<string>;
|
|
791
|
+
emphasis: FormControl<string>;
|
|
792
|
+
side: FormControl<string>;
|
|
793
|
+
tabsJson: FormControl<string>;
|
|
794
|
+
}>;
|
|
795
|
+
type DeviceVariantForm = FormGroup<{
|
|
796
|
+
columns: FormControl<number | null>;
|
|
797
|
+
rowUnit: FormControl<string>;
|
|
798
|
+
gap: FormControl<string>;
|
|
799
|
+
autoRows: FormControl<'fixed' | 'content' | ''>;
|
|
800
|
+
groupingOverrides: FormControl<string>;
|
|
801
|
+
widgetOverrides: FormControl<string>;
|
|
802
|
+
}>;
|
|
803
|
+
declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueProvider$1 {
|
|
804
|
+
set page(value: WidgetPageDefinition | string | null | undefined);
|
|
805
|
+
layout?: unknown;
|
|
806
|
+
presets?: unknown;
|
|
807
|
+
pagePreset?: string | null;
|
|
808
|
+
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
809
|
+
readonly layoutPresetEntries: {
|
|
810
|
+
id: string;
|
|
811
|
+
label: string;
|
|
812
|
+
}[];
|
|
813
|
+
readonly themePresetEntries: {
|
|
814
|
+
id: string;
|
|
815
|
+
label: string;
|
|
816
|
+
}[];
|
|
817
|
+
readonly shellPresetEntries: {
|
|
818
|
+
id: string;
|
|
819
|
+
label: string;
|
|
820
|
+
}[];
|
|
821
|
+
readonly deviceKeys: DeviceKey[];
|
|
822
|
+
readonly deviceLabels: Record<DeviceKey, string>;
|
|
823
|
+
readonly canvasColumnsControl: FormControl<number>;
|
|
824
|
+
readonly canvasRowUnitControl: FormControl<string>;
|
|
825
|
+
readonly canvasGapControl: FormControl<string>;
|
|
826
|
+
readonly canvasAutoRowsControl: FormControl<"content" | "fixed">;
|
|
827
|
+
readonly layoutPresetControl: FormControl<string>;
|
|
828
|
+
readonly themePresetControl: FormControl<string>;
|
|
829
|
+
readonly shellPresetControl: FormControl<string>;
|
|
830
|
+
readonly contextControl: FormControl<string>;
|
|
831
|
+
readonly stateControl: FormControl<string>;
|
|
832
|
+
readonly groupingNodes: FormArray<GroupingNodeGroup$1>;
|
|
833
|
+
readonly deviceForms: Record<DeviceKey, DeviceVariantForm>;
|
|
834
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
835
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
836
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
837
|
+
readonly activeTab: WritableSignal<EditorTabId$1>;
|
|
838
|
+
readonly canvasError: WritableSignal<string | null>;
|
|
839
|
+
readonly groupingError: WritableSignal<string | null>;
|
|
840
|
+
readonly contextError: WritableSignal<string | null>;
|
|
841
|
+
readonly stateError: WritableSignal<string | null>;
|
|
842
|
+
readonly deviceError: WritableSignal<string | null>;
|
|
843
|
+
private readonly injectedData;
|
|
844
|
+
private pageInput;
|
|
845
|
+
private snapshot;
|
|
846
|
+
private hydrating;
|
|
847
|
+
private readonly tabOrder;
|
|
848
|
+
constructor();
|
|
849
|
+
ngOnInit(): void;
|
|
850
|
+
get selectedTabIndex(): number;
|
|
851
|
+
get isConfigurationValid(): boolean;
|
|
852
|
+
get hasPendingChanges(): boolean;
|
|
853
|
+
get validationStateLabel(): string;
|
|
854
|
+
get dirtyStateLabel(): string;
|
|
855
|
+
get selectedLayoutPresetLabel(): string;
|
|
856
|
+
get selectedThemePresetLabel(): string;
|
|
857
|
+
get canvasSummaryLabel(): string;
|
|
858
|
+
onSelectedTabIndexChange(index: number): void;
|
|
859
|
+
getSettingsValue(): WidgetPageDefinition | null;
|
|
860
|
+
onSave(): WidgetPageDefinition | null;
|
|
861
|
+
reset(): void;
|
|
862
|
+
addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
|
|
863
|
+
removeGroupingNode(index: number): void;
|
|
864
|
+
private createDeviceVariantForm;
|
|
865
|
+
private createGroupingNodeGroup;
|
|
866
|
+
private hydrate;
|
|
867
|
+
private replaceGroupingNodes;
|
|
868
|
+
private buildCurrentPage;
|
|
869
|
+
private buildGrouping;
|
|
870
|
+
private buildDeviceLayouts;
|
|
871
|
+
private invalidate;
|
|
872
|
+
private refreshPanelState;
|
|
873
|
+
private currentPageInput;
|
|
874
|
+
private parsePage;
|
|
875
|
+
private parseJson;
|
|
876
|
+
private parseRecordJson;
|
|
877
|
+
private parseGroupingTabs;
|
|
878
|
+
private parseGroupingOverrides;
|
|
879
|
+
private parseWidgetOverrides;
|
|
880
|
+
private isGroupingTab;
|
|
881
|
+
private isGroupingOverride;
|
|
882
|
+
private isWidgetOverride;
|
|
883
|
+
private isPlainObject;
|
|
884
|
+
private hasDuplicateIds;
|
|
885
|
+
private hasDuplicateStrings;
|
|
886
|
+
private stringify;
|
|
887
|
+
private stringifyGroupingWidgetKeys;
|
|
888
|
+
private extractShellPreset;
|
|
889
|
+
private removeShellPresetFromContext;
|
|
890
|
+
private applyShellPresetToContext;
|
|
891
|
+
private lookupPresetLabel;
|
|
892
|
+
private defaultCanvas;
|
|
893
|
+
private clone;
|
|
894
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageConfigEditorComponent, never>;
|
|
895
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageConfigEditorComponent, "praxis-dynamic-page-config-editor", never, { "page": { "alias": "page"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "pagePreset": { "alias": "pagePreset"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
type LegacyGridOptions = {
|
|
899
|
+
cols?: number;
|
|
900
|
+
rowHeight?: number;
|
|
901
|
+
gap?: number;
|
|
902
|
+
};
|
|
903
|
+
type PageDefinition = WidgetPageDefinition & {
|
|
904
|
+
options?: LegacyGridOptions;
|
|
905
|
+
};
|
|
906
|
+
type EditorTabId = 'layout' | 'grouping' | 'devices' | 'state' | 'context';
|
|
907
|
+
type SchemaNodeGroup = FormGroup<{
|
|
908
|
+
path: FormControl<string>;
|
|
909
|
+
type: FormControl<string>;
|
|
910
|
+
initialMode: FormControl<string>;
|
|
911
|
+
initialJson: FormControl<string>;
|
|
912
|
+
initialScalar: FormControl<string>;
|
|
913
|
+
persist: FormControl<string>;
|
|
914
|
+
mergeStrategy: FormControl<string>;
|
|
915
|
+
description: FormControl<string>;
|
|
916
|
+
}>;
|
|
917
|
+
type DerivedNodeGroup = FormGroup<{
|
|
918
|
+
path: FormControl<string>;
|
|
919
|
+
dependsOn: FormControl<string>;
|
|
920
|
+
computeKind: FormControl<string>;
|
|
921
|
+
operator: FormControl<string>;
|
|
922
|
+
sourcePath: FormControl<string>;
|
|
923
|
+
keysCsv: FormControl<string>;
|
|
924
|
+
expression: FormControl<string>;
|
|
925
|
+
transformerId: FormControl<string>;
|
|
926
|
+
options: FormControl<string>;
|
|
927
|
+
templateMode: FormControl<string>;
|
|
928
|
+
templateJson: FormControl<string>;
|
|
929
|
+
templateScalar: FormControl<string>;
|
|
930
|
+
description: FormControl<string>;
|
|
931
|
+
}>;
|
|
932
|
+
type GroupingNodeGroup = FormGroup<{
|
|
933
|
+
kind: FormControl<string>;
|
|
934
|
+
id: FormControl<string>;
|
|
935
|
+
label: FormControl<string>;
|
|
936
|
+
widgetKeysCsv: FormControl<string>;
|
|
937
|
+
layout: FormControl<string>;
|
|
938
|
+
emphasis: FormControl<string>;
|
|
939
|
+
side: FormControl<string>;
|
|
940
|
+
tabsJson: FormControl<string>;
|
|
941
|
+
}>;
|
|
942
|
+
declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
943
|
+
protected readonly derivedOperators: readonly ["merge-objects", "pick", "omit"];
|
|
944
|
+
protected readonly mergeStrategies: readonly ["replace", "merge", "append", "remove-keys"];
|
|
945
|
+
protected readonly valueModes: readonly ["json", "string", "number", "boolean", "null"];
|
|
946
|
+
protected readonly groupingKinds: readonly ["section", "tabs", "hero", "rail"];
|
|
947
|
+
protected readonly layoutPresetEntries: Array<(typeof BUILTIN_PAGE_LAYOUT_PRESETS)[string]>;
|
|
948
|
+
protected readonly themePresetEntries: Array<(typeof BUILTIN_PAGE_THEME_PRESETS)[string]>;
|
|
949
|
+
readonly page: _angular_core.InputSignal<string | PageDefinition | null>;
|
|
950
|
+
readonly identity: _angular_core.InputSignal<PageIdentity | null>;
|
|
951
|
+
readonly layoutCompatOptions: _angular_core.InputSignal<any>;
|
|
952
|
+
readonly pageChange: _angular_core.OutputEmitterRef<PageDefinition>;
|
|
953
|
+
readonly form: FormGroup<{
|
|
954
|
+
cols: FormControl<number | null>;
|
|
955
|
+
rowHeight: FormControl<number | null>;
|
|
956
|
+
gap: FormControl<number | null>;
|
|
957
|
+
}>;
|
|
958
|
+
readonly contextControl: FormControl<string>;
|
|
959
|
+
readonly shellPresetControl: FormControl<string>;
|
|
960
|
+
readonly layoutPresetControl: FormControl<string>;
|
|
961
|
+
readonly themePresetControl: FormControl<string>;
|
|
962
|
+
readonly groupingControl: FormControl<string>;
|
|
963
|
+
readonly deviceLayoutsControl: FormControl<string>;
|
|
964
|
+
readonly stateValuesControl: FormControl<string>;
|
|
965
|
+
readonly groupingNodes: FormArray<GroupingNodeGroup>;
|
|
966
|
+
readonly schemaNodes: FormArray<SchemaNodeGroup>;
|
|
967
|
+
readonly derivedNodes: FormArray<DerivedNodeGroup>;
|
|
968
|
+
readonly deviceDesktopForm: FormGroup<{
|
|
969
|
+
orientation: FormControl<string>;
|
|
970
|
+
columns: FormControl<number | null>;
|
|
971
|
+
gap: FormControl<string>;
|
|
972
|
+
breakpointsJson: FormControl<string>;
|
|
973
|
+
groupingOverridesJson: FormControl<string>;
|
|
974
|
+
widgetOverridesJson: FormControl<string>;
|
|
975
|
+
}>;
|
|
976
|
+
readonly deviceTabletForm: FormGroup<{
|
|
977
|
+
orientation: FormControl<string>;
|
|
978
|
+
columns: FormControl<number | null>;
|
|
979
|
+
gap: FormControl<string>;
|
|
980
|
+
breakpointsJson: FormControl<string>;
|
|
981
|
+
groupingOverridesJson: FormControl<string>;
|
|
982
|
+
widgetOverridesJson: FormControl<string>;
|
|
983
|
+
}>;
|
|
984
|
+
readonly deviceMobileForm: FormGroup<{
|
|
985
|
+
orientation: FormControl<string>;
|
|
986
|
+
columns: FormControl<number | null>;
|
|
987
|
+
gap: FormControl<string>;
|
|
988
|
+
breakpointsJson: FormControl<string>;
|
|
989
|
+
groupingOverridesJson: FormControl<string>;
|
|
990
|
+
widgetOverridesJson: FormControl<string>;
|
|
991
|
+
}>;
|
|
992
|
+
readonly contextError: _angular_core.WritableSignal<string | null>;
|
|
993
|
+
readonly layoutError: _angular_core.WritableSignal<string | null>;
|
|
994
|
+
readonly stateError: _angular_core.WritableSignal<string | null>;
|
|
995
|
+
readonly activeTab: _angular_core.WritableSignal<EditorTabId>;
|
|
996
|
+
readonly shellPresetEntries: Array<{
|
|
997
|
+
id: string;
|
|
998
|
+
label: string;
|
|
999
|
+
}>;
|
|
1000
|
+
private lastContext;
|
|
1001
|
+
private lastGrouping;
|
|
1002
|
+
private lastDeviceLayouts;
|
|
1003
|
+
private lastStateValues;
|
|
1004
|
+
private readonly dirtySubject;
|
|
1005
|
+
private readonly validSubject;
|
|
1006
|
+
private readonly busySubject;
|
|
1007
|
+
private snapshot;
|
|
1008
|
+
private readonly tabOrder;
|
|
1009
|
+
private readonly i18n;
|
|
1010
|
+
private readonly injectedData;
|
|
1011
|
+
readonly isDirty$: rxjs.Observable<boolean>;
|
|
1012
|
+
readonly isValid$: rxjs.Observable<boolean>;
|
|
1013
|
+
readonly isBusy$: rxjs.Observable<boolean>;
|
|
1014
|
+
protected readonly embeddedInSettingsPanel: boolean;
|
|
1015
|
+
get selectedTabIndex(): number;
|
|
1016
|
+
protected get hasPendingChanges(): boolean;
|
|
1017
|
+
protected get isConfigurationValid(): boolean;
|
|
1018
|
+
protected get validationStateLabel(): string;
|
|
1019
|
+
protected get dirtyStateLabel(): string;
|
|
1020
|
+
protected get selectedLayoutPresetLabel(): string;
|
|
1021
|
+
protected get selectedThemePresetLabel(): string;
|
|
1022
|
+
protected get selectedShellPresetLabel(): string;
|
|
1023
|
+
protected get contextExample(): string;
|
|
1024
|
+
protected get stateValuesExample(): string;
|
|
1025
|
+
protected get layoutPresetHint(): string;
|
|
1026
|
+
protected get themePresetHint(): string;
|
|
1027
|
+
protected get shellPresetHint(): string;
|
|
1028
|
+
protected get tabsJsonHint(): string;
|
|
1029
|
+
protected get breakpointsHint(): string;
|
|
1030
|
+
protected get groupingOverridesHint(): string;
|
|
1031
|
+
protected get widgetOverridesHint(): string;
|
|
1032
|
+
protected get schemaInitialHint(): string;
|
|
1033
|
+
protected get templateJsonHint(): string;
|
|
1034
|
+
protected get transformerOptionsHint(): string;
|
|
1035
|
+
constructor();
|
|
1036
|
+
protected tx(key: string, fallback: string): string;
|
|
1037
|
+
addSchemaNode(seed?: {
|
|
1038
|
+
path?: string;
|
|
1039
|
+
config?: WidgetStateNode;
|
|
1040
|
+
}): void;
|
|
1041
|
+
removeSchemaNode(index: number): void;
|
|
1042
|
+
addDerivedNode(seed?: {
|
|
1043
|
+
path?: string;
|
|
1044
|
+
config?: WidgetDerivedStateNode;
|
|
1045
|
+
}): void;
|
|
1046
|
+
removeDerivedNode(index: number): void;
|
|
1047
|
+
addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
|
|
1048
|
+
removeGroupingNode(index: number): void;
|
|
1049
|
+
setActiveTab(tab: EditorTabId): void;
|
|
1050
|
+
onSelectedTabIndexChange(index: number): void;
|
|
1051
|
+
apply(): void;
|
|
1052
|
+
reset(): void;
|
|
1053
|
+
private replaceGroupingNodes;
|
|
1054
|
+
private createGroupingNodeGroup;
|
|
1055
|
+
private stringifyGroupingWidgetKeys;
|
|
1056
|
+
private buildGrouping;
|
|
1057
|
+
private hydrateDeviceLayoutControls;
|
|
1058
|
+
private buildDeviceLayouts;
|
|
1059
|
+
private createDeviceLayoutForm;
|
|
1060
|
+
private patchDeviceLayoutForm;
|
|
1061
|
+
private buildDeviceLayoutVariant;
|
|
1062
|
+
private hydrateStateEditor;
|
|
1063
|
+
private replaceSchemaNodes;
|
|
1064
|
+
private replaceDerivedNodes;
|
|
1065
|
+
private createSchemaNodeGroup;
|
|
1066
|
+
private createDerivedNodeGroup;
|
|
1067
|
+
private buildState;
|
|
1068
|
+
private buildSchema;
|
|
1069
|
+
private buildDerived;
|
|
1070
|
+
private normalizeState;
|
|
1071
|
+
getSettingsValue(): PageDefinition | null;
|
|
1072
|
+
onSave(): PageDefinition | null;
|
|
1073
|
+
private lookupPresetLabel;
|
|
1074
|
+
private currentPageInput;
|
|
1075
|
+
private extractShellPreset;
|
|
1076
|
+
private buildCurrentPage;
|
|
1077
|
+
private applyShellPresetToContext;
|
|
1078
|
+
private refreshPanelState;
|
|
1079
|
+
private parsePage;
|
|
1080
|
+
private parseContext;
|
|
1081
|
+
private parseGrouping;
|
|
1082
|
+
private parseDeviceLayouts;
|
|
1083
|
+
private parseJson;
|
|
1084
|
+
private parseValueInput;
|
|
1085
|
+
private describeValue;
|
|
1086
|
+
private buildOperatorOptions;
|
|
1087
|
+
private buildOptions;
|
|
1088
|
+
private clone;
|
|
1089
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageConfigEditorComponent, never>;
|
|
1090
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageConfigEditorComponent, "praxis-page-config-editor", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "identity": { "alias": "identity"; "required": false; "isSignal": true; }; "layoutCompatOptions": { "alias": "layoutCompatOptions"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
/**
|
|
1094
|
+
* Capabilities catalog for the canonical dynamic page builder/runtime.
|
|
1095
|
+
*/
|
|
1096
|
+
|
|
1097
|
+
declare module '@praxisui/core' {
|
|
1098
|
+
interface AiCapabilityCategoryMap {
|
|
1099
|
+
page: true;
|
|
1100
|
+
widgets: true;
|
|
1101
|
+
connections: true;
|
|
1102
|
+
context: true;
|
|
1103
|
+
state: true;
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
type CapabilityCategory = AiCapabilityCategory;
|
|
1107
|
+
type ValueKind = AiValueKind;
|
|
1108
|
+
interface Capability extends AiCapability {
|
|
1109
|
+
category: CapabilityCategory;
|
|
1110
|
+
}
|
|
1111
|
+
interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
1112
|
+
capabilities: Capability[];
|
|
1113
|
+
}
|
|
1114
|
+
declare const PAGE_BUILDER_AI_CAPABILITIES: CapabilityCatalog;
|
|
1115
|
+
|
|
1116
|
+
type PageBuilderAgenticAuthoringProvider = 'openai' | 'gemini' | string;
|
|
1117
|
+
interface PageBuilderAgenticAuthoringOptions {
|
|
1118
|
+
baseUrl?: string;
|
|
1119
|
+
headersFactory?: () => Record<string, string | undefined>;
|
|
1120
|
+
defaultHeaders?: Record<string, string>;
|
|
1121
|
+
createProjectKnowledgeChangeSet?: (request: DomainKnowledgeChangeSetRequest, options?: {
|
|
1122
|
+
headers?: Record<string, string> | undefined;
|
|
1123
|
+
}) => Observable<DomainKnowledgeChangeSet>;
|
|
1124
|
+
getProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
|
|
1125
|
+
headers?: Record<string, string> | undefined;
|
|
1126
|
+
}) => Observable<DomainKnowledgeChangeSet>;
|
|
1127
|
+
getProjectKnowledgeChangeSetTimeline?: (changeSetId: string, options?: {
|
|
1128
|
+
headers?: Record<string, string> | undefined;
|
|
1129
|
+
}) => Observable<DomainKnowledgeChangeSetTimelineResponse>;
|
|
1130
|
+
listProjectKnowledgeChangeSets?: (filters: DomainKnowledgeChangeSetFilters, options?: {
|
|
1131
|
+
headers?: Record<string, string> | undefined;
|
|
1132
|
+
}) => Observable<DomainKnowledgeChangeSet[]>;
|
|
1133
|
+
validateProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
|
|
1134
|
+
headers?: Record<string, string> | undefined;
|
|
1135
|
+
}) => Observable<DomainKnowledgeValidationResponse>;
|
|
1136
|
+
transitionProjectKnowledgeChangeSetStatus?: (changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: {
|
|
1137
|
+
headers?: Record<string, string> | undefined;
|
|
1138
|
+
}) => Observable<DomainKnowledgeChangeSet>;
|
|
1139
|
+
applyProjectKnowledgeChangeSet?: (changeSetId: string, options?: {
|
|
1140
|
+
headers?: Record<string, string> | undefined;
|
|
1141
|
+
}) => Observable<DomainKnowledgeChangeSet>;
|
|
1142
|
+
sharedRuleIntake?: (request: DomainRuleIntakeRequest, options?: {
|
|
1143
|
+
headers?: Record<string, string> | undefined;
|
|
1144
|
+
}) => Observable<DomainRuleIntakeResponse>;
|
|
1145
|
+
sharedRuleCreateDefinition?: (request: DomainRuleDefinitionRequest, options?: {
|
|
1146
|
+
headers?: Record<string, string> | undefined;
|
|
1147
|
+
}) => Observable<DomainRuleDefinition>;
|
|
1148
|
+
sharedRuleSimulate?: (request: DomainRuleSimulationRequest, options?: {
|
|
1149
|
+
headers?: Record<string, string> | undefined;
|
|
1150
|
+
}) => Observable<DomainRuleSimulationResponse>;
|
|
1151
|
+
sharedRuleTransitionDefinitionStatus?: (definitionId: string, request: DomainRuleStatusTransitionRequest, options?: {
|
|
1152
|
+
headers?: Record<string, string> | undefined;
|
|
1153
|
+
}) => Observable<DomainRuleDefinition>;
|
|
1154
|
+
sharedRulePublish?: (request: DomainRulePublicationRequest, options?: {
|
|
1155
|
+
headers?: Record<string, string> | undefined;
|
|
1156
|
+
}) => Observable<DomainRulePublicationResponse>;
|
|
1157
|
+
sharedRuleListMaterializations?: (filters: DomainRuleMaterializationFilters, options?: {
|
|
1158
|
+
headers?: Record<string, string> | undefined;
|
|
1159
|
+
}) => Observable<DomainRuleMaterialization[]>;
|
|
1160
|
+
sharedRuleGetDefinitionTimeline?: (definitionId: string, options?: {
|
|
1161
|
+
headers?: Record<string, string> | undefined;
|
|
1162
|
+
}) => Observable<DomainRuleTimelineResponse>;
|
|
1163
|
+
eventSourceFactory?: PageBuilderAgenticAuthoringEventSourceFactory;
|
|
1164
|
+
requestTimeoutMs?: number;
|
|
1165
|
+
streamStartTimeoutMs?: number;
|
|
1166
|
+
streamTurnTimeoutMs?: number;
|
|
1167
|
+
streamResultFallbackMs?: number;
|
|
1168
|
+
streamSilenceStatusMs?: number;
|
|
1169
|
+
streamConnectionErrorGraceMs?: number;
|
|
1170
|
+
}
|
|
1171
|
+
interface PageBuilderAgenticAuthoringEventSource {
|
|
1172
|
+
readonly readyState?: number;
|
|
1173
|
+
onmessage: ((event: MessageEvent<string>) => void) | null;
|
|
1174
|
+
onerror: ((event: Event) => void) | null;
|
|
1175
|
+
addEventListener?(type: string, listener: (event: MessageEvent<string>) => void): void;
|
|
1176
|
+
close(): void;
|
|
1177
|
+
}
|
|
1178
|
+
interface PageBuilderAgenticAuthoringEventSourceOptions {
|
|
1179
|
+
withCredentials?: boolean;
|
|
1180
|
+
}
|
|
1181
|
+
type PageBuilderAgenticAuthoringEventSourceFactory = (url: string, options?: PageBuilderAgenticAuthoringEventSourceOptions) => PageBuilderAgenticAuthoringEventSource;
|
|
1182
|
+
interface PageBuilderAgenticAuthoringTurnStreamConnectionError {
|
|
1183
|
+
readonly praxisAgenticTurnStreamConnectionError: true;
|
|
1184
|
+
readonly cause: unknown;
|
|
1185
|
+
}
|
|
1186
|
+
interface PageBuilderAgenticAuthoringPromptRequest extends Omit<AgenticAuthoringPlanRequestContract, 'currentPage' | 'intentResolution'> {
|
|
1187
|
+
provider?: PageBuilderAgenticAuthoringProvider | null;
|
|
1188
|
+
currentPage?: unknown;
|
|
1189
|
+
selectedWidgetKey?: string | null;
|
|
1190
|
+
intentResolution?: PageBuilderAgenticAuthoringIntentResolutionResult | null;
|
|
1191
|
+
componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
|
|
1192
|
+
attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
|
|
1193
|
+
}
|
|
1194
|
+
interface PageBuilderAgenticAuthoringIntentResolutionRequest extends Omit<AgenticAuthoringIntentResolutionRequestContract, 'currentPage'> {
|
|
1195
|
+
provider?: PageBuilderAgenticAuthoringProvider | null;
|
|
1196
|
+
currentPage?: unknown;
|
|
1197
|
+
componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
|
|
1198
|
+
attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
|
|
1199
|
+
}
|
|
1200
|
+
interface PageBuilderAgenticAuthoringTurnStreamRequest {
|
|
1201
|
+
userPrompt: string;
|
|
1202
|
+
targetApp?: string | null;
|
|
1203
|
+
targetComponentId?: string | null;
|
|
1204
|
+
currentRoute?: string | null;
|
|
1205
|
+
provider?: PageBuilderAgenticAuthoringProvider | null;
|
|
1206
|
+
model?: string | null;
|
|
1207
|
+
apiKey?: string | null;
|
|
1208
|
+
currentPage?: unknown;
|
|
1209
|
+
selectedWidgetKey?: string | null;
|
|
1210
|
+
sessionId?: string | null;
|
|
1211
|
+
clientTurnId?: string | null;
|
|
1212
|
+
conversationMessages?: PageBuilderAgenticAuthoringConversationMessage[];
|
|
1213
|
+
pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
|
|
1214
|
+
componentCapabilities?: PageBuilderAgenticAuthoringComponentCapabilitiesResult | null;
|
|
1215
|
+
attachmentSummaries?: PageBuilderAgenticAuthoringAttachmentSummary[];
|
|
1216
|
+
contextHints?: AiContextHintsContract | null;
|
|
1217
|
+
}
|
|
1218
|
+
type PageBuilderAgenticAuthoringConversationMessage = AgenticAuthoringConversationMessageContract;
|
|
1219
|
+
type PageBuilderAgenticAuthoringPendingClarification = AgenticAuthoringPendingClarificationContract;
|
|
1220
|
+
type PageBuilderAgenticAuthoringQuickReply = AgenticAuthoringQuickReplyContract;
|
|
1221
|
+
type PageBuilderAgenticAuthoringAttachmentSummary = AgenticAuthoringAttachmentSummaryContract;
|
|
1222
|
+
interface PageBuilderAgenticAuthoringCandidate extends AgenticAuthoringCandidateContract {
|
|
1223
|
+
resourcePath: string;
|
|
1224
|
+
operation: string;
|
|
1225
|
+
schemaUrl: string;
|
|
1226
|
+
submitUrl: string;
|
|
1227
|
+
submitMethod: string;
|
|
1228
|
+
score: number;
|
|
1229
|
+
reason: string;
|
|
1230
|
+
evidence: string[];
|
|
1231
|
+
[key: string]: AiJsonValue | undefined;
|
|
1232
|
+
}
|
|
1233
|
+
interface PageBuilderAgenticAuthoringResourceCandidatesRequest extends AgenticAuthoringResourceCandidatesRequestContract {
|
|
1234
|
+
}
|
|
1235
|
+
interface PageBuilderAgenticAuthoringResourceCandidatesResult extends Omit<AgenticAuthoringResourceCandidatesResultContract, 'candidates'> {
|
|
1236
|
+
valid: boolean;
|
|
1237
|
+
tool: string;
|
|
1238
|
+
retrievalQuery: string;
|
|
1239
|
+
artifactKind: string;
|
|
1240
|
+
assistantMessage?: string | null;
|
|
1241
|
+
candidates: PageBuilderAgenticAuthoringCandidate[];
|
|
1242
|
+
quickReplies?: PageBuilderAgenticAuthoringQuickReply[];
|
|
1243
|
+
warnings: string[];
|
|
1244
|
+
}
|
|
1245
|
+
interface PageBuilderAgenticAuthoringTarget {
|
|
1246
|
+
widgetKey: string;
|
|
1247
|
+
componentId: string;
|
|
1248
|
+
resourcePath: string;
|
|
1249
|
+
schemaUrl: string;
|
|
1250
|
+
submitUrl: string;
|
|
1251
|
+
submitMethod: string;
|
|
1252
|
+
}
|
|
1253
|
+
interface PageBuilderAgenticAuthoringGateResult {
|
|
1254
|
+
gateId: string;
|
|
1255
|
+
status: string;
|
|
1256
|
+
messages: string[];
|
|
1257
|
+
}
|
|
1258
|
+
interface PageBuilderAgenticAuthoringComponentFieldAlias extends AgenticAuthoringComponentFieldAliasContract {
|
|
1259
|
+
field: string;
|
|
1260
|
+
aliases: string[];
|
|
1261
|
+
}
|
|
1262
|
+
interface PageBuilderAgenticAuthoringComponentCapability extends Omit<AgenticAuthoringComponentCapabilityContract, 'fieldAliases' | 'examples'> {
|
|
1263
|
+
id: string;
|
|
1264
|
+
changeKind: string;
|
|
1265
|
+
triggerTerms: string[];
|
|
1266
|
+
fieldAliases: PageBuilderAgenticAuthoringComponentFieldAlias[];
|
|
1267
|
+
examples?: PageBuilderAgenticAuthoringComponentCapabilityExample[];
|
|
1268
|
+
}
|
|
1269
|
+
interface PageBuilderAgenticAuthoringComponentCapabilityExample extends AgenticAuthoringComponentCapabilityExampleContract {
|
|
1270
|
+
prompt: string;
|
|
1271
|
+
intent: string;
|
|
1272
|
+
configHints: string[];
|
|
1273
|
+
}
|
|
1274
|
+
interface PageBuilderAgenticAuthoringComponentCapabilityCatalog extends Omit<AgenticAuthoringComponentCapabilityCatalogContract, 'capabilities'> {
|
|
1275
|
+
componentId: string;
|
|
1276
|
+
version: string;
|
|
1277
|
+
capabilities: PageBuilderAgenticAuthoringComponentCapability[];
|
|
1278
|
+
}
|
|
1279
|
+
interface PageBuilderAgenticAuthoringComponentCapabilitiesResult extends Omit<AgenticAuthoringComponentCapabilitiesResultContract, 'catalogs'> {
|
|
1280
|
+
version: string;
|
|
1281
|
+
catalogs: PageBuilderAgenticAuthoringComponentCapabilityCatalog[];
|
|
1282
|
+
}
|
|
1283
|
+
interface PageBuilderAgenticAuthoringIntentResolutionResult {
|
|
1284
|
+
valid: boolean;
|
|
1285
|
+
operationKind: string;
|
|
1286
|
+
artifactKind: string;
|
|
1287
|
+
changeKind: string;
|
|
1288
|
+
authoringProfile: string;
|
|
1289
|
+
targetApp: string;
|
|
1290
|
+
targetComponentId: string;
|
|
1291
|
+
target: PageBuilderAgenticAuthoringTarget | null;
|
|
1292
|
+
selectedCandidate: PageBuilderAgenticAuthoringCandidate | null;
|
|
1293
|
+
candidates: PageBuilderAgenticAuthoringCandidate[];
|
|
1294
|
+
gate: PageBuilderAgenticAuthoringGateResult;
|
|
1295
|
+
effectivePrompt?: string | null;
|
|
1296
|
+
assistantMessage?: string | null;
|
|
1297
|
+
quickReplies?: PageBuilderAgenticAuthoringQuickReply[];
|
|
1298
|
+
pendingClarification?: PageBuilderAgenticAuthoringPendingClarification | null;
|
|
1299
|
+
clarificationQuestions: string[];
|
|
1300
|
+
warnings: string[];
|
|
1301
|
+
failureCodes: string[];
|
|
1302
|
+
currentPageSummary: unknown;
|
|
1303
|
+
contextHints?: AiContextHintsContract | null;
|
|
1304
|
+
llmDiagnostics?: AiJsonObject | null;
|
|
1305
|
+
semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
|
|
1306
|
+
}
|
|
1307
|
+
interface PageBuilderMinimalFormPlanResult {
|
|
1308
|
+
valid: boolean;
|
|
1309
|
+
failureCodes: string[];
|
|
1310
|
+
warnings: string[];
|
|
1311
|
+
minimalFormPlan: unknown;
|
|
1312
|
+
}
|
|
1313
|
+
interface PageBuilderCompiledFormPatch {
|
|
1314
|
+
profileId?: string;
|
|
1315
|
+
catalogReleaseId?: string;
|
|
1316
|
+
builderVersion?: string;
|
|
1317
|
+
patch?: {
|
|
1318
|
+
page?: BuilderPageDefinition;
|
|
1319
|
+
};
|
|
1320
|
+
[key: string]: unknown;
|
|
1321
|
+
}
|
|
1322
|
+
interface PageBuilderPreviewDiagnostics {
|
|
1323
|
+
derivedCurrentPageSummary?: boolean;
|
|
1324
|
+
targetWidgetKey?: string;
|
|
1325
|
+
operationKind?: string;
|
|
1326
|
+
changeKind?: string;
|
|
1327
|
+
fieldScopeDecision?: string;
|
|
1328
|
+
projectKnowledgeAudit?: PageBuilderProjectKnowledgeAudit | null;
|
|
1329
|
+
}
|
|
1330
|
+
interface PageBuilderProjectKnowledgeAudit {
|
|
1331
|
+
schemaVersion?: string;
|
|
1332
|
+
source?: string;
|
|
1333
|
+
influenceCount?: number;
|
|
1334
|
+
citedCount?: number;
|
|
1335
|
+
uncitedCount?: number;
|
|
1336
|
+
citationPolicy?: string;
|
|
1337
|
+
entries?: Array<{
|
|
1338
|
+
knowledgeId?: string;
|
|
1339
|
+
conceptKey?: string;
|
|
1340
|
+
kind?: string;
|
|
1341
|
+
visibility?: string;
|
|
1342
|
+
influence?: string;
|
|
1343
|
+
sourceSummary?: string;
|
|
1344
|
+
cited?: boolean;
|
|
1345
|
+
sourceRefs?: string[];
|
|
1346
|
+
}>;
|
|
1347
|
+
}
|
|
1348
|
+
interface PageBuilderPreviewResult {
|
|
1349
|
+
valid: boolean;
|
|
1350
|
+
failureCodes: string[];
|
|
1351
|
+
warnings: string[];
|
|
1352
|
+
minimalFormPlan: unknown;
|
|
1353
|
+
uiCompositionPlan?: unknown;
|
|
1354
|
+
compiledFormPatch: PageBuilderCompiledFormPatch;
|
|
1355
|
+
diagnostics?: PageBuilderPreviewDiagnostics | null;
|
|
1356
|
+
assistantMessage?: string | null;
|
|
1357
|
+
}
|
|
1358
|
+
type PageBuilderAgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
|
|
1359
|
+
type PageBuilderAgenticAuthoringTurnStreamEvent = AgenticAuthoringTurnStreamEnvelopeContract;
|
|
1360
|
+
interface PageBuilderApplyRequest {
|
|
1361
|
+
compiledFormPatch: PageBuilderCompiledFormPatch;
|
|
1362
|
+
componentId: string;
|
|
1363
|
+
componentType?: string;
|
|
1364
|
+
scope?: 'user' | 'tenant';
|
|
1365
|
+
tags?: Record<string, unknown>;
|
|
1366
|
+
ifMatch?: string;
|
|
1367
|
+
semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
|
|
1368
|
+
}
|
|
1369
|
+
interface PageBuilderApplyResult {
|
|
1370
|
+
applied: boolean;
|
|
1371
|
+
componentType: string;
|
|
1372
|
+
componentId: string;
|
|
1373
|
+
environment?: string;
|
|
1374
|
+
scope: 'user' | 'tenant' | string;
|
|
1375
|
+
version: number;
|
|
1376
|
+
etag?: string;
|
|
1377
|
+
payload: BuilderPageDefinition;
|
|
1378
|
+
tags?: Record<string, unknown>;
|
|
1379
|
+
warnings: string[];
|
|
1380
|
+
}
|
|
1381
|
+
declare const PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS: InjectionToken<PageBuilderAgenticAuthoringOptions>;
|
|
1382
|
+
declare class PageBuilderAgenticAuthoringService {
|
|
1383
|
+
private readonly http;
|
|
1384
|
+
private readonly options;
|
|
1385
|
+
private readonly baseUrl;
|
|
1386
|
+
private readonly headersFactory;
|
|
1387
|
+
getComponentCapabilities(): Observable<PageBuilderAgenticAuthoringComponentCapabilitiesResult>;
|
|
1388
|
+
previewPage(request: PageBuilderAgenticAuthoringPromptRequest): Observable<PageBuilderPreviewResult>;
|
|
1389
|
+
resolveIntent(request: PageBuilderAgenticAuthoringIntentResolutionRequest): Observable<PageBuilderAgenticAuthoringIntentResolutionResult>;
|
|
1390
|
+
searchResourceCandidates(request: PageBuilderAgenticAuthoringResourceCandidatesRequest): Observable<PageBuilderAgenticAuthoringResourceCandidatesResult>;
|
|
1391
|
+
streamTurn(request: PageBuilderAgenticAuthoringTurnStreamRequest): Observable<PageBuilderAgenticAuthoringTurnStreamEvent>;
|
|
1392
|
+
applyPage(request: PageBuilderApplyRequest): Observable<PageBuilderApplyResult>;
|
|
1393
|
+
private buildHeaders;
|
|
1394
|
+
private connectTurnStream;
|
|
1395
|
+
private consumeFetchTurnStream;
|
|
1396
|
+
private consumeBufferedSseFrames;
|
|
1397
|
+
private findSseFrameBoundary;
|
|
1398
|
+
private streamStartTimeoutMs;
|
|
1399
|
+
private streamTurnTimeoutMs;
|
|
1400
|
+
private streamResultFallbackMs;
|
|
1401
|
+
private streamSilenceStatusMs;
|
|
1402
|
+
private streamSilenceStatusEvent;
|
|
1403
|
+
private streamLifecycleStatusEvent;
|
|
1404
|
+
private requestTimeoutMs;
|
|
1405
|
+
private streamConnectionError;
|
|
1406
|
+
private buildStreamUrl;
|
|
1407
|
+
private buildStreamProbeUrl;
|
|
1408
|
+
private createEventSource;
|
|
1409
|
+
private probeTurnStreamEndpoint;
|
|
1410
|
+
private formatEtag;
|
|
1411
|
+
private normalizeIntentResolutionResult;
|
|
1412
|
+
private normalizeStringList;
|
|
1413
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageBuilderAgenticAuthoringService, never>;
|
|
1414
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PageBuilderAgenticAuthoringService>;
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
type UiCompositionPlanInputSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
|
|
1418
|
+
type UiCompositionPlanComponentPortEndpoint = {
|
|
1419
|
+
kind: 'component-port';
|
|
1420
|
+
widget: string;
|
|
1421
|
+
port: string;
|
|
1422
|
+
direction: 'input' | 'output';
|
|
1423
|
+
nestedPath?: ComponentPortPathSegment[];
|
|
1424
|
+
};
|
|
1425
|
+
type UiCompositionPlanStateEndpoint = {
|
|
1426
|
+
kind: 'state';
|
|
1427
|
+
path: string;
|
|
1428
|
+
layer?: 'values' | 'derived' | 'transient';
|
|
1429
|
+
};
|
|
1430
|
+
type UiCompositionPlanGlobalActionEndpoint = {
|
|
1431
|
+
kind: 'global-action';
|
|
1432
|
+
actionId: string;
|
|
1433
|
+
payload?: unknown;
|
|
1434
|
+
payloadExpr?: string;
|
|
1435
|
+
meta?: Record<string, unknown>;
|
|
1436
|
+
};
|
|
1437
|
+
type UiCompositionPlanSourceEndpoint = UiCompositionPlanComponentPortEndpoint | UiCompositionPlanStateEndpoint;
|
|
1438
|
+
type UiCompositionPlanTargetEndpoint = UiCompositionPlanSourceEndpoint | UiCompositionPlanGlobalActionEndpoint;
|
|
1439
|
+
type UiCompositionPlanEndpoint = UiCompositionPlanTargetEndpoint;
|
|
1440
|
+
type UiCompositionPlanTransform = {
|
|
1441
|
+
kind: 'pick-path';
|
|
1442
|
+
id: string;
|
|
1443
|
+
path: string;
|
|
1444
|
+
inputSource?: UiCompositionPlanInputSource;
|
|
1445
|
+
} | {
|
|
1446
|
+
kind: 'constant';
|
|
1447
|
+
id: string;
|
|
1448
|
+
value: unknown;
|
|
1449
|
+
} | {
|
|
1450
|
+
kind: 'query-context';
|
|
1451
|
+
id: string;
|
|
1452
|
+
field: string;
|
|
1453
|
+
operator?: string;
|
|
1454
|
+
valueVar?: string;
|
|
1455
|
+
inputSource?: UiCompositionPlanInputSource;
|
|
1456
|
+
} | {
|
|
1457
|
+
kind: 'template';
|
|
1458
|
+
id: string;
|
|
1459
|
+
template: unknown;
|
|
1460
|
+
inputSource?: UiCompositionPlanInputSource;
|
|
1461
|
+
};
|
|
1462
|
+
interface UiCompositionPlanWidget {
|
|
1463
|
+
key: string;
|
|
1464
|
+
componentId: string;
|
|
1465
|
+
role?: string;
|
|
1466
|
+
inputs?: Record<string, unknown>;
|
|
1467
|
+
outputs?: Record<string, unknown>;
|
|
1468
|
+
bindingOrder?: string[];
|
|
1469
|
+
}
|
|
1470
|
+
interface UiCompositionPlanBinding {
|
|
1471
|
+
id: string;
|
|
1472
|
+
from: UiCompositionPlanSourceEndpoint;
|
|
1473
|
+
to: UiCompositionPlanTargetEndpoint;
|
|
1474
|
+
intent: CompositionLink['intent'];
|
|
1475
|
+
condition?: unknown;
|
|
1476
|
+
transform?: UiCompositionPlanTransform;
|
|
1477
|
+
policy?: CompositionLink['policy'];
|
|
1478
|
+
metadata?: Record<string, unknown>;
|
|
1479
|
+
}
|
|
1480
|
+
interface UiCompositionPlan {
|
|
1481
|
+
version: '1.0';
|
|
1482
|
+
kind: 'praxis.ui-composition-plan';
|
|
1483
|
+
layoutPreset?: string;
|
|
1484
|
+
layoutPresetOptions?: Record<string, unknown>;
|
|
1485
|
+
canvas?: WidgetPageCanvasLayout;
|
|
1486
|
+
deviceLayouts?: WidgetPageDeviceLayouts;
|
|
1487
|
+
grouping?: WidgetPageGroupingDefinition[];
|
|
1488
|
+
slotAssignments?: WidgetPageSlotAssignments;
|
|
1489
|
+
state?: WidgetPageStateInput;
|
|
1490
|
+
themePreset?: string;
|
|
1491
|
+
widgets: UiCompositionPlanWidget[];
|
|
1492
|
+
bindings?: UiCompositionPlanBinding[];
|
|
1493
|
+
}
|
|
1494
|
+
interface UiCompositionPlanDiagnostic {
|
|
1495
|
+
code: string;
|
|
1496
|
+
message: string;
|
|
1497
|
+
path?: string;
|
|
1498
|
+
}
|
|
1499
|
+
type UiCompositionPlanCompileResult = {
|
|
1500
|
+
valid: true;
|
|
1501
|
+
page: WidgetPageDefinition;
|
|
1502
|
+
diagnostics: UiCompositionPlanDiagnostic[];
|
|
1503
|
+
} | {
|
|
1504
|
+
valid: false;
|
|
1505
|
+
page: null;
|
|
1506
|
+
diagnostics: UiCompositionPlanDiagnostic[];
|
|
1507
|
+
};
|
|
1508
|
+
declare function compileUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanCompileResult;
|
|
1509
|
+
declare function validateUiCompositionPlan(plan: UiCompositionPlan): UiCompositionPlanDiagnostic[];
|
|
1510
|
+
|
|
1511
|
+
type LegacyLayoutOptions = {
|
|
1512
|
+
cols?: number;
|
|
1513
|
+
rowHeight?: number;
|
|
1514
|
+
gap?: number;
|
|
1515
|
+
};
|
|
1516
|
+
type PageBuilderLayoutOptions = Partial<LegacyLayoutOptions>;
|
|
1517
|
+
type PageBuilderConfig = {
|
|
1518
|
+
page?: BuilderPageDefinition;
|
|
1519
|
+
context?: Record<string, unknown> | null;
|
|
1520
|
+
enableCustomization?: boolean;
|
|
1521
|
+
showSettingsButton?: boolean;
|
|
1522
|
+
strictValidation?: boolean;
|
|
1523
|
+
layoutOptions?: PageBuilderLayoutOptions;
|
|
1524
|
+
pageIdentity?: PageIdentity;
|
|
1525
|
+
};
|
|
1526
|
+
type BuilderWidgetInstance = WidgetInstance;
|
|
1527
|
+
type BuilderCanvasItem = {
|
|
1528
|
+
col: number;
|
|
1529
|
+
row: number;
|
|
1530
|
+
colSpan: number;
|
|
1531
|
+
rowSpan: number;
|
|
1532
|
+
};
|
|
1533
|
+
type BuilderCanvasLayout = {
|
|
1534
|
+
mode: 'grid';
|
|
1535
|
+
columns: number;
|
|
1536
|
+
rowUnit?: string;
|
|
1537
|
+
gap?: string;
|
|
1538
|
+
autoRows?: 'fixed' | 'content';
|
|
1539
|
+
collisionPolicy?: 'block' | 'swap';
|
|
1540
|
+
items: Record<string, BuilderCanvasItem>;
|
|
1541
|
+
};
|
|
1542
|
+
type BuilderPageDefinition = Omit<WidgetPageDefinition, 'widgets'> & {
|
|
1543
|
+
widgets: BuilderWidgetInstance[];
|
|
1544
|
+
canvas?: BuilderCanvasLayout;
|
|
1545
|
+
state?: WidgetPageStateInput;
|
|
1546
|
+
composition?: {
|
|
1547
|
+
links: BuilderCompositionLink[];
|
|
1548
|
+
};
|
|
1549
|
+
};
|
|
1550
|
+
type BuilderCompositionLink = CompositionLink;
|
|
1551
|
+
|
|
1552
|
+
declare function registerWidgetAiCatalog(widgetId: string, catalog: AiCapabilityCatalog): void;
|
|
1553
|
+
declare function registerWidgetAiCatalogs(entries: Record<string, AiCapabilityCatalog>): void;
|
|
1554
|
+
declare function clearWidgetAiCatalogs(): void;
|
|
1555
|
+
/**
|
|
1556
|
+
* Retrieves the CapabilityCatalog for a given widget ID.
|
|
1557
|
+
*/
|
|
1558
|
+
declare function getWidgetAiCapabilities(widgetId: string): AiCapabilityCatalog | undefined;
|
|
1559
|
+
/**
|
|
1560
|
+
* Aggregates macro page builder capabilities with specific micro capabilities
|
|
1561
|
+
* of the widgets present in the page configuration.
|
|
1562
|
+
*/
|
|
1563
|
+
declare function getPageAiCatalog(pageConfig?: PageBuilderConfig): AiCapabilityCatalog;
|
|
1564
|
+
|
|
1565
|
+
declare const PAGE_BUILDER_WIDGET_AI_CATALOGS: InjectionToken<Record<string, AiCapabilityCatalog>>;
|
|
1566
|
+
|
|
1567
|
+
declare function providePageBuilderWidgetAiCatalogs(): Provider;
|
|
1568
|
+
|
|
1569
|
+
declare const PAGE_BUILDER_COMPONENT_CONTEXT_PACK: ComponentContextPack;
|
|
1570
|
+
|
|
1571
|
+
declare const PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
1572
|
+
|
|
1573
|
+
type PageBuilderGovernedContinuationFamily = 'shared-rule' | 'project-knowledge';
|
|
1574
|
+
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';
|
|
1575
|
+
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';
|
|
1576
|
+
interface PageBuilderGovernedContinuationTarget {
|
|
1577
|
+
artifactType: 'domain-rule-definition' | 'domain-knowledge-change-set' | 'materialization' | 'timeline';
|
|
1578
|
+
id?: string | null;
|
|
1579
|
+
key?: string | null;
|
|
1580
|
+
resourceKey?: string | null;
|
|
1581
|
+
contextKey?: string | null;
|
|
1582
|
+
}
|
|
1583
|
+
interface PageBuilderGovernedContinuationAction {
|
|
1584
|
+
kind: PageBuilderGovernedContinuationActionKind;
|
|
1585
|
+
family: PageBuilderGovernedContinuationFamily;
|
|
1586
|
+
enabled: boolean;
|
|
1587
|
+
blockedReason?: PageBuilderGovernedContinuationBlockedReason;
|
|
1588
|
+
labelKey: string;
|
|
1589
|
+
labelFallback: string;
|
|
1590
|
+
descriptionKey: string;
|
|
1591
|
+
descriptionFallback: string;
|
|
1592
|
+
target?: PageBuilderGovernedContinuationTarget;
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
|
|
1596
|
+
kind: string;
|
|
1597
|
+
}
|
|
1598
|
+
type AgenticAuthoringPanelLayout = PraxisAssistantShellLayout;
|
|
1599
|
+
type SharedRuleCockpitAction = 'definition' | 'simulation' | 'approve' | 'activate' | 'publication' | 'materializations' | 'timeline' | 'enforcement';
|
|
1600
|
+
type ProjectKnowledgeCockpitAction = 'change-set' | 'validate' | 'approve' | 'reject' | 'apply' | 'readback';
|
|
1601
|
+
interface SharedRuleEnforcementSummary {
|
|
1602
|
+
status: 'ready' | 'waiting' | 'unavailable';
|
|
1603
|
+
targetLayers: string[];
|
|
1604
|
+
targetArtifacts: string[];
|
|
1605
|
+
projections: SharedRuleEnforcementProjection[];
|
|
1606
|
+
appliedCount: number;
|
|
1607
|
+
pendingCount: number;
|
|
1608
|
+
sourceHashes: string[];
|
|
1609
|
+
}
|
|
1610
|
+
interface SharedRuleEnforcementProjection {
|
|
1611
|
+
targetLayer: string;
|
|
1612
|
+
targetLayerLabel: string;
|
|
1613
|
+
status: 'ready' | 'waiting';
|
|
1614
|
+
targetArtifact: string;
|
|
1615
|
+
sourceHash: string | null;
|
|
1616
|
+
}
|
|
1617
|
+
interface PageBuilderAgenticAuthoringSharedRuleHandoff {
|
|
1618
|
+
endpoint: string;
|
|
1619
|
+
flowId: 'shared_rule_authoring';
|
|
1620
|
+
intakeEndpoint?: string | null;
|
|
1621
|
+
intakeId?: string | null;
|
|
1622
|
+
intakeStatus?: string | null;
|
|
1623
|
+
nextEndpoint?: string | null;
|
|
1624
|
+
ruleDefinitionId?: string | null;
|
|
1625
|
+
ruleKey?: string | null;
|
|
1626
|
+
recommendedRuleType?: string | null;
|
|
1627
|
+
targetLayer?: string | null;
|
|
1628
|
+
sourcePrompt: string;
|
|
1629
|
+
assistantMessage: string;
|
|
1630
|
+
resourcePath?: string | null;
|
|
1631
|
+
resourceKey?: string | null;
|
|
1632
|
+
contextKey?: string | null;
|
|
1633
|
+
routeGateStatus?: string | null;
|
|
1634
|
+
routeFailureCode?: string | null;
|
|
1635
|
+
routeDecisionSource?: string | null;
|
|
1636
|
+
previewDisposition?: string | null;
|
|
1637
|
+
}
|
|
1638
|
+
declare class DynamicPageBuilderComponent implements OnChanges {
|
|
1639
|
+
private dialog;
|
|
1640
|
+
private settingsPanel;
|
|
1641
|
+
private readonly i18n;
|
|
1642
|
+
private readonly injector;
|
|
1643
|
+
private readonly componentMetadata;
|
|
1644
|
+
private readonly agenticAuthoring;
|
|
1645
|
+
private readonly agenticTurnOrchestrator;
|
|
1646
|
+
private readonly assistantSessions;
|
|
1647
|
+
private readonly agenticAuthoringOptions;
|
|
1648
|
+
runtime?: DynamicWidgetPageComponent;
|
|
1649
|
+
page?: WidgetPageDefinition | string;
|
|
1650
|
+
context?: Record<string, unknown> | null;
|
|
1651
|
+
strictValidation: boolean;
|
|
1652
|
+
autoPersist: boolean;
|
|
1653
|
+
enableCustomization: boolean;
|
|
1654
|
+
showSettingsButton: boolean;
|
|
1655
|
+
pageIdentity?: PageIdentity;
|
|
1656
|
+
componentInstanceId?: string;
|
|
1657
|
+
pageEditorComponent: Type<any> | undefined;
|
|
1658
|
+
enableAgenticAuthoring: boolean;
|
|
1659
|
+
agenticAuthoringProvider?: string;
|
|
1660
|
+
agenticAuthoringModel?: string;
|
|
1661
|
+
agenticAuthoringApiKey?: string;
|
|
1662
|
+
agenticAuthoringComponentId?: string;
|
|
1663
|
+
agenticAuthoringScope: 'user' | 'tenant';
|
|
1664
|
+
agenticAuthoringEtag?: string;
|
|
1665
|
+
agenticAuthoringIncludeLlmDiagnostics: boolean;
|
|
1666
|
+
agenticAuthoringEnableStreaming: boolean;
|
|
1667
|
+
agenticAuthoringContextHints?: Record<string, unknown> | null;
|
|
1668
|
+
showPageLifecycleActions: boolean;
|
|
1669
|
+
canDeleteSavedPage: boolean;
|
|
1670
|
+
pageLifecycleBusy: boolean;
|
|
1671
|
+
pageLifecycleResetRevision: number | string | null;
|
|
1672
|
+
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
1673
|
+
pageSaveRequested: EventEmitter<WidgetPageDefinition>;
|
|
1674
|
+
agenticAuthoringApplied: EventEmitter<PageBuilderApplyResult>;
|
|
1675
|
+
agenticAuthoringSharedRuleHandoff: EventEmitter<PageBuilderAgenticAuthoringSharedRuleHandoff>;
|
|
1676
|
+
pageRestart: EventEmitter<void>;
|
|
1677
|
+
savedPageDeleteRequested: EventEmitter<void>;
|
|
1678
|
+
readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
|
|
1679
|
+
readonly hasPageWidgets: _angular_core.Signal<boolean>;
|
|
1680
|
+
readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
|
|
1681
|
+
readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
|
|
1682
|
+
readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
|
|
1683
|
+
readonly agenticAuthoringBusy: _angular_core.WritableSignal<boolean>;
|
|
1684
|
+
readonly agenticAuthoringStatus: _angular_core.WritableSignal<string>;
|
|
1685
|
+
readonly agenticAuthoringError: _angular_core.WritableSignal<string>;
|
|
1686
|
+
readonly agenticAuthoringPreviewResult: _angular_core.WritableSignal<PageBuilderPreviewResult | null>;
|
|
1687
|
+
readonly agenticAuthoringSemanticDecision: _angular_core.WritableSignal<AgenticAuthoringSemanticDecisionContract | null>;
|
|
1688
|
+
readonly agenticAuthoringCanApply: _angular_core.WritableSignal<boolean>;
|
|
1689
|
+
readonly agenticAuthoringLastEtag: _angular_core.WritableSignal<string | null>;
|
|
1690
|
+
readonly agenticAuthoringConversation: _angular_core.WritableSignal<PraxisAssistantShellMessage[]>;
|
|
1691
|
+
readonly agenticAuthoringQuickReplies: _angular_core.WritableSignal<AgenticAuthoringQuickReply[]>;
|
|
1692
|
+
readonly agenticAuthoringAttachments: _angular_core.WritableSignal<PraxisAssistantShellAttachment[]>;
|
|
1693
|
+
readonly agenticAuthoringSharedRuleHandoffState: _angular_core.WritableSignal<PageBuilderAgenticAuthoringSharedRuleHandoff | null>;
|
|
1694
|
+
readonly sharedRuleCockpitBusyAction: _angular_core.WritableSignal<SharedRuleCockpitAction | null>;
|
|
1695
|
+
readonly sharedRuleCockpitError: _angular_core.WritableSignal<string>;
|
|
1696
|
+
readonly sharedRuleCockpitDefinition: _angular_core.WritableSignal<DomainRuleDefinition | null>;
|
|
1697
|
+
readonly sharedRuleCockpitSimulation: _angular_core.WritableSignal<DomainRuleSimulationResponse | null>;
|
|
1698
|
+
readonly sharedRuleCockpitTimeline: _angular_core.WritableSignal<DomainRuleTimelineResponse | null>;
|
|
1699
|
+
readonly sharedRuleCockpitPublication: _angular_core.WritableSignal<DomainRulePublicationResponse | null>;
|
|
1700
|
+
readonly sharedRuleCockpitMaterializations: _angular_core.WritableSignal<DomainRuleMaterialization[]>;
|
|
1701
|
+
readonly sharedRuleCockpitEnforcement: _angular_core.WritableSignal<SharedRuleEnforcementSummary | null>;
|
|
1702
|
+
readonly projectKnowledgeCockpitBusyAction: _angular_core.WritableSignal<ProjectKnowledgeCockpitAction | null>;
|
|
1703
|
+
readonly projectKnowledgeCockpitError: _angular_core.WritableSignal<string>;
|
|
1704
|
+
readonly projectKnowledgeCockpitChangeSet: _angular_core.WritableSignal<DomainKnowledgeChangeSet | null>;
|
|
1705
|
+
readonly projectKnowledgeCockpitValidation: _angular_core.WritableSignal<DomainKnowledgeValidationResponse | null>;
|
|
1706
|
+
readonly projectKnowledgeCockpitTimeline: _angular_core.WritableSignal<DomainKnowledgeChangeSetTimelineResponse | null>;
|
|
1707
|
+
readonly agenticAuthoringLlmDiagnostics: _angular_core.WritableSignal<Record<string, unknown> | null>;
|
|
1708
|
+
readonly agenticAuthoringLlmDiagnosticsCollapsed: _angular_core.WritableSignal<boolean>;
|
|
1709
|
+
readonly sharedRuleCockpitCollapsed: _angular_core.WritableSignal<boolean>;
|
|
1710
|
+
readonly projectKnowledgeCockpitCollapsed: _angular_core.WritableSignal<boolean>;
|
|
1711
|
+
readonly agenticAuthoringEditingMessageId: _angular_core.WritableSignal<string | null>;
|
|
1712
|
+
readonly selectedWidgetKey: _angular_core.WritableSignal<string | null>;
|
|
1713
|
+
readonly agenticAuthoringWidgetContextKey: _angular_core.WritableSignal<string | null>;
|
|
1714
|
+
readonly agenticAuthoringPanelLayout: _angular_core.WritableSignal<PraxisAssistantShellLayout>;
|
|
1715
|
+
private previewMode;
|
|
1716
|
+
private agenticComponentCapabilities?;
|
|
1717
|
+
private agenticComponentCapabilitiesPromise?;
|
|
1718
|
+
private agenticTurnController?;
|
|
1719
|
+
private sharedRuleHandoffRevision;
|
|
1720
|
+
private agenticAuthoringPanelLayoutTouched;
|
|
1721
|
+
constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
|
|
1722
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1723
|
+
showSettings(): boolean;
|
|
1724
|
+
onRuntimePageChange(next: WidgetPageDefinition): void;
|
|
1725
|
+
onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
|
|
1726
|
+
onConnectionEditorPageChange(next: WidgetPageDefinition): void;
|
|
1727
|
+
onRuntimeWidgetSelectionChange(widgetKey: string | null): void;
|
|
1728
|
+
togglePreview(): void;
|
|
1729
|
+
toggleAgenticAuthoringLlmDiagnostics(): void;
|
|
1730
|
+
toggleSharedRuleCockpit(): void;
|
|
1731
|
+
toggleProjectKnowledgeCockpit(): void;
|
|
1732
|
+
toggleConnectionsViewer(): void;
|
|
1733
|
+
onAddComponent(): void;
|
|
1734
|
+
addWidget(selection: string | ComponentPaletteSelection): void;
|
|
1735
|
+
openPageSettings(): void;
|
|
1736
|
+
saveCurrentPage(): void;
|
|
1737
|
+
applyConfigFromAdapter(config: PageBuilderConfig): void;
|
|
1738
|
+
private createAdapterHost;
|
|
1739
|
+
toggleAgenticAuthoring(): void;
|
|
1740
|
+
openAgenticAuthoring(): void;
|
|
1741
|
+
openAgenticAuthoringForWidget(widgetKey: string): void;
|
|
1742
|
+
openAgenticAuthoringFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1743
|
+
minimizeAgenticAuthoring(): void;
|
|
1744
|
+
onAgenticAuthoringLayoutChange(layout: AgenticAuthoringPanelLayout): void;
|
|
1745
|
+
agenticAuthoringReviewRailActive(): boolean;
|
|
1746
|
+
showAgenticAuthoringDock(): boolean;
|
|
1747
|
+
agenticAuthoringMinimized(): boolean;
|
|
1748
|
+
agenticAuthoringToggleLabel(): string;
|
|
1749
|
+
agenticAuthoringHeaderTitle(): string;
|
|
1750
|
+
agenticAuthoringHeaderSubtitle(): string;
|
|
1751
|
+
agenticAuthoringHeaderModeLabel(): string;
|
|
1752
|
+
agenticAuthoringShellLabels(): Partial<PraxisAssistantShellLabels>;
|
|
1753
|
+
private agenticAuthoringEmptyConversationMessage;
|
|
1754
|
+
private resolveAgenticAuthoredOpeningMessage;
|
|
1755
|
+
private isAgenticAuthoringPageBlank;
|
|
1756
|
+
agenticAuthoringSubmitAction(): PraxisAssistantShellAction;
|
|
1757
|
+
agenticAuthoringDockIcon(): string;
|
|
1758
|
+
agenticAuthoringDockBadge(): string;
|
|
1759
|
+
agenticAuthoringDockSummary(): string;
|
|
1760
|
+
agenticAuthoringShellState(): PraxisAssistantShellState;
|
|
1761
|
+
private hasAgenticAuthoringSession;
|
|
1762
|
+
private resetAgenticAuthoringSessionState;
|
|
1763
|
+
private syncAgenticAuthoringSession;
|
|
1764
|
+
private resolveAgenticAuthoringSessionId;
|
|
1765
|
+
private truncateAgenticDockText;
|
|
1766
|
+
agenticAuthoringProjectKnowledgeAudit(): PageBuilderProjectKnowledgeAudit | null;
|
|
1767
|
+
canRunProjectKnowledgeChangeSet(): boolean;
|
|
1768
|
+
sharedRuleGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
|
|
1769
|
+
projectKnowledgeGovernedContinuationActions(): PageBuilderGovernedContinuationAction[];
|
|
1770
|
+
trackGovernedContinuationAction(_index: number, action: PageBuilderGovernedContinuationAction): string;
|
|
1771
|
+
trackSharedRuleEnforcementProjection(index: number, projection: SharedRuleEnforcementProjection): string;
|
|
1772
|
+
governedContinuationActionTestId(action: PageBuilderGovernedContinuationAction): string;
|
|
1773
|
+
governedContinuationActionTooltip(action: PageBuilderGovernedContinuationAction): string;
|
|
1774
|
+
projectKnowledgeTimelineItems(): RichTimelineItem[];
|
|
1775
|
+
trackProjectKnowledgeTimelineItem(index: number, item: RichTimelineItem): string;
|
|
1776
|
+
runSharedRuleGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
|
|
1777
|
+
runProjectKnowledgeGovernedContinuationAction(action: PageBuilderGovernedContinuationAction): Promise<void>;
|
|
1778
|
+
agenticAuthoringContextItems(): PraxisAssistantShellContextItem[];
|
|
1779
|
+
private agenticAuthoringSemanticDecisionContextItems;
|
|
1780
|
+
private shouldHideSemanticDecisionContextItems;
|
|
1781
|
+
private humanizeAgenticResourcePath;
|
|
1782
|
+
private humanizeAgenticDecisionSummary;
|
|
1783
|
+
private humanizeAgenticOperationKind;
|
|
1784
|
+
private humanizeAgenticArtifactKind;
|
|
1785
|
+
private humanizeAgenticChangeKind;
|
|
1786
|
+
private humanizeAgenticDecisionEvidence;
|
|
1787
|
+
private humanizeAgenticToken;
|
|
1788
|
+
previewAgenticAuthoring(): Promise<void>;
|
|
1789
|
+
submitAgenticQuickReply(reply: PraxisAssistantShellQuickReply): Promise<void>;
|
|
1790
|
+
private agenticQuickReplyVisiblePrompt;
|
|
1791
|
+
private agenticQuickReplySubmittedPrompt;
|
|
1792
|
+
private agenticQuickReplyClarificationConfirmationPrompt;
|
|
1793
|
+
private isHumanSafeResourceQuickReplyPrompt;
|
|
1794
|
+
private isGenericDataSourceQuickReplyPrompt;
|
|
1795
|
+
private isGenericGovernedConfirmationQuickReplyPrompt;
|
|
1796
|
+
private agenticQuickReplyGovernedConfirmationPrompt;
|
|
1797
|
+
private isResourceQuickReply;
|
|
1798
|
+
private isContextualPreviewActionQuickReply;
|
|
1799
|
+
private isGovernedConfirmationQuickReply;
|
|
1800
|
+
private isConfirmationQuickReply;
|
|
1801
|
+
private hasResourceContextHint;
|
|
1802
|
+
private describeResourceContext;
|
|
1803
|
+
attachAgenticContext(): void;
|
|
1804
|
+
addAgenticAttachments(attachments: readonly PraxisAssistantShellAttachment[]): void;
|
|
1805
|
+
removeAgenticAttachment(attachment: PraxisAssistantShellAttachment): void;
|
|
1806
|
+
editAgenticMessage(message: PraxisAssistantShellMessage): void;
|
|
1807
|
+
resendAgenticMessage(message: PraxisAssistantShellMessage): Promise<void>;
|
|
1808
|
+
retryAgenticAuthoring(): Promise<void>;
|
|
1809
|
+
cancelAgenticAuthoring(): Promise<void>;
|
|
1810
|
+
persistAgenticAuthoring(): Promise<void>;
|
|
1811
|
+
ensureSharedRuleDefinition(): Promise<DomainRuleDefinition | null>;
|
|
1812
|
+
simulateSharedRule(): Promise<DomainRuleSimulationResponse | null>;
|
|
1813
|
+
transitionSharedRuleDefinition(status: 'approved' | 'active'): Promise<DomainRuleDefinition | null>;
|
|
1814
|
+
publishSharedRule(): Promise<DomainRulePublicationResponse | null>;
|
|
1815
|
+
openSharedRuleEnforcementValidation(): Promise<SharedRuleEnforcementSummary | null>;
|
|
1816
|
+
runProjectKnowledgeChangeSetLifecycle(): Promise<DomainKnowledgeChangeSet | null>;
|
|
1817
|
+
createProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
|
|
1818
|
+
validateProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeValidationResponse | null>;
|
|
1819
|
+
approveProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
|
|
1820
|
+
rejectProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
|
|
1821
|
+
applyProjectKnowledgeCockpitChangeSet(): Promise<DomainKnowledgeChangeSet | null>;
|
|
1822
|
+
private refreshSharedRuleTimeline;
|
|
1823
|
+
private resolveDomainRuleService;
|
|
1824
|
+
private resolveDomainKnowledgeService;
|
|
1825
|
+
private createProjectKnowledgeChangeSet;
|
|
1826
|
+
private getProjectKnowledgeChangeSet;
|
|
1827
|
+
private validateProjectKnowledgeChangeSet;
|
|
1828
|
+
private getProjectKnowledgeChangeSetTimeline;
|
|
1829
|
+
private transitionProjectKnowledgeChangeSetStatus;
|
|
1830
|
+
private applyProjectKnowledgeChangeSet;
|
|
1831
|
+
private refreshProjectKnowledgeTimeline;
|
|
1832
|
+
private createSharedRuleDefinition;
|
|
1833
|
+
private simulateSharedRuleDefinition;
|
|
1834
|
+
private transitionSharedRuleDefinitionStatus;
|
|
1835
|
+
private publishSharedRuleDefinition;
|
|
1836
|
+
private listSharedRuleMaterializations;
|
|
1837
|
+
private getSharedRuleDefinitionTimeline;
|
|
1838
|
+
private resolveSharedRuleDefinitionId;
|
|
1839
|
+
private runSharedRuleCockpitAction;
|
|
1840
|
+
private clearSharedRuleCockpitState;
|
|
1841
|
+
private runProjectKnowledgeCockpitAction;
|
|
1842
|
+
private clearProjectKnowledgeCockpitState;
|
|
1843
|
+
private resolveProjectKnowledgeEvidenceCandidate;
|
|
1844
|
+
private createProjectKnowledgeChangeSetRequest;
|
|
1845
|
+
private slugifyProjectKnowledgeKey;
|
|
1846
|
+
private governedContinuationActionDomKey;
|
|
1847
|
+
private updateSharedRuleHandoff;
|
|
1848
|
+
private promoteSharedRuleHandoffFromQuickReply;
|
|
1849
|
+
private resolveSharedRuleQuickReplyRuleType;
|
|
1850
|
+
private resolveSharedRuleQuickReplyTargetLayer;
|
|
1851
|
+
private resolveSharedRuleKey;
|
|
1852
|
+
private resolveSharedRuleResourceKey;
|
|
1853
|
+
private resolveSharedRuleContextKey;
|
|
1854
|
+
private deriveResourceKeyFromPath;
|
|
1855
|
+
private deriveContextKeyFromPath;
|
|
1856
|
+
private resolveSharedRuleType;
|
|
1857
|
+
private normalizeSharedRuleType;
|
|
1858
|
+
private inferSharedRuleTypeFromHumanIntent;
|
|
1859
|
+
private summarizeSharedRuleEnforcement;
|
|
1860
|
+
private isAppliedSharedRuleProjection;
|
|
1861
|
+
private formatSharedRuleTargetLayer;
|
|
1862
|
+
private loadAgenticComponentCapabilities;
|
|
1863
|
+
private ensureAgenticTurnController;
|
|
1864
|
+
private applyAgenticPreviewLocally;
|
|
1865
|
+
private applyAgenticTurnState;
|
|
1866
|
+
private primeSharedRuleHandoff;
|
|
1867
|
+
private moveAgenticAuthoringPanelToReviewSidecar;
|
|
1868
|
+
private resolveAgenticSharedRuleHandoff;
|
|
1869
|
+
private resolveAgenticSharedRuleAssistantMessage;
|
|
1870
|
+
private resolveSharedRuleHandoffRuleType;
|
|
1871
|
+
private sameSharedRuleHandoff;
|
|
1872
|
+
private sameSharedRuleHandoffIdentity;
|
|
1873
|
+
private enrichSharedRuleHandoffFromIntake;
|
|
1874
|
+
private resolveSharedRuleHeaders;
|
|
1875
|
+
private consumeAgenticTurn;
|
|
1876
|
+
private isAgenticTurnTerminalState;
|
|
1877
|
+
agenticAuthoringDiagnosticsTop(): number;
|
|
1878
|
+
agenticAuthoringLlmDiagnosticsText(): string;
|
|
1879
|
+
private resolveAgenticLlmDiagnostics;
|
|
1880
|
+
private resolveAgenticSemanticDecision;
|
|
1881
|
+
private cloneAgenticContextHints;
|
|
1882
|
+
private resolveGovernedDomainContextSummary;
|
|
1883
|
+
private shouldShowGovernedDomainContext;
|
|
1884
|
+
private trimmedString;
|
|
1885
|
+
private toRecord;
|
|
1886
|
+
private resolvePreviewCompiledFormPatch;
|
|
1887
|
+
focusCanvasWidget(widgetKey: string): void;
|
|
1888
|
+
private parsePage;
|
|
1889
|
+
private clonePage;
|
|
1890
|
+
private clearSelectedWidgetIfMissing;
|
|
1891
|
+
private defaultInputsFor;
|
|
1892
|
+
private applyWidgetIdentityDefaults;
|
|
1893
|
+
private resolveAgenticComponentId;
|
|
1894
|
+
private resolveSelectedWidgetKey;
|
|
1895
|
+
private resolveWidgetByKey;
|
|
1896
|
+
private resolveSelectedWidgetLabel;
|
|
1897
|
+
private describeSelectedWidgetContext;
|
|
1898
|
+
private resolveWidgetDisplayName;
|
|
1899
|
+
private formatAgenticFailures;
|
|
1900
|
+
private describeAgenticPreviewFailure;
|
|
1901
|
+
private describeAgenticPreviewStatus;
|
|
1902
|
+
private isAgenticTableContractError;
|
|
1903
|
+
private appendAgenticMessage;
|
|
1904
|
+
private describeAgenticError;
|
|
1905
|
+
private cloneValue;
|
|
1906
|
+
tx(key: string, fallback: string): string;
|
|
1907
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
|
|
1908
|
+
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>;
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_COMPONENT_CONTEXT_PACK, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, providePageBuilderWidgetAiCatalogs, registerWidgetAiCatalog, registerWidgetAiCatalogs, validateUiCompositionPlan };
|
|
1912
|
+
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 };
|