@coherentglobal/spark-execute-sdk 0.8.4 → 0.8.6
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 +39 -1
- package/package.json +2 -2
package/dist/browser.js
CHANGED
|
@@ -1593,6 +1593,44 @@ var WasmRunner = /*#__PURE__*/function () {
|
|
|
1593
1593
|
return _execute.apply(this, arguments);
|
|
1594
1594
|
}
|
|
1595
1595
|
return execute;
|
|
1596
|
+
}()
|
|
1597
|
+
/**
|
|
1598
|
+
* Dispose all resources: terminate all running workers.
|
|
1599
|
+
*
|
|
1600
|
+
* @async
|
|
1601
|
+
* @returns {Promise<void>}
|
|
1602
|
+
*/
|
|
1603
|
+
)
|
|
1604
|
+
}, {
|
|
1605
|
+
key: "dispose",
|
|
1606
|
+
value: (function () {
|
|
1607
|
+
var _dispose = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
1608
|
+
var _this2 = this;
|
|
1609
|
+
var modelIds;
|
|
1610
|
+
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
1611
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
1612
|
+
case 0:
|
|
1613
|
+
this._logger.debug({}, "Disposing all resources");
|
|
1614
|
+
// Terminate all running models
|
|
1615
|
+
modelIds = this.models.map(function (model) {
|
|
1616
|
+
return model.id;
|
|
1617
|
+
});
|
|
1618
|
+
_context15.next = 4;
|
|
1619
|
+
return Promise.all(modelIds.map(function (id) {
|
|
1620
|
+
return _this2.remove(id);
|
|
1621
|
+
}));
|
|
1622
|
+
case 4:
|
|
1623
|
+
this._logger.debug({}, "All resources disposed");
|
|
1624
|
+
case 5:
|
|
1625
|
+
case "end":
|
|
1626
|
+
return _context15.stop();
|
|
1627
|
+
}
|
|
1628
|
+
}, _callee15, this);
|
|
1629
|
+
}));
|
|
1630
|
+
function dispose() {
|
|
1631
|
+
return _dispose.apply(this, arguments);
|
|
1632
|
+
}
|
|
1633
|
+
return dispose;
|
|
1596
1634
|
}())
|
|
1597
1635
|
}]);
|
|
1598
1636
|
return WasmRunner;
|
|
@@ -1772,7 +1810,7 @@ function buildWorkerFN(runtime, modelId) {
|
|
|
1772
1810
|
var license = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
|
|
1773
1811
|
var metadata = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
1774
1812
|
var logLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "info";
|
|
1775
|
-
return "\n ".concat(runtime, "\n\n const LOG_LEVEL = '").concat(logLevel, "';\n const MODEL_ID = '").concat(modelId, "';\n const metadata = ").concat(JSON.stringify(metadata), ";\n\n const license = '").concat(license, "';\n\n class MyEventEmitter{constructor(){this._events={},this._eventsOnce={}}on(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)}once(e,t){this._eventsOnce[e]||(this._eventsOnce[e]=[]),this._eventsOnce[e].push(t)}removeListener(e,t){if(!this._events[e])throw new Error(\"Can't emit an event. Event doesn't exits.\"+e);this._events[e]=this._events[e].filter(e=>e!==t)}emit(e,t){var r=e=>{e(t)};this._events[e]&&this._events[e].forEach(r),this._eventsOnce[e]&&(this._eventsOnce[e].forEach(r),this._eventsOnce[e]=[])}}class Logger{constructor(e){var t=e?e.level:\"info\";this.setLogLevel(t)}_getLogFormat(e,t,r){return{versionid:MODEL_ID,level:e||this._logLevel,time:Date.now(),msg:r,...t}}setLogLevel(e){if(!e)throw new Error(\"Log level is required with value like silent|trace|debug|info|warn|error|fatal\");switch(e.toLowerCase()){case\"silent\":this._logLevel=99;break;case\"trace\":this._logLevel=10;break;case\"debug\":this._logLevel=20;break;case\"info\":default:this._logLevel=30;break;case\"warn\":this._logLevel=40;break;case\"error\":this._logLevel=50;break;case\"fatal\":this._logLevel=60}}trace(e,t){this._logLevel<=10&&(e&&!t&&console.trace(this._getLogFormat(10,{},e)),e&&t&&console.trace(this._getLogFormat(10,e,t)))}debug(e,t){this._logLevel<=20&&(e&&!t&&console.debug(this._getLogFormat(20,{},e)),e&&t&&console.debug(this._getLogFormat(20,e,t)))}info(e,t){this._logLevel<=30&&(e&&!t&&console.info(this._getLogFormat(30,{},e)),e&&t&&console.info(this._getLogFormat(30,e,t)))}warn(e,t){this._logLevel<=40&&(e&&!t&&console.warn(this._getLogFormat(40,{},e)),e&&t&&console.warn(this._getLogFormat(40,e,t)))}error(e,t){this._logLevel<=50&&(e&&!t&&console.error(this._getLogFormat(50,{},e)),e&&t&&console.error(this._getLogFormat(50,e,t)))}fatal(e,t){this._logLevel<=60&&(e&&!t&&console.error(this._getLogFormat(60,{},e)),e&&t&&console.error(this._getLogFormat(60,e,t)))}}var logger=new Logger;LOG_LEVEL&&logger.setLogLevel(LOG_LEVEL);var wasm,wb,workerEventEmitter=new MyEventEmitter,ctx={},CALL_TYPE={0:\"SparkService\",1:\"ExternalApi\"},XcallResBuilder={Json:function(e,t,r,a,s,o){return JSON.stringify({metadata:{calltype:e,name:t,status:r,error_code:a,response_time:s},data:o||{}})},JsonV2:function(e,t,r,a,s,o,n){return JSON.stringify({...o,xcall_meta:{http_status_code:r,http_response_time:s,error_details:n}})},XML:()=>{}};function getContext(){return{...ctx,upStreamId:MODEL_ID}}function moduleInitialize(){Module().then(e=>{wasm=e,wb=e._construct();var t=new TextDecoder(\"utf-8\"),r=0;e.dispatch=async(a,s,o)=>{var n=new Uint8Array(e.HEAPU8.subarray(s,s+o)),c=t.decode(n).slice(),i=JSON.parse(c),l=i.folder_name,_=i.service_name,u=i.service_uri,m=i.xcall_version;if(logger.trace({requestData:i,ctx:getContext(),EventType:\"SparkService.Dispatch\"},\"Handle dispatch event\"),a===r)return await new Promise((e,t)=>{try{postMessage({requestData:i,context:getContext(),type:\"stall\"});var r=\"xcall-loopback-result-\"+l+_+u;workerEventEmitter.once(r,t=>{logger.trace({eventName:r,results:t},\"Handle xcall-loopback-result event\");var a=\"\";switch(m){case 2:case 3:a=XcallResBuilder.JsonV2(CALL_TYPE[0],u||\"folders/\"+l+\"/services/\"+_,202,\"\",0,t);break;default:a=XcallResBuilder.Json(CALL_TYPE[0],u||\"folders/\"+l+\"/services/\"+_,202,\"\",0,t)}e(a)})}catch(e){t(e)}})},postMessage(\"Initialized\")})}async function runComputation(e){if(!e)return new Error(\"No Event was placed\");var t=e.data[0],r=\"string\"==typeof t?JSON.parse(t):t,a=e.data[1];if(void 0===wasm||void 0===wb)return new Error(\"WASM is not ready\");ctx.headers||(ctx.headers={}),r?.request_meta?._ctx?.authorization&&(ctx.headers.authorization=r?.request_meta?._ctx?.authorization,delete r?.request_meta?._ctx?.authorization),r?.request_meta?._ctx?.secretkey&&(ctx.headers.secretkey=r?.request_meta?._ctx.secretkey,delete r?.request_meta?._ctx?.secretkey),r?.request_meta?._ctx?.[\"x-synthetic-key\"]&&(ctx.headers[\"x-synthetic-key\"]=r?.request_meta?._ctx?.[\"x-synthetic-key\"],delete r?.request_meta?._ctx?.[\"x-synthetic-key\"]),r?.request_meta?._ctx?.tenant&&(ctx.tenant=r?.request_meta?._ctx?.tenant,delete r?.request_meta?._ctx?.tenant),r?.request_meta?._ctx?.servicemap&&(ctx.servicemap=r?.request_meta?._ctx?.servicemap,delete r?.request_meta?._ctx.servicemap),r?.request_meta?._ctx?.upstreamVersionId&&(ctx.upstreamVersionId=r?.request_meta._ctx.upstreamVersionId,delete r.request_meta?._ctx?.upstreamVersionId),r?.request_meta?._ctx?.xcallChainId&&(ctx.xcallChainId=r?.request_meta?._ctx?.xcallChainId,delete r?.request_meta?._ctx.xcallChainId),r?.request_meta?._ctx?.correlationId&&(ctx.correlationId=r?.request_meta?._ctx.correlationId,delete r?.request_meta?._ctx.correlationId);var s=r?.request_meta?.service_category&&r?.request_meta?.service_category.split(\",\").some(e=>\"metadata\"===e.toLowerCase())&&void 0!==metadata,o=(new TextEncoder).encode(t),n=wasm._malloc(o.length),c=o.BYTES_PER_ELEMENT;wasm.HEAP8.set(o,n/c);var i=wasm._malloc(8);logger.debug({ctx:ctx},\"Context\");var l=await wasm.ccall(\"node_calc_v3\",\"number\",[\"number\",\"number\",\"number\",\"number\"],[wb,n,o.length,i],{async:!0})
|
|
1813
|
+
return "\n ".concat(runtime, "\n\n const LOG_LEVEL = '").concat(logLevel, "';\n const MODEL_ID = '").concat(modelId, "';\n const metadata = ").concat(JSON.stringify(metadata), ";\n\n const license = '").concat(license, "';\n\n class MyEventEmitter{constructor(){this._events={},this._eventsOnce={}}on(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)}once(e,t){this._eventsOnce[e]||(this._eventsOnce[e]=[]),this._eventsOnce[e].push(t)}removeListener(e,t){if(!this._events[e])throw new Error(\"Can't emit an event. Event doesn't exits.\"+e);this._events[e]=this._events[e].filter(e=>e!==t)}emit(e,t){var r=e=>{e(t)};this._events[e]&&this._events[e].forEach(r),this._eventsOnce[e]&&(this._eventsOnce[e].forEach(r),this._eventsOnce[e]=[])}}class Logger{constructor(e){var t=e?e.level:\"info\";this.setLogLevel(t)}_getLogFormat(e,t,r){return{versionid:MODEL_ID,level:e||this._logLevel,time:Date.now(),msg:r,...t}}setLogLevel(e){if(!e)throw new Error(\"Log level is required with value like silent|trace|debug|info|warn|error|fatal\");switch(e.toLowerCase()){case\"silent\":this._logLevel=99;break;case\"trace\":this._logLevel=10;break;case\"debug\":this._logLevel=20;break;case\"info\":default:this._logLevel=30;break;case\"warn\":this._logLevel=40;break;case\"error\":this._logLevel=50;break;case\"fatal\":this._logLevel=60}}trace(e,t){this._logLevel<=10&&(e&&!t&&console.trace(this._getLogFormat(10,{},e)),e&&t&&console.trace(this._getLogFormat(10,e,t)))}debug(e,t){this._logLevel<=20&&(e&&!t&&console.debug(this._getLogFormat(20,{},e)),e&&t&&console.debug(this._getLogFormat(20,e,t)))}info(e,t){this._logLevel<=30&&(e&&!t&&console.info(this._getLogFormat(30,{},e)),e&&t&&console.info(this._getLogFormat(30,e,t)))}warn(e,t){this._logLevel<=40&&(e&&!t&&console.warn(this._getLogFormat(40,{},e)),e&&t&&console.warn(this._getLogFormat(40,e,t)))}error(e,t){this._logLevel<=50&&(e&&!t&&console.error(this._getLogFormat(50,{},e)),e&&t&&console.error(this._getLogFormat(50,e,t)))}fatal(e,t){this._logLevel<=60&&(e&&!t&&console.error(this._getLogFormat(60,{},e)),e&&t&&console.error(this._getLogFormat(60,e,t)))}}var logger=new Logger;LOG_LEVEL&&logger.setLogLevel(LOG_LEVEL);var wasm,wb,workerEventEmitter=new MyEventEmitter,ctx={},CALL_TYPE={0:\"SparkService\",1:\"ExternalApi\"},XcallResBuilder={Json:function(e,t,r,a,s,o){return JSON.stringify({metadata:{calltype:e,name:t,status:r,error_code:a,response_time:s},data:o||{}})},JsonV2:function(e,t,r,a,s,o,n){return JSON.stringify({...o,xcall_meta:{http_status_code:r,http_response_time:s,error_details:n}})},XML:()=>{}};function getContext(){return{...ctx,upStreamId:MODEL_ID}}function moduleInitialize(){Module().then(e=>{wasm=e,wb=e._construct();var t=new TextDecoder(\"utf-8\"),r=0;e.dispatch=async(a,s,o)=>{var n=new Uint8Array(e.HEAPU8.subarray(s,s+o)),c=t.decode(n).slice(),i=JSON.parse(c),l=i.folder_name,_=i.service_name,u=i.service_uri,m=i.xcall_version;if(logger.trace({requestData:i,ctx:getContext(),EventType:\"SparkService.Dispatch\"},\"Handle dispatch event\"),a===r)return await new Promise((e,t)=>{try{postMessage({requestData:i,context:getContext(),type:\"stall\"});var r=\"xcall-loopback-result-\"+l+_+u;workerEventEmitter.once(r,t=>{logger.trace({eventName:r,results:t},\"Handle xcall-loopback-result event\");var a=\"\";switch(m){case 2:case 3:a=XcallResBuilder.JsonV2(CALL_TYPE[0],u||\"folders/\"+l+\"/services/\"+_,202,\"\",0,t);break;default:a=XcallResBuilder.Json(CALL_TYPE[0],u||\"folders/\"+l+\"/services/\"+_,202,\"\",0,t)}e(a)})}catch(e){t(e)}})},postMessage(\"Initialized\")})}async function runComputation(e){if(!e)return new Error(\"No Event was placed\");var t=e.data[0],r=\"string\"==typeof t?JSON.parse(t):t,a=e.data[1];if(void 0===wasm||void 0===wb)return new Error(\"WASM is not ready\");ctx.headers||(ctx.headers={}),r?.request_meta?._ctx?.authorization&&(ctx.headers.authorization=r?.request_meta?._ctx?.authorization,delete r?.request_meta?._ctx?.authorization),r?.request_meta?._ctx?.secretkey&&(ctx.headers.secretkey=r?.request_meta?._ctx.secretkey,delete r?.request_meta?._ctx?.secretkey),r?.request_meta?._ctx?.[\"x-synthetic-key\"]&&(ctx.headers[\"x-synthetic-key\"]=r?.request_meta?._ctx?.[\"x-synthetic-key\"],delete r?.request_meta?._ctx?.[\"x-synthetic-key\"]),r?.request_meta?._ctx?.tenant&&(ctx.tenant=r?.request_meta?._ctx?.tenant,delete r?.request_meta?._ctx?.tenant),r?.request_meta?._ctx?.servicemap&&(ctx.servicemap=r?.request_meta?._ctx?.servicemap,delete r?.request_meta?._ctx.servicemap),r?.request_meta?._ctx?.upstreamVersionId&&(ctx.upstreamVersionId=r?.request_meta._ctx.upstreamVersionId,delete r.request_meta?._ctx?.upstreamVersionId),r?.request_meta?._ctx?.xcallChainId&&(ctx.xcallChainId=r?.request_meta?._ctx?.xcallChainId,delete r?.request_meta?._ctx.xcallChainId),r?.request_meta?._ctx?.correlationId&&(ctx.correlationId=r?.request_meta?._ctx.correlationId,delete r?.request_meta?._ctx.correlationId);var s=r?.request_meta?.service_category&&r?.request_meta?.service_category.split(\",\").some(e=>\"metadata\"===e.toLowerCase())&&void 0!==metadata,o=(new TextEncoder).encode(t),n=wasm._malloc(o.length),c=o.BYTES_PER_ELEMENT;wasm.HEAP8.set(o,n/c);var i=wasm._malloc(8);logger.debug({ctx:ctx},\"Context\");var l=await wasm.ccall(\"node_calc_v3\",\"number\",[\"number\",\"number\",\"number\",\"number\"],[wb,n,o.length,i],{async:!0});l>>>=0;var _=wasm.getValue(i,\"i32\"),u=new Uint8Array(wasm.HEAPU8.subarray(l,l+_)),m=new TextDecoder(\"utf-8\").decode(u).slice();if(wasm._free(n),wasm._free(i),wasm._free(l),s){(m=JSON.parse(m)).response_data||(m.response_data={});var g=metadata?.ImageOutputs??[],d=g?g.reduce((e,t)=>t?.ImageName?(e[t.ImageName]=t?.Base64Content||\"\",e):e,{}):{};return m.response_data.outputs={...m.response_data?.outputs,...metadata?.Outputs,...d},[JSON.stringify(m),a]}return logger.debug({ctx:ctx},\"Context.Reset\"),ctx={},logger.debug({ctx:ctx},\"Context.Reset.Complete\"),[m,a]}moduleInitialize(),onmessage=function(e){var t=e,r=t.data[0],a=t.data[1];if(\"dispatch\"===t.data[2]){logger.trace(r,\"dispatching\");var s=r.folder_name,o=r.service_name,n=r.service_uri,{response:c}=r,i=\"xcall-loopback-result-\"+s+o+n;workerEventEmitter.emit(i,c)}else runComputation(t).then(e=>{postMessage(e)}).catch(e=>{postMessage([JSON.stringify({executeError:e.message}),a])})};\n\n");
|
|
1776
1814
|
}
|
|
1777
1815
|
|
|
1778
1816
|
},{}],38:[function(require,module,exports){
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coherentglobal/spark-execute-sdk",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"description": "Coherent Spark Execute SDK for Node.js and Browser",
|
|
5
5
|
"main": "src/node.js",
|
|
6
6
|
"browser": "dist/browser.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"author": "",
|
|
31
31
|
"license": "ISC",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@coherentglobal/wasm-runner": "^0.2
|
|
33
|
+
"@coherentglobal/wasm-runner": "^0.3.2",
|
|
34
34
|
"@types/node": "^18.7.18",
|
|
35
35
|
"axios": "^1.6.7",
|
|
36
36
|
"fs": "^0.0.1-security",
|