@coherentglobal/spark-execute-sdk 0.3.14 → 0.3.16
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/browser.js +22 -9
- package/package.json +5 -2
- package/src/models.js +14 -8
- package/src/node.js +69 -5
- package/src/resolver/externalResolver.js +46 -77
- package/src/services/entityStore.js +2 -2
- package/src/validate.js +1 -0
- package/examples/UsingBearerTokenFNAsync/bearerTokenExample.js +0 -22
- package/examples/UsingBearerTokenFNAsync/config.js +0 -88
- package/examples/UsingBearerTokenFNAsync/index.html +0 -207
- package/examples/UsingBearerTokenFNAsync/modelCInput.json +0 -15
- package/examples/UsingBearerTokenFNAsync/models/Model_C.zip +0 -0
- package/examples/UsingBearerTokenString/bearerTokenExample.js +0 -22
- package/examples/UsingBearerTokenString/config.js +0 -182
- package/examples/UsingBearerTokenString/index.html +0 -191
- package/examples/UsingBearerTokenString/modelCInput.json +0 -15
- package/examples/UsingBearerTokenString/models/Model_C.zip +0 -0
- package/examples/UsingSyntheticKeyFNAsync/bearerTokenExample.js +0 -22
- package/examples/UsingSyntheticKeyFNAsync/config.js +0 -195
- package/examples/UsingSyntheticKeyFNAsync/index.html +0 -205
- package/examples/UsingSyntheticKeyFNAsync/modelCInput.json +0 -15
- package/examples/UsingSyntheticKeyFNAsync/models/Model_C.zip +0 -0
- package/examples/UsingSyntheticKeyString/bearerTokenExample.js +0 -41
- package/examples/UsingSyntheticKeyString/config.js +0 -182
- package/examples/UsingSyntheticKeyString/index.html +0 -192
- package/examples/UsingSyntheticKeyString/modelCInput.json +0 -17
- package/examples/UsingSyntheticKeyString/models/Model_C.zip +0 -0
- package/examples/asyncFunctionModel/config.js +0 -96
- package/examples/asyncFunctionModel/modelCInput.json +0 -15
- package/examples/asyncFunctionModel/models/Model_C.zip +0 -0
- package/examples/asyncFunctionModel/node.js +0 -125
- package/examples/asyncFunctionModel/tool.js +0 -17
- package/examples/base64Model/config.js +0 -96
- package/examples/base64Model/modelCInput.json +0 -15
- package/examples/base64Model/models/Model_C.zip +0 -0
- package/examples/base64Model/node.js +0 -125
- package/examples/base64Model/tool.js +0 -17
- package/examples/base64modelBrowser/config.js +0 -96
- package/examples/base64modelBrowser/index.html +0 -194
- package/examples/base64modelBrowser/modelCInput.json +0 -15
- package/examples/base64modelBrowser/models/Model_C.zip +0 -0
- package/examples/base64modelBrowser/models/base64model.txt +0 -1
- package/examples/base64modelBrowser/node.js +0 -126
- package/examples/base64modelBrowser/tool.js +0 -17
- package/examples/binary/config.js +0 -96
- package/examples/binary/modelCInput.json +0 -15
- package/examples/binary/models/Model_C.zip +0 -0
- package/examples/binary/models/binary.txt +0 -1
- package/examples/binary/node.js +0 -131
- package/examples/binary/tool.js +0 -18
- package/examples/functionModel/config.js +0 -96
- package/examples/functionModel/index.html +0 -218
- package/examples/functionModel/modelCInput.json +0 -15
- package/examples/functionModel/models/0211e8f0-9988-4514-a761-9782db6700ce.zip +0 -0
- package/examples/functionModel/node.js +0 -138
- package/examples/functionModel/tool.js +0 -17
- package/examples/nodejs/node.js +0 -250
- package/examples/nodejs/test_models/Archive.zip +0 -0
- package/examples/nodejs/test_models/BlackScholes.zip +0 -0
- package/examples/nodejs/test_models/Model_A.zip +0 -0
- package/examples/nodejs/test_models/Par7.zip +0 -0
- package/examples/unzippedModel/config.js +0 -96
- package/examples/unzippedModel/index.html +0 -195
- package/examples/unzippedModel/modelCInput.json +0 -15
- package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.data +0 -0
- package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.js +0 -21
- package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.wasm +0 -0
- package/examples/unzippedModel/node.js +0 -125
- package/examples/unzippedModel/tool.js +0 -17
- package/examples/v16UpstreamDownStream/config.js +0 -151
- package/examples/v16UpstreamDownStream/configs/Downstream.json +0 -93
- package/examples/v16UpstreamDownStream/configs/Upstream.json +0 -102
- package/examples/v16UpstreamDownStream/index.html +0 -216
- package/examples/v16UpstreamDownStream/inputs/Downstream.json +0 -15
- package/examples/v16UpstreamDownStream/inputs/Upstream.json +0 -13
- package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.data +0 -0
- package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.js +0 -21
- package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.wasm +0 -0
- package/examples/v16UpstreamDownStream/models/DownstreamService_example.zip +0 -0
- package/examples/v16UpstreamDownStream/models/UpstreamService_example.zip +0 -0
- package/examples/v16UpstreamDownStream/models/base64modelA.txt +0 -1
- package/examples/v16UpstreamDownStream/models/base64modelB.txt +0 -1
- package/examples/v16UpstreamDownStream/node.js +0 -226
- package/examples/v16UpstreamDownStream/tools.js +0 -25
package/dist/browser.js
CHANGED
|
@@ -6843,12 +6843,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
6843
6843
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6844
6844
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6845
6845
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
6846
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6847
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6848
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6846
6849
|
/**
|
|
6847
6850
|
*
|
|
6848
6851
|
* @param {object} nodegen
|
|
6849
6852
|
* @returns
|
|
6850
6853
|
*/
|
|
6851
6854
|
var processModels = function processModels(nodegen) {
|
|
6855
|
+
var processedModels = _objectSpread({}, nodegen);
|
|
6856
|
+
// console.log('MODELS TO PROCESS: ', processedModels)
|
|
6852
6857
|
switch (nodegen.type) {
|
|
6853
6858
|
case "binary":
|
|
6854
6859
|
case "uint8array":
|
|
@@ -6860,11 +6865,14 @@ var processModels = function processModels(nodegen) {
|
|
|
6860
6865
|
js: Buffer.from(nodegen.binary.js, "base64"),
|
|
6861
6866
|
data: Buffer.from(nodegen.binary.data, "base64")
|
|
6862
6867
|
};
|
|
6863
|
-
|
|
6868
|
+
processedModels.binary = model;
|
|
6869
|
+
// nodegen.binary = model;
|
|
6864
6870
|
} else {
|
|
6865
6871
|
var _model = Buffer.from(nodegen.binary, "base64");
|
|
6866
|
-
|
|
6872
|
+
processedModels.binary = _model;
|
|
6873
|
+
// nodegen.binary = model;
|
|
6867
6874
|
}
|
|
6875
|
+
|
|
6868
6876
|
break;
|
|
6869
6877
|
case "function":
|
|
6870
6878
|
var func = nodegen.binary;
|
|
@@ -6878,9 +6886,11 @@ var processModels = function processModels(nodegen) {
|
|
|
6878
6886
|
_context.next = 2;
|
|
6879
6887
|
return func();
|
|
6880
6888
|
case 2:
|
|
6881
|
-
|
|
6889
|
+
processedModels.binary = _context.sent;
|
|
6890
|
+
// nodegen.binary = await func();
|
|
6882
6891
|
model = Buffer.from(nodegen.binary, "base64");
|
|
6883
|
-
|
|
6892
|
+
processedModels.binary = model;
|
|
6893
|
+
// nodegen.binary = model;
|
|
6884
6894
|
case 5:
|
|
6885
6895
|
case "end":
|
|
6886
6896
|
return _context.stop();
|
|
@@ -6889,19 +6899,21 @@ var processModels = function processModels(nodegen) {
|
|
|
6889
6899
|
}, _callee);
|
|
6890
6900
|
}))();
|
|
6891
6901
|
} else {
|
|
6892
|
-
nodegen.binary = func();
|
|
6902
|
+
// nodegen.binary = func();
|
|
6893
6903
|
var _model2 = Buffer.from(nodegen.binary, "base64");
|
|
6894
|
-
|
|
6904
|
+
processedModels.binary = _model2;
|
|
6905
|
+
// nodegen.binary = model;
|
|
6895
6906
|
}
|
|
6907
|
+
|
|
6896
6908
|
default:
|
|
6897
6909
|
break;
|
|
6898
6910
|
}
|
|
6899
|
-
return
|
|
6911
|
+
return processedModels;
|
|
6900
6912
|
};
|
|
6901
6913
|
module.exports = processModels;
|
|
6902
6914
|
|
|
6903
6915
|
}).call(this)}).call(this,require("buffer").Buffer)
|
|
6904
|
-
},{"@babel/runtime/helpers/asyncToGenerator":2,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/typeof":15,"@babel/runtime/regenerator":17,"buffer":24}],46:[function(require,module,exports){
|
|
6916
|
+
},{"@babel/runtime/helpers/asyncToGenerator":2,"@babel/runtime/helpers/defineProperty":6,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/typeof":15,"@babel/runtime/regenerator":17,"buffer":24}],46:[function(require,module,exports){
|
|
6905
6917
|
"use strict";
|
|
6906
6918
|
|
|
6907
6919
|
var Joi = require("joi");
|
|
@@ -6926,7 +6938,8 @@ var rules = Joi.object({
|
|
|
6926
6938
|
data: Joi.string()
|
|
6927
6939
|
})],
|
|
6928
6940
|
metaData: Joi.object()
|
|
6929
|
-
})).required()
|
|
6941
|
+
})).required(),
|
|
6942
|
+
externalUuid: Joi.string().allow()
|
|
6930
6943
|
// xParameters: Joi.array().items(),
|
|
6931
6944
|
// xCallCallback: Joi.func()
|
|
6932
6945
|
}).required();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coherentglobal/spark-execute-sdk",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "src/node.js",
|
|
6
6
|
"browser": "dist/browser.js",
|
|
@@ -29,7 +29,10 @@
|
|
|
29
29
|
"http-status-codes": "^2.2.0",
|
|
30
30
|
"joi": "^17.6.0",
|
|
31
31
|
"jstify": "^0.14.0",
|
|
32
|
-
"pino": "^8.5.0"
|
|
32
|
+
"pino": "^8.5.0",
|
|
33
|
+
"prettier": "^2.7.1",
|
|
34
|
+
"serialize-anything": "^1.2.3",
|
|
35
|
+
"uuid": "^9.0.0"
|
|
33
36
|
},
|
|
34
37
|
"devDependencies": {
|
|
35
38
|
"prettier": "^2.7.1",
|
package/src/models.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* @returns
|
|
5
5
|
*/
|
|
6
6
|
const processModels = (nodegen) => {
|
|
7
|
+
const processedModels = {...nodegen}
|
|
8
|
+
// console.log('MODELS TO PROCESS: ', processedModels)
|
|
7
9
|
switch (nodegen.type) {
|
|
8
10
|
case "binary":
|
|
9
11
|
case "uint8array":
|
|
@@ -15,11 +17,12 @@ const processModels = (nodegen) => {
|
|
|
15
17
|
js: Buffer.from(nodegen.binary.js, "base64"),
|
|
16
18
|
data: Buffer.from(nodegen.binary.data, "base64"),
|
|
17
19
|
};
|
|
18
|
-
|
|
19
|
-
nodegen.binary = model;
|
|
20
|
+
processedModels.binary = model
|
|
21
|
+
// nodegen.binary = model;
|
|
20
22
|
} else {
|
|
21
23
|
const model = Buffer.from(nodegen.binary, "base64");
|
|
22
|
-
|
|
24
|
+
processedModels.binary = model
|
|
25
|
+
// nodegen.binary = model;
|
|
23
26
|
}
|
|
24
27
|
break;
|
|
25
28
|
case "function":
|
|
@@ -27,20 +30,23 @@ const processModels = (nodegen) => {
|
|
|
27
30
|
|
|
28
31
|
if (func.constructor.name === "AsyncFunction") {
|
|
29
32
|
(async () => {
|
|
30
|
-
|
|
33
|
+
processedModels.binary = await func();
|
|
34
|
+
// nodegen.binary = await func();
|
|
31
35
|
const model = Buffer.from(nodegen.binary, "base64");
|
|
32
|
-
|
|
36
|
+
processedModels.binary = model;
|
|
37
|
+
// nodegen.binary = model;
|
|
33
38
|
})();
|
|
34
39
|
} else {
|
|
35
|
-
nodegen.binary = func();
|
|
40
|
+
// nodegen.binary = func();
|
|
36
41
|
const model = Buffer.from(nodegen.binary, "base64");
|
|
37
|
-
|
|
42
|
+
processedModels.binary = model;
|
|
43
|
+
// nodegen.binary = model;
|
|
38
44
|
}
|
|
39
45
|
default:
|
|
40
46
|
break;
|
|
41
47
|
}
|
|
42
48
|
|
|
43
|
-
return
|
|
49
|
+
return processedModels;
|
|
44
50
|
};
|
|
45
51
|
|
|
46
52
|
module.exports = processModels;
|
package/src/node.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
const utils = require("./helpers/utils.js");
|
|
2
2
|
const WasmRunnerErrors = require("./error.js");
|
|
3
3
|
const { WasmRunner } = require("@coherentglobal/wasm-runner");
|
|
4
|
-
const logger = require("./logger");
|
|
4
|
+
const logger = require("./logger.js");
|
|
5
5
|
const validate = require("./validate.js");
|
|
6
6
|
const processModels = require("./models.js");
|
|
7
7
|
const got = require("got");
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const serializeObject = require('serialize-anything');
|
|
10
|
+
const path = require('path')
|
|
11
|
+
const { v4: uuidv4 } = require('uuid')
|
|
8
12
|
const { object } = require("joi");
|
|
9
13
|
|
|
10
14
|
let registry = [];
|
|
@@ -13,11 +17,21 @@ class Spark {
|
|
|
13
17
|
/**
|
|
14
18
|
* @param {object} config
|
|
15
19
|
*/
|
|
16
|
-
constructor(config) {
|
|
20
|
+
constructor(config, option={}) {
|
|
21
|
+
this.externalUuid = config.externalUuid ? config.externalUuid : uuidv4()
|
|
17
22
|
/**
|
|
18
23
|
* @private
|
|
19
24
|
*/
|
|
20
|
-
|
|
25
|
+
if(option.serialize){
|
|
26
|
+
const toBase = Buffer.from(config, 'base64').toString('utf8')
|
|
27
|
+
const deserialize = serializeObject.deserialize(toBase)
|
|
28
|
+
const validate = this.validateConfig(deserialize)
|
|
29
|
+
this.config = validate
|
|
30
|
+
this.externalUuid = validate.externalUuid ? validate.externalUuid : uuidv4()
|
|
31
|
+
logger.info({message: "DESERIALIZE: ", value: this.externalUuid})
|
|
32
|
+
} else {
|
|
33
|
+
this.config = this.validateConfig(config)
|
|
34
|
+
}
|
|
21
35
|
const {
|
|
22
36
|
sparkEndpoint: { syntheticKey, bearerToken, authType, tenant, url },
|
|
23
37
|
nodeGenModels,
|
|
@@ -50,6 +64,18 @@ class Spark {
|
|
|
50
64
|
/**
|
|
51
65
|
* @private
|
|
52
66
|
*/
|
|
67
|
+
this.fallbackEnabled = false;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
this.externalResolver = this._addExternalResolver()
|
|
73
|
+
console.log('EX: ', this.externalResolver)
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
// this.storedConfig = this._storeConfig()
|
|
53
79
|
this.priority = ["model", "onlineEndpoint"];
|
|
54
80
|
}
|
|
55
81
|
|
|
@@ -241,7 +267,6 @@ class Spark {
|
|
|
241
267
|
};
|
|
242
268
|
|
|
243
269
|
let response;
|
|
244
|
-
|
|
245
270
|
response = await lookup[this.priority[0]](input, versionID, this);
|
|
246
271
|
if (response instanceof Error) {
|
|
247
272
|
response = await lookup[this.priority[1]](input, versionID, this);
|
|
@@ -250,6 +275,45 @@ class Spark {
|
|
|
250
275
|
return response;
|
|
251
276
|
}
|
|
252
277
|
|
|
278
|
+
_addExternalResolver() {
|
|
279
|
+
const folder = path.join(__dirname, `resolver_temp`)
|
|
280
|
+
try {
|
|
281
|
+
fs.accessSync(folder)
|
|
282
|
+
} catch (err) {
|
|
283
|
+
fs.mkdirSync(folder)
|
|
284
|
+
}
|
|
285
|
+
const filePath = path.join(__dirname, `resolver_temp/resolver-${this.externalUuid}.js`)
|
|
286
|
+
if(fs.existsSync(filePath)) {
|
|
287
|
+
return require.resolve(filePath)
|
|
288
|
+
}
|
|
289
|
+
let template = fs.readFileSync(
|
|
290
|
+
require.resolve("./resolver/externalResolver.js"),
|
|
291
|
+
{
|
|
292
|
+
encoding: "utf8"
|
|
293
|
+
}
|
|
294
|
+
)
|
|
295
|
+
const data = serializeObject.serialize({...this.config, externalUuid: this.externalUuid})
|
|
296
|
+
template = template.replace("%%config_to_replace%%", new Buffer(data).toString('base64'))
|
|
297
|
+
fs.writeFileSync(filePath, template)
|
|
298
|
+
return require.resolve(filePath)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
_getModelByMeta(folderName, serviceName) {
|
|
302
|
+
const model = this.model.find(
|
|
303
|
+
(m) =>
|
|
304
|
+
m?.metaData?.EngineInformation?.ProductName === folderName &&
|
|
305
|
+
m?.metaData?.EngineInformation?.ServiceName === serviceName
|
|
306
|
+
);
|
|
307
|
+
if (!model) throw new WasmRunnerErrors.MissingModelError(serviceName);
|
|
308
|
+
return model?.metaData?.VersionId || model?.versionId;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
_storeConfig() {
|
|
312
|
+
fs.writeFileSync('config.json',JSON.stringify(this.config), () => console.err(err))
|
|
313
|
+
return require.resolve('config.json')
|
|
314
|
+
// return JSON.stringify(this.config)
|
|
315
|
+
}
|
|
316
|
+
|
|
253
317
|
/**
|
|
254
318
|
* Remove Model
|
|
255
319
|
*/
|
|
@@ -264,7 +328,7 @@ class Spark {
|
|
|
264
328
|
TextMessage: `Execute uuid: ${model && model?.versionId}`,
|
|
265
329
|
});
|
|
266
330
|
if (!(registry instanceof WasmRunner)) {
|
|
267
|
-
registry = new WasmRunner();
|
|
331
|
+
registry = new WasmRunner(undefined, ds.externalResolver, "");
|
|
268
332
|
}
|
|
269
333
|
|
|
270
334
|
if (!registry.isExist(versionID)) {
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
modelServiceValidation,
|
|
7
|
-
getLatestVersionFromServiceMapTable,
|
|
8
|
-
} = require("../logic/runnerLogic");
|
|
9
|
-
const { getModelViaFolder } = require("../services/entityStore");
|
|
10
|
-
const tenant = "%%tenant_to_replace%%";
|
|
1
|
+
// const tenant = "%%tenant_to_replace%%";
|
|
2
|
+
const Spark = require('../node')
|
|
3
|
+
const logger = require('../logger')
|
|
4
|
+
|
|
5
|
+
const instance = new Spark("%%config_to_replace%%", {serialize: true})
|
|
11
6
|
|
|
12
7
|
const CALL_TYPE = {
|
|
13
8
|
0: "SparkService",
|
|
@@ -47,72 +42,46 @@ const XcallResBuilder = {
|
|
|
47
42
|
},
|
|
48
43
|
};
|
|
49
44
|
|
|
45
|
+
const sparkServiceVersionOne = async (requestData, context) => {
|
|
46
|
+
// const modelLocation = config().modelLocation;
|
|
47
|
+
const headers = context.headers;
|
|
48
|
+
const folderName = requestData.folder_name;
|
|
49
|
+
const serviceName = requestData.service_name;
|
|
50
|
+
const upstreamVersionId = context.upstreamVersionId;
|
|
51
|
+
let requestBodyFromEngine
|
|
52
|
+
// logger.info({
|
|
53
|
+
// eventType: "SparkService",
|
|
54
|
+
// msg: `EXTERNALSDK:DISPATCH_TYPE.SPARK_SERVICE ${tenant}`,
|
|
55
|
+
// });
|
|
56
|
+
// logger.info({ eventType: "RequestData", msg: requestData });
|
|
57
|
+
try {
|
|
58
|
+
requestBodyFromEngine = JSON.parse(requestData.request_body);
|
|
59
|
+
} catch (err) {
|
|
60
|
+
// logger.error({
|
|
61
|
+
// eventType: "SparkService",
|
|
62
|
+
// msg: `WASMSERVER:DISPATCH_TYPE.SPARK_SERVICE ERROR: Request body is malform JSON ${requestData.request_body}`,
|
|
63
|
+
// });
|
|
64
|
+
// throw new error(`Downstream Request body is malform JSON ${requestData.request_body}`)
|
|
65
|
+
}
|
|
66
|
+
const options = {}
|
|
67
|
+
const modelId = instance._getModelByMeta(folderName, serviceName)
|
|
68
|
+
const results = await instance.execute(requestBodyFromEngine, modelId)
|
|
69
|
+
// console.log('RES: ', results)
|
|
70
|
+
const response = XcallResBuilder.Json(
|
|
71
|
+
CALL_TYPE[0],
|
|
72
|
+
serviceName,
|
|
73
|
+
// StatusCodes.ACCEPTED,
|
|
74
|
+
202,
|
|
75
|
+
"",
|
|
76
|
+
0,
|
|
77
|
+
results
|
|
78
|
+
);
|
|
79
|
+
return response;
|
|
80
|
+
}
|
|
81
|
+
|
|
50
82
|
module.exports = {
|
|
51
83
|
sparkService: async (requestData, context) => {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
logger.info({
|
|
58
|
-
eventType: "SparkService",
|
|
59
|
-
msg: `WASMSERVER:DISPATCH_TYPE.SPARK_SERVICE ${tenant}`,
|
|
60
|
-
});
|
|
61
|
-
logger.info({ eventType: "RequestData", msg: requestData });
|
|
62
|
-
const requestBodyFromEngine = JSON.parse(requestData.request_body);
|
|
63
|
-
const requestMetaFromEngine = requestBodyFromEngine.request_meta;
|
|
64
|
-
const findAvailableLatestModelFromLocal =
|
|
65
|
-
getLatestVersionFromServiceMapTable(
|
|
66
|
-
context.servicemap,
|
|
67
|
-
headers.tenant,
|
|
68
|
-
decodeURI(folderName),
|
|
69
|
-
decodeURI(serviceName)
|
|
70
|
-
);
|
|
71
|
-
requestMetaFromEngine.version_id = findAvailableLatestModelFromLocal;
|
|
72
|
-
const serviceMap = modelServiceValidation(
|
|
73
|
-
context.servicemap,
|
|
74
|
-
headers.tenant,
|
|
75
|
-
requestMetaFromEngine
|
|
76
|
-
);
|
|
77
|
-
// const modelVersion = modelLocation
|
|
78
|
-
// ? // ? await resolveOffline(requestMetaFromEngine, headers.tenant, headers, serviceMap)
|
|
79
|
-
// findAvailableLatestModelFromLocal
|
|
80
|
-
// : await getModelViaFolder(folderName, serviceName, headers);
|
|
81
|
-
|
|
82
|
-
const modelVersion = await getModelViaFolder(
|
|
83
|
-
folderName,
|
|
84
|
-
serviceName,
|
|
85
|
-
headers
|
|
86
|
-
);
|
|
87
|
-
const params = {
|
|
88
|
-
tenant: headers.tenant,
|
|
89
|
-
};
|
|
90
|
-
const body = {
|
|
91
|
-
...requestBodyFromEngine,
|
|
92
|
-
request_meta: {
|
|
93
|
-
...requestBodyFromEngine.request_meta,
|
|
94
|
-
version_id: modelVersion,
|
|
95
|
-
call_purpose: "Spark - API Tester",
|
|
96
|
-
source_system: "SPARK",
|
|
97
|
-
correlation_id: "",
|
|
98
|
-
requested_output: null,
|
|
99
|
-
service_category: "",
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
const payload = {
|
|
103
|
-
body,
|
|
104
|
-
headers,
|
|
105
|
-
params,
|
|
106
|
-
};
|
|
107
|
-
const results = await handleDirectRequest(payload);
|
|
108
|
-
const response = XcallResBuilder.Json(
|
|
109
|
-
CALL_TYPE[0],
|
|
110
|
-
serviceName,
|
|
111
|
-
StatusCodes.ACCEPTED,
|
|
112
|
-
"",
|
|
113
|
-
0,
|
|
114
|
-
results
|
|
115
|
-
);
|
|
116
|
-
return response;
|
|
117
|
-
},
|
|
118
|
-
};
|
|
84
|
+
const results = await sparkServiceVersionOne(requestData, context)
|
|
85
|
+
return results
|
|
86
|
+
}
|
|
87
|
+
};
|
|
@@ -3,9 +3,9 @@ const cuid = require("cuid");
|
|
|
3
3
|
const fs = require("fs");
|
|
4
4
|
const got = require("got");
|
|
5
5
|
const path = require("path");
|
|
6
|
-
const { logger } = require("
|
|
6
|
+
const { logger } = require("../logger.js");
|
|
7
7
|
const { EntityStoreError } = require("../error");
|
|
8
|
-
const config = require("../config");
|
|
8
|
+
// const config = require("../config");
|
|
9
9
|
|
|
10
10
|
const request = got.extend({
|
|
11
11
|
throwHttpErrors: false, // allows us to throw our own error based off got response
|
package/src/validate.js
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const Spark = require("../../src/node.js");
|
|
2
|
-
const config = require("./config.js");
|
|
3
|
-
const modelC = require("./modelCInput.json");
|
|
4
|
-
|
|
5
|
-
const spark = new Spark(config);
|
|
6
|
-
|
|
7
|
-
const dataInput = modelC;
|
|
8
|
-
const modelVersionId = "0211e8f0-9988-4514-a761-9782db6700ce";
|
|
9
|
-
|
|
10
|
-
async function execute() {
|
|
11
|
-
console.log("Reached");
|
|
12
|
-
try {
|
|
13
|
-
let result = await spark.execute(dataInput);
|
|
14
|
-
|
|
15
|
-
console.log("Final Result", result);
|
|
16
|
-
return result;
|
|
17
|
-
} catch (err) {
|
|
18
|
-
console.log("No model found", err);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
(async () => await execute())();
|