@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.mjs CHANGED
@@ -8668,22 +8668,30 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8668
8668
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
8669
8669
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
8670
8670
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
8671
+ const pendingResolverContexts = /* @__PURE__ */ new Map();
8671
8672
  const prepareExecutionTask = CadenzaService.createMetaTask(
8672
8673
  `Prepare graph sync insert execution for ${tableName}`,
8673
- (ctx) => ({
8674
- ...ctx,
8675
- __resolverOriginalContext: {
8674
+ (ctx) => {
8675
+ const originalContext = {
8676
8676
  ...ctx
8677
- },
8678
- __resolverQueryData: buildSyncInsertQueryData(
8679
- ctx,
8680
- queryData
8681
- ),
8682
- queryData: buildSyncInsertQueryData(
8677
+ };
8678
+ const originalQueryData = buildSyncInsertQueryData(
8683
8679
  ctx,
8684
8680
  queryData
8685
- )
8686
- }),
8681
+ );
8682
+ if (typeof ctx.__resolverRequestId === "string") {
8683
+ pendingResolverContexts.set(ctx.__resolverRequestId, {
8684
+ originalContext,
8685
+ originalQueryData
8686
+ });
8687
+ }
8688
+ return {
8689
+ ...ctx,
8690
+ __resolverOriginalContext: originalContext,
8691
+ __resolverQueryData: originalQueryData,
8692
+ queryData: originalQueryData
8693
+ };
8694
+ },
8687
8695
  `Prepares ${tableName} graph-sync insert payloads for runner execution.`,
8688
8696
  {
8689
8697
  register: false,
@@ -8696,13 +8704,17 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8696
8704
  if (!ctx.__resolverRequestId) {
8697
8705
  return false;
8698
8706
  }
8699
- const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : {};
8700
- const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : void 0;
8707
+ const pendingResolverContext = pendingResolverContexts.get(
8708
+ ctx.__resolverRequestId
8709
+ );
8710
+ const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : pendingResolverContext?.originalContext ? { ...pendingResolverContext.originalContext } : {};
8711
+ const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : pendingResolverContext?.originalQueryData;
8701
8712
  const normalizedContext = {
8702
8713
  ...originalContext,
8703
8714
  ...ctx,
8704
8715
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
8705
8716
  };
8717
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
8706
8718
  emit(executionResolvedSignal, normalizedContext);
8707
8719
  return normalizedContext;
8708
8720
  },
@@ -8728,6 +8740,7 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8728
8740
  ...resultCtx
8729
8741
  };
8730
8742
  delete normalizedResult.__resolverRequestId;
8743
+ pendingResolverContexts.delete(resolverRequestId);
8731
8744
  resolve(normalizedResult);
8732
8745
  return normalizedResult;
8733
8746
  },
@@ -8990,17 +9003,16 @@ var GraphSyncController = class _GraphSyncController {
8990
9003
  ).doOn("meta.sync_controller.routine_registration_settled").emits("meta.sync_controller.synced_routines");
8991
9004
  this.splitTasksInRoutines = CadenzaService.createMetaTask(
8992
9005
  "Split tasks in routines",
8993
- (ctx, emit) => {
9006
+ function* (ctx) {
8994
9007
  const { routines } = ctx;
8995
- if (!routines) return false;
9008
+ if (!routines) return;
8996
9009
  const serviceName2 = resolveSyncServiceName();
8997
9010
  if (!serviceName2) {
8998
- return false;
9011
+ return;
8999
9012
  }
9000
9013
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
9001
9014
  delayMs: 3e3
9002
9015
  });
9003
- let emittedCount = 0;
9004
9016
  for (const routine of routines) {
9005
9017
  if (!routine.registered) continue;
9006
9018
  for (const task of routine.tasks) {
@@ -9014,7 +9026,7 @@ var GraphSyncController = class _GraphSyncController {
9014
9026
  if (!nextTask?.registered) {
9015
9027
  continue;
9016
9028
  }
9017
- emit("meta.sync_controller.routine_task_map_split", {
9029
+ yield {
9018
9030
  __syncing: ctx.__syncing,
9019
9031
  data: {
9020
9032
  taskName: nextTask.name,
@@ -9025,47 +9037,46 @@ var GraphSyncController = class _GraphSyncController {
9025
9037
  },
9026
9038
  __routineName: routine.name,
9027
9039
  __taskName: nextTask.name
9028
- });
9029
- emittedCount += 1;
9040
+ };
9030
9041
  }
9031
9042
  }
9032
9043
  }
9033
- return emittedCount > 0;
9034
9044
  }
9035
9045
  );
9036
- CadenzaService.createMetaTask("Process split routine task map", (ctx) => ctx).doOn("meta.sync_controller.routine_task_map_split").then(
9037
- resolveSyncInsertTask(
9038
- this.isCadenzaDBReady,
9039
- "task_to_routine_map",
9040
- {
9041
- onConflict: {
9042
- target: [
9043
- "task_name",
9044
- "routine_name",
9045
- "task_version",
9046
- "routine_version",
9047
- "service_name"
9048
- ],
9049
- action: {
9050
- do: "nothing"
9051
- }
9052
- }
9053
- },
9054
- { concurrency: 30 }
9055
- )?.then(
9056
- CadenzaService.createMetaTask("Register routine task", (ctx) => {
9057
- if (!didSyncInsertSucceed(ctx)) {
9058
- return;
9046
+ const registerTaskToRoutineMapTask = resolveSyncInsertTask(
9047
+ this.isCadenzaDBReady,
9048
+ "task_to_routine_map",
9049
+ {
9050
+ onConflict: {
9051
+ target: [
9052
+ "task_name",
9053
+ "routine_name",
9054
+ "task_version",
9055
+ "routine_version",
9056
+ "service_name"
9057
+ ],
9058
+ action: {
9059
+ do: "nothing"
9059
9060
  }
9060
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
9061
- delayMs: 2e3
9062
- });
9063
- CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
9064
- ctx.__taskName
9065
- );
9066
- })
9067
- )
9061
+ }
9062
+ },
9063
+ { concurrency: 30 }
9064
+ )?.then(
9065
+ CadenzaService.createMetaTask("Register routine task", (ctx) => {
9066
+ if (!didSyncInsertSucceed(ctx)) {
9067
+ return;
9068
+ }
9069
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
9070
+ delayMs: 2e3
9071
+ });
9072
+ CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
9073
+ ctx.__taskName
9074
+ );
9075
+ })
9068
9076
  );
9077
+ if (registerTaskToRoutineMapTask) {
9078
+ this.splitTasksInRoutines.then(registerTaskToRoutineMapTask);
9079
+ }
9069
9080
  this.splitSignalsTask = CadenzaService.createMetaTask(
9070
9081
  "Split signals for registration",
9071
9082
  (ctx, emit) => {
@@ -9133,20 +9144,19 @@ var GraphSyncController = class _GraphSyncController {
9133
9144
  ).doOn("meta.sync_controller.signal_registration_settled").emits("meta.sync_controller.synced_signals");
9134
9145
  this.splitTasksForRegistration = CadenzaService.createMetaTask(
9135
9146
  "Split tasks for registration",
9136
- (ctx, emit) => {
9147
+ function* (ctx) {
9137
9148
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
9138
9149
  delayMs: 3e3
9139
9150
  });
9140
9151
  const tasks = ctx.tasks;
9141
9152
  const serviceName2 = resolveSyncServiceName();
9142
9153
  if (!serviceName2) {
9143
- return false;
9154
+ return;
9144
9155
  }
9145
- let emittedCount = 0;
9146
9156
  for (const task of tasks) {
9147
9157
  if (task.registered) continue;
9148
9158
  const { __functionString, __getTagCallback } = task.export();
9149
- emit("meta.sync_controller.task_registration_split", {
9159
+ yield {
9150
9160
  __syncing: ctx.__syncing,
9151
9161
  data: {
9152
9162
  name: task.name,
@@ -9180,47 +9190,46 @@ var GraphSyncController = class _GraphSyncController {
9180
9190
  }
9181
9191
  },
9182
9192
  __taskName: task.name
9183
- });
9184
- emittedCount += 1;
9193
+ };
9185
9194
  }
9186
- return emittedCount > 0;
9187
9195
  }
9188
9196
  );
9189
- CadenzaService.createMetaTask("Process split task registration", (ctx) => ctx).doOn("meta.sync_controller.task_registration_split").then(
9190
- resolveSyncInsertTask(
9191
- this.isCadenzaDBReady,
9192
- "task",
9193
- {
9194
- onConflict: {
9195
- target: ["name", "service_name", "version"],
9196
- action: {
9197
- do: "nothing"
9198
- }
9199
- }
9200
- },
9201
- { concurrency: 30 }
9202
- )?.then(
9203
- CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9204
- if (!didSyncInsertSucceed(ctx)) {
9205
- return;
9197
+ const registerTaskTask = resolveSyncInsertTask(
9198
+ this.isCadenzaDBReady,
9199
+ "task",
9200
+ {
9201
+ onConflict: {
9202
+ target: ["name", "service_name", "version"],
9203
+ action: {
9204
+ do: "nothing"
9206
9205
  }
9207
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
9208
- delayMs: 3e3
9209
- });
9210
- CadenzaService.get(ctx.__taskName).registered = true;
9211
- emit("meta.sync_controller.task_registered", {
9212
- ...ctx,
9213
- task: CadenzaService.get(ctx.__taskName)
9214
- });
9215
- CadenzaService.debounce(
9216
- "meta.sync_controller.task_registration_settled",
9217
- { __syncing: true },
9218
- 300
9219
- );
9220
- return true;
9221
- })
9222
- )
9206
+ }
9207
+ },
9208
+ { concurrency: 30 }
9209
+ )?.then(
9210
+ CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9211
+ if (!didSyncInsertSucceed(ctx)) {
9212
+ return;
9213
+ }
9214
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
9215
+ delayMs: 3e3
9216
+ });
9217
+ CadenzaService.get(ctx.__taskName).registered = true;
9218
+ emit("meta.sync_controller.task_registered", {
9219
+ ...ctx,
9220
+ task: CadenzaService.get(ctx.__taskName)
9221
+ });
9222
+ CadenzaService.debounce(
9223
+ "meta.sync_controller.task_registration_settled",
9224
+ { __syncing: true },
9225
+ 300
9226
+ );
9227
+ return true;
9228
+ })
9223
9229
  );
9230
+ if (registerTaskTask) {
9231
+ this.splitTasksForRegistration.then(registerTaskTask);
9232
+ }
9224
9233
  CadenzaService.createUniqueMetaTask(
9225
9234
  "Gather task registration",
9226
9235
  () => {