@sentio/runtime 2.18.4-rc.2 → 2.19.0-rc.1
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/endpoints.js +1 -2
- package/lib/endpoints.js.map +1 -1
- package/lib/full-service.d.ts +1 -0
- package/lib/gen/processor/protos/processor.d.ts +1 -0
- package/lib/gen/processor/protos/processor.js +10 -1
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/plugin.js +1 -2
- package/lib/plugin.js.map +1 -1
- package/lib/state.js +1 -2
- package/lib/state.js.map +1 -1
- package/package.json +3 -6
- package/src/gen/processor/protos/processor.ts +11 -1
package/lib/plugin.js
CHANGED
@@ -14,7 +14,7 @@ export class Plugin {
|
|
14
14
|
return ProcessResult.create();
|
15
15
|
}
|
16
16
|
}
|
17
|
-
class PluginManager {
|
17
|
+
export class PluginManager {
|
18
18
|
static INSTANCE = new PluginManager();
|
19
19
|
plugins = [];
|
20
20
|
typesToPlugin = new Map();
|
@@ -51,5 +51,4 @@ class PluginManager {
|
|
51
51
|
return plugin.processBinding(request);
|
52
52
|
}
|
53
53
|
}
|
54
|
-
export { PluginManager };
|
55
54
|
//# sourceMappingURL=plugin.js.map
|
package/lib/plugin.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,aAAa,EAAgB,MAAM,gBAAgB,CAAA;AAE7G,MAAM,OAAgB,MAAM;IAC1B,IAAI,CAAQ;IACZ,iBAAiB,GAAkB,EAAE,CAAA;IAErC,KAAK,CAAC,SAAS,CAAC,MAA6B,IAAkB,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,KAAmB,IAAkB,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,MAA6B;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAAoB;QACvC,OAAO,aAAa,CAAC,MAAM,EAAE,CAAA;IAC/B,CAAC;CACF;AAED,
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,aAAa,EAAgB,MAAM,gBAAgB,CAAA;AAE7G,MAAM,OAAgB,MAAM;IAC1B,IAAI,CAAQ;IACZ,iBAAiB,GAAkB,EAAE,CAAA;IAErC,KAAK,CAAC,SAAS,CAAC,MAA6B,IAAkB,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,KAAmB,IAAkB,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,MAA6B;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAAoB;QACvC,OAAO,aAAa,CAAC,MAAM,EAAE,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;IAErC,OAAO,GAAa,EAAE,CAAA;IACtB,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE9C,QAAQ,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;YACpD,OAAM;SACP;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,KAAK,OAAO,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aAC3F;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;SAC5C;IACH,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,KAAmB;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA6B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,cAAc,CAAC,OAAoB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;SACxD;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC","sourcesContent":["import { DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos'\n\nexport abstract class Plugin {\n name: string\n supportedHandlers: HandlerType[] = []\n\n async configure(config: ProcessConfigResponse): Promise<void> {}\n async start(start: StartRequest): Promise<void> {}\n\n /**\n * @deprecated The method should not be used, use ctx.states instead\n */\n stateDiff(config: ProcessConfigResponse): boolean {\n return false\n }\n async processBinding(request: DataBinding): Promise<ProcessResult> {\n return ProcessResult.create()\n }\n}\n\nexport class PluginManager {\n static INSTANCE = new PluginManager()\n\n plugins: Plugin[] = []\n typesToPlugin = new Map<HandlerType, Plugin>()\n\n register(plugin: Plugin) {\n if (this.plugins.find((p) => p.name === plugin.name)) {\n return\n }\n this.plugins.push(plugin)\n\n for (const handlerType of plugin.supportedHandlers) {\n const exsited = this.typesToPlugin.get(handlerType)\n if (exsited) {\n throw new Error(`Duplicate plugin for ${handlerType}: ${exsited.name} and ${plugin.name}`)\n }\n this.typesToPlugin.set(handlerType, plugin)\n }\n }\n\n configure(config: ProcessConfigResponse) {\n return Promise.all(this.plugins.map((plugin) => plugin.configure(config)))\n }\n\n start(start: StartRequest) {\n return Promise.all(this.plugins.map((plugin) => plugin.start(start)))\n }\n\n /**\n * @deprecated The method should not be used, use ctx.states instead\n */\n stateDiff(config: ProcessConfigResponse): boolean {\n return this.plugins.some((plugin) => plugin.stateDiff(config))\n }\n\n processBinding(request: DataBinding): Promise<ProcessResult> {\n const plugin = this.typesToPlugin.get(request.handlerType)\n if (!plugin) {\n throw new Error(`No plugin for ${request.handlerType}`)\n }\n return plugin.processBinding(request)\n }\n}\n"]}
|
package/lib/state.js
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
class State {
|
1
|
+
export class State {
|
2
2
|
stateMap = new Map();
|
3
3
|
static INSTANCE = new State();
|
4
4
|
static reset() {
|
5
5
|
State.INSTANCE = new State();
|
6
6
|
}
|
7
7
|
}
|
8
|
-
export { State };
|
9
8
|
export class StateStorage {
|
10
9
|
// TODO learn how to define single instance for all subclasses
|
11
10
|
constructor() {
|
package/lib/state.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAA;IAEjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAE7B,MAAM,CAAC,KAAK;QACV,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAC9B,CAAC;;AAGH,MAAM,OAAgB,YAAY;IAChC,8DAA8D;IAE9D;QACE,EAAE;IACJ,CAAC;IAID,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,WAAW,GAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC9B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;SACrD;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAED,MAAM,OAAgB,eAAmB,SAAQ,YAA4B;IAC3E,SAAS;QACP,OAAO,IAAI,GAAG,EAAa,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,KAAQ;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAA;YACpE,OAAO,QAAQ,CAAA;SAChB;QACD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,MAAM,OAAgB,gBAAoB,SAAQ,YAAiB;IACjE,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAQ;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,OAAO,KAAK,CAAA;IACd,CAAC;CACF","sourcesContent":["export class State {\n stateMap = new Map<string, any>()\n\n static INSTANCE = new State()\n\n static reset() {\n State.INSTANCE = new State()\n }\n}\n\nexport abstract class StateStorage<T> {\n // TODO learn how to define single instance for all subclasses\n\n protected constructor() {\n //\n }\n\n abstract initValue(): T\n\n key(): string {\n return this.constructor.name\n }\n\n getOrRegister(): T {\n let metricState: T = State.INSTANCE.stateMap.get(this.key())\n if (!metricState) {\n metricState = this.initValue()\n State.INSTANCE.stateMap.set(this.key(), metricState)\n }\n return metricState\n }\n}\n\nexport abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {\n initValue() {\n return new Map<string, T>()\n }\n\n getValue(key: string): T | undefined {\n const m = this.getOrRegister()\n return m.get(key)\n }\n\n getValues(): T[] {\n const m = this.getOrRegister()\n return Array.from(m.values())\n }\n\n getOrSetValue(key: string, value: T): T {\n const m = this.getOrRegister()\n const oldValue = m.get(key)\n if (oldValue) {\n console.warn(key, 'has been registered twice, use the previous one')\n return oldValue\n }\n m.set(key, value)\n return value\n }\n}\n\nexport abstract class ListStateStorage<T> extends StateStorage<T[]> {\n initValue() {\n return []\n }\n\n getValues(): T[] {\n return this.getOrRegister()\n }\n\n addValue(value: T): T {\n const m = this.getOrRegister()\n m.push(value)\n return value\n }\n}\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/runtime",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.19.0-rc.1",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -14,9 +14,6 @@
|
|
14
14
|
"!**/*.test.{js,ts}",
|
15
15
|
"!{lib,src}/tests"
|
16
16
|
],
|
17
|
-
"resolutions": {
|
18
|
-
"@grpc/grpc-js": "^1.8.7"
|
19
|
-
},
|
20
17
|
"dependencies": {
|
21
18
|
"@grpc/grpc-js": "^1.8.14",
|
22
19
|
"command-line-args": "^5.2.1",
|
@@ -32,10 +29,10 @@
|
|
32
29
|
"prom-client": "^14.2.0",
|
33
30
|
"protobufjs": "^7.2.3",
|
34
31
|
"winston": "^3.8.2",
|
35
|
-
"@sentio/protos": "2.
|
32
|
+
"@sentio/protos": "2.19.0-rc.1"
|
36
33
|
},
|
37
34
|
"peerDependencies": {
|
38
|
-
"@sentio/sdk": "^2.
|
35
|
+
"@sentio/sdk": "^2.19.0-rc.1"
|
39
36
|
},
|
40
37
|
"devDependencies": {
|
41
38
|
"@types/command-line-args": "^5.2.0",
|
@@ -535,6 +535,7 @@ export interface MoveCallFilter {
|
|
535
535
|
typeArguments: string[];
|
536
536
|
withTypeArguments: boolean;
|
537
537
|
includeFailed: boolean;
|
538
|
+
publicKeyPrefix: string;
|
538
539
|
}
|
539
540
|
|
540
541
|
export interface Topic {
|
@@ -3223,7 +3224,7 @@ export const MoveCallHandlerConfig = {
|
|
3223
3224
|
};
|
3224
3225
|
|
3225
3226
|
function createBaseMoveCallFilter(): MoveCallFilter {
|
3226
|
-
return { function: "", typeArguments: [], withTypeArguments: false, includeFailed: false };
|
3227
|
+
return { function: "", typeArguments: [], withTypeArguments: false, includeFailed: false, publicKeyPrefix: "" };
|
3227
3228
|
}
|
3228
3229
|
|
3229
3230
|
export const MoveCallFilter = {
|
@@ -3240,6 +3241,9 @@ export const MoveCallFilter = {
|
|
3240
3241
|
if (message.includeFailed === true) {
|
3241
3242
|
writer.uint32(32).bool(message.includeFailed);
|
3242
3243
|
}
|
3244
|
+
if (message.publicKeyPrefix !== "") {
|
3245
|
+
writer.uint32(42).string(message.publicKeyPrefix);
|
3246
|
+
}
|
3243
3247
|
return writer;
|
3244
3248
|
},
|
3245
3249
|
|
@@ -3262,6 +3266,9 @@ export const MoveCallFilter = {
|
|
3262
3266
|
case 4:
|
3263
3267
|
message.includeFailed = reader.bool();
|
3264
3268
|
break;
|
3269
|
+
case 5:
|
3270
|
+
message.publicKeyPrefix = reader.string();
|
3271
|
+
break;
|
3265
3272
|
default:
|
3266
3273
|
reader.skipType(tag & 7);
|
3267
3274
|
break;
|
@@ -3276,6 +3283,7 @@ export const MoveCallFilter = {
|
|
3276
3283
|
typeArguments: Array.isArray(object?.typeArguments) ? object.typeArguments.map((e: any) => String(e)) : [],
|
3277
3284
|
withTypeArguments: isSet(object.withTypeArguments) ? Boolean(object.withTypeArguments) : false,
|
3278
3285
|
includeFailed: isSet(object.includeFailed) ? Boolean(object.includeFailed) : false,
|
3286
|
+
publicKeyPrefix: isSet(object.publicKeyPrefix) ? String(object.publicKeyPrefix) : "",
|
3279
3287
|
};
|
3280
3288
|
},
|
3281
3289
|
|
@@ -3289,6 +3297,7 @@ export const MoveCallFilter = {
|
|
3289
3297
|
}
|
3290
3298
|
message.withTypeArguments !== undefined && (obj.withTypeArguments = message.withTypeArguments);
|
3291
3299
|
message.includeFailed !== undefined && (obj.includeFailed = message.includeFailed);
|
3300
|
+
message.publicKeyPrefix !== undefined && (obj.publicKeyPrefix = message.publicKeyPrefix);
|
3292
3301
|
return obj;
|
3293
3302
|
},
|
3294
3303
|
|
@@ -3302,6 +3311,7 @@ export const MoveCallFilter = {
|
|
3302
3311
|
message.typeArguments = object.typeArguments?.map((e) => e) || [];
|
3303
3312
|
message.withTypeArguments = object.withTypeArguments ?? false;
|
3304
3313
|
message.includeFailed = object.includeFailed ?? false;
|
3314
|
+
message.publicKeyPrefix = object.publicKeyPrefix ?? "";
|
3305
3315
|
return message;
|
3306
3316
|
},
|
3307
3317
|
};
|