@cadenza.io/service 1.26.8 → 1.27.0
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/index.d.mts +1 -5
- package/dist/index.d.ts +1 -5
- package/dist/index.js +24 -47
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -47
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -72,7 +72,7 @@ interface SubOperation {
|
|
|
72
72
|
data?: AnyObject | AnyObject[];
|
|
73
73
|
filter?: AnyObject;
|
|
74
74
|
fields?: string[];
|
|
75
|
-
return?:
|
|
75
|
+
return?: string;
|
|
76
76
|
}
|
|
77
77
|
interface OnConflictAction {
|
|
78
78
|
do: "nothing" | "update";
|
|
@@ -96,10 +96,6 @@ interface DbOperationPayload {
|
|
|
96
96
|
target: string[];
|
|
97
97
|
action: OnConflictAction;
|
|
98
98
|
};
|
|
99
|
-
awaitExists?: Record<string, {
|
|
100
|
-
table: string;
|
|
101
|
-
column: string;
|
|
102
|
-
}>;
|
|
103
99
|
}
|
|
104
100
|
|
|
105
101
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ interface SubOperation {
|
|
|
72
72
|
data?: AnyObject | AnyObject[];
|
|
73
73
|
filter?: AnyObject;
|
|
74
74
|
fields?: string[];
|
|
75
|
-
return?:
|
|
75
|
+
return?: string;
|
|
76
76
|
}
|
|
77
77
|
interface OnConflictAction {
|
|
78
78
|
do: "nothing" | "update";
|
|
@@ -96,10 +96,6 @@ interface DbOperationPayload {
|
|
|
96
96
|
target: string[];
|
|
97
97
|
action: OnConflictAction;
|
|
98
98
|
};
|
|
99
|
-
awaitExists?: Record<string, {
|
|
100
|
-
table: string;
|
|
101
|
-
column: string;
|
|
102
|
-
}>;
|
|
103
99
|
}
|
|
104
100
|
|
|
105
101
|
/**
|
package/dist/index.js
CHANGED
|
@@ -117,7 +117,7 @@ var DeputyTask = class extends import_core.Task {
|
|
|
117
117
|
console.log(
|
|
118
118
|
"Resolving deputy",
|
|
119
119
|
remoteRoutineName,
|
|
120
|
-
responseCtx.errored ? responseCtx : ""
|
|
120
|
+
responseCtx.errored ? responseCtx.__error : ""
|
|
121
121
|
);
|
|
122
122
|
if (responseCtx?.errored) {
|
|
123
123
|
reject(new Error(responseCtx.__error));
|
|
@@ -1756,7 +1756,11 @@ var SocketController = class _SocketController {
|
|
|
1756
1756
|
ws.on(
|
|
1757
1757
|
"delegation",
|
|
1758
1758
|
(ctx2, callback) => {
|
|
1759
|
-
console.log("Received socket delegation request",
|
|
1759
|
+
console.log("Received socket delegation request", {
|
|
1760
|
+
localTaskName: ctx2.__localTaskName,
|
|
1761
|
+
localServiceName: ctx2.__localServiceName,
|
|
1762
|
+
remoteRoutineName: ctx2.__remoteRoutineName
|
|
1763
|
+
});
|
|
1760
1764
|
const deputyExecId = ctx2.__metadata.__deputyExecId;
|
|
1761
1765
|
CadenzaService.createEphemeralMetaTask(
|
|
1762
1766
|
"Resolve delegation",
|
|
@@ -2032,9 +2036,7 @@ var SocketController = class _SocketController {
|
|
|
2032
2036
|
console.log("Socket Delegate:", {
|
|
2033
2037
|
localTaskName: ctx2.__localTaskName,
|
|
2034
2038
|
remoteRoutineName: ctx2.__remoteRoutineName,
|
|
2035
|
-
serviceName: ctx2.__serviceName
|
|
2036
|
-
fetchId,
|
|
2037
|
-
socketConnected: socket.connected
|
|
2039
|
+
serviceName: ctx2.__serviceName
|
|
2038
2040
|
});
|
|
2039
2041
|
delete ctx2.__isSubMeta;
|
|
2040
2042
|
emitWhenReady(
|
|
@@ -2636,13 +2638,6 @@ var SCHEMA_TYPES = [
|
|
|
2636
2638
|
// src/database/DatabaseController.ts
|
|
2637
2639
|
var import_pg = require("pg");
|
|
2638
2640
|
var import_lodash_es = require("lodash-es");
|
|
2639
|
-
|
|
2640
|
-
// src/utils/promise.ts
|
|
2641
|
-
function sleep(ms) {
|
|
2642
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
2643
|
-
}
|
|
2644
|
-
|
|
2645
|
-
// src/database/DatabaseController.ts
|
|
2646
2641
|
var DatabaseController = class _DatabaseController {
|
|
2647
2642
|
/**
|
|
2648
2643
|
* Constructor for initializing the `DatabaseService` class.
|
|
@@ -3367,37 +3362,12 @@ var DatabaseController = class _DatabaseController {
|
|
|
3367
3362
|
* @return {Promise<any>} A promise resolving to the result of the database insert operation, including the inserted rows, the row count, and metadata indicating success or error.
|
|
3368
3363
|
*/
|
|
3369
3364
|
async insertFunction(tableName, context) {
|
|
3370
|
-
const {
|
|
3371
|
-
data,
|
|
3372
|
-
transaction = true,
|
|
3373
|
-
fields = [],
|
|
3374
|
-
onConflict,
|
|
3375
|
-
awaitExists
|
|
3376
|
-
} = context;
|
|
3365
|
+
const { data, transaction = true, fields = [], onConflict } = context;
|
|
3377
3366
|
if (!data || Array.isArray(data) && data.length === 0) {
|
|
3378
3367
|
return { errored: true, __error: "No data provided for insert" };
|
|
3379
3368
|
}
|
|
3380
3369
|
const client = transaction ? await this.getClient() : this.dbClient;
|
|
3381
3370
|
try {
|
|
3382
|
-
if (awaitExists) {
|
|
3383
|
-
for (const fk of Object.keys(awaitExists)) {
|
|
3384
|
-
const value = data[fk];
|
|
3385
|
-
if (value === void 0 || value === null) continue;
|
|
3386
|
-
const { table, column } = awaitExists[fk];
|
|
3387
|
-
let exists = false;
|
|
3388
|
-
let retries = 0;
|
|
3389
|
-
const maxRetries = 20;
|
|
3390
|
-
while (!exists && retries < maxRetries) {
|
|
3391
|
-
const result2 = await client.query(
|
|
3392
|
-
`SELECT EXISTS(SELECT 1 from ${table} WHERE ${column} = ${typeof value === "string" ? `'${value}'` : value}) AS "exists"`
|
|
3393
|
-
);
|
|
3394
|
-
exists = result2.rows[0].exists;
|
|
3395
|
-
if (exists) break;
|
|
3396
|
-
retries++;
|
|
3397
|
-
await sleep(100);
|
|
3398
|
-
}
|
|
3399
|
-
}
|
|
3400
|
-
}
|
|
3401
3371
|
if (transaction) await client.query("BEGIN");
|
|
3402
3372
|
const resolvedData = await this.resolveNestedData(data, tableName);
|
|
3403
3373
|
const isBatch = Array.isArray(resolvedData);
|
|
@@ -3844,7 +3814,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3844
3814
|
this.splitRoutinesTask = CadenzaService.createMetaTask(
|
|
3845
3815
|
"Split routines for registration",
|
|
3846
3816
|
(ctx, emit) => {
|
|
3847
|
-
console.log("Splitting routines for registration...");
|
|
3848
3817
|
const { routines } = ctx;
|
|
3849
3818
|
if (!routines) return;
|
|
3850
3819
|
for (const routine of routines) {
|
|
@@ -3914,7 +3883,7 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3914
3883
|
).then(
|
|
3915
3884
|
(this.isCadenzaDBReady ? CadenzaService.createCadenzaDBInsertTask("signal_registry", {
|
|
3916
3885
|
onConflict: {
|
|
3917
|
-
target: ["name"],
|
|
3886
|
+
target: ["name", "service_name"],
|
|
3918
3887
|
action: {
|
|
3919
3888
|
do: "nothing"
|
|
3920
3889
|
}
|
|
@@ -3931,7 +3900,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3931
3900
|
this.splitTasksForRegistration = CadenzaService.createMetaTask(
|
|
3932
3901
|
"Split tasks for registration",
|
|
3933
3902
|
function* (ctx) {
|
|
3934
|
-
console.log("Splitting tasks for registration...");
|
|
3935
3903
|
const tasks = ctx.tasks;
|
|
3936
3904
|
for (const task of tasks) {
|
|
3937
3905
|
if (task.registered) continue;
|
|
@@ -3999,7 +3967,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3999
3967
|
function* (ctx) {
|
|
4000
3968
|
const task = ctx.task;
|
|
4001
3969
|
if (task.hidden || !task.register) return;
|
|
4002
|
-
console.log("Splitting observed signals of task", task.name);
|
|
4003
3970
|
for (const signal of task.observedSignals) {
|
|
4004
3971
|
let firstChar = signal.charAt(0);
|
|
4005
3972
|
let signalServiceName;
|
|
@@ -4043,7 +4010,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
4043
4010
|
function* (ctx) {
|
|
4044
4011
|
const task = ctx.task;
|
|
4045
4012
|
if (task.hidden || !task.register) return;
|
|
4046
|
-
console.log("Splitting emitted signals of task:", task.name);
|
|
4047
4013
|
for (const signal of task.signalsToEmitAfter) {
|
|
4048
4014
|
if (task.registeredSignals.has(signal)) continue;
|
|
4049
4015
|
yield {
|
|
@@ -4059,9 +4025,22 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
4059
4025
|
}
|
|
4060
4026
|
for (const signal of task.signalsToEmitOnFail) {
|
|
4061
4027
|
if (task.registeredSignals.has(signal)) continue;
|
|
4028
|
+
const { isMeta, sourceServiceName, domain, action } = decomposeSignalName(signal);
|
|
4062
4029
|
yield {
|
|
4063
4030
|
data: {
|
|
4064
|
-
signalName:
|
|
4031
|
+
signalName: {
|
|
4032
|
+
subOperation: "insert",
|
|
4033
|
+
table: "signal_registry",
|
|
4034
|
+
data: {
|
|
4035
|
+
name: signal,
|
|
4036
|
+
service_name: CadenzaService.serviceRegistry.serviceName,
|
|
4037
|
+
is_meta: isMeta,
|
|
4038
|
+
source_service_name: sourceServiceName,
|
|
4039
|
+
domain,
|
|
4040
|
+
action
|
|
4041
|
+
},
|
|
4042
|
+
return: "name"
|
|
4043
|
+
},
|
|
4065
4044
|
taskName: task.name,
|
|
4066
4045
|
taskVersion: task.version,
|
|
4067
4046
|
serviceName: CadenzaService.serviceRegistry.serviceName,
|
|
@@ -4096,7 +4075,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
4096
4075
|
if (task.taskMapRegistration.has(t.name)) {
|
|
4097
4076
|
continue;
|
|
4098
4077
|
}
|
|
4099
|
-
console.log("Registering task map to DB", t.name, task.name);
|
|
4100
4078
|
yield {
|
|
4101
4079
|
data: {
|
|
4102
4080
|
taskName: t.name,
|
|
@@ -4140,7 +4118,6 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
4140
4118
|
if (task.hidden || !task.register) return;
|
|
4141
4119
|
if (task.isDeputy && !task.signalName) {
|
|
4142
4120
|
if (task.registeredDeputyMap) return;
|
|
4143
|
-
console.log("Registering deputy relationship:", task.name);
|
|
4144
4121
|
return {
|
|
4145
4122
|
data: {
|
|
4146
4123
|
triggered_task_name: task.remoteRoutineName,
|
|
@@ -4197,7 +4174,7 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
4197
4174
|
)
|
|
4198
4175
|
);
|
|
4199
4176
|
CadenzaService.throttle("sync_controller.sync_tick", { __syncing: true }, 12e4);
|
|
4200
|
-
CadenzaService.schedule("meta.sync_requested", {}, 2e3);
|
|
4177
|
+
CadenzaService.schedule("meta.sync_requested", { __syncing: true }, 2e3);
|
|
4201
4178
|
}
|
|
4202
4179
|
};
|
|
4203
4180
|
|