@memberjunction/ng-record-process-studio 6.2.0-edge.0 → 6.2.0-edge.2
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/dist/lib/feature-pipeline-builder/feature-pipeline-builder.component.d.ts +211 -11
- package/dist/lib/feature-pipeline-builder/feature-pipeline-builder.component.d.ts.map +1 -1
- package/dist/lib/feature-pipeline-builder/feature-pipeline-builder.component.js +1639 -400
- package/dist/lib/feature-pipeline-builder/feature-pipeline-builder.component.js.map +1 -1
- package/dist/lib/record-process-editor/record-process-editor.component.d.ts +10 -0
- package/dist/lib/record-process-editor/record-process-editor.component.d.ts.map +1 -1
- package/dist/lib/record-process-editor/record-process-editor.component.js +25 -5
- package/dist/lib/record-process-editor/record-process-editor.component.js.map +1 -1
- package/dist/lib/record-process-history/record-process-history.component.d.ts +10 -0
- package/dist/lib/record-process-history/record-process-history.component.d.ts.map +1 -1
- package/dist/lib/record-process-history/record-process-history.component.js +30 -10
- package/dist/lib/record-process-history/record-process-history.component.js.map +1 -1
- package/dist/lib/record-process-studio/record-process-studio.component.d.ts +12 -0
- package/dist/lib/record-process-studio/record-process-studio.component.d.ts.map +1 -1
- package/dist/lib/record-process-studio/record-process-studio.component.js +31 -7
- package/dist/lib/record-process-studio/record-process-studio.component.js.map +1 -1
- package/dist/lib/run-detail.d.ts +4 -0
- package/dist/lib/run-detail.d.ts.map +1 -1
- package/dist/lib/run-detail.js +10 -2
- package/dist/lib/run-detail.js.map +1 -1
- package/package.json +10 -10
|
@@ -9,10 +9,26 @@ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
|
9
9
|
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
10
10
|
import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
|
|
11
11
|
import { MJRecordProcessEntity, MJAIPromptEntity, MJEntityDocumentEntity } from '@memberjunction/core-entities';
|
|
12
|
-
import { DataFeatureSpec, ValueConstraint, type SpecValidationIssue } from '@memberjunction/feature-pipelines';
|
|
12
|
+
import { DataFeatureSpec, DataFeatureOutput, ValueConstraint, OutputTarget, type FeaturePipelineDriverCapabilities, type SpecValidationIssue, type MinimalEscalationTargetRow } from '@memberjunction/feature-pipelines';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export type PromptOption = Pick<MJAIPromptEntity, 'ID' | 'Name' | 'Description'>;
|
|
15
15
|
export type EntityDocOption = Pick<MJEntityDocumentEntity, 'ID' | 'Name' | 'EntityID'>;
|
|
16
|
+
export interface PipelineTypeOption {
|
|
17
|
+
Name: string;
|
|
18
|
+
DisplayName?: string;
|
|
19
|
+
Description?: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface EscalationTargetCandidate extends MinimalEscalationTargetRow {
|
|
22
|
+
Description?: string | null;
|
|
23
|
+
Configuration?: string | null;
|
|
24
|
+
ParsedSpec?: DataFeatureSpec;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The confidence floor typed into the builder, as a number. A blank or non-numeric entry is NaN, so the spec
|
|
28
|
+
* check reports it ("must be a number greater than 0 and less than 1, but is NaN") instead of the builder
|
|
29
|
+
* guessing a value; an out-of-range number is kept as typed, for the same check to report.
|
|
30
|
+
*/
|
|
31
|
+
export declare function ParseConfidenceFloor(raw: string): number;
|
|
16
32
|
export declare class FeaturePipelineBuilderComponent extends BaseAngularComponent implements OnInit, OnChanges {
|
|
17
33
|
private cdr;
|
|
18
34
|
Record: MJRecordProcessEntity | null;
|
|
@@ -20,52 +36,236 @@ export declare class FeaturePipelineBuilderComponent extends BaseAngularComponen
|
|
|
20
36
|
SpecChange: EventEmitter<DataFeatureSpec>;
|
|
21
37
|
ValidChange: EventEmitter<boolean>;
|
|
22
38
|
spec: DataFeatureSpec;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
AvailablePipelineTypes: PipelineTypeOption[];
|
|
40
|
+
ShowTypeSwitchConfirm: boolean;
|
|
41
|
+
PendingPipelineType: string | null;
|
|
42
|
+
TypeSwitchIssues: string[];
|
|
43
|
+
get CurrentPipelineTypeName(): string;
|
|
44
|
+
get CurrentCapabilities(): FeaturePipelineDriverCapabilities;
|
|
45
|
+
get IsDecisionPipeline(): boolean;
|
|
46
|
+
AvailableEscalationTargets: EscalationTargetCandidate[];
|
|
47
|
+
/** Whether the escalation targets were loaded. False until a load succeeds, and after one fails. */
|
|
48
|
+
EscalationTargetsLoaded: boolean;
|
|
49
|
+
/** Why the last load of escalation targets failed, or null when it did not. */
|
|
50
|
+
EscalationTargetsLoadError: string | null;
|
|
51
|
+
/** Numbers each target load, so a slower earlier load cannot overwrite a later one. */
|
|
52
|
+
private escalationTargetsLoadSeq;
|
|
53
|
+
get IsEscalationEnabled(): boolean;
|
|
54
|
+
/** The target picker's empty option: what to pick, or why there is nothing to pick. */
|
|
55
|
+
get EscalationTargetsPlaceholder(): string;
|
|
56
|
+
/** Whether `target` is the spec's escalation target. IDs compare through UUIDsEqual, as the target check does. */
|
|
57
|
+
IsSavedEscalationTarget(target: EscalationTargetCandidate): boolean;
|
|
58
|
+
/** Whether the target picker lists the spec's escalation target. Until the targets load, or when it is not among them, the placeholder shows. */
|
|
59
|
+
get SavedEscalationTargetListed(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether to offer the Capture Reasoning setting: for a type that produces reasoning, and for any spec
|
|
62
|
+
* that already asks for it, so a pipeline switched to a type without reasoning can turn it off.
|
|
63
|
+
*/
|
|
64
|
+
get ShowCaptureReasoning(): boolean;
|
|
65
|
+
get SelectedPipelineTypeDescription(): string;
|
|
66
|
+
get AvailableTargetModes(): Array<{
|
|
67
|
+
Value: OutputTarget['Mode'];
|
|
68
|
+
Label: string;
|
|
69
|
+
}>;
|
|
70
|
+
get AvailableConstraintTypes(): Array<{
|
|
71
|
+
Value: string;
|
|
72
|
+
Label: string;
|
|
73
|
+
}>;
|
|
74
|
+
/** Whether `name` is the spec's pipeline type. Names compare case-insensitively, as {@link IsDecisionPipeline} does. */
|
|
75
|
+
IsCurrentPipelineType(name: string): boolean;
|
|
76
|
+
/** The output's saved constraint type as the constraint picker names it: `'none'` when it has none. */
|
|
77
|
+
SavedConstraintType(output: DataFeatureOutput): string;
|
|
78
|
+
/** Whether the constraint picker lists the output's saved type. A Decision output with no constraint, or one this type cannot produce, is not listed. */
|
|
79
|
+
IsConstraintTypeOffered(output: DataFeatureOutput): boolean;
|
|
80
|
+
/** Whether the target mode picker lists the output's saved mode. */
|
|
81
|
+
IsTargetModeOffered(output: DataFeatureOutput): boolean;
|
|
82
|
+
/** Whether the target field picker lists a field named `name`. */
|
|
83
|
+
IsEntityFieldListed(name: string | undefined): boolean;
|
|
84
|
+
/** Whether the child entity picker lists an entity named `name`. */
|
|
85
|
+
IsEntityListed(name: string | undefined): boolean;
|
|
86
|
+
/** Whether `prompt` is the pipeline's saved prompt. */
|
|
87
|
+
IsSavedPrompt(prompt: PromptOption): boolean;
|
|
88
|
+
/** Whether the prompt picker lists the pipeline's saved prompt. */
|
|
89
|
+
get SavedPromptListed(): boolean;
|
|
90
|
+
/** Whether `doc` is the spec's saved entity document. */
|
|
91
|
+
IsSavedEntityDoc(doc: EntityDocOption): boolean;
|
|
92
|
+
/** Whether the entity document picker lists the spec's saved document. */
|
|
93
|
+
get SavedEntityDocListed(): boolean;
|
|
94
|
+
AvailablePrompts: PromptOption[];
|
|
95
|
+
/** @deprecated Use {@link AvailablePrompts}. */
|
|
96
|
+
get availablePrompts(): PromptOption[];
|
|
97
|
+
/** @deprecated Use {@link AvailablePrompts}. */
|
|
98
|
+
set availablePrompts(value: PromptOption[]);
|
|
99
|
+
AvailableDocs: EntityDocOption[];
|
|
100
|
+
/** @deprecated Use {@link AvailableDocs}. */
|
|
101
|
+
get availableDocs(): EntityDocOption[];
|
|
102
|
+
/** @deprecated Use {@link AvailableDocs}. */
|
|
103
|
+
set availableDocs(value: EntityDocOption[]);
|
|
104
|
+
AvailableEntities: EntityInfo[];
|
|
105
|
+
/** @deprecated Use {@link AvailableEntities}. */
|
|
106
|
+
get availableEntities(): EntityInfo[];
|
|
107
|
+
/** @deprecated Use {@link AvailableEntities}. */
|
|
108
|
+
set availableEntities(value: EntityInfo[]);
|
|
109
|
+
EntityFields: EntityFieldInfo[];
|
|
110
|
+
/** @deprecated Use {@link EntityFields}. */
|
|
111
|
+
get entityFields(): EntityFieldInfo[];
|
|
112
|
+
/** @deprecated Use {@link EntityFields}. */
|
|
113
|
+
set entityFields(value: EntityFieldInfo[]);
|
|
114
|
+
SelectedPrompt: PromptOption | null;
|
|
115
|
+
/** @deprecated Use {@link SelectedPrompt}. */
|
|
116
|
+
get selectedPrompt(): PromptOption | null;
|
|
117
|
+
/** @deprecated Use {@link SelectedPrompt}. */
|
|
118
|
+
set selectedPrompt(value: PromptOption | null);
|
|
119
|
+
ContextMode: 'fields' | 'document' | 'query';
|
|
120
|
+
/** @deprecated Use {@link ContextMode}. */
|
|
121
|
+
get contextMode(): 'fields' | 'document' | 'query';
|
|
122
|
+
/** @deprecated Use {@link ContextMode}. */
|
|
123
|
+
set contextMode(value: 'fields' | 'document' | 'query');
|
|
124
|
+
FieldsCsv: string;
|
|
125
|
+
/** @deprecated Use {@link FieldsCsv}. */
|
|
126
|
+
get fieldsCsv(): string;
|
|
127
|
+
/** @deprecated Use {@link FieldsCsv}. */
|
|
128
|
+
set fieldsCsv(value: string);
|
|
129
|
+
CacheKeyFieldsCsv: string;
|
|
130
|
+
/** @deprecated Use {@link CacheKeyFieldsCsv}. */
|
|
131
|
+
get cacheKeyFieldsCsv(): string;
|
|
132
|
+
/** @deprecated Use {@link CacheKeyFieldsCsv}. */
|
|
133
|
+
set cacheKeyFieldsCsv(value: string);
|
|
134
|
+
ValidationErrors: SpecValidationIssue[];
|
|
135
|
+
/** @deprecated Use {@link ValidationErrors}. */
|
|
136
|
+
get validationErrors(): SpecValidationIssue[];
|
|
137
|
+
/** @deprecated Use {@link ValidationErrors}. */
|
|
138
|
+
set validationErrors(value: SpecValidationIssue[]);
|
|
139
|
+
RenderedConstraintPreview: string;
|
|
140
|
+
/** @deprecated Use {@link RenderedConstraintPreview}. */
|
|
141
|
+
get renderedConstraintPreview(): string;
|
|
142
|
+
/** @deprecated Use {@link RenderedConstraintPreview}. */
|
|
143
|
+
set renderedConstraintPreview(value: string);
|
|
33
144
|
ngOnInit(): Promise<void>;
|
|
34
145
|
ngOnChanges(changes: SimpleChanges): void;
|
|
146
|
+
SyncFromRecord(): void;
|
|
147
|
+
/** @deprecated Use {@link SyncFromRecord}. */
|
|
35
148
|
syncFromRecord(): void;
|
|
149
|
+
private loadPipelineTypes;
|
|
150
|
+
private ensureLoadedTypeIncluded;
|
|
36
151
|
private loadPrompts;
|
|
37
152
|
private loadEntityDocs;
|
|
153
|
+
/**
|
|
154
|
+
* Loads the Infer pipelines on this pipeline's entity that it could escalate to. With no entity there is
|
|
155
|
+
* nothing to offer, so nothing is loaded. A failed load is recorded in {@link EscalationTargetsLoadError},
|
|
156
|
+
* not taken to mean there are no targets. Only the latest load's result is kept.
|
|
157
|
+
*/
|
|
158
|
+
LoadEscalationTargets(): Promise<void>;
|
|
159
|
+
/** The Infer pipelines on the entity, other than this one, each with its parsed spec; or why they could not be read. */
|
|
160
|
+
private fetchEscalationTargets;
|
|
161
|
+
/** A target's Configuration as a spec, or undefined when it is empty or not a JSON object. */
|
|
162
|
+
private parseTargetSpec;
|
|
163
|
+
/**
|
|
164
|
+
* Why a pipeline cannot be this pipeline's escalation target, or null when it can. Beyond the shared row and
|
|
165
|
+
* output checks, its own spec must pass `ValidateSpec`, as the engine requires before it builds the target.
|
|
166
|
+
*/
|
|
167
|
+
GetTargetProblem(target: EscalationTargetCandidate): string | null;
|
|
168
|
+
OnEscalationToggle(event: Event): void;
|
|
169
|
+
OnEscalationTargetChange(event: Event): void;
|
|
170
|
+
/** Sets the confidence floor from its input, as a number; a blank or invalid entry is NaN, which the spec check reports. */
|
|
171
|
+
OnEscalationFloorChange(event: Event): void;
|
|
172
|
+
OnContextModeChange(event: Event): void;
|
|
173
|
+
/** @deprecated Use {@link OnContextModeChange}. */
|
|
38
174
|
onContextModeChange(event: Event): void;
|
|
175
|
+
OnEntityDocChange(event: Event): void;
|
|
176
|
+
/** @deprecated Use {@link OnEntityDocChange}. */
|
|
39
177
|
onEntityDocChange(event: Event): void;
|
|
178
|
+
OnQueryIDChange(event: Event): void;
|
|
179
|
+
/** @deprecated Use {@link OnQueryIDChange}. */
|
|
40
180
|
onQueryIDChange(event: Event): void;
|
|
181
|
+
OnFieldsCsvChange(event: Event): void;
|
|
182
|
+
/** @deprecated Use {@link OnFieldsCsvChange}. */
|
|
41
183
|
onFieldsCsvChange(event: Event): void;
|
|
184
|
+
OnPromptChange(event: Event): void;
|
|
185
|
+
/** @deprecated Use {@link OnPromptChange}. */
|
|
42
186
|
onPromptChange(event: Event): void;
|
|
43
187
|
addOutput(): void;
|
|
188
|
+
RemoveOutput(index: number): void;
|
|
189
|
+
/** @deprecated Use {@link RemoveOutput}. */
|
|
44
190
|
removeOutput(index: number): void;
|
|
191
|
+
UpdateOutputProp(index: number, prop: 'Name' | 'Ref', event: Event): void;
|
|
192
|
+
/** @deprecated Use {@link UpdateOutputProp}. */
|
|
45
193
|
updateOutputProp(index: number, prop: 'Name' | 'Ref', event: Event): void;
|
|
194
|
+
UpdateTargetMode(index: number, event: Event): void;
|
|
195
|
+
/** @deprecated Use {@link UpdateTargetMode}. */
|
|
46
196
|
updateTargetMode(index: number, event: Event): void;
|
|
197
|
+
UpdateFieldTarget(index: number, event: Event): void;
|
|
198
|
+
/** @deprecated Use {@link UpdateFieldTarget}. */
|
|
47
199
|
updateFieldTarget(index: number, event: Event): void;
|
|
200
|
+
UpdateChildTargetEntity(index: number, event: Event): void;
|
|
201
|
+
/** @deprecated Use {@link UpdateChildTargetEntity}. */
|
|
48
202
|
updateChildTargetEntity(index: number, event: Event): void;
|
|
203
|
+
UpdateConstraintType(index: number, event: Event): void;
|
|
204
|
+
/** @deprecated Use {@link UpdateConstraintType}. */
|
|
49
205
|
updateConstraintType(index: number, event: Event): void;
|
|
206
|
+
UpdateViolationPolicy(index: number, event: Event): void;
|
|
207
|
+
/** @deprecated Use {@link UpdateViolationPolicy}. */
|
|
50
208
|
updateViolationPolicy(index: number, event: Event): void;
|
|
209
|
+
GetEnumValuesCsv(constraint?: ValueConstraint): string;
|
|
210
|
+
/** @deprecated Use {@link GetEnumValuesCsv}. */
|
|
51
211
|
getEnumValuesCsv(constraint?: ValueConstraint): string;
|
|
212
|
+
GetNumericMin(constraint?: ValueConstraint): number | string;
|
|
213
|
+
/** @deprecated Use {@link GetNumericMin}. */
|
|
52
214
|
getNumericMin(constraint?: ValueConstraint): number | string;
|
|
215
|
+
GetNumericMax(constraint?: ValueConstraint): number | string;
|
|
216
|
+
/** @deprecated Use {@link GetNumericMax}. */
|
|
53
217
|
getNumericMax(constraint?: ValueConstraint): number | string;
|
|
218
|
+
UpdateEnumValues(index: number, event: Event): void;
|
|
219
|
+
/** @deprecated Use {@link UpdateEnumValues}. */
|
|
54
220
|
updateEnumValues(index: number, event: Event): void;
|
|
221
|
+
UpdateNumericMin(index: number, event: Event): void;
|
|
222
|
+
/** @deprecated Use {@link UpdateNumericMin}. */
|
|
55
223
|
updateNumericMin(index: number, event: Event): void;
|
|
224
|
+
UpdateNumericMax(index: number, event: Event): void;
|
|
225
|
+
/** @deprecated Use {@link UpdateNumericMax}. */
|
|
56
226
|
updateNumericMax(index: number, event: Event): void;
|
|
227
|
+
UpdateWatermarkStrategy(event: Event): void;
|
|
228
|
+
/** @deprecated Use {@link UpdateWatermarkStrategy}. */
|
|
57
229
|
updateWatermarkStrategy(event: Event): void;
|
|
230
|
+
UpdateSkipUnchanged(event: Event): void;
|
|
231
|
+
/** @deprecated Use {@link UpdateSkipUnchanged}. */
|
|
58
232
|
updateSkipUnchanged(event: Event): void;
|
|
233
|
+
UpdateCacheable(event: Event): void;
|
|
234
|
+
/** @deprecated Use {@link UpdateCacheable}. */
|
|
59
235
|
updateCacheable(event: Event): void;
|
|
236
|
+
UpdateCacheKeyFields(event: Event): void;
|
|
237
|
+
/** @deprecated Use {@link UpdateCacheKeyFields}. */
|
|
60
238
|
updateCacheKeyFields(event: Event): void;
|
|
239
|
+
UpdateCacheTTL(event: Event): void;
|
|
240
|
+
/** @deprecated Use {@link UpdateCacheTTL}. */
|
|
61
241
|
updateCacheTTL(event: Event): void;
|
|
242
|
+
UpdateCacheScope(event: Event): void;
|
|
243
|
+
/** @deprecated Use {@link UpdateCacheScope}. */
|
|
62
244
|
updateCacheScope(event: Event): void;
|
|
245
|
+
/** Turns capture of the model's rationale on or off. Off removes the flag, so a spec that never set it keeps its hash. */
|
|
246
|
+
UpdateCaptureReasoning(event: Event): void;
|
|
247
|
+
OnPipelineTypeSelect(event: Event): void;
|
|
248
|
+
OnTypeSwitchConfirmed(): void;
|
|
249
|
+
OnTypeSwitchCancelled(): void;
|
|
250
|
+
ApplyPipelineTypeChange(newType: string): void;
|
|
251
|
+
GetNumericLevels(output: DataFeatureOutput): string[];
|
|
252
|
+
AddNumericLevel(index: number): void;
|
|
253
|
+
RemoveNumericLevel(outputIndex: number, levelIndex: number): void;
|
|
254
|
+
UpdateNumericLevel(outputIndex: number, levelIndex: number, event: Event): void;
|
|
255
|
+
MoveNumericLevel(outputIndex: number, levelIndex: number, direction: 'up' | 'down'): void;
|
|
256
|
+
GetEnumValues(output: DataFeatureOutput): string[];
|
|
257
|
+
GetEnumValueDescription(output: DataFeatureOutput, val: string): string;
|
|
258
|
+
UpdateEnumValueDescription(outputIndex: number, val: string, event: Event): void;
|
|
259
|
+
GetBooleanThreshold(output: DataFeatureOutput): number | null;
|
|
260
|
+
UpdateBooleanThreshold(outputIndex: number, event: Event): void;
|
|
261
|
+
private prefillEnumValuesFromField;
|
|
63
262
|
private emitChanges;
|
|
64
263
|
/**
|
|
65
264
|
* Automatically projects spec.Outputs into the record's OutputMapping JSON
|
|
66
265
|
* so that WriteBackProcessor works out of the box without duplicate manual config.
|
|
67
266
|
*/
|
|
68
267
|
private syncOutputMappingToRecord;
|
|
268
|
+
private buildFieldValuesLookup;
|
|
69
269
|
private recomputeValidation;
|
|
70
270
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeaturePipelineBuilderComponent, never>;
|
|
71
271
|
static ɵcmp: i0.ɵɵComponentDeclaration<FeaturePipelineBuilderComponent, "mj-feature-pipeline-builder", never, { "Record": { "alias": "Record"; "required": false; }; "EntityID": { "alias": "EntityID"; "required": false; }; }, { "SpecChange": "SpecChange"; "ValidChange": "ValidChange"; }, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-pipeline-builder.component.d.ts","sourceRoot":"","sources":["../../../src/lib/feature-pipeline-builder/feature-pipeline-builder.component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAIH,YAAY,EAEZ,SAAS,EACT,MAAM,EAEN,aAAa,EAEhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAChG,OAAO,
|
|
1
|
+
{"version":3,"file":"feature-pipeline-builder.component.d.ts","sourceRoot":"","sources":["../../../src/lib/feature-pipeline-builder/feature-pipeline-builder.component.ts"],"names":[],"mappings":"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"}
|