@cadenza.io/service 2.17.44 → 2.17.45

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
@@ -8717,22 +8717,30 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8717
8717
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
8718
8718
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
8719
8719
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
8720
+ const pendingResolverContexts = /* @__PURE__ */ new Map();
8720
8721
  const prepareExecutionTask = CadenzaService.createMetaTask(
8721
8722
  `Prepare graph sync insert execution for ${tableName}`,
8722
- (ctx) => ({
8723
- ...ctx,
8724
- __resolverOriginalContext: {
8723
+ (ctx) => {
8724
+ const originalContext = {
8725
8725
  ...ctx
8726
- },
8727
- __resolverQueryData: buildSyncInsertQueryData(
8728
- ctx,
8729
- queryData
8730
- ),
8731
- queryData: buildSyncInsertQueryData(
8726
+ };
8727
+ const originalQueryData = buildSyncInsertQueryData(
8732
8728
  ctx,
8733
8729
  queryData
8734
- )
8735
- }),
8730
+ );
8731
+ if (typeof ctx.__resolverRequestId === "string") {
8732
+ pendingResolverContexts.set(ctx.__resolverRequestId, {
8733
+ originalContext,
8734
+ originalQueryData
8735
+ });
8736
+ }
8737
+ return {
8738
+ ...ctx,
8739
+ __resolverOriginalContext: originalContext,
8740
+ __resolverQueryData: originalQueryData,
8741
+ queryData: originalQueryData
8742
+ };
8743
+ },
8736
8744
  `Prepares ${tableName} graph-sync insert payloads for runner execution.`,
8737
8745
  {
8738
8746
  register: false,
@@ -8745,13 +8753,17 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8745
8753
  if (!ctx.__resolverRequestId) {
8746
8754
  return false;
8747
8755
  }
8748
- const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : {};
8749
- const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : void 0;
8756
+ const pendingResolverContext = pendingResolverContexts.get(
8757
+ ctx.__resolverRequestId
8758
+ );
8759
+ const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : pendingResolverContext?.originalContext ? { ...pendingResolverContext.originalContext } : {};
8760
+ const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : pendingResolverContext?.originalQueryData;
8750
8761
  const normalizedContext = {
8751
8762
  ...originalContext,
8752
8763
  ...ctx,
8753
8764
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
8754
8765
  };
8766
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
8755
8767
  emit(executionResolvedSignal, normalizedContext);
8756
8768
  return normalizedContext;
8757
8769
  },
@@ -8777,6 +8789,7 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8777
8789
  ...resultCtx
8778
8790
  };
8779
8791
  delete normalizedResult.__resolverRequestId;
8792
+ pendingResolverContexts.delete(resolverRequestId);
8780
8793
  resolve(normalizedResult);
8781
8794
  return normalizedResult;
8782
8795
  },
@@ -9039,17 +9052,16 @@ var GraphSyncController = class _GraphSyncController {
9039
9052
  ).doOn("meta.sync_controller.routine_registration_settled").emits("meta.sync_controller.synced_routines");
9040
9053
  this.splitTasksInRoutines = CadenzaService.createMetaTask(
9041
9054
  "Split tasks in routines",
9042
- (ctx, emit) => {
9055
+ function* (ctx) {
9043
9056
  const { routines } = ctx;
9044
- if (!routines) return false;
9057
+ if (!routines) return;
9045
9058
  const serviceName2 = resolveSyncServiceName();
9046
9059
  if (!serviceName2) {
9047
- return false;
9060
+ return;
9048
9061
  }
9049
9062
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
9050
9063
  delayMs: 3e3
9051
9064
  });
9052
- let emittedCount = 0;
9053
9065
  for (const routine of routines) {
9054
9066
  if (!routine.registered) continue;
9055
9067
  for (const task of routine.tasks) {
@@ -9063,7 +9075,7 @@ var GraphSyncController = class _GraphSyncController {
9063
9075
  if (!nextTask?.registered) {
9064
9076
  continue;
9065
9077
  }
9066
- emit("meta.sync_controller.routine_task_map_split", {
9078
+ yield {
9067
9079
  __syncing: ctx.__syncing,
9068
9080
  data: {
9069
9081
  taskName: nextTask.name,
@@ -9074,47 +9086,46 @@ var GraphSyncController = class _GraphSyncController {
9074
9086
  },
9075
9087
  __routineName: routine.name,
9076
9088
  __taskName: nextTask.name
9077
- });
9078
- emittedCount += 1;
9089
+ };
9079
9090
  }
9080
9091
  }
9081
9092
  }
9082
- return emittedCount > 0;
9083
9093
  }
9084
9094
  );
9085
- CadenzaService.createMetaTask("Process split routine task map", (ctx) => ctx).doOn("meta.sync_controller.routine_task_map_split").then(
9086
- resolveSyncInsertTask(
9087
- this.isCadenzaDBReady,
9088
- "task_to_routine_map",
9089
- {
9090
- onConflict: {
9091
- target: [
9092
- "task_name",
9093
- "routine_name",
9094
- "task_version",
9095
- "routine_version",
9096
- "service_name"
9097
- ],
9098
- action: {
9099
- do: "nothing"
9100
- }
9101
- }
9102
- },
9103
- { concurrency: 30 }
9104
- )?.then(
9105
- CadenzaService.createMetaTask("Register routine task", (ctx) => {
9106
- if (!didSyncInsertSucceed(ctx)) {
9107
- return;
9095
+ const registerTaskToRoutineMapTask = resolveSyncInsertTask(
9096
+ this.isCadenzaDBReady,
9097
+ "task_to_routine_map",
9098
+ {
9099
+ onConflict: {
9100
+ target: [
9101
+ "task_name",
9102
+ "routine_name",
9103
+ "task_version",
9104
+ "routine_version",
9105
+ "service_name"
9106
+ ],
9107
+ action: {
9108
+ do: "nothing"
9108
9109
  }
9109
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
9110
- delayMs: 2e3
9111
- });
9112
- CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
9113
- ctx.__taskName
9114
- );
9115
- })
9116
- )
9110
+ }
9111
+ },
9112
+ { concurrency: 30 }
9113
+ )?.then(
9114
+ CadenzaService.createMetaTask("Register routine task", (ctx) => {
9115
+ if (!didSyncInsertSucceed(ctx)) {
9116
+ return;
9117
+ }
9118
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
9119
+ delayMs: 2e3
9120
+ });
9121
+ CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
9122
+ ctx.__taskName
9123
+ );
9124
+ })
9117
9125
  );
9126
+ if (registerTaskToRoutineMapTask) {
9127
+ this.splitTasksInRoutines.then(registerTaskToRoutineMapTask);
9128
+ }
9118
9129
  this.splitSignalsTask = CadenzaService.createMetaTask(
9119
9130
  "Split signals for registration",
9120
9131
  (ctx, emit) => {
@@ -9182,20 +9193,19 @@ var GraphSyncController = class _GraphSyncController {
9182
9193
  ).doOn("meta.sync_controller.signal_registration_settled").emits("meta.sync_controller.synced_signals");
9183
9194
  this.splitTasksForRegistration = CadenzaService.createMetaTask(
9184
9195
  "Split tasks for registration",
9185
- (ctx, emit) => {
9196
+ function* (ctx) {
9186
9197
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
9187
9198
  delayMs: 3e3
9188
9199
  });
9189
9200
  const tasks = ctx.tasks;
9190
9201
  const serviceName2 = resolveSyncServiceName();
9191
9202
  if (!serviceName2) {
9192
- return false;
9203
+ return;
9193
9204
  }
9194
- let emittedCount = 0;
9195
9205
  for (const task of tasks) {
9196
9206
  if (task.registered) continue;
9197
9207
  const { __functionString, __getTagCallback } = task.export();
9198
- emit("meta.sync_controller.task_registration_split", {
9208
+ yield {
9199
9209
  __syncing: ctx.__syncing,
9200
9210
  data: {
9201
9211
  name: task.name,
@@ -9229,47 +9239,46 @@ var GraphSyncController = class _GraphSyncController {
9229
9239
  }
9230
9240
  },
9231
9241
  __taskName: task.name
9232
- });
9233
- emittedCount += 1;
9242
+ };
9234
9243
  }
9235
- return emittedCount > 0;
9236
9244
  }
9237
9245
  );
9238
- CadenzaService.createMetaTask("Process split task registration", (ctx) => ctx).doOn("meta.sync_controller.task_registration_split").then(
9239
- resolveSyncInsertTask(
9240
- this.isCadenzaDBReady,
9241
- "task",
9242
- {
9243
- onConflict: {
9244
- target: ["name", "service_name", "version"],
9245
- action: {
9246
- do: "nothing"
9247
- }
9248
- }
9249
- },
9250
- { concurrency: 30 }
9251
- )?.then(
9252
- CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9253
- if (!didSyncInsertSucceed(ctx)) {
9254
- return;
9246
+ const registerTaskTask = resolveSyncInsertTask(
9247
+ this.isCadenzaDBReady,
9248
+ "task",
9249
+ {
9250
+ onConflict: {
9251
+ target: ["name", "service_name", "version"],
9252
+ action: {
9253
+ do: "nothing"
9255
9254
  }
9256
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
9257
- delayMs: 3e3
9258
- });
9259
- CadenzaService.get(ctx.__taskName).registered = true;
9260
- emit("meta.sync_controller.task_registered", {
9261
- ...ctx,
9262
- task: CadenzaService.get(ctx.__taskName)
9263
- });
9264
- CadenzaService.debounce(
9265
- "meta.sync_controller.task_registration_settled",
9266
- { __syncing: true },
9267
- 300
9268
- );
9269
- return true;
9270
- })
9271
- )
9255
+ }
9256
+ },
9257
+ { concurrency: 30 }
9258
+ )?.then(
9259
+ CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9260
+ if (!didSyncInsertSucceed(ctx)) {
9261
+ return;
9262
+ }
9263
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
9264
+ delayMs: 3e3
9265
+ });
9266
+ CadenzaService.get(ctx.__taskName).registered = true;
9267
+ emit("meta.sync_controller.task_registered", {
9268
+ ...ctx,
9269
+ task: CadenzaService.get(ctx.__taskName)
9270
+ });
9271
+ CadenzaService.debounce(
9272
+ "meta.sync_controller.task_registration_settled",
9273
+ { __syncing: true },
9274
+ 300
9275
+ );
9276
+ return true;
9277
+ })
9272
9278
  );
9279
+ if (registerTaskTask) {
9280
+ this.splitTasksForRegistration.then(registerTaskTask);
9281
+ }
9273
9282
  CadenzaService.createUniqueMetaTask(
9274
9283
  "Gather task registration",
9275
9284
  () => {