@memberjunction/record-set-processor 5.42.0 → 5.44.0
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/RecordProcessExecutor.d.ts +31 -4
- package/dist/RecordProcessExecutor.d.ts.map +1 -1
- package/dist/RecordProcessExecutor.js +74 -9
- package/dist/RecordProcessExecutor.js.map +1 -1
- package/dist/RecordSetProcessor.d.ts.map +1 -1
- package/dist/RecordSetProcessor.js +1 -0
- package/dist/RecordSetProcessor.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/operations/RecordProcessControlOperations.d.ts +12 -40
- package/dist/operations/RecordProcessControlOperations.d.ts.map +1 -1
- package/dist/operations/RecordProcessControlOperations.js +40 -40
- package/dist/operations/RecordProcessControlOperations.js.map +1 -1
- package/dist/operations/RecordProcessGetRunStatusOperation.d.ts +4 -19
- package/dist/operations/RecordProcessGetRunStatusOperation.d.ts.map +1 -1
- package/dist/operations/RecordProcessGetRunStatusOperation.js +8 -10
- package/dist/operations/RecordProcessGetRunStatusOperation.js.map +1 -1
- package/dist/processors/FieldRulesProcessor.d.ts +44 -0
- package/dist/processors/FieldRulesProcessor.d.ts.map +1 -0
- package/dist/processors/FieldRulesProcessor.js +130 -0
- package/dist/processors/FieldRulesProcessor.js.map +1 -0
- package/dist/processors/WriteBackProcessor.d.ts +5 -1
- package/dist/processors/WriteBackProcessor.d.ts.map +1 -1
- package/dist/processors/WriteBackProcessor.js +6 -1
- package/dist/processors/WriteBackProcessor.js.map +1 -1
- package/dist/trackers/GenericProcessRunTracker.d.ts +7 -0
- package/dist/trackers/GenericProcessRunTracker.d.ts.map +1 -1
- package/dist/trackers/GenericProcessRunTracker.js +19 -6
- package/dist/trackers/GenericProcessRunTracker.js.map +1 -1
- package/dist/writeBack.d.ts +16 -2
- package/dist/writeBack.d.ts.map +1 -1
- package/dist/writeBack.js +48 -20
- package/dist/writeBack.js.map +1 -1
- package/package.json +13 -11
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
8
8
|
import { MJRecordProcessEntity } from '@memberjunction/core-entities';
|
|
9
9
|
import { IRecordProcessor, IRecordSetSource, ProcessRunResult, ProgressInfo, TriggeredByValue } from '@memberjunction/record-set-processor-base';
|
|
10
|
+
import { type RecordProcessScopeOverride } from '@memberjunction/core-entities';
|
|
10
11
|
/** Options for executing a Record Process. */
|
|
11
12
|
export interface RunRecordProcessOptions {
|
|
12
13
|
/** The acting user. */
|
|
@@ -17,6 +18,16 @@ export interface RunRecordProcessOptions {
|
|
|
17
18
|
triggeredBy?: TriggeredByValue;
|
|
18
19
|
/** Process a single record (the on-change / on-demand single-record case) instead of the scope. */
|
|
19
20
|
singleRecordID?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Runtime scope override (selected rows / a view / a list / a filter), used instead of the stored
|
|
23
|
+
* Scope. This is how a grid/list UI runs a process against exactly what the user is looking at.
|
|
24
|
+
*/
|
|
25
|
+
scope?: RecordProcessScopeOverride;
|
|
26
|
+
/**
|
|
27
|
+
* Compute-only: for work types that support it (currently `FieldRules`), produce the per-record diff
|
|
28
|
+
* WITHOUT writing. Powers the preview step of the bulk-update UX.
|
|
29
|
+
*/
|
|
30
|
+
dryRun?: boolean;
|
|
20
31
|
/** FK to the owning `ScheduledJobRun` when launched by the scheduler (links the Process Run back). */
|
|
21
32
|
scheduledJobRunID?: string;
|
|
22
33
|
/** Progress callback. */
|
|
@@ -28,9 +39,25 @@ export declare class RecordProcessExecutor {
|
|
|
28
39
|
RunByID(recordProcessID: string, options: RunRecordProcessOptions): Promise<ProcessRunResult>;
|
|
29
40
|
/** Runs an already-loaded Record Process. */
|
|
30
41
|
Run(rp: MJRecordProcessEntity, options: RunRecordProcessOptions): Promise<ProcessRunResult>;
|
|
31
|
-
/** Builds the record-set source from the process's Scope
|
|
32
|
-
buildSource(rp: MJRecordProcessEntity, provider: IMetadataProvider, singleRecordID?: string): IRecordSetSource;
|
|
33
|
-
/**
|
|
34
|
-
|
|
42
|
+
/** Builds the record-set source from a single-record override, a runtime scope override, or the process's stored Scope. */
|
|
43
|
+
buildSource(rp: MJRecordProcessEntity, provider: IMetadataProvider, singleRecordID?: string, scope?: RecordProcessScopeOverride): IRecordSetSource;
|
|
44
|
+
/** Resolves a runtime scope override (UI invocation: selection / view / list / filter) to a source. */
|
|
45
|
+
private buildSourceFromScope;
|
|
46
|
+
/**
|
|
47
|
+
* Builds the processor from the process's Work. `FieldRules` reads its rule set from `Configuration`
|
|
48
|
+
* and writes itself (honoring `dryRun`); the other work types build a base processor wrapped with
|
|
49
|
+
* output-mapping write-back when configured. The write-back wrapper also honors `dryRun` — on a
|
|
50
|
+
* dry-run the inner work runs but the mapping only previews (nothing is saved), so EVERY work type's
|
|
51
|
+
* dry-run is side-effect-free, not just FieldRules.
|
|
52
|
+
*/
|
|
53
|
+
buildProcessor(rp: MJRecordProcessEntity, dryRun?: boolean): IRecordProcessor;
|
|
54
|
+
/**
|
|
55
|
+
* Resolves a processor for a work type the built-in switch doesn't handle by consulting the
|
|
56
|
+
* {@link RecordProcessorRegistry}. External packages register a factory keyed by their work-type
|
|
57
|
+
* string; the factory builds (and closes over its own injected deps for) the processor from the
|
|
58
|
+
* per-run context. Throws the same "unsupported WorkType" error as before when nothing is registered,
|
|
59
|
+
* so behavior is unchanged for genuinely-unknown work types.
|
|
60
|
+
*/
|
|
61
|
+
private resolveFromRegistry;
|
|
35
62
|
}
|
|
36
63
|
//# sourceMappingURL=RecordProcessExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordProcessExecutor.d.ts","sourceRoot":"","sources":["../src/RecordProcessExecutor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAGH,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"RecordProcessExecutor.d.ts","sourceRoot":"","sources":["../src/RecordProcessExecutor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAGH,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,YAAY,EAGZ,gBAAgB,EAEnB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAShF,8CAA8C;AAC9C,MAAM,WAAW,uBAAuB;IACpC,uBAAuB;IACvB,WAAW,EAAE,QAAQ,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,mGAAmG;IACnG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;CACjD;AAED,kFAAkF;AAClF,qBAAa,qBAAqB;IAC9B,kDAAkD;IACrC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU1G,6CAA6C;IAChC,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBxG,2HAA2H;IACpH,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,0BAA0B,GAAG,gBAAgB;IAgCzJ,uGAAuG;IACvG,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;OAMG;IACI,cAAc,CAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB;IAyCpF;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAkB9B"}
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Metadata } from '@memberjunction/core';
|
|
8
8
|
import { SafeJSONParse } from '@memberjunction/global';
|
|
9
|
-
import { ArraySource, FilterSource, ListSource, ViewSource, } from '@memberjunction/record-set-processor-base';
|
|
9
|
+
import { ArraySource, FilterSource, ListSource, RecordProcessorRegistry, ViewSource, } from '@memberjunction/record-set-processor-base';
|
|
10
10
|
import { RecordSetProcessor } from './RecordSetProcessor.js';
|
|
11
11
|
import { ActionRecordProcessor } from './processors/ActionRecordProcessor.js';
|
|
12
12
|
import { AgentRecordProcessor } from './processors/AgentRecordProcessor.js';
|
|
13
13
|
import { InferProcessor } from './processors/InferProcessor.js';
|
|
14
|
+
import { FieldRulesProcessor } from './processors/FieldRulesProcessor.js';
|
|
14
15
|
import { WriteBackProcessor } from './processors/WriteBackProcessor.js';
|
|
15
16
|
/** Builds and runs a RecordSetProcessor pass from a Record Process definition. */
|
|
16
17
|
export class RecordProcessExecutor {
|
|
@@ -28,10 +29,11 @@ export class RecordProcessExecutor {
|
|
|
28
29
|
async Run(rp, options) {
|
|
29
30
|
const provider = options.provider ?? Metadata.Provider;
|
|
30
31
|
return RecordSetProcessor.Instance.Process({
|
|
31
|
-
source: this.buildSource(rp, provider, options.singleRecordID),
|
|
32
|
-
processor: this.buildProcessor(rp),
|
|
32
|
+
source: this.buildSource(rp, provider, options.singleRecordID, options.scope),
|
|
33
|
+
processor: this.buildProcessor(rp, options.dryRun),
|
|
33
34
|
contextUser: options.contextUser,
|
|
34
35
|
provider,
|
|
36
|
+
dryRun: options.dryRun,
|
|
35
37
|
recordProcessID: rp.ID,
|
|
36
38
|
scheduledJobRunID: options.scheduledJobRunID,
|
|
37
39
|
entityID: rp.EntityID,
|
|
@@ -42,11 +44,14 @@ export class RecordProcessExecutor {
|
|
|
42
44
|
configuration: { recordProcessName: rp.Name, workType: rp.WorkType, scopeType: rp.ScopeType },
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
|
-
/** Builds the record-set source from the process's Scope
|
|
46
|
-
buildSource(rp, provider, singleRecordID) {
|
|
47
|
+
/** Builds the record-set source from a single-record override, a runtime scope override, or the process's stored Scope. */
|
|
48
|
+
buildSource(rp, provider, singleRecordID, scope) {
|
|
47
49
|
if (singleRecordID) {
|
|
48
50
|
return new ArraySource([{ EntityID: rp.EntityID, RecordID: singleRecordID }], rp.EntityID, 'SingleRecord');
|
|
49
51
|
}
|
|
52
|
+
if (scope) {
|
|
53
|
+
return this.buildSourceFromScope(rp, provider, scope);
|
|
54
|
+
}
|
|
50
55
|
switch (rp.ScopeType) {
|
|
51
56
|
case 'View':
|
|
52
57
|
if (!rp.ScopeViewID) {
|
|
@@ -71,8 +76,40 @@ export class RecordProcessExecutor {
|
|
|
71
76
|
throw new Error(`Record Process '${rp.Name}': unsupported ScopeType '${rp.ScopeType}'`);
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
|
-
/**
|
|
75
|
-
|
|
79
|
+
/** Resolves a runtime scope override (UI invocation: selection / view / list / filter) to a source. */
|
|
80
|
+
buildSourceFromScope(rp, provider, scope) {
|
|
81
|
+
switch (scope.Kind) {
|
|
82
|
+
case 'records':
|
|
83
|
+
return new ArraySource(scope.RecordIDs.map((id) => ({ EntityID: rp.EntityID, RecordID: id })), rp.EntityID, 'Array');
|
|
84
|
+
case 'view':
|
|
85
|
+
return new ViewSource(scope.ViewID);
|
|
86
|
+
case 'list':
|
|
87
|
+
return new ListSource(scope.ListID);
|
|
88
|
+
case 'filter': {
|
|
89
|
+
const entity = provider.EntityByID(rp.EntityID);
|
|
90
|
+
if (!entity) {
|
|
91
|
+
throw new Error(`Record Process '${rp.Name}': entity '${rp.EntityID}' not found in metadata`);
|
|
92
|
+
}
|
|
93
|
+
return new FilterSource(entity.Name, scope.Filter);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Builds the processor from the process's Work. `FieldRules` reads its rule set from `Configuration`
|
|
99
|
+
* and writes itself (honoring `dryRun`); the other work types build a base processor wrapped with
|
|
100
|
+
* output-mapping write-back when configured. The write-back wrapper also honors `dryRun` — on a
|
|
101
|
+
* dry-run the inner work runs but the mapping only previews (nothing is saved), so EVERY work type's
|
|
102
|
+
* dry-run is side-effect-free, not just FieldRules.
|
|
103
|
+
*/
|
|
104
|
+
buildProcessor(rp, dryRun) {
|
|
105
|
+
if (rp.WorkType === 'FieldRules') {
|
|
106
|
+
const ruleSet = rp.Configuration ? SafeJSONParse(rp.Configuration) : undefined;
|
|
107
|
+
if (!ruleSet || !Array.isArray(ruleSet.Rules)) {
|
|
108
|
+
throw new Error(`Record Process '${rp.Name}': WorkType=FieldRules requires a FieldRuleSet (with a Rules array) in Configuration`);
|
|
109
|
+
}
|
|
110
|
+
// FieldRules owns its own write / dry-run preview — no output-mapping write-back wrapper.
|
|
111
|
+
return new FieldRulesProcessor({ RuleSet: ruleSet, DryRun: dryRun });
|
|
112
|
+
}
|
|
76
113
|
const inputMapping = rp.InputMapping ? SafeJSONParse(rp.InputMapping) : undefined;
|
|
77
114
|
let base;
|
|
78
115
|
if (rp.WorkType === 'Action') {
|
|
@@ -94,13 +131,41 @@ export class RecordProcessExecutor {
|
|
|
94
131
|
base = new InferProcessor(rp.PromptID, inputMapping);
|
|
95
132
|
}
|
|
96
133
|
else {
|
|
97
|
-
|
|
134
|
+
// Not a built-in work type — consult the pluggable registry. This is the open seam that
|
|
135
|
+
// lets external packages (e.g. Predictive Studio's 'ML Model' scoring) register a processor
|
|
136
|
+
// factory for their own work type WITHOUT this package depending on them.
|
|
137
|
+
base = this.resolveFromRegistry(rp, dryRun);
|
|
98
138
|
}
|
|
99
139
|
const outputMapping = rp.OutputMapping ? SafeJSONParse(rp.OutputMapping) : undefined;
|
|
100
140
|
if (outputMapping && (outputMapping.fields || outputMapping.childRecord)) {
|
|
101
|
-
return new WriteBackProcessor(base, outputMapping);
|
|
141
|
+
return new WriteBackProcessor(base, outputMapping, dryRun);
|
|
102
142
|
}
|
|
103
143
|
return base;
|
|
104
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Resolves a processor for a work type the built-in switch doesn't handle by consulting the
|
|
147
|
+
* {@link RecordProcessorRegistry}. External packages register a factory keyed by their work-type
|
|
148
|
+
* string; the factory builds (and closes over its own injected deps for) the processor from the
|
|
149
|
+
* per-run context. Throws the same "unsupported WorkType" error as before when nothing is registered,
|
|
150
|
+
* so behavior is unchanged for genuinely-unknown work types.
|
|
151
|
+
*/
|
|
152
|
+
resolveFromRegistry(rp, dryRun) {
|
|
153
|
+
const context = {
|
|
154
|
+
WorkType: rp.WorkType,
|
|
155
|
+
Configuration: rp.Configuration,
|
|
156
|
+
InputMapping: rp.InputMapping,
|
|
157
|
+
OutputMapping: rp.OutputMapping,
|
|
158
|
+
EntityID: rp.EntityID,
|
|
159
|
+
RecordProcessID: rp.ID,
|
|
160
|
+
RecordProcessName: rp.Name,
|
|
161
|
+
DryRun: dryRun,
|
|
162
|
+
RecordProcess: rp,
|
|
163
|
+
};
|
|
164
|
+
const resolved = RecordProcessorRegistry.Instance.Resolve(context);
|
|
165
|
+
if (!resolved) {
|
|
166
|
+
throw new Error(`Record Process '${rp.Name}': unsupported WorkType '${rp.WorkType}'`);
|
|
167
|
+
}
|
|
168
|
+
return resolved;
|
|
169
|
+
}
|
|
105
170
|
}
|
|
106
171
|
//# sourceMappingURL=RecordProcessExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordProcessExecutor.js","sourceRoot":"","sources":["../src/RecordProcessExecutor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"RecordProcessExecutor.js","sourceRoot":"","sources":["../src/RecordProcessExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSetProcessor.d.ts","sourceRoot":"","sources":["../src/RecordSetProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAIH,gBAAgB,EAKhB,uBAAuB,EAG1B,MAAM,2CAA2C,CAAC;AASnD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,2CAA2C;IAC3C,WAAkB,QAAQ,IAAI,kBAAkB,CAE/C;IAED;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"RecordSetProcessor.d.ts","sourceRoot":"","sources":["../src/RecordSetProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAIH,gBAAgB,EAKhB,uBAAuB,EAG1B,MAAM,2CAA2C,CAAC;AASnD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,2CAA2C;IAC3C,WAAkB,QAAQ,IAAI,kBAAkB,CAE/C;IAED;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmEjF,wDAAwD;YAC1C,YAAY;IAoE1B,mFAAmF;YACrE,YAAY;IA6B1B,yEAAyE;YAC3D,kBAAkB;IAiBhC,oFAAoF;YACtE,cAAc;IAa5B,OAAO,CAAC,KAAK;CAGhB"}
|
|
@@ -53,6 +53,7 @@ export class RecordSetProcessor extends BaseSingleton {
|
|
|
53
53
|
SourceFilter: descriptor.SourceFilter,
|
|
54
54
|
BatchSize: batchSize,
|
|
55
55
|
Configuration: options.configuration,
|
|
56
|
+
DryRun: options.dryRun,
|
|
56
57
|
};
|
|
57
58
|
const handle = await tracker.BeginRun(meta, contextUser, provider);
|
|
58
59
|
const counts = { Processed: 0, Success: 0, Error: 0, Skipped: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSetProcessor.js","sourceRoot":"","sources":["../src/RecordSetProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAqB,QAAQ,EAAE,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAcvF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,gDAAgD;AAChD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAiC;IACrE,2CAA2C;IACpC,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAAsB,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,OAAgC;QACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACnD,MAAM,QAAQ,GAAsB,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAC1E,MAAM,OAAO,GAAuB,OAAO,CAAC,OAAO,IAAI,IAAI,wBAAwB,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,uBAAuB,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACjI,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAmB;YACzB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ;YAC5C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"RecordSetProcessor.js","sourceRoot":"","sources":["../src/RecordSetProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAqB,QAAQ,EAAE,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAcvF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,gDAAgD;AAChD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAiC;IACrE,2CAA2C;IACpC,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAAsB,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,OAAgC;QACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACnD,MAAM,QAAQ,GAAsB,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAC1E,MAAM,OAAO,GAAuB,OAAO,CAAC,OAAO,IAAI,IAAI,wBAAwB,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,uBAAuB,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACjI,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAmB;YACzB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ;YAC5C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7E,IAAI,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,YAAgC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;gBACrD,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW;gBAC/D,MAAM;gBACN,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;gBACvB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;gBACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,GAAG,QAAQ,CAAC;YAClB,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,QAAQ,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,OAAO,GAAsB;YAC/B,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,IAAI,IAAI,EAAE;YACnB,YAAY,EAAE,YAAY;SAC7B,CAAC;QACF,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,YAAY,CAAC,GAAqB;QAC5C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACnD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAEhC,iDAAiD;QACjD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5F,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBACxD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,WAAW,CAAC;YACvB,CAAC;YAED,iDAAiD;YACjD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;gBACxD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACjB,OAAO,WAAW,CAAC;gBACvB,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;oBAC7B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEtC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE3D,uCAAuC;YACvC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrH,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,eAAe;YACf,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3F,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC/B,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;oBACxG,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;gBAC1D,IAAI,SAAS,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;oBACjC,GAAG,CAAC,eAAe,CAAC,+BAA+B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;oBAC5G,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IAED,mFAAmF;IAC3E,KAAK,CAAC,YAAY,CAAC,OAAoB,EAAE,GAAqB;QAClE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QAChC,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE1H,MAAM,MAAM,GAAG,KAAK,EAAE,MAAiB,EAAiB,EAAE;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,MAAoB,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClG,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,kBAAkB,CAAI,KAAU,EAAE,KAAa,EAAE,MAAkC;QAC7F,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACtC,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;gBACxB,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,oFAAoF;IAC5E,KAAK,CAAC,cAAc,CACxB,IAA0D,EAC1D,OAAoB,EACpB,SAAiB;QAEjB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,6DAA6D,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpH,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './processors/ActionRecordProcessor.js';
|
|
|
13
13
|
export * from './processors/AgentRecordProcessor.js';
|
|
14
14
|
export * from './processors/WriteBackProcessor.js';
|
|
15
15
|
export * from './processors/InferProcessor.js';
|
|
16
|
+
export * from './processors/FieldRulesProcessor.js';
|
|
16
17
|
export * from './trackers/NoOpTracker.js';
|
|
17
18
|
export * from './trackers/GenericProcessRunTracker.js';
|
|
18
19
|
export * from './operations/RecordProcessGetRunStatusOperation.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export * from './processors/ActionRecordProcessor.js';
|
|
|
13
13
|
export * from './processors/AgentRecordProcessor.js';
|
|
14
14
|
export * from './processors/WriteBackProcessor.js';
|
|
15
15
|
export * from './processors/InferProcessor.js';
|
|
16
|
+
export * from './processors/FieldRulesProcessor.js';
|
|
16
17
|
export * from './trackers/NoOpTracker.js';
|
|
17
18
|
export * from './trackers/GenericProcessRunTracker.js';
|
|
18
19
|
export * from './operations/RecordProcessGetRunStatusOperation.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC"}
|
|
@@ -4,56 +4,28 @@
|
|
|
4
4
|
* the facade's only on-demand/control path (no bespoke resolvers).
|
|
5
5
|
* @module @memberjunction/record-set-processor
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
export interface RecordProcessRunNowInput {
|
|
10
|
-
recordProcessID: string;
|
|
11
|
-
/** When set, processes just this single record instead of the configured scope. */
|
|
12
|
-
singleRecordID?: string;
|
|
13
|
-
}
|
|
14
|
-
/** Output of `RecordProcess.RunNow`. */
|
|
15
|
-
export interface RecordProcessRunNowOutput {
|
|
16
|
-
processRunID?: string;
|
|
17
|
-
status: string;
|
|
18
|
-
processed: number;
|
|
19
|
-
success: number;
|
|
20
|
-
error: number;
|
|
21
|
-
skipped: number;
|
|
22
|
-
}
|
|
7
|
+
import { IMetadataProvider, RemoteOpServerContext, UserInfo } from '@memberjunction/core';
|
|
8
|
+
import { RecordProcessRunNowOperation, RecordProcessPauseRunOperation, RecordProcessCancelRunOperation, RecordProcessResumeRunOperation, type RecordProcessRunNowInput, type RecordProcessRunNowOutput, type ProcessRunControlInput, type ProcessRunControlOutput } from '@memberjunction/core-entities';
|
|
23
9
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
10
|
+
* Server implementation of `RecordProcess.RunNow` — runs a Record Process on demand, honoring an optional
|
|
11
|
+
* dry-run (compute-only preview) and runtime scope override (the rows a UI selected). Extends the
|
|
12
|
+
* client-safe {@link RecordProcessRunNowOperation} base in `-base` (which carries the key + typed I/O) and
|
|
13
|
+
* supplies the server body; registered last so it wins server-side dispatch. Marked `LongRunning` (the
|
|
14
|
+
* handle is a `ProcessRunID`).
|
|
26
15
|
*/
|
|
27
|
-
export declare class
|
|
28
|
-
|
|
29
|
-
readonly RequiredScope = "recordprocess:execute";
|
|
30
|
-
readonly ExecutionMode: "LongRunning";
|
|
31
|
-
protected InternalExecute(input: RecordProcessRunNowInput, provider: IMetadataProvider, user: UserInfo): Promise<RecordProcessRunNowOutput>;
|
|
32
|
-
}
|
|
33
|
-
/** Input for the pause/resume/cancel control operations. */
|
|
34
|
-
export interface ProcessRunControlInput {
|
|
35
|
-
processRunID: string;
|
|
36
|
-
}
|
|
37
|
-
/** Output of the control operations. */
|
|
38
|
-
export interface ProcessRunControlOutput {
|
|
39
|
-
status: string;
|
|
16
|
+
export declare class RecordProcessRunNowServerOperation extends RecordProcessRunNowOperation {
|
|
17
|
+
protected InternalExecute(input: RecordProcessRunNowInput, provider: IMetadataProvider, user: UserInfo, context: RemoteOpServerContext): Promise<RecordProcessRunNowOutput>;
|
|
40
18
|
}
|
|
41
19
|
/** Requests a graceful pause of a running process (honored at the next checkpoint). */
|
|
42
|
-
export declare class
|
|
43
|
-
readonly OperationKey = "RecordProcess.PauseRun";
|
|
44
|
-
readonly RequiredScope = "recordprocess:execute";
|
|
20
|
+
export declare class RecordProcessPauseRunServerOperation extends RecordProcessPauseRunOperation {
|
|
45
21
|
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
46
22
|
}
|
|
47
23
|
/** Requests cancellation of a running process (honored at the next checkpoint). */
|
|
48
|
-
export declare class
|
|
49
|
-
readonly OperationKey = "RecordProcess.CancelRun";
|
|
50
|
-
readonly RequiredScope = "recordprocess:execute";
|
|
24
|
+
export declare class RecordProcessCancelRunServerOperation extends RecordProcessCancelRunOperation {
|
|
51
25
|
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
52
26
|
}
|
|
53
27
|
/** Clears a paused run's cancellation flag so it can be resumed by a subsequent run. */
|
|
54
|
-
export declare class
|
|
55
|
-
readonly OperationKey = "RecordProcess.ResumeRun";
|
|
56
|
-
readonly RequiredScope = "recordprocess:execute";
|
|
28
|
+
export declare class RecordProcessResumeRunServerOperation extends RecordProcessResumeRunOperation {
|
|
57
29
|
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
58
30
|
}
|
|
59
31
|
/** Tree-shaking anchor — call from a server bootstrap to retain these operation registrations. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordProcessControlOperations.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"RecordProcessControlOperations.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA0B,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElH,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAGvC;;;;;;GAMG;AACH,qBACa,kCAAmC,SAAQ,4BAA4B;cAChE,eAAe,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAiCpL;AA0BD,uFAAuF;AACvF,qBACa,oCAAqC,SAAQ,8BAA8B;cACpE,eAAe,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGhJ;AAED,mFAAmF;AACnF,qBACa,qCAAsC,SAAQ,+BAA+B;cACtE,eAAe,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGhJ;AAED,wFAAwF;AACxF,qBACa,qCAAsC,SAAQ,+BAA+B;cACtE,eAAe,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGhJ;AAED,kGAAkG;AAClG,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
|
|
@@ -12,19 +12,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
12
12
|
};
|
|
13
13
|
import { RegisterClass } from '@memberjunction/global';
|
|
14
14
|
import { BaseRemotableOperation } from '@memberjunction/core';
|
|
15
|
+
import { RecordProcessRunNowOperation, RecordProcessPauseRunOperation, RecordProcessCancelRunOperation, RecordProcessResumeRunOperation, } from '@memberjunction/core-entities';
|
|
15
16
|
import { RecordProcessExecutor } from '../RecordProcessExecutor.js';
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* Server implementation of `RecordProcess.RunNow` — runs a Record Process on demand, honoring an optional
|
|
19
|
+
* dry-run (compute-only preview) and runtime scope override (the rows a UI selected). Extends the
|
|
20
|
+
* client-safe {@link RecordProcessRunNowOperation} base in `-base` (which carries the key + typed I/O) and
|
|
21
|
+
* supplies the server body; registered last so it wins server-side dispatch. Marked `LongRunning` (the
|
|
22
|
+
* handle is a `ProcessRunID`).
|
|
19
23
|
*/
|
|
20
|
-
let
|
|
21
|
-
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.OperationKey = 'RecordProcess.RunNow';
|
|
24
|
-
this.RequiredScope = 'recordprocess:execute';
|
|
25
|
-
this.ExecutionMode = 'LongRunning';
|
|
26
|
-
}
|
|
27
|
-
async InternalExecute(input, provider, user) {
|
|
24
|
+
let RecordProcessRunNowServerOperation = class RecordProcessRunNowServerOperation extends RecordProcessRunNowOperation {
|
|
25
|
+
async InternalExecute(input, provider, user, context) {
|
|
28
26
|
if (!input?.recordProcessID) {
|
|
29
27
|
throw new Error('recordProcessID is required');
|
|
30
28
|
}
|
|
@@ -33,6 +31,18 @@ let RecordProcessRunNowOperation = class RecordProcessRunNowOperation extends Ba
|
|
|
33
31
|
provider,
|
|
34
32
|
triggeredBy: 'OnDemand',
|
|
35
33
|
singleRecordID: input.singleRecordID,
|
|
34
|
+
dryRun: input.dryRun,
|
|
35
|
+
scope: input.scope,
|
|
36
|
+
// RO-3: forward the executor's per-batch progress as typed RemoteOpProgress, so an `attached`
|
|
37
|
+
// caller's onProgress (and, over the wire, the progress channel) sees live run progress.
|
|
38
|
+
onProgress: (p) => context.emitProgress({
|
|
39
|
+
OperationKey: this.OperationKey,
|
|
40
|
+
Processed: p.Processed,
|
|
41
|
+
Total: p.Total ?? undefined,
|
|
42
|
+
Status: 'Running',
|
|
43
|
+
Message: `Processed ${p.Processed}${p.Total != null ? ` of ${p.Total}` : ''} record(s)`,
|
|
44
|
+
Payload: { Success: p.Success, Error: p.Error, Skipped: p.Skipped, CurrentRecordID: p.CurrentRecordID },
|
|
45
|
+
}),
|
|
36
46
|
});
|
|
37
47
|
return {
|
|
38
48
|
processRunID: result.ProcessRunID,
|
|
@@ -41,13 +51,16 @@ let RecordProcessRunNowOperation = class RecordProcessRunNowOperation extends Ba
|
|
|
41
51
|
success: result.Success,
|
|
42
52
|
error: result.Error,
|
|
43
53
|
skipped: result.Skipped,
|
|
54
|
+
errorMessage: result.ErrorMessage,
|
|
44
55
|
};
|
|
45
56
|
}
|
|
46
57
|
};
|
|
47
|
-
|
|
58
|
+
RecordProcessRunNowServerOperation = __decorate([
|
|
48
59
|
RegisterClass(BaseRemotableOperation, 'RecordProcess.RunNow')
|
|
49
|
-
],
|
|
50
|
-
export {
|
|
60
|
+
], RecordProcessRunNowServerOperation);
|
|
61
|
+
export { RecordProcessRunNowServerOperation };
|
|
62
|
+
// ProcessRunControlInput / ProcessRunControlOutput are now CodeGen-emitted into @memberjunction/core-entities
|
|
63
|
+
// (generated/remote_operations.ts) from the MJ: Remote Operations rows, and imported above.
|
|
51
64
|
/** Sets `CancellationRequested` on a run to the given value, returning the run's status. */
|
|
52
65
|
async function setCancellation(processRunID, value, provider, user) {
|
|
53
66
|
if (!processRunID) {
|
|
@@ -65,51 +78,38 @@ async function setCancellation(processRunID, value, provider, user) {
|
|
|
65
78
|
}
|
|
66
79
|
return { status: run.Status };
|
|
67
80
|
}
|
|
81
|
+
// Each server operation extends its CodeGen-emitted base (which carries OperationKey / ExecutionMode /
|
|
82
|
+
// RequiredScope / RequiresSystemUser from metadata) and supplies only the InternalExecute body + @RegisterClass.
|
|
68
83
|
/** Requests a graceful pause of a running process (honored at the next checkpoint). */
|
|
69
|
-
let
|
|
70
|
-
constructor() {
|
|
71
|
-
super(...arguments);
|
|
72
|
-
this.OperationKey = 'RecordProcess.PauseRun';
|
|
73
|
-
this.RequiredScope = 'recordprocess:execute';
|
|
74
|
-
}
|
|
84
|
+
let RecordProcessPauseRunServerOperation = class RecordProcessPauseRunServerOperation extends RecordProcessPauseRunOperation {
|
|
75
85
|
async InternalExecute(input, provider, user) {
|
|
76
86
|
return setCancellation(input.processRunID, true, provider, user);
|
|
77
87
|
}
|
|
78
88
|
};
|
|
79
|
-
|
|
89
|
+
RecordProcessPauseRunServerOperation = __decorate([
|
|
80
90
|
RegisterClass(BaseRemotableOperation, 'RecordProcess.PauseRun')
|
|
81
|
-
],
|
|
82
|
-
export {
|
|
91
|
+
], RecordProcessPauseRunServerOperation);
|
|
92
|
+
export { RecordProcessPauseRunServerOperation };
|
|
83
93
|
/** Requests cancellation of a running process (honored at the next checkpoint). */
|
|
84
|
-
let
|
|
85
|
-
constructor() {
|
|
86
|
-
super(...arguments);
|
|
87
|
-
this.OperationKey = 'RecordProcess.CancelRun';
|
|
88
|
-
this.RequiredScope = 'recordprocess:execute';
|
|
89
|
-
}
|
|
94
|
+
let RecordProcessCancelRunServerOperation = class RecordProcessCancelRunServerOperation extends RecordProcessCancelRunOperation {
|
|
90
95
|
async InternalExecute(input, provider, user) {
|
|
91
96
|
return setCancellation(input.processRunID, true, provider, user);
|
|
92
97
|
}
|
|
93
98
|
};
|
|
94
|
-
|
|
99
|
+
RecordProcessCancelRunServerOperation = __decorate([
|
|
95
100
|
RegisterClass(BaseRemotableOperation, 'RecordProcess.CancelRun')
|
|
96
|
-
],
|
|
97
|
-
export {
|
|
101
|
+
], RecordProcessCancelRunServerOperation);
|
|
102
|
+
export { RecordProcessCancelRunServerOperation };
|
|
98
103
|
/** Clears a paused run's cancellation flag so it can be resumed by a subsequent run. */
|
|
99
|
-
let
|
|
100
|
-
constructor() {
|
|
101
|
-
super(...arguments);
|
|
102
|
-
this.OperationKey = 'RecordProcess.ResumeRun';
|
|
103
|
-
this.RequiredScope = 'recordprocess:execute';
|
|
104
|
-
}
|
|
104
|
+
let RecordProcessResumeRunServerOperation = class RecordProcessResumeRunServerOperation extends RecordProcessResumeRunOperation {
|
|
105
105
|
async InternalExecute(input, provider, user) {
|
|
106
106
|
return setCancellation(input.processRunID, false, provider, user);
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
|
-
|
|
109
|
+
RecordProcessResumeRunServerOperation = __decorate([
|
|
110
110
|
RegisterClass(BaseRemotableOperation, 'RecordProcess.ResumeRun')
|
|
111
|
-
],
|
|
112
|
-
export {
|
|
111
|
+
], RecordProcessResumeRunServerOperation);
|
|
112
|
+
export { RecordProcessResumeRunServerOperation };
|
|
113
113
|
/** Tree-shaking anchor — call from a server bootstrap to retain these operation registrations. */
|
|
114
114
|
export function LoadRecordProcessControlOperations() {
|
|
115
115
|
// intentionally empty
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordProcessControlOperations.js","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"RecordProcessControlOperations.js","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,25 +5,10 @@
|
|
|
5
5
|
* from the browser via the generic `ExecuteRemoteOperation` transport.
|
|
6
6
|
* @module @memberjunction/record-set-processor
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
processRunID: string;
|
|
13
|
-
}
|
|
14
|
-
/** Output of {@link RecordProcessGetRunStatusOperation}. */
|
|
15
|
-
export interface RecordProcessGetRunStatusOutput {
|
|
16
|
-
status: string;
|
|
17
|
-
processed: number;
|
|
18
|
-
total: number | null;
|
|
19
|
-
success: number;
|
|
20
|
-
error: number;
|
|
21
|
-
skipped: number;
|
|
22
|
-
}
|
|
23
|
-
/** Returns the live status and counts of a Process Run. */
|
|
24
|
-
export declare class RecordProcessGetRunStatusOperation extends BaseRemotableOperation<RecordProcessGetRunStatusInput, RecordProcessGetRunStatusOutput> {
|
|
25
|
-
readonly OperationKey = "RecordProcess.GetRunStatus";
|
|
26
|
-
readonly RequiredScope = "recordprocess:execute";
|
|
8
|
+
import { IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
9
|
+
import { RecordProcessGetRunStatusOperation, type RecordProcessGetRunStatusInput, type RecordProcessGetRunStatusOutput } from '@memberjunction/core-entities';
|
|
10
|
+
/** Returns the live status and counts of a Process Run; the server body for the generated `RecordProcess.GetRunStatus` base. */
|
|
11
|
+
export declare class RecordProcessGetRunStatusServerOperation extends RecordProcessGetRunStatusOperation {
|
|
27
12
|
protected InternalExecute(input: RecordProcessGetRunStatusInput, provider: IMetadataProvider, user: UserInfo): Promise<RecordProcessGetRunStatusOutput>;
|
|
28
13
|
}
|
|
29
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordProcessGetRunStatusOperation.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessGetRunStatusOperation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"RecordProcessGetRunStatusOperation.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessGetRunStatusOperation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA0B,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAEH,kCAAkC,EAClC,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACvC,MAAM,+BAA+B,CAAC;AAKvC,gIAAgI;AAChI,qBACa,wCAAyC,SAAQ,kCAAkC;cAE5E,eAAe,CAAC,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAkBhK;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,IAAI,IAAI,CAE7D"}
|
|
@@ -13,13 +13,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
13
13
|
};
|
|
14
14
|
import { RegisterClass } from '@memberjunction/global';
|
|
15
15
|
import { BaseRemotableOperation } from '@memberjunction/core';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.RequiredScope = 'recordprocess:execute';
|
|
22
|
-
}
|
|
16
|
+
import { RecordProcessGetRunStatusOperation, } from '@memberjunction/core-entities';
|
|
17
|
+
// RecordProcessGetRunStatusInput / Output + the typed base are now CodeGen-emitted into
|
|
18
|
+
// @memberjunction/core-entities (generated/remote_operations.ts) and imported above.
|
|
19
|
+
/** Returns the live status and counts of a Process Run; the server body for the generated `RecordProcess.GetRunStatus` base. */
|
|
20
|
+
let RecordProcessGetRunStatusServerOperation = class RecordProcessGetRunStatusServerOperation extends RecordProcessGetRunStatusOperation {
|
|
23
21
|
async InternalExecute(input, provider, user) {
|
|
24
22
|
if (!input?.processRunID) {
|
|
25
23
|
throw new Error('processRunID is required');
|
|
@@ -39,10 +37,10 @@ let RecordProcessGetRunStatusOperation = class RecordProcessGetRunStatusOperatio
|
|
|
39
37
|
};
|
|
40
38
|
}
|
|
41
39
|
};
|
|
42
|
-
|
|
40
|
+
RecordProcessGetRunStatusServerOperation = __decorate([
|
|
43
41
|
RegisterClass(BaseRemotableOperation, 'RecordProcess.GetRunStatus')
|
|
44
|
-
],
|
|
45
|
-
export {
|
|
42
|
+
], RecordProcessGetRunStatusServerOperation);
|
|
43
|
+
export { RecordProcessGetRunStatusServerOperation };
|
|
46
44
|
/**
|
|
47
45
|
* Tree-shaking anchor — call from a server bootstrap to guarantee the `@RegisterClass` registration
|
|
48
46
|
* is retained so the operation is resolvable by key.
|