@sentio/runtime 2.39.4-rc.6 → 2.39.4-rc.8
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/db-context.d.ts +5 -184
- package/lib/db-context.d.ts.map +1 -1
- package/lib/db-context.js +10 -5
- package/lib/db-context.js.map +1 -1
- package/lib/full-service.d.ts +1 -0
- package/lib/full-service.d.ts.map +1 -1
- package/lib/gen/service/common/protos/common.d.ts +1 -0
- package/lib/gen/service/common/protos/common.d.ts.map +1 -1
- package/lib/gen/service/common/protos/common.js +15 -1
- package/lib/gen/service/common/protos/common.js.map +1 -1
- package/lib/service.d.ts +1 -0
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +14 -7
- package/lib/service.js.map +1 -1
- package/package.json +2 -2
- package/src/db-context.ts +8 -4
- package/src/gen/service/common/protos/common.ts +17 -1
- package/src/service.ts +17 -7
package/lib/service.d.ts
CHANGED
package/lib/service.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAA;AAK5D,OAAO,EACL,WAAW,
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAA;AAK5D,OAAO,EACL,WAAW,EAEX,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,aAAa,EACb,oBAAoB,EAEpB,YAAY,EACb,MAAM,gBAAgB,CAAA;AAavB,qBAAa,oBAAqB,YAAW,8BAA8B;IACzE,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAS,EAAE,KAAK,CAAA;IAGhB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAY;gBAEjC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI;IAK9D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoB9F,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsClE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ1D,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA6BxG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBlF,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CjG"}
|
package/lib/service.js
CHANGED
@@ -7,6 +7,7 @@ import { PluginManager } from './plugin.js';
|
|
7
7
|
import { errorString, mergeProcessResults } from './utils.js';
|
8
8
|
import { freezeGlobalConfig, GLOBAL_CONFIG } from './global-config.js';
|
9
9
|
import { StoreContext } from './db-context.js';
|
10
|
+
import { Subject } from 'rxjs';
|
10
11
|
BigInt.prototype.toJSON = function () {
|
11
12
|
return this.toString();
|
12
13
|
};
|
@@ -124,38 +125,44 @@ export class ProcessorServiceImpl {
|
|
124
125
|
if (!this.started) {
|
125
126
|
throw new ServerError(Status.UNAVAILABLE, 'Service Not started.');
|
126
127
|
}
|
127
|
-
const
|
128
|
+
const subject = new Subject();
|
129
|
+
const contexts = {};
|
128
130
|
new Promise(async (resolve, reject) => {
|
129
131
|
for await (const request of requests) {
|
130
132
|
if (request.binding) {
|
131
133
|
const binding = request.binding;
|
134
|
+
const dbContext = new StoreContext(subject, request.processId);
|
135
|
+
contexts[request.processId] = dbContext;
|
132
136
|
PluginManager.INSTANCE.processBinding(binding, dbContext)
|
133
137
|
.then((result) => {
|
134
|
-
|
138
|
+
subject.next({
|
135
139
|
result,
|
136
140
|
processId: request.processId
|
137
141
|
});
|
138
|
-
// dbContext.subject.complete()
|
139
142
|
recordRuntimeInfo(result, binding.handlerType);
|
140
143
|
})
|
141
144
|
.catch((e) => {
|
142
145
|
dbContext.error(request.processId, e);
|
146
|
+
})
|
147
|
+
.finally(() => {
|
148
|
+
delete contexts[request.processId];
|
143
149
|
});
|
144
150
|
}
|
145
151
|
if (request.dbResult) {
|
146
|
-
dbContext
|
152
|
+
const dbContext = contexts[request.processId];
|
153
|
+
dbContext?.result(request.dbResult);
|
147
154
|
}
|
148
155
|
}
|
149
156
|
resolve(null);
|
150
157
|
})
|
151
158
|
.then(() => {
|
152
|
-
|
159
|
+
subject.complete();
|
153
160
|
})
|
154
161
|
.catch((e) => {
|
155
162
|
// should not happen
|
156
|
-
|
163
|
+
subject.error(e);
|
157
164
|
});
|
158
|
-
yield* from(
|
165
|
+
yield* from(subject).pipe(withAbort(context.signal));
|
159
166
|
}
|
160
167
|
}
|
161
168
|
function recordRuntimeInfo(results, handlerType) {
|
package/lib/service.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAEhE,OAAO,
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/runtime",
|
3
|
-
"version": "2.39.4-rc.
|
3
|
+
"version": "2.39.4-rc.8",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -32,7 +32,7 @@
|
|
32
32
|
"rxjs": "^7.8.1",
|
33
33
|
"utility-types": "^3.11.0",
|
34
34
|
"winston": "^3.11.0",
|
35
|
-
"@sentio/protos": "2.39.4-rc.
|
35
|
+
"@sentio/protos": "2.39.4-rc.8"
|
36
36
|
},
|
37
37
|
"devDependencies": {
|
38
38
|
"@types/command-line-args": "^5.2.3",
|
package/src/db-context.ts
CHANGED
@@ -4,11 +4,14 @@ import { DBRequest, DBResponse, DeepPartial, ProcessResult, ProcessStreamRespons
|
|
4
4
|
type Request = Omit<DBRequest, 'opId'>
|
5
5
|
|
6
6
|
export class StoreContext {
|
7
|
-
private opCounter = 0n
|
7
|
+
private static opCounter = 0n
|
8
8
|
|
9
9
|
private defers = new Map<bigint, { resolve: (value: any) => void; reject: (reason?: any) => void }>()
|
10
10
|
|
11
|
-
|
11
|
+
constructor(
|
12
|
+
readonly subject: Subject<DeepPartial<ProcessStreamResponse>>,
|
13
|
+
readonly processId: number
|
14
|
+
) {}
|
12
15
|
|
13
16
|
newPromise<T>(opId: bigint) {
|
14
17
|
return new Promise<T>((resolve, reject) => {
|
@@ -17,14 +20,15 @@ export class StoreContext {
|
|
17
20
|
}
|
18
21
|
|
19
22
|
sendRequest(request: DeepPartial<Request>) {
|
20
|
-
const opId =
|
23
|
+
const opId = StoreContext.opCounter++
|
21
24
|
const promise = this.newPromise(opId)
|
22
25
|
console.debug('sending db request ', opId, request)
|
23
26
|
this.subject.next({
|
24
27
|
dbRequest: {
|
25
28
|
...request,
|
26
29
|
opId
|
27
|
-
}
|
30
|
+
},
|
31
|
+
processId: this.processId
|
28
32
|
})
|
29
33
|
return promise
|
30
34
|
}
|
@@ -1871,6 +1871,7 @@ export function richValue_NullValueToJSON(object: RichValue_NullValue): string {
|
|
1871
1871
|
|
1872
1872
|
export interface RichStruct {
|
1873
1873
|
fields: { [key: string]: RichValue };
|
1874
|
+
entityName: string;
|
1874
1875
|
}
|
1875
1876
|
|
1876
1877
|
export interface RichStruct_FieldsEntry {
|
@@ -12740,7 +12741,7 @@ export const RichValue = {
|
|
12740
12741
|
};
|
12741
12742
|
|
12742
12743
|
function createBaseRichStruct(): RichStruct {
|
12743
|
-
return { fields: {} };
|
12744
|
+
return { fields: {}, entityName: "" };
|
12744
12745
|
}
|
12745
12746
|
|
12746
12747
|
export const RichStruct = {
|
@@ -12748,6 +12749,9 @@ export const RichStruct = {
|
|
12748
12749
|
Object.entries(message.fields).forEach(([key, value]) => {
|
12749
12750
|
RichStruct_FieldsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim();
|
12750
12751
|
});
|
12752
|
+
if (message.entityName !== "") {
|
12753
|
+
writer.uint32(18).string(message.entityName);
|
12754
|
+
}
|
12751
12755
|
return writer;
|
12752
12756
|
},
|
12753
12757
|
|
@@ -12768,6 +12772,13 @@ export const RichStruct = {
|
|
12768
12772
|
message.fields[entry1.key] = entry1.value;
|
12769
12773
|
}
|
12770
12774
|
continue;
|
12775
|
+
case 2:
|
12776
|
+
if (tag !== 18) {
|
12777
|
+
break;
|
12778
|
+
}
|
12779
|
+
|
12780
|
+
message.entityName = reader.string();
|
12781
|
+
continue;
|
12771
12782
|
}
|
12772
12783
|
if ((tag & 7) === 4 || tag === 0) {
|
12773
12784
|
break;
|
@@ -12785,6 +12796,7 @@ export const RichStruct = {
|
|
12785
12796
|
return acc;
|
12786
12797
|
}, {})
|
12787
12798
|
: {},
|
12799
|
+
entityName: isSet(object.entityName) ? globalThis.String(object.entityName) : "",
|
12788
12800
|
};
|
12789
12801
|
},
|
12790
12802
|
|
@@ -12799,6 +12811,9 @@ export const RichStruct = {
|
|
12799
12811
|
});
|
12800
12812
|
}
|
12801
12813
|
}
|
12814
|
+
if (message.entityName !== "") {
|
12815
|
+
obj.entityName = message.entityName;
|
12816
|
+
}
|
12802
12817
|
return obj;
|
12803
12818
|
},
|
12804
12819
|
|
@@ -12813,6 +12828,7 @@ export const RichStruct = {
|
|
12813
12828
|
}
|
12814
12829
|
return acc;
|
12815
12830
|
}, {});
|
12831
|
+
message.entityName = object.entityName ?? "";
|
12816
12832
|
return message;
|
12817
12833
|
},
|
12818
12834
|
};
|
package/src/service.ts
CHANGED
@@ -5,6 +5,7 @@ import { withAbort } from 'ix/Ix.dom.asynciterable.operators.js'
|
|
5
5
|
|
6
6
|
import {
|
7
7
|
DataBinding,
|
8
|
+
DeepPartial,
|
8
9
|
Empty,
|
9
10
|
HandlerType,
|
10
11
|
ProcessBindingResponse,
|
@@ -14,6 +15,7 @@ import {
|
|
14
15
|
ProcessorServiceImplementation,
|
15
16
|
ProcessResult,
|
16
17
|
ProcessStreamRequest,
|
18
|
+
ProcessStreamResponse,
|
17
19
|
StartRequest
|
18
20
|
} from '@sentio/protos'
|
19
21
|
|
@@ -22,6 +24,8 @@ import { errorString, mergeProcessResults } from './utils.js'
|
|
22
24
|
import { freezeGlobalConfig, GLOBAL_CONFIG } from './global-config.js'
|
23
25
|
|
24
26
|
import { StoreContext } from './db-context.js'
|
27
|
+
import { Subject } from 'rxjs'
|
28
|
+
|
25
29
|
;(BigInt.prototype as any).toJSON = function () {
|
26
30
|
return this.toString()
|
27
31
|
}
|
@@ -162,38 +166,44 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
162
166
|
throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')
|
163
167
|
}
|
164
168
|
|
165
|
-
const
|
169
|
+
const subject = new Subject<DeepPartial<ProcessStreamResponse>>()
|
170
|
+
const contexts: Record<number, StoreContext> = {}
|
166
171
|
new Promise(async (resolve, reject) => {
|
167
172
|
for await (const request of requests) {
|
168
173
|
if (request.binding) {
|
169
174
|
const binding = request.binding
|
175
|
+
const dbContext = new StoreContext(subject, request.processId)
|
176
|
+
contexts[request.processId] = dbContext
|
170
177
|
PluginManager.INSTANCE.processBinding(binding, dbContext)
|
171
178
|
.then((result) => {
|
172
|
-
|
179
|
+
subject.next({
|
173
180
|
result,
|
174
181
|
processId: request.processId
|
175
182
|
})
|
176
|
-
// dbContext.subject.complete()
|
177
183
|
recordRuntimeInfo(result, binding.handlerType)
|
178
184
|
})
|
179
185
|
.catch((e) => {
|
180
186
|
dbContext.error(request.processId, e)
|
181
187
|
})
|
188
|
+
.finally(() => {
|
189
|
+
delete contexts[request.processId]
|
190
|
+
})
|
182
191
|
}
|
183
192
|
if (request.dbResult) {
|
184
|
-
dbContext
|
193
|
+
const dbContext = contexts[request.processId]
|
194
|
+
dbContext?.result(request.dbResult)
|
185
195
|
}
|
186
196
|
}
|
187
197
|
resolve(null)
|
188
198
|
})
|
189
199
|
.then(() => {
|
190
|
-
|
200
|
+
subject.complete()
|
191
201
|
})
|
192
202
|
.catch((e) => {
|
193
203
|
// should not happen
|
194
|
-
|
204
|
+
subject.error(e)
|
195
205
|
})
|
196
|
-
yield* from(
|
206
|
+
yield* from(subject).pipe(withAbort(context.signal))
|
197
207
|
}
|
198
208
|
}
|
199
209
|
|