@sentio/runtime 4.0.0 → 4.0.1-rc.2

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 (57) hide show
  1. package/dist/esm-CSGQo6hb.js +1773 -0
  2. package/dist/esm-CSGQo6hb.js.map +1 -0
  3. package/dist/execAsync-DiFDE921.js +14 -0
  4. package/dist/execAsync-DiFDE921.js.map +1 -0
  5. package/dist/getMachineId-bsd-57c_YWfQ.js +30 -0
  6. package/dist/getMachineId-bsd-57c_YWfQ.js.map +1 -0
  7. package/dist/getMachineId-darwin-dyf00K_U.js +27 -0
  8. package/dist/getMachineId-darwin-dyf00K_U.js.map +1 -0
  9. package/dist/getMachineId-linux-p9niCx07.js +23 -0
  10. package/dist/getMachineId-linux-p9niCx07.js.map +1 -0
  11. package/dist/getMachineId-unsupported-hKbFGxhH.js +18 -0
  12. package/dist/getMachineId-unsupported-hKbFGxhH.js.map +1 -0
  13. package/dist/getMachineId-win-Bn6Q0xbV.js +29 -0
  14. package/dist/getMachineId-win-Bn6Q0xbV.js.map +1 -0
  15. package/dist/index.d.ts +2780 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +68 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/plugin-BrBSx4KR.d.ts +111 -0
  20. package/dist/plugin-BrBSx4KR.d.ts.map +1 -0
  21. package/dist/plugin-Tb-OZb_A.js +6937 -0
  22. package/dist/plugin-Tb-OZb_A.js.map +1 -0
  23. package/dist/processor-runner.d.ts +1 -0
  24. package/dist/processor-runner.js +57749 -0
  25. package/dist/processor-runner.js.map +1 -0
  26. package/dist/service-v3-CtXk2PFI.js +12238 -0
  27. package/dist/service-v3-CtXk2PFI.js.map +1 -0
  28. package/package.json +9 -8
  29. package/src/tsdown.config.ts +29 -0
  30. package/lib/chunk-AUPVVLD3.js +0 -3
  31. package/lib/chunk-AUPVVLD3.js.map +0 -1
  32. package/lib/chunk-GIDETKWP.js +0 -3
  33. package/lib/chunk-GIDETKWP.js.map +0 -1
  34. package/lib/chunk-OWUO6IOO.js +0 -4
  35. package/lib/chunk-OWUO6IOO.js.map +0 -1
  36. package/lib/chunk-TW627LH5.js +0 -3
  37. package/lib/chunk-TW627LH5.js.map +0 -1
  38. package/lib/chunk-ZBEAD3P3.js +0 -15
  39. package/lib/chunk-ZBEAD3P3.js.map +0 -1
  40. package/lib/getMachineId-bsd-D4LAJDEF.js +0 -3
  41. package/lib/getMachineId-bsd-D4LAJDEF.js.map +0 -1
  42. package/lib/getMachineId-darwin-LI2YUJNR.js +0 -4
  43. package/lib/getMachineId-darwin-LI2YUJNR.js.map +0 -1
  44. package/lib/getMachineId-linux-U5ITOJBK.js +0 -3
  45. package/lib/getMachineId-linux-U5ITOJBK.js.map +0 -1
  46. package/lib/getMachineId-unsupported-5HCFSWXA.js +0 -3
  47. package/lib/getMachineId-unsupported-5HCFSWXA.js.map +0 -1
  48. package/lib/getMachineId-win-MPVRXIQL.js +0 -3
  49. package/lib/getMachineId-win-MPVRXIQL.js.map +0 -1
  50. package/lib/index.d.ts +0 -1750
  51. package/lib/index.js +0 -3
  52. package/lib/index.js.map +0 -1
  53. package/lib/plugin-D-rx1WCp.d.ts +0 -108
  54. package/lib/processor-runner.d.ts +0 -1
  55. package/lib/processor-runner.js +0 -184
  56. package/lib/processor-runner.js.map +0 -1
  57. package/src/tsup.config.ts +0 -17
package/lib/index.js DELETED
@@ -1,3 +0,0 @@
1
- import { createRequire as createRequireShim } from 'module'; const require = createRequireShim(import.meta.url);
2
- import{a as T,b as m,c as f,d as l,e as h,f as x,g as d,h as C,i as N,k as R,l as V,q as w,r as O,s as A,t as I,u as M,v as b,w as y,x as E,y as p,z as k}from"./chunk-ZBEAD3P3.js";import{A as c,B as u}from"./chunk-OWUO6IOO.js";import"./chunk-TW627LH5.js";import"./chunk-AUPVVLD3.js";var r=class e{stateMap=new Map;static INSTANCE=new e;static reset(){e.INSTANCE=new e}},i=class{constructor(){}key(){return this.constructor.name}getOrRegister(){let t=r.INSTANCE.stateMap.get(this.key());return t||(t=this.initValue(),r.INSTANCE.stateMap.set(this.key(),t)),t}unregister(){let t=r.INSTANCE.stateMap.get(this.key());return r.INSTANCE.stateMap.delete(this.key()),t}},a=class extends i{initValue(){return new Map}getValue(t){return this.getOrRegister().get(t)}getValues(){let t=this.getOrRegister();return Array.from(t.values())}getOrSetValue(t,s){let o=this.getOrRegister(),n=o.get(t);return n?(n!==s&&console.warn(t,"has been registered twice, use the previous one"),n):(o.set(t,s),s)}},g=class extends i{initValue(){return[]}getValues(){return this.getOrRegister()}addValue(t){return this.getOrRegister().push(t),t}};import("node:process").then(e=>e.stdout.write(""));import("node:process").then(e=>e.stdout.write(""));import("node:process").then(e=>e.stdout.write(""));export{b as AbstractStoreContext,E as DataBindingContext,R as Endpoints,p as GLOBAL_CONFIG,g as ListStateStorage,a as MapStateStorage,c as Plugin,u as PluginManager,k as ProcessorServiceImplV3,r as State,i as StateStorage,y as StoreContext,h as USER_PROCESSOR,C as compareSemver,V as configureEndpoints,w as dbMetrics,l as errorString,N as locatePackageJson,x as makeEthCallKey,T as mergeProcessResults,m as mergeProcessResultsInPlace,I as metricsStorage,d as parseSemver,A as processMetrics,O as providerMetrics,f as recordRuntimeInfo,M as timeoutError};
3
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/state.ts","../src/chain-config.ts","../src/index.ts"],"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 unregister(): T {\n const value = State.INSTANCE.stateMap.get(this.key())\n State.INSTANCE.stateMap.delete(this.key())\n return value\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 if (oldValue !== value) {\n console.warn(key, 'has been registered twice, use the previous one')\n }\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;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export interface RpcConfig {\n Url: string\n Headers?: Record<string, string>\n}\n\nexport interface ChainConfig {\n ChainID: string\n Https?: string[]\n Rpc?: RpcConfig\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export * from './plugin.js'\nexport * from './state.js'\nexport * from './utils.js'\nexport * from './endpoints.js'\nexport * from './chain-config.js'\nexport * from './service-v3.js'\nexport { GLOBAL_CONFIG, type GlobalConfig } from './global-config.js'\nexport * from './db-context.js'\nexport * from './metrics.js'\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":";2RAAO,IAAMA,EAAN,MAAMC,CAAM,CACjB,SAAW,IAAI,IAEf,OAAO,SAAW,IAAIA,EAEtB,OAAO,OAAQ,CACbA,EAAM,SAAW,IAAIA,CACvB,CACF,EAEsBC,EAAf,KAA+B,CAG1B,aAAc,CAExB,CAIA,KAAc,CACZ,OAAO,KAAK,YAAY,IAC1B,CAEA,eAAmB,CACjB,IAAIC,EAAiBH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EAC3D,OAAKG,IACHA,EAAc,KAAK,UAAU,EAC7BH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,EAAGG,CAAW,GAE9CA,CACT,CAEA,YAAgB,CACd,IAAMC,EAAQJ,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EACpD,OAAAA,EAAM,SAAS,SAAS,OAAO,KAAK,IAAI,CAAC,EAClCI,CACT,CACF,EAEsBC,EAAf,cAA0CH,CAA6B,CAC5E,WAAY,CACV,OAAO,IAAI,GACb,CAEA,SAASI,EAA4B,CAEnC,OADU,KAAK,cAAc,EACpB,IAAIA,CAAG,CAClB,CAEA,WAAiB,CACf,IAAMC,EAAI,KAAK,cAAc,EAC7B,OAAO,MAAM,KAAKA,EAAE,OAAO,CAAC,CAC9B,CAEA,cAAcD,EAAaF,EAAa,CACtC,IAAMG,EAAI,KAAK,cAAc,EACvBC,EAAWD,EAAE,IAAID,CAAG,EAC1B,OAAIE,GACEA,IAAaJ,GACf,QAAQ,KAAKE,EAAK,iDAAiD,EAE9DE,IAETD,EAAE,IAAID,EAAKF,CAAK,EACTA,EACT,CACF,EAEsBK,EAAf,cAA2CP,CAAkB,CAClE,WAAY,CACV,MAAO,CAAC,CACV,CAEA,WAAiB,CACf,OAAO,KAAK,cAAc,CAC5B,CAEA,SAASE,EAAa,CAEpB,OADU,KAAK,cAAc,EAC3B,KAAKA,CAAK,EACLA,CACT,CACF,EACC,OAAO,cAAc,EAAE,KAAMM,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,ECzErD,OAAO,cAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,ECDrD,OAAO,cAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC","names":["State","_State","StateStorage","metricState","value","MapStateStorage","key","m","oldValue","ListStateStorage","p","p","p"]}
@@ -1,108 +0,0 @@
1
- import { DBResponse, TemplateInstance, TimeseriesResult, DBRequest_DBUpsert, ProcessStreamResponseSchema, ProcessStreamResponseV3Schema, DBRequestSchema, HandlerType, ProcessConfigResponse, StartRequest, DataBinding, PreparedData, ProcessResult, PreprocessResult, ProcessStreamResponse_Partitions, UpdateTemplatesRequest } from '@sentio/protos';
2
- import { Subject } from 'rxjs';
3
- import { MessageInitShape } from '@bufbuild/protobuf';
4
- import { AsyncLocalStorage } from 'node:async_hooks';
5
-
6
- type ProcessStreamResponseInit = MessageInitShape<typeof ProcessStreamResponseSchema>;
7
- type ProcessStreamResponseV3Init = MessageInitShape<typeof ProcessStreamResponseV3Schema>;
8
- type Request = NonNullable<MessageInitShape<typeof DBRequestSchema>['op']>;
9
- type RequestType = NonNullable<Request['case']>;
10
- declare const timeoutError: Error;
11
- interface IStoreContext {
12
- sendRequest(request: Request, timeoutSecs?: number): Promise<DBResponse>;
13
- result(dbResult: DBResponse): void;
14
- error(processId: number, e: any): void;
15
- close(): void;
16
- }
17
- interface IDataBindingContext extends IStoreContext {
18
- sendTemplateRequest(templates: Array<TemplateInstance>, unbind: boolean): void;
19
- sendTimeseriesRequest(timeseries: Array<TimeseriesResult>): void;
20
- }
21
- declare abstract class AbstractStoreContext implements IStoreContext {
22
- readonly processId: number;
23
- private static opCounter;
24
- protected defers: Map<bigint, {
25
- resolve: (value: any) => void;
26
- reject: (reason?: any) => void;
27
- requestType?: RequestType;
28
- }>;
29
- private statsInterval;
30
- private pendings;
31
- constructor(processId: number);
32
- newPromise<T>(opId: bigint, requestType?: RequestType): Promise<T>;
33
- abstract doSend(resp: ProcessStreamResponseInit | ProcessStreamResponseV3Init): void;
34
- sendRequest(request: Request, timeoutSecs?: number): Promise<DBResponse>;
35
- result(dbResult: DBResponse): void;
36
- error(processId: number, e: any): void;
37
- close(): void;
38
- upsertBatch: {
39
- opId: bigint;
40
- request: DBRequest_DBUpsert;
41
- promise: Promise<DBResponse>;
42
- timer: NodeJS.Timeout;
43
- } | undefined;
44
- private sendUpsertInBatch;
45
- private sendBatch;
46
- awaitPendings(): Promise<void>;
47
- }
48
- declare class StoreContext extends AbstractStoreContext {
49
- readonly subject: Subject<ProcessStreamResponseInit>;
50
- constructor(subject: Subject<ProcessStreamResponseInit>, processId: number);
51
- doSend(resp: ProcessStreamResponseInit): void;
52
- }
53
- declare class DataBindingContext extends AbstractStoreContext implements IDataBindingContext {
54
- readonly processId: number;
55
- readonly subject: Subject<ProcessStreamResponseV3Init>;
56
- constructor(processId: number, subject: Subject<ProcessStreamResponseV3Init>);
57
- sendTemplateRequest(templates: Array<TemplateInstance>, unbind: boolean): void;
58
- sendTimeseriesRequest(timeseries: Array<TimeseriesResult>): void;
59
- doSend(resp: ProcessStreamResponseV3Init): void;
60
- }
61
-
62
- declare abstract class Plugin {
63
- name: string;
64
- supportedHandlers: HandlerType[];
65
- configure(config: ProcessConfigResponse, forChainId?: string): Promise<void>;
66
- start(start: StartRequest): Promise<void>;
67
- /**
68
- * @deprecated The method should not be used, use ctx.states instead
69
- */
70
- stateDiff(config: ProcessConfigResponse): boolean;
71
- processBinding(request: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
72
- preprocessBinding(request: DataBinding, preprocessStore: {
73
- [k: string]: any;
74
- }): Promise<PreprocessResult>;
75
- partition(request: DataBinding): Promise<ProcessStreamResponse_Partitions>;
76
- /**
77
- * method used by action server only
78
- * @param port
79
- */
80
- startServer(port?: number): Promise<void>;
81
- /**
82
- * method used by action server only
83
- */
84
- shutdownServer(): void;
85
- }
86
- declare class PluginManager {
87
- static INSTANCE: PluginManager;
88
- dbContextLocalStorage: AsyncLocalStorage<IStoreContext | IDataBindingContext | undefined>;
89
- plugins: Plugin[];
90
- typesToPlugin: Map<HandlerType, Plugin>;
91
- register(plugin: Plugin): void;
92
- configure(config: ProcessConfigResponse): Promise<void>;
93
- start(start: StartRequest, actionServerPort?: number): Promise<void[]>;
94
- startServer(port?: number): Promise<void[]>;
95
- shutdown(): void;
96
- /**
97
- * @deprecated The method should not be used, use ctx.states instead
98
- */
99
- stateDiff(config: ProcessConfigResponse): boolean;
100
- processBinding(request: DataBinding, preparedData: PreparedData | undefined, dbContext?: IDataBindingContext | IStoreContext): Promise<ProcessResult>;
101
- partition(request: DataBinding): Promise<ProcessStreamResponse_Partitions>;
102
- preprocessBinding(request: DataBinding, preprocessStore: {
103
- [k: string]: any;
104
- }, dbContext?: IDataBindingContext | IStoreContext): Promise<PreprocessResult>;
105
- updateTemplates(request: UpdateTemplatesRequest): Promise<void>;
106
- }
107
-
108
- export { AbstractStoreContext as A, DataBindingContext as D, type IStoreContext as I, Plugin as P, StoreContext as S, PluginManager as a, type IDataBindingContext as b, timeoutError as t };
@@ -1 +0,0 @@
1
- #!/usr/bin/env node