@memberjunction/record-set-processor 0.0.1 → 5.42.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/README.md +58 -43
- package/dist/RateLimiter.d.ts +46 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +71 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/RecordProcessExecutor.d.ts +36 -0
- package/dist/RecordProcessExecutor.d.ts.map +1 -0
- package/dist/RecordProcessExecutor.js +106 -0
- package/dist/RecordProcessExecutor.js.map +1 -0
- package/dist/RecordSetProcessor.d.ts +36 -0
- package/dist/RecordSetProcessor.d.ts.map +1 -0
- package/dist/RecordSetProcessor.js +215 -0
- package/dist/RecordSetProcessor.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/operations/RecordProcessControlOperations.d.ts +61 -0
- package/dist/operations/RecordProcessControlOperations.d.ts.map +1 -0
- package/dist/operations/RecordProcessControlOperations.js +117 -0
- package/dist/operations/RecordProcessControlOperations.js.map +1 -0
- package/dist/operations/RecordProcessGetRunStatusOperation.d.ts +34 -0
- package/dist/operations/RecordProcessGetRunStatusOperation.d.ts.map +1 -0
- package/dist/operations/RecordProcessGetRunStatusOperation.js +53 -0
- package/dist/operations/RecordProcessGetRunStatusOperation.js.map +1 -0
- package/dist/processors/ActionRecordProcessor.d.ts +27 -0
- package/dist/processors/ActionRecordProcessor.d.ts.map +1 -0
- package/dist/processors/ActionRecordProcessor.js +61 -0
- package/dist/processors/ActionRecordProcessor.js.map +1 -0
- package/dist/processors/AgentRecordProcessor.d.ts +23 -0
- package/dist/processors/AgentRecordProcessor.d.ts.map +1 -0
- package/dist/processors/AgentRecordProcessor.js +51 -0
- package/dist/processors/AgentRecordProcessor.js.map +1 -0
- package/dist/processors/FunctionRecordProcessor.d.ts +16 -0
- package/dist/processors/FunctionRecordProcessor.d.ts.map +1 -0
- package/dist/processors/FunctionRecordProcessor.js +16 -0
- package/dist/processors/FunctionRecordProcessor.js.map +1 -0
- package/dist/processors/InferProcessor.d.ts +24 -0
- package/dist/processors/InferProcessor.d.ts.map +1 -0
- package/dist/processors/InferProcessor.js +60 -0
- package/dist/processors/InferProcessor.js.map +1 -0
- package/dist/processors/WriteBackProcessor.d.ts +20 -0
- package/dist/processors/WriteBackProcessor.d.ts.map +1 -0
- package/dist/processors/WriteBackProcessor.js +41 -0
- package/dist/processors/WriteBackProcessor.js.map +1 -0
- package/dist/trackers/GenericProcessRunTracker.d.ts +17 -0
- package/dist/trackers/GenericProcessRunTracker.d.ts.map +1 -0
- package/dist/trackers/GenericProcessRunTracker.js +120 -0
- package/dist/trackers/GenericProcessRunTracker.js.map +1 -0
- package/dist/trackers/NoOpTracker.d.ts +15 -0
- package/dist/trackers/NoOpTracker.d.ts.map +1 -0
- package/dist/trackers/NoOpTracker.js +24 -0
- package/dist/trackers/NoOpTracker.js.map +1 -0
- package/dist/writeBack.d.ts +42 -0
- package/dist/writeBack.d.ts.map +1 -0
- package/dist/writeBack.js +59 -0
- package/dist/writeBack.js.map +1 -0
- package/package.json +37 -7
|
@@ -0,0 +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;SACvC,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
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Public API for the Record Set Processor engine — the server-side `RecordSetProcessor`
|
|
3
|
+
* plus the built-in rate limiter, trackers, and the function processor. Source adapters, types, and
|
|
4
|
+
* the pluggable seam interfaces live in `@memberjunction/record-set-processor-base`.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
export * from './RateLimiter.js';
|
|
8
|
+
export * from './RecordSetProcessor.js';
|
|
9
|
+
export * from './RecordProcessExecutor.js';
|
|
10
|
+
export * from './writeBack.js';
|
|
11
|
+
export * from './processors/FunctionRecordProcessor.js';
|
|
12
|
+
export * from './processors/ActionRecordProcessor.js';
|
|
13
|
+
export * from './processors/AgentRecordProcessor.js';
|
|
14
|
+
export * from './processors/WriteBackProcessor.js';
|
|
15
|
+
export * from './processors/InferProcessor.js';
|
|
16
|
+
export * from './trackers/NoOpTracker.js';
|
|
17
|
+
export * from './trackers/GenericProcessRunTracker.js';
|
|
18
|
+
export * from './operations/RecordProcessGetRunStatusOperation.js';
|
|
19
|
+
export * from './operations/RecordProcessControlOperations.js';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Public API for the Record Set Processor engine — the server-side `RecordSetProcessor`
|
|
3
|
+
* plus the built-in rate limiter, trackers, and the function processor. Source adapters, types, and
|
|
4
|
+
* the pluggable seam interfaces live in `@memberjunction/record-set-processor-base`.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
export * from './RateLimiter.js';
|
|
8
|
+
export * from './RecordSetProcessor.js';
|
|
9
|
+
export * from './RecordProcessExecutor.js';
|
|
10
|
+
export * from './writeBack.js';
|
|
11
|
+
export * from './processors/FunctionRecordProcessor.js';
|
|
12
|
+
export * from './processors/ActionRecordProcessor.js';
|
|
13
|
+
export * from './processors/AgentRecordProcessor.js';
|
|
14
|
+
export * from './processors/WriteBackProcessor.js';
|
|
15
|
+
export * from './processors/InferProcessor.js';
|
|
16
|
+
export * from './trackers/NoOpTracker.js';
|
|
17
|
+
export * from './trackers/GenericProcessRunTracker.js';
|
|
18
|
+
export * from './operations/RecordProcessGetRunStatusOperation.js';
|
|
19
|
+
export * from './operations/RecordProcessControlOperations.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Record Process control Remote Operations — RunNow (on-demand execution) plus the
|
|
3
|
+
* Pause / Resume / Cancel control surface (the run's `CancellationRequested` handshake). These are
|
|
4
|
+
* the facade's only on-demand/control path (no bespoke resolvers).
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
import { BaseRemotableOperation, IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
8
|
+
/** Input for `RecordProcess.RunNow`. */
|
|
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
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Runs a Record Process on demand. Marked `LongRunning` (the handle is a `ProcessRunID`); the
|
|
25
|
+
* detached/attached streaming consumption is added in RO-3 — this currently awaits completion.
|
|
26
|
+
*/
|
|
27
|
+
export declare class RecordProcessRunNowOperation extends BaseRemotableOperation<RecordProcessRunNowInput, RecordProcessRunNowOutput> {
|
|
28
|
+
readonly OperationKey = "RecordProcess.RunNow";
|
|
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;
|
|
40
|
+
}
|
|
41
|
+
/** Requests a graceful pause of a running process (honored at the next checkpoint). */
|
|
42
|
+
export declare class RecordProcessPauseRunOperation extends BaseRemotableOperation<ProcessRunControlInput, ProcessRunControlOutput> {
|
|
43
|
+
readonly OperationKey = "RecordProcess.PauseRun";
|
|
44
|
+
readonly RequiredScope = "recordprocess:execute";
|
|
45
|
+
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
46
|
+
}
|
|
47
|
+
/** Requests cancellation of a running process (honored at the next checkpoint). */
|
|
48
|
+
export declare class RecordProcessCancelRunOperation extends BaseRemotableOperation<ProcessRunControlInput, ProcessRunControlOutput> {
|
|
49
|
+
readonly OperationKey = "RecordProcess.CancelRun";
|
|
50
|
+
readonly RequiredScope = "recordprocess:execute";
|
|
51
|
+
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
52
|
+
}
|
|
53
|
+
/** Clears a paused run's cancellation flag so it can be resumed by a subsequent run. */
|
|
54
|
+
export declare class RecordProcessResumeRunOperation extends BaseRemotableOperation<ProcessRunControlInput, ProcessRunControlOutput> {
|
|
55
|
+
readonly OperationKey = "RecordProcess.ResumeRun";
|
|
56
|
+
readonly RequiredScope = "recordprocess:execute";
|
|
57
|
+
protected InternalExecute(input: ProcessRunControlInput, provider: IMetadataProvider, user: UserInfo): Promise<ProcessRunControlOutput>;
|
|
58
|
+
}
|
|
59
|
+
/** Tree-shaking anchor — call from a server bootstrap to retain these operation registrations. */
|
|
60
|
+
export declare function LoadRecordProcessControlOperations(): void;
|
|
61
|
+
//# sourceMappingURL=RecordProcessControlOperations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordProcessControlOperations.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI3F,wCAAwC;AACxC,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wCAAwC;AACxC,MAAM,WAAW,yBAAyB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBACa,4BAA6B,SAAQ,sBAAsB,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IACzH,SAAgB,YAAY,0BAA0B;IACtD,SAAgB,aAAa,2BAA2B;IACxD,SAAgB,aAAa,EAAG,aAAa,CAAU;cAEvC,eAAe,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAmBpJ;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wCAAwC;AACxC,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;CAClB;AAoBD,uFAAuF;AACvF,qBACa,8BAA+B,SAAQ,sBAAsB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACvH,SAAgB,YAAY,4BAA4B;IACxD,SAAgB,aAAa,2BAA2B;cACxC,eAAe,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGhJ;AAED,mFAAmF;AACnF,qBACa,+BAAgC,SAAQ,sBAAsB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACxH,SAAgB,YAAY,6BAA6B;IACzD,SAAgB,aAAa,2BAA2B;cACxC,eAAe,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGhJ;AAED,wFAAwF;AACxF,qBACa,+BAAgC,SAAQ,sBAAsB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACxH,SAAgB,YAAY,6BAA6B;IACzD,SAAgB,aAAa,2BAA2B;cACxC,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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Record Process control Remote Operations — RunNow (on-demand execution) plus the
|
|
3
|
+
* Pause / Resume / Cancel control surface (the run's `CancellationRequested` handshake). These are
|
|
4
|
+
* the facade's only on-demand/control path (no bespoke resolvers).
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
14
|
+
import { BaseRemotableOperation } from '@memberjunction/core';
|
|
15
|
+
import { RecordProcessExecutor } from '../RecordProcessExecutor.js';
|
|
16
|
+
/**
|
|
17
|
+
* Runs a Record Process on demand. Marked `LongRunning` (the handle is a `ProcessRunID`); the
|
|
18
|
+
* detached/attached streaming consumption is added in RO-3 — this currently awaits completion.
|
|
19
|
+
*/
|
|
20
|
+
let RecordProcessRunNowOperation = class RecordProcessRunNowOperation extends BaseRemotableOperation {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.OperationKey = 'RecordProcess.RunNow';
|
|
24
|
+
this.RequiredScope = 'recordprocess:execute';
|
|
25
|
+
this.ExecutionMode = 'LongRunning';
|
|
26
|
+
}
|
|
27
|
+
async InternalExecute(input, provider, user) {
|
|
28
|
+
if (!input?.recordProcessID) {
|
|
29
|
+
throw new Error('recordProcessID is required');
|
|
30
|
+
}
|
|
31
|
+
const result = await new RecordProcessExecutor().RunByID(input.recordProcessID, {
|
|
32
|
+
contextUser: user,
|
|
33
|
+
provider,
|
|
34
|
+
triggeredBy: 'OnDemand',
|
|
35
|
+
singleRecordID: input.singleRecordID,
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
processRunID: result.ProcessRunID,
|
|
39
|
+
status: result.Status,
|
|
40
|
+
processed: result.Processed,
|
|
41
|
+
success: result.Success,
|
|
42
|
+
error: result.Error,
|
|
43
|
+
skipped: result.Skipped,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
RecordProcessRunNowOperation = __decorate([
|
|
48
|
+
RegisterClass(BaseRemotableOperation, 'RecordProcess.RunNow')
|
|
49
|
+
], RecordProcessRunNowOperation);
|
|
50
|
+
export { RecordProcessRunNowOperation };
|
|
51
|
+
/** Sets `CancellationRequested` on a run to the given value, returning the run's status. */
|
|
52
|
+
async function setCancellation(processRunID, value, provider, user) {
|
|
53
|
+
if (!processRunID) {
|
|
54
|
+
throw new Error('processRunID is required');
|
|
55
|
+
}
|
|
56
|
+
const run = await provider.GetEntityObject('MJ: Process Runs', user);
|
|
57
|
+
const loaded = await run.Load(processRunID);
|
|
58
|
+
if (!loaded) {
|
|
59
|
+
throw new Error(`Process Run '${processRunID}' not found`);
|
|
60
|
+
}
|
|
61
|
+
run.CancellationRequested = value;
|
|
62
|
+
const saved = await run.Save();
|
|
63
|
+
if (!saved) {
|
|
64
|
+
throw new Error(`Failed updating Process Run '${processRunID}': ${run.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
65
|
+
}
|
|
66
|
+
return { status: run.Status };
|
|
67
|
+
}
|
|
68
|
+
/** Requests a graceful pause of a running process (honored at the next checkpoint). */
|
|
69
|
+
let RecordProcessPauseRunOperation = class RecordProcessPauseRunOperation extends BaseRemotableOperation {
|
|
70
|
+
constructor() {
|
|
71
|
+
super(...arguments);
|
|
72
|
+
this.OperationKey = 'RecordProcess.PauseRun';
|
|
73
|
+
this.RequiredScope = 'recordprocess:execute';
|
|
74
|
+
}
|
|
75
|
+
async InternalExecute(input, provider, user) {
|
|
76
|
+
return setCancellation(input.processRunID, true, provider, user);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
RecordProcessPauseRunOperation = __decorate([
|
|
80
|
+
RegisterClass(BaseRemotableOperation, 'RecordProcess.PauseRun')
|
|
81
|
+
], RecordProcessPauseRunOperation);
|
|
82
|
+
export { RecordProcessPauseRunOperation };
|
|
83
|
+
/** Requests cancellation of a running process (honored at the next checkpoint). */
|
|
84
|
+
let RecordProcessCancelRunOperation = class RecordProcessCancelRunOperation extends BaseRemotableOperation {
|
|
85
|
+
constructor() {
|
|
86
|
+
super(...arguments);
|
|
87
|
+
this.OperationKey = 'RecordProcess.CancelRun';
|
|
88
|
+
this.RequiredScope = 'recordprocess:execute';
|
|
89
|
+
}
|
|
90
|
+
async InternalExecute(input, provider, user) {
|
|
91
|
+
return setCancellation(input.processRunID, true, provider, user);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
RecordProcessCancelRunOperation = __decorate([
|
|
95
|
+
RegisterClass(BaseRemotableOperation, 'RecordProcess.CancelRun')
|
|
96
|
+
], RecordProcessCancelRunOperation);
|
|
97
|
+
export { RecordProcessCancelRunOperation };
|
|
98
|
+
/** Clears a paused run's cancellation flag so it can be resumed by a subsequent run. */
|
|
99
|
+
let RecordProcessResumeRunOperation = class RecordProcessResumeRunOperation extends BaseRemotableOperation {
|
|
100
|
+
constructor() {
|
|
101
|
+
super(...arguments);
|
|
102
|
+
this.OperationKey = 'RecordProcess.ResumeRun';
|
|
103
|
+
this.RequiredScope = 'recordprocess:execute';
|
|
104
|
+
}
|
|
105
|
+
async InternalExecute(input, provider, user) {
|
|
106
|
+
return setCancellation(input.processRunID, false, provider, user);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
RecordProcessResumeRunOperation = __decorate([
|
|
110
|
+
RegisterClass(BaseRemotableOperation, 'RecordProcess.ResumeRun')
|
|
111
|
+
], RecordProcessResumeRunOperation);
|
|
112
|
+
export { RecordProcessResumeRunOperation };
|
|
113
|
+
/** Tree-shaking anchor — call from a server bootstrap to retain these operation registrations. */
|
|
114
|
+
export function LoadRecordProcessControlOperations() {
|
|
115
|
+
// intentionally empty
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=RecordProcessControlOperations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordProcessControlOperations.js","sourceRoot":"","sources":["../../src/operations/RecordProcessControlOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `RecordProcess.GetRunStatus` — a typed, sync Remote Operation that returns the
|
|
3
|
+
* status + counts of a Process Run. The proof-of-concept consumer of the Remote Operations
|
|
4
|
+
* substrate: the same typed object runs in-process on the server and (once dispatched) is callable
|
|
5
|
+
* from the browser via the generic `ExecuteRemoteOperation` transport.
|
|
6
|
+
* @module @memberjunction/record-set-processor
|
|
7
|
+
*/
|
|
8
|
+
import { BaseRemotableOperation, IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
9
|
+
/** Input for {@link RecordProcessGetRunStatusOperation}. */
|
|
10
|
+
export interface RecordProcessGetRunStatusInput {
|
|
11
|
+
/** The `MJ: Process Runs` ID to read. */
|
|
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";
|
|
27
|
+
protected InternalExecute(input: RecordProcessGetRunStatusInput, provider: IMetadataProvider, user: UserInfo): Promise<RecordProcessGetRunStatusOutput>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tree-shaking anchor — call from a server bootstrap to guarantee the `@RegisterClass` registration
|
|
31
|
+
* is retained so the operation is resolvable by key.
|
|
32
|
+
*/
|
|
33
|
+
export declare function LoadRecordProcessGetRunStatusOperation(): void;
|
|
34
|
+
//# sourceMappingURL=RecordProcessGetRunStatusOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordProcessGetRunStatusOperation.d.ts","sourceRoot":"","sources":["../../src/operations/RecordProcessGetRunStatusOperation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3F,4DAA4D;AAC5D,MAAM,WAAW,8BAA8B;IAC3C,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,4DAA4D;AAC5D,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,2DAA2D;AAC3D,qBACa,kCAAmC,SAAQ,sBAAsB,CAAC,8BAA8B,EAAE,+BAA+B,CAAC;IAC3I,SAAgB,YAAY,gCAAgC;IAC5D,SAAgB,aAAa,2BAA2B;cAExC,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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `RecordProcess.GetRunStatus` — a typed, sync Remote Operation that returns the
|
|
3
|
+
* status + counts of a Process Run. The proof-of-concept consumer of the Remote Operations
|
|
4
|
+
* substrate: the same typed object runs in-process on the server and (once dispatched) is callable
|
|
5
|
+
* from the browser via the generic `ExecuteRemoteOperation` transport.
|
|
6
|
+
* @module @memberjunction/record-set-processor
|
|
7
|
+
*/
|
|
8
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
9
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
11
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
15
|
+
import { BaseRemotableOperation } from '@memberjunction/core';
|
|
16
|
+
/** Returns the live status and counts of a Process Run. */
|
|
17
|
+
let RecordProcessGetRunStatusOperation = class RecordProcessGetRunStatusOperation extends BaseRemotableOperation {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.OperationKey = 'RecordProcess.GetRunStatus';
|
|
21
|
+
this.RequiredScope = 'recordprocess:execute';
|
|
22
|
+
}
|
|
23
|
+
async InternalExecute(input, provider, user) {
|
|
24
|
+
if (!input?.processRunID) {
|
|
25
|
+
throw new Error('processRunID is required');
|
|
26
|
+
}
|
|
27
|
+
const run = await provider.GetEntityObject('MJ: Process Runs', user);
|
|
28
|
+
const loaded = await run.Load(input.processRunID);
|
|
29
|
+
if (!loaded) {
|
|
30
|
+
throw new Error(`Process Run '${input.processRunID}' not found`);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
status: run.Status,
|
|
34
|
+
processed: run.ProcessedItems,
|
|
35
|
+
total: run.TotalItemCount,
|
|
36
|
+
success: run.SuccessCount,
|
|
37
|
+
error: run.ErrorCount,
|
|
38
|
+
skipped: run.SkippedCount,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
RecordProcessGetRunStatusOperation = __decorate([
|
|
43
|
+
RegisterClass(BaseRemotableOperation, 'RecordProcess.GetRunStatus')
|
|
44
|
+
], RecordProcessGetRunStatusOperation);
|
|
45
|
+
export { RecordProcessGetRunStatusOperation };
|
|
46
|
+
/**
|
|
47
|
+
* Tree-shaking anchor — call from a server bootstrap to guarantee the `@RegisterClass` registration
|
|
48
|
+
* is retained so the operation is resolvable by key.
|
|
49
|
+
*/
|
|
50
|
+
export function LoadRecordProcessGetRunStatusOperation() {
|
|
51
|
+
// intentionally empty
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=RecordProcessGetRunStatusOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordProcessGetRunStatusOperation.js","sourceRoot":"","sources":["../../src/operations/RecordProcessGetRunStatusOperation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAA+B,MAAM,sBAAsB,CAAC;AAmB3F,2DAA2D;AAEpD,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,sBAAuF;IAAxI;;QACa,iBAAY,GAAG,4BAA4B,CAAC;QAC5C,kBAAa,GAAG,uBAAuB,CAAC;IAoB5D,CAAC;IAlBa,KAAK,CAAC,eAAe,CAAC,KAAqC,EAAE,QAA2B,EAAE,IAAc;QAC9G,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAqB,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,YAAY,aAAa,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;YACH,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,cAAc;YAC7B,KAAK,EAAE,GAAG,CAAC,cAAc;YACzB,OAAO,EAAE,GAAG,CAAC,YAAY;YACzB,KAAK,EAAE,GAAG,CAAC,UAAU;YACrB,OAAO,EAAE,GAAG,CAAC,YAAY;SAC5B,CAAC;IACN,CAAC;CACJ,CAAA;AAtBY,kCAAkC;IAD9C,aAAa,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;GACvD,kCAAkC,CAsB9C;;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC;IAClD,sBAAsB;AAC1B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Processor that runs an Action over each record. Input is resolved from the record
|
|
3
|
+
* via the generic value-mapping resolver (`InputMapping`); the action's output params become the
|
|
4
|
+
* record result payload, and the Action Execution Log is captured for tracing.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
import { ActionParam } from '@memberjunction/actions-base';
|
|
8
|
+
import { IRecordProcessor, RecordProcessorContext, RecordRef, RecordResult } from '@memberjunction/record-set-processor-base';
|
|
9
|
+
/** Runs an Action for each record, mapping the record into the action's input parameters. */
|
|
10
|
+
export declare class ActionRecordProcessor implements IRecordProcessor {
|
|
11
|
+
private readonly actionID;
|
|
12
|
+
private readonly inputMapping?;
|
|
13
|
+
/**
|
|
14
|
+
* @param actionID - ID of the Action to run.
|
|
15
|
+
* @param inputMapping - Optional mapping config resolved against `{ record, recordId, entityId }`
|
|
16
|
+
* to build the action's input params (e.g. `{ "CustomerID": "record.ID", "Tier": "record.Tier" }`).
|
|
17
|
+
*/
|
|
18
|
+
constructor(actionID: string, inputMapping?: unknown);
|
|
19
|
+
/** Named sources exposed to the input mapping for a record. */
|
|
20
|
+
static buildSources(record: RecordRef): Record<string, unknown>;
|
|
21
|
+
/** Resolves the input mapping into Action input params. */
|
|
22
|
+
static buildActionParams(inputMapping: unknown, record: RecordRef): ActionParam[];
|
|
23
|
+
/** Collects an action's output params into a plain payload object. */
|
|
24
|
+
static extractOutputs(params?: ActionParam[]): Record<string, unknown>;
|
|
25
|
+
ProcessRecord(record: RecordRef, context: RecordProcessorContext): Promise<RecordResult>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ActionRecordProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionRecordProcessor.d.ts","sourceRoot":"","sources":["../../src/processors/ActionRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACf,MAAM,2CAA2C,CAAC;AAEnD,6FAA6F;AAC7F,qBAAa,qBAAsB,YAAW,gBAAgB;IAM9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAL7E;;;;OAIG;gBAC0B,QAAQ,EAAE,MAAM,EAAmB,YAAY,CAAC,EAAE,OAAO;IAEtF,+DAA+D;WACjD,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItE,2DAA2D;WAC7C,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,EAAE;IAOxF,sEAAsE;WACxD,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUhE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;CAqBxG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Processor that runs an Action over each record. Input is resolved from the record
|
|
3
|
+
* via the generic value-mapping resolver (`InputMapping`); the action's output params become the
|
|
4
|
+
* record result payload, and the Action Execution Log is captured for tracing.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
import { UUIDsEqual, resolveValueMapping } from '@memberjunction/global';
|
|
8
|
+
import { ActionEngineServer } from '@memberjunction/actions';
|
|
9
|
+
/** Runs an Action for each record, mapping the record into the action's input parameters. */
|
|
10
|
+
export class ActionRecordProcessor {
|
|
11
|
+
/**
|
|
12
|
+
* @param actionID - ID of the Action to run.
|
|
13
|
+
* @param inputMapping - Optional mapping config resolved against `{ record, recordId, entityId }`
|
|
14
|
+
* to build the action's input params (e.g. `{ "CustomerID": "record.ID", "Tier": "record.Tier" }`).
|
|
15
|
+
*/
|
|
16
|
+
constructor(actionID, inputMapping) {
|
|
17
|
+
this.actionID = actionID;
|
|
18
|
+
this.inputMapping = inputMapping;
|
|
19
|
+
}
|
|
20
|
+
/** Named sources exposed to the input mapping for a record. */
|
|
21
|
+
static buildSources(record) {
|
|
22
|
+
return { record: record.Record ?? {}, recordId: record.RecordID, entityId: record.EntityID };
|
|
23
|
+
}
|
|
24
|
+
/** Resolves the input mapping into Action input params. */
|
|
25
|
+
static buildActionParams(inputMapping, record) {
|
|
26
|
+
const mapped = inputMapping
|
|
27
|
+
? resolveValueMapping(inputMapping, ActionRecordProcessor.buildSources(record))
|
|
28
|
+
: {};
|
|
29
|
+
return Object.entries(mapped).map(([Name, Value]) => ({ Name, Value, Type: 'Input' }));
|
|
30
|
+
}
|
|
31
|
+
/** Collects an action's output params into a plain payload object. */
|
|
32
|
+
static extractOutputs(params) {
|
|
33
|
+
const out = {};
|
|
34
|
+
for (const p of params ?? []) {
|
|
35
|
+
if (p.Type === 'Output' || p.Type === 'Both') {
|
|
36
|
+
out[p.Name] = p.Value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
async ProcessRecord(record, context) {
|
|
42
|
+
await ActionEngineServer.Instance.Config(false, context.contextUser);
|
|
43
|
+
const action = ActionEngineServer.Instance.Actions.find((a) => UUIDsEqual(a.ID, this.actionID));
|
|
44
|
+
if (!action) {
|
|
45
|
+
return { Status: 'Failed', ErrorMessage: `Action '${this.actionID}' not found` };
|
|
46
|
+
}
|
|
47
|
+
const result = await ActionEngineServer.Instance.RunAction({
|
|
48
|
+
Action: action,
|
|
49
|
+
ContextUser: context.contextUser,
|
|
50
|
+
Params: ActionRecordProcessor.buildActionParams(this.inputMapping, record),
|
|
51
|
+
Filters: [],
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
Status: result.Success ? 'Succeeded' : 'Failed',
|
|
55
|
+
ResultPayload: ActionRecordProcessor.extractOutputs(result.Params),
|
|
56
|
+
ErrorMessage: result.Success ? undefined : (result.Message ?? 'Action failed'),
|
|
57
|
+
ActionExecutionLogID: result.LogEntry?.ID,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ActionRecordProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionRecordProcessor.js","sourceRoot":"","sources":["../../src/processors/ActionRecordProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Processor that runs an Agent (top-level, ExposeAsAction) over each record. The
|
|
3
|
+
* record is mapped into the agent's `data` via the generic value-mapping resolver (`InputMapping`),
|
|
4
|
+
* and the agent's structured output payload becomes the record result; the AI Agent Run is captured
|
|
5
|
+
* for tracing.
|
|
6
|
+
* @module @memberjunction/record-set-processor
|
|
7
|
+
*/
|
|
8
|
+
import { IRecordProcessor, RecordProcessorContext, RecordRef, RecordResult } from '@memberjunction/record-set-processor-base';
|
|
9
|
+
/** Runs an Agent for each record, mapping the record into the agent's input data. */
|
|
10
|
+
export declare class AgentRecordProcessor implements IRecordProcessor {
|
|
11
|
+
private readonly agentID;
|
|
12
|
+
private readonly inputMapping?;
|
|
13
|
+
/**
|
|
14
|
+
* @param agentID - ID of the Agent to run (must be top-level + `ExposeAsAction`).
|
|
15
|
+
* @param inputMapping - Optional mapping config resolved against `{ record, recordId, entityId }`
|
|
16
|
+
* to build the agent's `data`. When omitted, the whole record is passed as `data`.
|
|
17
|
+
*/
|
|
18
|
+
constructor(agentID: string, inputMapping?: unknown);
|
|
19
|
+
/** Builds the agent `data` payload from the record + optional input mapping. */
|
|
20
|
+
static buildData(inputMapping: unknown, record: RecordRef): Record<string, unknown>;
|
|
21
|
+
ProcessRecord(record: RecordRef, context: RecordProcessorContext): Promise<RecordResult>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=AgentRecordProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentRecordProcessor.d.ts","sourceRoot":"","sources":["../../src/processors/AgentRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACf,MAAM,2CAA2C,CAAC;AAEnD,qFAAqF;AACrF,qBAAa,oBAAqB,YAAW,gBAAgB;IAM7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAL5E;;;;OAIG;gBAC0B,OAAO,EAAE,MAAM,EAAmB,YAAY,CAAC,EAAE,OAAO;IAErF,gFAAgF;WAClE,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ7E,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;CAsBxG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Processor that runs an Agent (top-level, ExposeAsAction) over each record. The
|
|
3
|
+
* record is mapped into the agent's `data` via the generic value-mapping resolver (`InputMapping`),
|
|
4
|
+
* and the agent's structured output payload becomes the record result; the AI Agent Run is captured
|
|
5
|
+
* for tracing.
|
|
6
|
+
* @module @memberjunction/record-set-processor
|
|
7
|
+
*/
|
|
8
|
+
import { UUIDsEqual, resolveValueMapping } from '@memberjunction/global';
|
|
9
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
10
|
+
import { AgentRunner } from '@memberjunction/ai-agents';
|
|
11
|
+
/** Runs an Agent for each record, mapping the record into the agent's input data. */
|
|
12
|
+
export class AgentRecordProcessor {
|
|
13
|
+
/**
|
|
14
|
+
* @param agentID - ID of the Agent to run (must be top-level + `ExposeAsAction`).
|
|
15
|
+
* @param inputMapping - Optional mapping config resolved against `{ record, recordId, entityId }`
|
|
16
|
+
* to build the agent's `data`. When omitted, the whole record is passed as `data`.
|
|
17
|
+
*/
|
|
18
|
+
constructor(agentID, inputMapping) {
|
|
19
|
+
this.agentID = agentID;
|
|
20
|
+
this.inputMapping = inputMapping;
|
|
21
|
+
}
|
|
22
|
+
/** Builds the agent `data` payload from the record + optional input mapping. */
|
|
23
|
+
static buildData(inputMapping, record) {
|
|
24
|
+
if (!inputMapping) {
|
|
25
|
+
return { record: record.Record ?? {}, recordId: record.RecordID, entityId: record.EntityID };
|
|
26
|
+
}
|
|
27
|
+
const sources = { record: record.Record ?? {}, recordId: record.RecordID, entityId: record.EntityID };
|
|
28
|
+
return resolveValueMapping(inputMapping, sources);
|
|
29
|
+
}
|
|
30
|
+
async ProcessRecord(record, context) {
|
|
31
|
+
await AIEngine.Instance.Config(false, context.contextUser);
|
|
32
|
+
const agent = AIEngine.Instance.Agents.find((a) => UUIDsEqual(a.ID, this.agentID));
|
|
33
|
+
if (!agent) {
|
|
34
|
+
return { Status: 'Failed', ErrorMessage: `Agent '${this.agentID}' not found` };
|
|
35
|
+
}
|
|
36
|
+
const runner = new AgentRunner();
|
|
37
|
+
const result = await runner.RunAgent({
|
|
38
|
+
agent,
|
|
39
|
+
conversationMessages: [],
|
|
40
|
+
contextUser: context.contextUser,
|
|
41
|
+
data: AgentRecordProcessor.buildData(this.inputMapping, record),
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
Status: result.success ? 'Succeeded' : 'Failed',
|
|
45
|
+
ResultPayload: result.payload,
|
|
46
|
+
ErrorMessage: result.success ? undefined : (result.agentRun?.ErrorMessage ?? 'Agent failed'),
|
|
47
|
+
AIAgentRunID: result.agentRun?.ID,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=AgentRecordProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentRecordProcessor.js","sourceRoot":"","sources":["../../src/processors/AgentRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD,qFAAqF;AACrF,MAAM,OAAO,oBAAoB;IAC7B;;;;OAIG;IACH,YAA6B,OAAe,EAAmB,YAAsB;QAAxD,YAAO,GAAP,OAAO,CAAQ;QAAmB,iBAAY,GAAZ,YAAY,CAAU;IAAG,CAAC;IAEzF,gFAAgF;IACzE,MAAM,CAAC,SAAS,CAAC,YAAqB,EAAE,MAAiB;QAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtG,OAAO,mBAAmB,CAA0B,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAiB,EAAE,OAA+B;QACzE,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,IAAI,CAAC,OAAO,aAAa,EAAE,CAAC;QACnF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACjC,KAAK;YACL,oBAAoB,EAAE,EAAE;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;SAClE,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC/C,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,cAAc,CAAC;YAC5F,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A processor that delegates to a plain function — the simplest executor seam, useful
|
|
3
|
+
* for inline logic and tests. Action / Agent / Infer-&-Write-Back processors are added alongside
|
|
4
|
+
* their consuming features.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
import { IRecordProcessor, RecordProcessorContext, RecordRef, RecordResult } from '@memberjunction/record-set-processor-base';
|
|
8
|
+
/** Per-record handler function wrapped by {@link FunctionRecordProcessor}. */
|
|
9
|
+
export type RecordProcessorFn = (record: RecordRef, context: RecordProcessorContext) => Promise<RecordResult> | RecordResult;
|
|
10
|
+
/** An {@link IRecordProcessor} backed by a function. */
|
|
11
|
+
export declare class FunctionRecordProcessor implements IRecordProcessor {
|
|
12
|
+
private readonly fn;
|
|
13
|
+
constructor(fn: RecordProcessorFn);
|
|
14
|
+
ProcessRecord(record: RecordRef, context: RecordProcessorContext): Promise<RecordResult>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=FunctionRecordProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionRecordProcessor.d.ts","sourceRoot":"","sources":["../../src/processors/FunctionRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACf,MAAM,2CAA2C,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAE7H,wDAAwD;AACxD,qBAAa,uBAAwB,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAErC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;CAGxG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A processor that delegates to a plain function — the simplest executor seam, useful
|
|
3
|
+
* for inline logic and tests. Action / Agent / Infer-&-Write-Back processors are added alongside
|
|
4
|
+
* their consuming features.
|
|
5
|
+
* @module @memberjunction/record-set-processor
|
|
6
|
+
*/
|
|
7
|
+
/** An {@link IRecordProcessor} backed by a function. */
|
|
8
|
+
export class FunctionRecordProcessor {
|
|
9
|
+
constructor(fn) {
|
|
10
|
+
this.fn = fn;
|
|
11
|
+
}
|
|
12
|
+
async ProcessRecord(record, context) {
|
|
13
|
+
return this.fn(record, context);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=FunctionRecordProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionRecordProcessor.js","sourceRoot":"","sources":["../../src/processors/FunctionRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,wDAAwD;AACxD,MAAM,OAAO,uBAAuB;IAChC,YAA6B,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;IAAG,CAAC;IAE/C,KAAK,CAAC,aAAa,CAAC,MAAiB,EAAE,OAA+B;QACzE,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Infer processor — for each record, runs an AI Prompt over the record's data and
|
|
3
|
+
* returns the structured result as the record's `ResultPayload`. Write-back is NOT done here: the
|
|
4
|
+
* `WriteBackProcessor` wrapper (added by `RecordProcessExecutor` when an OutputMapping is set)
|
|
5
|
+
* applies the Record Process's OutputMapping uniformly across Action / Agent / Infer work types.
|
|
6
|
+
* @module @memberjunction/record-set-processor
|
|
7
|
+
*/
|
|
8
|
+
import { IRecordProcessor, RecordProcessorContext, RecordRef, RecordResult } from '@memberjunction/record-set-processor-base';
|
|
9
|
+
/** Runs an AI Prompt per record and returns its structured output (write-back is the wrapper's job). */
|
|
10
|
+
export declare class InferProcessor implements IRecordProcessor {
|
|
11
|
+
private readonly promptID;
|
|
12
|
+
private readonly inputMapping?;
|
|
13
|
+
/**
|
|
14
|
+
* @param promptID - The `MJ: AI Prompts` ID to run for each record.
|
|
15
|
+
* @param inputMapping - Optional mapping shaping the data passed to the prompt (default: `{ record }`).
|
|
16
|
+
*/
|
|
17
|
+
constructor(promptID: string, inputMapping?: Record<string, string>);
|
|
18
|
+
ProcessRecord(record: RecordRef, context: RecordProcessorContext): Promise<RecordResult>;
|
|
19
|
+
/** Builds the data object passed to the prompt — the record's fields under `record`, optionally remapped. */
|
|
20
|
+
private buildPromptData;
|
|
21
|
+
/** Extracts a plain field map from the record (BaseEntity → GetAll(), plain object → as-is). */
|
|
22
|
+
private recordToPlain;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=InferProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferProcessor.d.ts","sourceRoot":"","sources":["../../src/processors/InferProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACf,MAAM,2CAA2C,CAAC;AAEnD,wGAAwG;AACxG,qBAAa,cAAe,YAAW,gBAAgB;IAM/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IANlC;;;OAGG;gBAEkB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAG7C,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBrG,6GAA6G;IAC7G,OAAO,CAAC,eAAe;IASvB,gGAAgG;IAChG,OAAO,CAAC,aAAa;CAUxB"}
|