@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 CHANGED
@@ -485,7 +485,7 @@ var ServiceRegistry = class _ServiceRegistry {
485
485
  "exposed",
486
486
  "created"
487
487
  ]
488
- }).doOn("meta.service_registry_sync_requested").then(
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({ __status: "success" });
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: 100, duration: 300 },
1422
- high: { points: 50, duration: 60, blockDuration: 300 }
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
- task_service_name: CadenzaService.serviceRegistry.serviceName,
1840
- signal_service_name: signalServiceName != null ? signalServiceName : CadenzaService.serviceRegistry.serviceName
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
- (ctx, emit) => {
3524
+ (_, emit) => {
3372
3525
  GraphMetadataController.instance;
3373
- emit("meta.service_registry_sync_requested", {});
3374
- emit("meta.register_remote_signals_requested", { serviceName });
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");