@coherentglobal/spark-execute-sdk 0.3.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.
Files changed (104) hide show
  1. package/.babelrc +12 -0
  2. package/.eslintrc.json +21 -0
  3. package/.github/workflows/build-publish.yml +46 -0
  4. package/.prettierrc +0 -0
  5. package/README.md +92 -0
  6. package/dist/browser.js +6925 -0
  7. package/examples/UsingBearerTokenFNAsync/bearerTokenExample.js +22 -0
  8. package/examples/UsingBearerTokenFNAsync/config.js +88 -0
  9. package/examples/UsingBearerTokenFNAsync/index.html +205 -0
  10. package/examples/UsingBearerTokenFNAsync/modelCInput.json +15 -0
  11. package/examples/UsingBearerTokenFNAsync/models/Model_C.zip +0 -0
  12. package/examples/UsingBearerTokenString/bearerTokenExample.js +22 -0
  13. package/examples/UsingBearerTokenString/config.js +182 -0
  14. package/examples/UsingBearerTokenString/index.html +191 -0
  15. package/examples/UsingBearerTokenString/modelCInput.json +15 -0
  16. package/examples/UsingBearerTokenString/models/Model_C.zip +0 -0
  17. package/examples/UsingSyntheticKeyFNAsync/bearerTokenExample.js +22 -0
  18. package/examples/UsingSyntheticKeyFNAsync/config.js +195 -0
  19. package/examples/UsingSyntheticKeyFNAsync/index.html +205 -0
  20. package/examples/UsingSyntheticKeyFNAsync/modelCInput.json +15 -0
  21. package/examples/UsingSyntheticKeyFNAsync/models/Model_C.zip +0 -0
  22. package/examples/UsingSyntheticKeyString/bearerTokenExample.js +22 -0
  23. package/examples/UsingSyntheticKeyString/config.js +181 -0
  24. package/examples/UsingSyntheticKeyString/index.html +192 -0
  25. package/examples/UsingSyntheticKeyString/modelCInput.json +15 -0
  26. package/examples/UsingSyntheticKeyString/models/Model_C.zip +0 -0
  27. package/examples/asyncFunctionModel/config.js +96 -0
  28. package/examples/asyncFunctionModel/modelCInput.json +15 -0
  29. package/examples/asyncFunctionModel/models/Model_C.zip +0 -0
  30. package/examples/asyncFunctionModel/node.js +125 -0
  31. package/examples/asyncFunctionModel/tool.js +17 -0
  32. package/examples/base64Model/config.js +96 -0
  33. package/examples/base64Model/modelCInput.json +15 -0
  34. package/examples/base64Model/models/Model_C.zip +0 -0
  35. package/examples/base64Model/node.js +125 -0
  36. package/examples/base64Model/tool.js +17 -0
  37. package/examples/base64modelBrowser/config.js +96 -0
  38. package/examples/base64modelBrowser/index.html +194 -0
  39. package/examples/base64modelBrowser/modelCInput.json +15 -0
  40. package/examples/base64modelBrowser/models/Model_C.zip +0 -0
  41. package/examples/base64modelBrowser/models/base64model.txt +1 -0
  42. package/examples/base64modelBrowser/node.js +126 -0
  43. package/examples/base64modelBrowser/tool.js +17 -0
  44. package/examples/binary/config.js +96 -0
  45. package/examples/binary/modelCInput.json +15 -0
  46. package/examples/binary/models/Model_C.zip +0 -0
  47. package/examples/binary/models/binary.txt +1 -0
  48. package/examples/binary/node.js +131 -0
  49. package/examples/binary/tool.js +18 -0
  50. package/examples/functionModel/config.js +96 -0
  51. package/examples/functionModel/modelCInput.json +15 -0
  52. package/examples/functionModel/models/Model_C.zip +0 -0
  53. package/examples/functionModel/node.js +138 -0
  54. package/examples/functionModel/tool.js +17 -0
  55. package/examples/nodejs/node.js +250 -0
  56. package/examples/nodejs/test_models/Archive.zip +0 -0
  57. package/examples/nodejs/test_models/BlackScholes.zip +0 -0
  58. package/examples/nodejs/test_models/Model_A.zip +0 -0
  59. package/examples/nodejs/test_models/Par7.zip +0 -0
  60. package/package.json +79 -0
  61. package/src/browser.js +198 -0
  62. package/src/error.js +87 -0
  63. package/src/helpers/utils.js +79 -0
  64. package/src/logger.js +3 -0
  65. package/src/models.js +26 -0
  66. package/src/node.js +254 -0
  67. package/src/resolver/externalResolver.js +118 -0
  68. package/src/services/entityStore.js +260 -0
  69. package/src/services/resolver.js +134 -0
  70. package/src/services/spark.js +80 -0
  71. package/src/tenant_resolver/externalResolver_coherent.js +118 -0
  72. package/src/tenant_resolver/externalResolver_test.js +118 -0
  73. package/src/validate.js +38 -0
  74. package/test/config.test.js +124 -0
  75. package/test/mock-data/dummy-config.json +102 -0
  76. package/test/mock-data/valid.json +21 -0
  77. package/test/spark-sdk.test.js +28 -0
  78. package/tsconfig.json +105 -0
  79. package/types/browser.d.ts +72 -0
  80. package/types/browser.d.ts.map +1 -0
  81. package/types/error.d.ts +42 -0
  82. package/types/error.d.ts.map +1 -0
  83. package/types/helpers/utils.d.ts +11 -0
  84. package/types/helpers/utils.d.ts.map +1 -0
  85. package/types/logger.d.ts +3 -0
  86. package/types/logger.d.ts.map +1 -0
  87. package/types/models.d.ts +8 -0
  88. package/types/models.d.ts.map +1 -0
  89. package/types/node.d.ts +78 -0
  90. package/types/node.d.ts.map +1 -0
  91. package/types/resolver/externalResolver.d.ts +2 -0
  92. package/types/resolver/externalResolver.d.ts.map +1 -0
  93. package/types/services/entityStore.d.ts +51 -0
  94. package/types/services/entityStore.d.ts.map +1 -0
  95. package/types/services/resolver.d.ts +20 -0
  96. package/types/services/resolver.d.ts.map +1 -0
  97. package/types/services/spark.d.ts +6 -0
  98. package/types/services/spark.d.ts.map +1 -0
  99. package/types/tenant_resolver/externalResolver_coherent.d.ts +2 -0
  100. package/types/tenant_resolver/externalResolver_coherent.d.ts.map +1 -0
  101. package/types/tenant_resolver/externalResolver_test.d.ts +2 -0
  102. package/types/tenant_resolver/externalResolver_test.d.ts.map +1 -0
  103. package/types/validate.d.ts +4 -0
  104. package/types/validate.d.ts.map +1 -0
@@ -0,0 +1,131 @@
1
+ console.log("SPARK START: ");
2
+
3
+ const Spark = require("../../src/node.js");
4
+ const modelC = require("./modelCInput.json");
5
+ const fs = require("fs");
6
+ const location = "./models/Model_C.zip";
7
+ const file = fs.readFileSync(location);
8
+ const data = file.toString("base64");
9
+ const buffer = Buffer.from(data, "base64");
10
+ const uint = new Uint8Array(buffer);
11
+
12
+ const config = {
13
+ sparkEndpoint: {
14
+ url: "https://spark.dev.coherent.global",
15
+ tenant: "coherent",
16
+ authType: "bearerToken",
17
+ bearerToken: "",
18
+ },
19
+ nodeGenModels: [
20
+ {
21
+ versionId: "0211e8f0-9988-4514-a761-9782db6700ce",
22
+ type: "binary",
23
+ binary: uint,
24
+ metaData: {
25
+ id: "7156c7a4-8a81-4d83-ac7f-a54ce02009da",
26
+ url: "/docstore/api/v1/documents/versions/tokens/ItHPu2LY%2F626xeFbg%2BlSskCRy0%2FKjVp0H4uIcJmX%2BH0ehoZgRGXefIcHwR9PuX7kKHk3ywjoy6hVqkIDPWn4jAcsDN07VXdys0%2Fi4LdSxmtKGKF8IT9f%2FZZWRGWTmNWQ9SweGfiT7xc5N2%2BC9aTmlySAtACZkcdYDpsKtSuhvSJrRrSkzlt9Ra4TPBXTaokPfGR6VzK%2FMKM%2B3y3aXt3sT0P5EIRF%2BtMrVmpwmTTGva8%3D/Model_C.c1engine",
27
+ EngineInformation: {
28
+ FileSize: 4885,
29
+ Author: "francisc.camillo@coherent.global",
30
+ ProductName: "ExecuteSDK",
31
+ Revision: "1.0.0",
32
+ Description: null,
33
+ FileMD5Hash: "3E9395DB32F0E8430BD8865DDA53753C",
34
+ UniversalFileHash: null,
35
+ ReleaseDate: "2022-08-23T13:06:52.786Z",
36
+ ServiceName: "Model_C",
37
+ NoOfInstance: 1,
38
+ UploaderEmail: "francisc.camillo@coherent.global",
39
+ DefaultEngineType: "NodeGen",
40
+ OriginalFileName: "Model_C.xlsx",
41
+ SizeOfUploadedFile: 4885,
42
+ ReleaseNote: null,
43
+ IsTypeScriptFile: false,
44
+ IsJsSheetEngineGenerated: false,
45
+ EngineUpgradeType: "minor",
46
+ PublicAPI: true,
47
+ FileGuid: "42efc880-91f1-4928-88cc-b29b68327f26",
48
+ ServiceGuid: "bcc2f47d-0682-4d2b-9174-5b01f903ee6b",
49
+ ServiceVersionGuid: "0211e8f0-9988-4514-a761-9782db6700ce",
50
+ BaseUrl: "https://excel.dev.coherent.global",
51
+ Tenant: "coherent",
52
+ AllowToStoreHistory: true,
53
+ CalcMode: "AUTO",
54
+ ForceInputsWriteBeforeCalcModeChanges: true,
55
+ Provenance: null,
56
+ VersionLabel: "Model_C",
57
+ ExplainerType: "",
58
+ IsXParameter: false,
59
+ XParameterSetVersionId: "",
60
+ VersionUpgradeAssert: "OFF",
61
+ },
62
+ XInputTable: [
63
+ {
64
+ "Input Name": "Input",
65
+ Description: null,
66
+ Address: "C2",
67
+ },
68
+ ],
69
+ XOutputTable: [
70
+ {
71
+ "Output Name": "Output1",
72
+ Description: null,
73
+ Address: "C3",
74
+ },
75
+ ],
76
+ FormsService: null,
77
+ StaticService: null,
78
+ VersionId: "0211e8f0-9988-4514-a761-9782db6700ce",
79
+ created: "2022-08-23T13:06:55.017422Z",
80
+ effectiveStartDate: "2009-12-31T16:00:00Z",
81
+ effectiveEndDate: "2119-12-31T16:00:00Z",
82
+ path: "/products/ExecuteSDK/productfactory/engines/Model_C/Model_C.c1engine",
83
+ privacyLevel: "Private",
84
+ dateTime1: "2009-12-31T16:00:00Z",
85
+ dateTime2: "2119-12-31T16:00:00Z",
86
+ status1: "nodegen",
87
+ status2: "Model_C.xlsx",
88
+ email1: null,
89
+ email2: null,
90
+ amount1: 4885,
91
+ amount2: 9184,
92
+ amount3: null,
93
+ type: "EngineDocument",
94
+ policyNumber: "francisc.camillo@coherent.global",
95
+ name1: "Model_C",
96
+ name2: "Model_C.c1engine",
97
+ otherString1: "1.0.0",
98
+ otherString2: "EngineFile",
99
+ referenceId: "ExecuteSDK~Model_C.c1engine",
100
+ disposition: null,
101
+ productName: "ExecuteSDK",
102
+ content: null,
103
+ latestVersionId: "0211e8f0-9988-4514-a761-9782db6700ce",
104
+ },
105
+ },
106
+ ],
107
+ };
108
+
109
+ let spark;
110
+ try {
111
+ spark = new Spark(config);
112
+ } catch (err) {
113
+ console.log("ERR: ", err);
114
+ }
115
+
116
+ const modelToTest = "0211e8f0-9988-4514-a761-9782db6700ce"; // Model C
117
+ const dataInput = modelC;
118
+
119
+ async function execute() {
120
+ console.log("Reached");
121
+ try {
122
+ let result = await spark.execute(dataInput);
123
+
124
+ console.log("Final Result", result);
125
+ return result;
126
+ } catch (err) {
127
+ console.log("No model found", err);
128
+ }
129
+ }
130
+
131
+ (async () => await execute())();
@@ -0,0 +1,18 @@
1
+ const fs = require('fs')
2
+ const location = "./models/Model_C.zip"
3
+
4
+ const file = fs.readFileSync(location)
5
+
6
+ // generate base64
7
+ const data = file.toString('base64')
8
+ const buffer = Buffer.from(data, 'base64')
9
+ const uint = new Uint8Array(buffer)
10
+ const newBuffer = Buffer.from(uint)
11
+ console.log("NEW: ", newBuffer)
12
+ // fs.writeFileSync('./models/binary.txt', data)
13
+
14
+ // generate blob
15
+ // const blob = atob(data)
16
+ // fs.writeFileSync('./models/blobmodel.txt', blob)
17
+
18
+