@cadenza.io/service 1.12.9 → 1.13.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/dist/index.js +168 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +168 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -485,7 +485,7 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
485
485
|
"exposed",
|
|
486
486
|
"created"
|
|
487
487
|
]
|
|
488
|
-
}).doOn("meta.
|
|
488
|
+
}).doOn("meta.sync_requested").then(
|
|
489
489
|
CadenzaService.createMetaTask(
|
|
490
490
|
"Split service instances",
|
|
491
491
|
function* (ctx) {
|
|
@@ -496,7 +496,6 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
498
|
).then(this.handleInstanceUpdateTask)
|
|
499
|
-
// .emits("meta.process_signal_queue_requested"), // TODO Has to happen after the endpoints has been created...
|
|
500
499
|
);
|
|
501
500
|
this.updateInstanceId = CadenzaService.createMetaTask(
|
|
502
501
|
"Update instance id",
|
|
@@ -1086,11 +1085,7 @@ var RestController = class _RestController {
|
|
|
1086
1085
|
let ctx2;
|
|
1087
1086
|
try {
|
|
1088
1087
|
ctx2 = req.body;
|
|
1089
|
-
console.log(
|
|
1090
|
-
"SIGNAL RECEIVED",
|
|
1091
|
-
ctx2,
|
|
1092
|
-
CadenzaService.broker.listObservedSignals()
|
|
1093
|
-
);
|
|
1088
|
+
console.log("SIGNAL RECEIVED", ctx2);
|
|
1094
1089
|
if (!CadenzaService.broker.listObservedSignals().includes(ctx2.__signalName)) {
|
|
1095
1090
|
res.send(__spreadProps(__spreadValues({}, ctx2), {
|
|
1096
1091
|
__status: "error",
|
|
@@ -1099,7 +1094,10 @@ var RestController = class _RestController {
|
|
|
1099
1094
|
}));
|
|
1100
1095
|
return;
|
|
1101
1096
|
}
|
|
1102
|
-
res.send({
|
|
1097
|
+
res.send({
|
|
1098
|
+
__status: "success",
|
|
1099
|
+
__signalName: ctx2.__signalName
|
|
1100
|
+
});
|
|
1103
1101
|
} catch (e) {
|
|
1104
1102
|
console.error("Error in signal", e);
|
|
1105
1103
|
res.send({
|
|
@@ -1418,8 +1416,8 @@ var SocketController = class _SocketController {
|
|
|
1418
1416
|
}
|
|
1419
1417
|
const limiterOptions = {
|
|
1420
1418
|
low: { points: Infinity, duration: 300 },
|
|
1421
|
-
medium: { points:
|
|
1422
|
-
high: { points:
|
|
1419
|
+
medium: { points: 1e3, duration: 300 },
|
|
1420
|
+
high: { points: 100, duration: 60, blockDuration: 300 }
|
|
1423
1421
|
};
|
|
1424
1422
|
const limiter = new import_rate_limiter_flexible2.RateLimiterMemory(limiterOptions[profile]);
|
|
1425
1423
|
socket.use((packet, next2) => {
|
|
@@ -1830,14 +1828,17 @@ var GraphMetadataController = class _GraphMetadataController {
|
|
|
1830
1828
|
}).doOn("meta.task.relationship_added").emits("meta.graph_metadata.task_relationship_created");
|
|
1831
1829
|
CadenzaService.createMetaTask("Handle task signal observation", (ctx) => {
|
|
1832
1830
|
const firstChar = ctx.data.signalName.charAt(0);
|
|
1831
|
+
let _signal = ctx.data.signalName;
|
|
1833
1832
|
let signalServiceName;
|
|
1834
1833
|
if (firstChar === firstChar.toUpperCase() && firstChar !== firstChar.toLowerCase()) {
|
|
1835
1834
|
signalServiceName = ctx.data.signalName.split(".")[0];
|
|
1835
|
+
_signal = ctx.data.signalName.split(".").slice(1).join(".");
|
|
1836
1836
|
}
|
|
1837
1837
|
return {
|
|
1838
1838
|
data: __spreadProps(__spreadValues({}, ctx.data), {
|
|
1839
|
-
|
|
1840
|
-
|
|
1839
|
+
signalName: _signal,
|
|
1840
|
+
taskServiceName: CadenzaService.serviceRegistry.serviceName,
|
|
1841
|
+
signalServiceName: signalServiceName != null ? signalServiceName : CadenzaService.serviceRegistry.serviceName
|
|
1841
1842
|
})
|
|
1842
1843
|
};
|
|
1843
1844
|
}).doOn("meta.task.observed_signal").emits("meta.graph_metadata.task_signal_observed");
|
|
@@ -3013,6 +3014,158 @@ var DatabaseController = class _DatabaseController {
|
|
|
3013
3014
|
|
|
3014
3015
|
// src/Cadenza.ts
|
|
3015
3016
|
var import_uuid3 = require("uuid");
|
|
3017
|
+
|
|
3018
|
+
// src/graph/controllers/GraphSyncController.ts
|
|
3019
|
+
var GraphSyncController = class _GraphSyncController {
|
|
3020
|
+
static get instance() {
|
|
3021
|
+
if (!this._instance) this._instance = new _GraphSyncController();
|
|
3022
|
+
return this._instance;
|
|
3023
|
+
}
|
|
3024
|
+
constructor() {
|
|
3025
|
+
var _a2;
|
|
3026
|
+
(_a2 = CadenzaService.broker.getSignalsTask) == null ? void 0 : _a2.doOn("meta.sync_requested");
|
|
3027
|
+
CadenzaService.registry.getAllTasks.doAfter(CadenzaService.broker.getSignalsTask);
|
|
3028
|
+
CadenzaService.createMetaTask("Split routines for registration", (ctx, emit) => {
|
|
3029
|
+
const { __routines } = ctx;
|
|
3030
|
+
if (!__routines) return;
|
|
3031
|
+
for (const routine of __routines) {
|
|
3032
|
+
emit("meta.sync_controller.routine_added", {
|
|
3033
|
+
data: {
|
|
3034
|
+
name: routine.name,
|
|
3035
|
+
version: routine.version,
|
|
3036
|
+
description: routine.description,
|
|
3037
|
+
serviceName: CadenzaService.serviceRegistry.serviceName,
|
|
3038
|
+
isMeta: routine.isMeta
|
|
3039
|
+
}
|
|
3040
|
+
});
|
|
3041
|
+
for (const task of routine.tasks) {
|
|
3042
|
+
const tasks = task.getIterator();
|
|
3043
|
+
while (tasks.hasNext()) {
|
|
3044
|
+
const nextTask = tasks.next();
|
|
3045
|
+
emit("meta.sync_controller.task_to_routine_map", {
|
|
3046
|
+
data: {
|
|
3047
|
+
taskName: nextTask.name,
|
|
3048
|
+
taskVersion: nextTask.version,
|
|
3049
|
+
routineName: routine.name,
|
|
3050
|
+
routineVersion: routine.version,
|
|
3051
|
+
serviceName: CadenzaService.serviceRegistry.serviceName
|
|
3052
|
+
}
|
|
3053
|
+
});
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
}
|
|
3057
|
+
}).doAfter(CadenzaService.registry.getAllRoutines);
|
|
3058
|
+
CadenzaService.createMetaTask("Split signals for registration", (ctx, emit) => {
|
|
3059
|
+
const { __signals } = ctx;
|
|
3060
|
+
if (!__signals) return;
|
|
3061
|
+
for (const signal of __signals) {
|
|
3062
|
+
const parts = signal.split(".");
|
|
3063
|
+
const domain = parts[0] === "meta" ? parts[1] : parts[0];
|
|
3064
|
+
const action = parts[parts.length - 1];
|
|
3065
|
+
emit("meta.sync_controller.signal_added", {
|
|
3066
|
+
data: {
|
|
3067
|
+
name: signal,
|
|
3068
|
+
domain,
|
|
3069
|
+
action,
|
|
3070
|
+
isMeta: parts[0] === "meta",
|
|
3071
|
+
serviceName: CadenzaService.serviceRegistry.serviceName
|
|
3072
|
+
}
|
|
3073
|
+
});
|
|
3074
|
+
}
|
|
3075
|
+
}).doAfter(CadenzaService.broker.getSignalsTask);
|
|
3076
|
+
CadenzaService.createMetaTask("Split tasks for registration", (ctx, emit) => {
|
|
3077
|
+
const { __tasks } = ctx;
|
|
3078
|
+
if (!__tasks) return;
|
|
3079
|
+
for (const task of __tasks) {
|
|
3080
|
+
if (task.hidden || !task.register) continue;
|
|
3081
|
+
const { __functionString, __getTagCallback } = task.export();
|
|
3082
|
+
emit("meta.sync_controller.task_added", {
|
|
3083
|
+
data: {
|
|
3084
|
+
name: task.name,
|
|
3085
|
+
version: task.version,
|
|
3086
|
+
description: task.description,
|
|
3087
|
+
functionString: __functionString,
|
|
3088
|
+
tagIdGetter: __getTagCallback,
|
|
3089
|
+
layerIndex: task.layerIndex,
|
|
3090
|
+
concurrency: task.concurrency,
|
|
3091
|
+
timeout: task.timeout,
|
|
3092
|
+
isUnique: task.isUnique,
|
|
3093
|
+
isSignal: task.isSignal,
|
|
3094
|
+
isThrottled: task.isThrottled,
|
|
3095
|
+
isDebounce: task.isDebounce,
|
|
3096
|
+
isEphemeral: task.isEphemeral,
|
|
3097
|
+
isMeta: task.isMeta,
|
|
3098
|
+
isSubMeta: task.isSubMeta,
|
|
3099
|
+
isHidden: task.isHidden,
|
|
3100
|
+
// inputSchema: task.inputSchema,
|
|
3101
|
+
validateInputContext: task.validateInputContext,
|
|
3102
|
+
// outputSchema: task.outputSchema,
|
|
3103
|
+
validateOutputContext: task.validateOutputContext,
|
|
3104
|
+
retryCount: task.retryCount,
|
|
3105
|
+
retryDelay: task.retryDelay,
|
|
3106
|
+
retryDelayMax: task.retryDelayMax,
|
|
3107
|
+
retryDelayFactor: task.retryDelayFactor,
|
|
3108
|
+
service_name: CadenzaService.serviceRegistry.serviceName
|
|
3109
|
+
}
|
|
3110
|
+
});
|
|
3111
|
+
for (const signal of task.mapObservedSignals()) {
|
|
3112
|
+
const firstChar = signal.charAt(0);
|
|
3113
|
+
let _signal = signal;
|
|
3114
|
+
let signalServiceName;
|
|
3115
|
+
if (firstChar === firstChar.toUpperCase() && firstChar !== firstChar.toLowerCase()) {
|
|
3116
|
+
signalServiceName = signal.split(".")[0];
|
|
3117
|
+
_signal = signal.split(".").slice(1).join(".");
|
|
3118
|
+
}
|
|
3119
|
+
emit("meta.sync_controller.signal_to_task_map", {
|
|
3120
|
+
data: {
|
|
3121
|
+
signalName: _signal,
|
|
3122
|
+
taskName: task.name,
|
|
3123
|
+
taskVersion: task.version,
|
|
3124
|
+
taskServiceName: CadenzaService.serviceRegistry.serviceName,
|
|
3125
|
+
signalServiceName: signalServiceName != null ? signalServiceName : CadenzaService.serviceRegistry.serviceName
|
|
3126
|
+
}
|
|
3127
|
+
});
|
|
3128
|
+
}
|
|
3129
|
+
for (const signal of task.mapSignals()) {
|
|
3130
|
+
emit("meta.sync_controller.task_to_signal_map", {
|
|
3131
|
+
data: {
|
|
3132
|
+
signalName: signal,
|
|
3133
|
+
taskName: task.name,
|
|
3134
|
+
taskVersion: task.version,
|
|
3135
|
+
serviceName: CadenzaService.serviceRegistry.serviceName
|
|
3136
|
+
}
|
|
3137
|
+
});
|
|
3138
|
+
}
|
|
3139
|
+
for (const signal of task.mapOnFailSignals()) {
|
|
3140
|
+
emit("meta.sync_controller.task_to_signal_map", {
|
|
3141
|
+
data: {
|
|
3142
|
+
signalName: signal,
|
|
3143
|
+
taskName: task.name,
|
|
3144
|
+
taskVersion: task.version,
|
|
3145
|
+
serviceName: CadenzaService.serviceRegistry.serviceName
|
|
3146
|
+
}
|
|
3147
|
+
});
|
|
3148
|
+
}
|
|
3149
|
+
}
|
|
3150
|
+
for (const task of __tasks) {
|
|
3151
|
+
if (task.hidden || !task.register) continue;
|
|
3152
|
+
task.mapNext(
|
|
3153
|
+
(t) => emit("meta.sync_controller.task_map", {
|
|
3154
|
+
data: {
|
|
3155
|
+
taskName: t.name,
|
|
3156
|
+
taskVersion: t.version,
|
|
3157
|
+
predecessorTaskName: task.name,
|
|
3158
|
+
predecessorTaskVersion: task.version,
|
|
3159
|
+
serviceName: CadenzaService.serviceRegistry.serviceName
|
|
3160
|
+
}
|
|
3161
|
+
})
|
|
3162
|
+
);
|
|
3163
|
+
}
|
|
3164
|
+
}).doAfter(CadenzaService.registry.getAllTasks).then(CadenzaService.registry.getAllRoutines);
|
|
3165
|
+
}
|
|
3166
|
+
};
|
|
3167
|
+
|
|
3168
|
+
// src/Cadenza.ts
|
|
3016
3169
|
var CadenzaService = class {
|
|
3017
3170
|
static bootstrap() {
|
|
3018
3171
|
if (this.isBootstrapped) return;
|
|
@@ -3368,13 +3521,10 @@ var CadenzaService = class {
|
|
|
3368
3521
|
}
|
|
3369
3522
|
this.createEphemeralMetaTask(
|
|
3370
3523
|
"Handle service setup completion",
|
|
3371
|
-
(
|
|
3524
|
+
(_, emit) => {
|
|
3372
3525
|
GraphMetadataController.instance;
|
|
3373
|
-
|
|
3374
|
-
emit("meta.
|
|
3375
|
-
emit("meta.register_all_routines", {});
|
|
3376
|
-
emit("meta.register_all_tasks", {});
|
|
3377
|
-
emit("meta.register_all_signals", {});
|
|
3526
|
+
GraphSyncController.instance;
|
|
3527
|
+
emit("meta.sync_requested", {});
|
|
3378
3528
|
return true;
|
|
3379
3529
|
}
|
|
3380
3530
|
).doOn("meta.service_registry.instance_inserted");
|