@sentio/runtime 2.57.12-rc.a → 2.57.12-rc.b
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/lib/{chunk-DYOBLZD3.js → chunk-HBDDXJ53.js} +2 -1
- package/lib/chunk-SDKBU7PP.js +39674 -0
- package/lib/chunk-SDKBU7PP.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/processor-runner.js +3 -41148
- package/lib/processor-runner.js.map +1 -1
- package/lib/service-worker.d.ts +2 -0
- package/lib/service-worker.js +69 -0
- package/lib/service-worker.js.map +1 -0
- package/package.json +4 -4
- package/src/tsup.config.ts +3 -2
- /package/lib/{chunk-DYOBLZD3.js.map → chunk-HBDDXJ53.js.map} +0 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
import { createRequire as createRequireShim } from 'module'; const require = createRequireShim(import.meta.url);
|
2
|
+
import {
|
3
|
+
command_line_args_default,
|
4
|
+
optionDefinitions
|
5
|
+
} from "./chunk-SDKBU7PP.js";
|
6
|
+
import {
|
7
|
+
PluginManager,
|
8
|
+
ProcessConfigResponse,
|
9
|
+
__toESM,
|
10
|
+
errorString,
|
11
|
+
freezeGlobalConfig,
|
12
|
+
require_lib2 as require_lib,
|
13
|
+
require_lib3 as require_lib2
|
14
|
+
} from "./chunk-HBDDXJ53.js";
|
15
|
+
|
16
|
+
// src/service-worker.ts
|
17
|
+
var import_nice_grpc = __toESM(require_lib(), 1);
|
18
|
+
var import_nice_grpc_error_details = __toESM(require_lib2(), 1);
|
19
|
+
import { BroadcastChannel } from "worker_threads";
|
20
|
+
var started = false;
|
21
|
+
var options = command_line_args_default(optionDefinitions, { partial: true });
|
22
|
+
var unhandled;
|
23
|
+
process.on("uncaughtException", (err) => {
|
24
|
+
console.error("Uncaught Exception, please checking if await is properly used", err);
|
25
|
+
unhandled = err;
|
26
|
+
}).on("unhandledRejection", (reason, p) => {
|
27
|
+
if (reason?.message.startsWith('invalid ENS name (disallowed character: "*"')) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
console.error("Unhandled Rejection, please checking if await is properly", reason);
|
31
|
+
unhandled = reason;
|
32
|
+
});
|
33
|
+
async function getConfig(request, context) {
|
34
|
+
if (!started) {
|
35
|
+
throw new import_nice_grpc.ServerError(import_nice_grpc.Status.UNAVAILABLE, "Service Not started.");
|
36
|
+
}
|
37
|
+
const newConfig = ProcessConfigResponse.fromPartial({});
|
38
|
+
await PluginManager.INSTANCE.configure(newConfig);
|
39
|
+
return newConfig;
|
40
|
+
}
|
41
|
+
var loader = async () => {
|
42
|
+
const m = await import(options.target);
|
43
|
+
console.debug("Module loaded", m);
|
44
|
+
return m;
|
45
|
+
};
|
46
|
+
var configureChannel = new BroadcastChannel("configure_channel");
|
47
|
+
configureChannel.onmessage = (request) => {
|
48
|
+
getConfig(request);
|
49
|
+
};
|
50
|
+
async function start(request) {
|
51
|
+
if (started) {
|
52
|
+
return {};
|
53
|
+
}
|
54
|
+
freezeGlobalConfig();
|
55
|
+
try {
|
56
|
+
await loader();
|
57
|
+
} catch (e) {
|
58
|
+
throw new import_nice_grpc.ServerError(import_nice_grpc.Status.INVALID_ARGUMENT, "Failed to load processor: " + errorString(e));
|
59
|
+
}
|
60
|
+
await PluginManager.INSTANCE.start(request);
|
61
|
+
started = true;
|
62
|
+
return {};
|
63
|
+
}
|
64
|
+
var startChannel = new BroadcastChannel("start_channel");
|
65
|
+
startChannel.onmessage = (request) => {
|
66
|
+
start(request);
|
67
|
+
};
|
68
|
+
import("node:process").then((p) => p.stdout.write(""));
|
69
|
+
//# sourceMappingURL=service-worker.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/service-worker.ts"],"sourcesContent":["import {\n DataBinding,\n Empty,\n HandlerType,\n PreparedData,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessResult,\n StartRequest\n} from '@sentio/protos'\nimport { CallContext, ServerError, Status } from 'nice-grpc'\nimport { PluginManager } from './plugin.js'\nimport commandLineArgs from 'command-line-args'\nimport { optionDefinitions } from './processor-runner.js'\nimport { errorString } from './utils.js'\nimport { freezeGlobalConfig } from './global-config.js'\nimport { DebugInfo, RichServerError } from 'nice-grpc-error-details'\nimport { recordRuntimeInfo } from './service.js'\nimport { BroadcastChannel } from 'worker_threads'\n\nlet started = false\nconst options = commandLineArgs(optionDefinitions, { partial: true })\n\nlet unhandled: Error | undefined\n\nprocess\n .on('uncaughtException', (err) => {\n console.error('Uncaught Exception, please checking if await is properly used', err)\n unhandled = err\n })\n .on('unhandledRejection', (reason, p) => {\n // @ts-ignore ignore invalid ens error\n if (reason?.message.startsWith('invalid ENS name (disallowed character: \"*\"')) {\n return\n }\n console.error('Unhandled Rejection, please checking if await is properly', reason)\n unhandled = reason as Error\n // shutdownServers(1)\n })\n\nasync function getConfig(request: ProcessConfigRequest, context?: CallContext): Promise<ProcessConfigResponse> {\n if (!started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const newConfig = ProcessConfigResponse.fromPartial({})\n await PluginManager.INSTANCE.configure(newConfig)\n return newConfig\n}\n\nconst loader = async () => {\n const m = await import(options.target)\n console.debug('Module loaded', m)\n return m\n}\n\nconst configureChannel = new BroadcastChannel('configure_channel')\nconfigureChannel.onmessage = (request: ProcessConfigRequest) => {\n getConfig(request)\n}\n\nasync function start(request: StartRequest): Promise<Empty> {\n if (started) {\n return {}\n }\n freezeGlobalConfig()\n\n try {\n await loader()\n } catch (e) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Failed to load processor: ' + errorString(e))\n }\n\n await PluginManager.INSTANCE.start(request)\n started = true\n return {}\n}\n\nconst startChannel = new BroadcastChannel('start_channel')\nstartChannel.onmessage = (request: StartRequest) => {\n start(request)\n}\n\nasync function stop(request: Empty, context: CallContext): Promise<Empty> {\n return {}\n}\n\nasync function processBinding(\n request: DataBinding,\n preparedData: PreparedData | undefined,\n options?: CallContext\n): Promise<ProcessResult> {\n if (!started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n if (unhandled) {\n throw new RichServerError(\n Status.UNAVAILABLE,\n 'Unhandled exception/rejection in previous request: ' + errorString(unhandled),\n [\n DebugInfo.fromPartial({\n detail: unhandled.message,\n stackEntries: unhandled.stack?.split('\\n')\n })\n ]\n )\n }\n\n const result = await PluginManager.INSTANCE.processBinding(\n request,\n preparedData\n // PluginManager.INSTANCE.dbContextLocalStorage.getStore()\n )\n recordRuntimeInfo(result, request.handlerType)\n return result\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":";;;;;;;;;;;;;;;;AAUA,uBAAiD;AAMjD,qCAA2C;AAE3C,SAAS,wBAAwB;AAEjC,IAAI,UAAU;AACd,IAAM,UAAU,0BAAgB,mBAAmB,EAAE,SAAS,KAAK,CAAC;AAEpE,IAAI;AAEJ,QACG,GAAG,qBAAqB,CAAC,QAAQ;AAChC,UAAQ,MAAM,iEAAiE,GAAG;AAClF,cAAY;AACd,CAAC,EACA,GAAG,sBAAsB,CAAC,QAAQ,MAAM;AAEvC,MAAI,QAAQ,QAAQ,WAAW,6CAA6C,GAAG;AAC7E;AAAA,EACF;AACA,UAAQ,MAAM,6DAA6D,MAAM;AACjF,cAAY;AAEd,CAAC;AAEH,eAAe,UAAU,SAA+B,SAAuD;AAC7G,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,6BAAY,wBAAO,aAAa,sBAAsB;AAAA,EAClE;AAEA,QAAM,YAAY,sBAAsB,YAAY,CAAC,CAAC;AACtD,QAAM,cAAc,SAAS,UAAU,SAAS;AAChD,SAAO;AACT;AAEA,IAAM,SAAS,YAAY;AACzB,QAAM,IAAI,MAAM,OAAO,QAAQ;AAC/B,UAAQ,MAAM,iBAAiB,CAAC;AAChC,SAAO;AACT;AAEA,IAAM,mBAAmB,IAAI,iBAAiB,mBAAmB;AACjE,iBAAiB,YAAY,CAAC,YAAkC;AAC9D,YAAU,OAAO;AACnB;AAEA,eAAe,MAAM,SAAuC;AAC1D,MAAI,SAAS;AACX,WAAO,CAAC;AAAA,EACV;AACA,qBAAmB;AAEnB,MAAI;AACF,UAAM,OAAO;AAAA,EACf,SAAS,GAAG;AACV,UAAM,IAAI,6BAAY,wBAAO,kBAAkB,+BAA+B,YAAY,CAAC,CAAC;AAAA,EAC9F;AAEA,QAAM,cAAc,SAAS,MAAM,OAAO;AAC1C,YAAU;AACV,SAAO,CAAC;AACV;AAEA,IAAM,eAAe,IAAI,iBAAiB,eAAe;AACzD,aAAa,YAAY,CAAC,YAA0B;AAClD,QAAM,OAAO;AACf;AAmCC,OAAO,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,MAAM,EAAE,CAAC;","names":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/runtime",
|
3
|
-
"version": "2.57.12-rc.
|
3
|
+
"version": "2.57.12-rc.b",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -37,14 +37,14 @@
|
|
37
37
|
"rxjs": "^7.8.1",
|
38
38
|
"utility-types": "^3.11.0",
|
39
39
|
"winston": "^3.11.0",
|
40
|
-
"
|
40
|
+
"piscina": "5.0.0-alpha.0",
|
41
|
+
"@sentio/protos": "2.57.12-rc.b"
|
41
42
|
},
|
42
43
|
"devDependencies": {
|
43
44
|
"@types/command-line-args": "^5.2.3",
|
44
45
|
"@types/command-line-usage": "^5.0.4",
|
45
46
|
"@types/fs-extra": "^11.0.4",
|
46
|
-
"@types/google-protobuf": "^3.15.12"
|
47
|
-
"piscina": "5.0.0-alpha.0"
|
47
|
+
"@types/google-protobuf": "^3.15.12"
|
48
48
|
},
|
49
49
|
"engines": {
|
50
50
|
"node": ">=20"
|
package/src/tsup.config.ts
CHANGED
@@ -6,11 +6,12 @@ export default defineConfig({
|
|
6
6
|
js: `import { createRequire as createRequireShim } from 'module'; const require = createRequireShim(import.meta.url);`
|
7
7
|
}
|
8
8
|
},
|
9
|
-
entry: ['src/index.ts', 'src/processor-runner.ts'],
|
9
|
+
entry: ['src/index.ts', 'src/processor-runner.ts', 'src/service-worker.ts'],
|
10
10
|
outDir: 'lib',
|
11
11
|
minify: process.env['BRANCH'] === 'release',
|
12
12
|
sourcemap: true,
|
13
13
|
clean: true,
|
14
14
|
dts: true,
|
15
|
-
format: 'esm'
|
15
|
+
format: 'esm',
|
16
|
+
external: [/^piscina.*$/]
|
16
17
|
})
|
File without changes
|