@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.
Files changed (84) hide show
  1. package/dist/browser.js +22 -9
  2. package/package.json +5 -2
  3. package/src/models.js +14 -8
  4. package/src/node.js +69 -5
  5. package/src/resolver/externalResolver.js +46 -77
  6. package/src/services/entityStore.js +2 -2
  7. package/src/validate.js +1 -0
  8. package/examples/UsingBearerTokenFNAsync/bearerTokenExample.js +0 -22
  9. package/examples/UsingBearerTokenFNAsync/config.js +0 -88
  10. package/examples/UsingBearerTokenFNAsync/index.html +0 -207
  11. package/examples/UsingBearerTokenFNAsync/modelCInput.json +0 -15
  12. package/examples/UsingBearerTokenFNAsync/models/Model_C.zip +0 -0
  13. package/examples/UsingBearerTokenString/bearerTokenExample.js +0 -22
  14. package/examples/UsingBearerTokenString/config.js +0 -182
  15. package/examples/UsingBearerTokenString/index.html +0 -191
  16. package/examples/UsingBearerTokenString/modelCInput.json +0 -15
  17. package/examples/UsingBearerTokenString/models/Model_C.zip +0 -0
  18. package/examples/UsingSyntheticKeyFNAsync/bearerTokenExample.js +0 -22
  19. package/examples/UsingSyntheticKeyFNAsync/config.js +0 -195
  20. package/examples/UsingSyntheticKeyFNAsync/index.html +0 -205
  21. package/examples/UsingSyntheticKeyFNAsync/modelCInput.json +0 -15
  22. package/examples/UsingSyntheticKeyFNAsync/models/Model_C.zip +0 -0
  23. package/examples/UsingSyntheticKeyString/bearerTokenExample.js +0 -41
  24. package/examples/UsingSyntheticKeyString/config.js +0 -182
  25. package/examples/UsingSyntheticKeyString/index.html +0 -192
  26. package/examples/UsingSyntheticKeyString/modelCInput.json +0 -17
  27. package/examples/UsingSyntheticKeyString/models/Model_C.zip +0 -0
  28. package/examples/asyncFunctionModel/config.js +0 -96
  29. package/examples/asyncFunctionModel/modelCInput.json +0 -15
  30. package/examples/asyncFunctionModel/models/Model_C.zip +0 -0
  31. package/examples/asyncFunctionModel/node.js +0 -125
  32. package/examples/asyncFunctionModel/tool.js +0 -17
  33. package/examples/base64Model/config.js +0 -96
  34. package/examples/base64Model/modelCInput.json +0 -15
  35. package/examples/base64Model/models/Model_C.zip +0 -0
  36. package/examples/base64Model/node.js +0 -125
  37. package/examples/base64Model/tool.js +0 -17
  38. package/examples/base64modelBrowser/config.js +0 -96
  39. package/examples/base64modelBrowser/index.html +0 -194
  40. package/examples/base64modelBrowser/modelCInput.json +0 -15
  41. package/examples/base64modelBrowser/models/Model_C.zip +0 -0
  42. package/examples/base64modelBrowser/models/base64model.txt +0 -1
  43. package/examples/base64modelBrowser/node.js +0 -126
  44. package/examples/base64modelBrowser/tool.js +0 -17
  45. package/examples/binary/config.js +0 -96
  46. package/examples/binary/modelCInput.json +0 -15
  47. package/examples/binary/models/Model_C.zip +0 -0
  48. package/examples/binary/models/binary.txt +0 -1
  49. package/examples/binary/node.js +0 -131
  50. package/examples/binary/tool.js +0 -18
  51. package/examples/functionModel/config.js +0 -96
  52. package/examples/functionModel/index.html +0 -218
  53. package/examples/functionModel/modelCInput.json +0 -15
  54. package/examples/functionModel/models/0211e8f0-9988-4514-a761-9782db6700ce.zip +0 -0
  55. package/examples/functionModel/node.js +0 -138
  56. package/examples/functionModel/tool.js +0 -17
  57. package/examples/nodejs/node.js +0 -250
  58. package/examples/nodejs/test_models/Archive.zip +0 -0
  59. package/examples/nodejs/test_models/BlackScholes.zip +0 -0
  60. package/examples/nodejs/test_models/Model_A.zip +0 -0
  61. package/examples/nodejs/test_models/Par7.zip +0 -0
  62. package/examples/unzippedModel/config.js +0 -96
  63. package/examples/unzippedModel/index.html +0 -195
  64. package/examples/unzippedModel/modelCInput.json +0 -15
  65. package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.data +0 -0
  66. package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.js +0 -21
  67. package/examples/unzippedModel/models/0211e8f0-9988-4514-a761-9782db6700ce/Model_C.wasm +0 -0
  68. package/examples/unzippedModel/node.js +0 -125
  69. package/examples/unzippedModel/tool.js +0 -17
  70. package/examples/v16UpstreamDownStream/config.js +0 -151
  71. package/examples/v16UpstreamDownStream/configs/Downstream.json +0 -93
  72. package/examples/v16UpstreamDownStream/configs/Upstream.json +0 -102
  73. package/examples/v16UpstreamDownStream/index.html +0 -216
  74. package/examples/v16UpstreamDownStream/inputs/Downstream.json +0 -15
  75. package/examples/v16UpstreamDownStream/inputs/Upstream.json +0 -13
  76. package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.data +0 -0
  77. package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.js +0 -21
  78. package/examples/v16UpstreamDownStream/models/DownstreamService_example/DownstreamService_example.wasm +0 -0
  79. package/examples/v16UpstreamDownStream/models/DownstreamService_example.zip +0 -0
  80. package/examples/v16UpstreamDownStream/models/UpstreamService_example.zip +0 -0
  81. package/examples/v16UpstreamDownStream/models/base64modelA.txt +0 -1
  82. package/examples/v16UpstreamDownStream/models/base64modelB.txt +0 -1
  83. package/examples/v16UpstreamDownStream/node.js +0 -226
  84. 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
- nodegen.binary = model;
6868
+ processedModels.binary = model;
6869
+ // nodegen.binary = model;
6864
6870
  } else {
6865
6871
  var _model = Buffer.from(nodegen.binary, "base64");
6866
- nodegen.binary = _model;
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
- nodegen.binary = _context.sent;
6889
+ processedModels.binary = _context.sent;
6890
+ // nodegen.binary = await func();
6882
6891
  model = Buffer.from(nodegen.binary, "base64");
6883
- nodegen.binary = model;
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
- nodegen.binary = _model2;
6904
+ processedModels.binary = _model2;
6905
+ // nodegen.binary = model;
6895
6906
  }
6907
+
6896
6908
  default:
6897
6909
  break;
6898
6910
  }
6899
- return nodegen;
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.14",
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
- nodegen.binary = model;
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
- nodegen.binary = await func();
33
+ processedModels.binary = await func();
34
+ // nodegen.binary = await func();
31
35
  const model = Buffer.from(nodegen.binary, "base64");
32
- nodegen.binary = model;
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
- nodegen.binary = model;
42
+ processedModels.binary = model;
43
+ // nodegen.binary = model;
38
44
  }
39
45
  default:
40
46
  break;
41
47
  }
42
48
 
43
- return nodegen;
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
- this.config = this.validateConfig(config);
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 { StatusCodes } = require("http-status-codes");
2
- const { logger } = require("@coherentglobal/node-sdk");
3
- // const config = require("../config"); env vars
4
- const {
5
- handleDirectRequest,
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 modelLocation = config().modelLocation;
53
- const headers = context.headers;
54
- const folderName = requestData.folder_name;
55
- const serviceName = requestData.service_name;
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("@coherentglobal/node-sdk");
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
@@ -39,6 +39,7 @@ const rules = Joi.object({
39
39
  })
40
40
  )
41
41
  .required(),
42
+ externalUuid: Joi.string().allow()
42
43
  // xParameters: Joi.array().items(),
43
44
  // xCallCallback: Joi.func()
44
45
  }).required();
@@ -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())();