@cadenza.io/service 2.17.43 → 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.
@@ -6253,22 +6253,30 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6253
6253
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
6254
6254
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
6255
6255
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
6256
+ const pendingResolverContexts = /* @__PURE__ */ new Map();
6256
6257
  const prepareExecutionTask = CadenzaService.createMetaTask(
6257
6258
  `Prepare graph sync insert execution for ${tableName}`,
6258
- (ctx) => ({
6259
- ...ctx,
6260
- __resolverOriginalContext: {
6259
+ (ctx) => {
6260
+ const originalContext = {
6261
6261
  ...ctx
6262
- },
6263
- __resolverQueryData: buildSyncInsertQueryData(
6264
- ctx,
6265
- queryData
6266
- ),
6267
- queryData: buildSyncInsertQueryData(
6262
+ };
6263
+ const originalQueryData = buildSyncInsertQueryData(
6268
6264
  ctx,
6269
6265
  queryData
6270
- )
6271
- }),
6266
+ );
6267
+ if (typeof ctx.__resolverRequestId === "string") {
6268
+ pendingResolverContexts.set(ctx.__resolverRequestId, {
6269
+ originalContext,
6270
+ originalQueryData
6271
+ });
6272
+ }
6273
+ return {
6274
+ ...ctx,
6275
+ __resolverOriginalContext: originalContext,
6276
+ __resolverQueryData: originalQueryData,
6277
+ queryData: originalQueryData
6278
+ };
6279
+ },
6272
6280
  `Prepares ${tableName} graph-sync insert payloads for runner execution.`,
6273
6281
  {
6274
6282
  register: false,
@@ -6281,13 +6289,17 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6281
6289
  if (!ctx.__resolverRequestId) {
6282
6290
  return false;
6283
6291
  }
6284
- const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : {};
6285
- const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : void 0;
6292
+ const pendingResolverContext = pendingResolverContexts.get(
6293
+ ctx.__resolverRequestId
6294
+ );
6295
+ const originalContext = ctx.__resolverOriginalContext && typeof ctx.__resolverOriginalContext === "object" ? ctx.__resolverOriginalContext : pendingResolverContext?.originalContext ? { ...pendingResolverContext.originalContext } : {};
6296
+ const originalQueryData = ctx.__resolverQueryData && typeof ctx.__resolverQueryData === "object" ? ctx.__resolverQueryData : pendingResolverContext?.originalQueryData;
6286
6297
  const normalizedContext = {
6287
6298
  ...originalContext,
6288
6299
  ...ctx,
6289
6300
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
6290
6301
  };
6302
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
6291
6303
  emit(executionResolvedSignal, normalizedContext);
6292
6304
  return normalizedContext;
6293
6305
  },
@@ -6313,6 +6325,7 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6313
6325
  ...resultCtx
6314
6326
  };
6315
6327
  delete normalizedResult.__resolverRequestId;
6328
+ pendingResolverContexts.delete(resolverRequestId);
6316
6329
  resolve(normalizedResult);
6317
6330
  return normalizedResult;
6318
6331
  },
@@ -6575,17 +6588,16 @@ var GraphSyncController = class _GraphSyncController {
6575
6588
  ).doOn("meta.sync_controller.routine_registration_settled").emits("meta.sync_controller.synced_routines");
6576
6589
  this.splitTasksInRoutines = CadenzaService.createMetaTask(
6577
6590
  "Split tasks in routines",
6578
- (ctx, emit) => {
6591
+ function* (ctx) {
6579
6592
  const { routines } = ctx;
6580
- if (!routines) return false;
6593
+ if (!routines) return;
6581
6594
  const serviceName2 = resolveSyncServiceName();
6582
6595
  if (!serviceName2) {
6583
- return false;
6596
+ return;
6584
6597
  }
6585
6598
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
6586
6599
  delayMs: 3e3
6587
6600
  });
6588
- let emittedCount = 0;
6589
6601
  for (const routine of routines) {
6590
6602
  if (!routine.registered) continue;
6591
6603
  for (const task of routine.tasks) {
@@ -6599,7 +6611,7 @@ var GraphSyncController = class _GraphSyncController {
6599
6611
  if (!nextTask?.registered) {
6600
6612
  continue;
6601
6613
  }
6602
- emit("meta.sync_controller.routine_task_map_split", {
6614
+ yield {
6603
6615
  __syncing: ctx.__syncing,
6604
6616
  data: {
6605
6617
  taskName: nextTask.name,
@@ -6610,47 +6622,46 @@ var GraphSyncController = class _GraphSyncController {
6610
6622
  },
6611
6623
  __routineName: routine.name,
6612
6624
  __taskName: nextTask.name
6613
- });
6614
- emittedCount += 1;
6625
+ };
6615
6626
  }
6616
6627
  }
6617
6628
  }
6618
- return emittedCount > 0;
6619
6629
  }
6620
6630
  );
6621
- CadenzaService.createMetaTask("Process split routine task map", (ctx) => ctx).doOn("meta.sync_controller.routine_task_map_split").then(
6622
- resolveSyncInsertTask(
6623
- this.isCadenzaDBReady,
6624
- "task_to_routine_map",
6625
- {
6626
- onConflict: {
6627
- target: [
6628
- "task_name",
6629
- "routine_name",
6630
- "task_version",
6631
- "routine_version",
6632
- "service_name"
6633
- ],
6634
- action: {
6635
- do: "nothing"
6636
- }
6637
- }
6638
- },
6639
- { concurrency: 30 }
6640
- )?.then(
6641
- CadenzaService.createMetaTask("Register routine task", (ctx) => {
6642
- if (!didSyncInsertSucceed(ctx)) {
6643
- return;
6631
+ const registerTaskToRoutineMapTask = resolveSyncInsertTask(
6632
+ this.isCadenzaDBReady,
6633
+ "task_to_routine_map",
6634
+ {
6635
+ onConflict: {
6636
+ target: [
6637
+ "task_name",
6638
+ "routine_name",
6639
+ "task_version",
6640
+ "routine_version",
6641
+ "service_name"
6642
+ ],
6643
+ action: {
6644
+ do: "nothing"
6644
6645
  }
6645
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
6646
- delayMs: 2e3
6647
- });
6648
- CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
6649
- ctx.__taskName
6650
- );
6651
- })
6652
- )
6646
+ }
6647
+ },
6648
+ { concurrency: 30 }
6649
+ )?.then(
6650
+ CadenzaService.createMetaTask("Register routine task", (ctx) => {
6651
+ if (!didSyncInsertSucceed(ctx)) {
6652
+ return;
6653
+ }
6654
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
6655
+ delayMs: 2e3
6656
+ });
6657
+ CadenzaService.getRoutine(ctx.__routineName).registeredTasks.add(
6658
+ ctx.__taskName
6659
+ );
6660
+ })
6653
6661
  );
6662
+ if (registerTaskToRoutineMapTask) {
6663
+ this.splitTasksInRoutines.then(registerTaskToRoutineMapTask);
6664
+ }
6654
6665
  this.splitSignalsTask = CadenzaService.createMetaTask(
6655
6666
  "Split signals for registration",
6656
6667
  (ctx, emit) => {
@@ -6718,20 +6729,19 @@ var GraphSyncController = class _GraphSyncController {
6718
6729
  ).doOn("meta.sync_controller.signal_registration_settled").emits("meta.sync_controller.synced_signals");
6719
6730
  this.splitTasksForRegistration = CadenzaService.createMetaTask(
6720
6731
  "Split tasks for registration",
6721
- (ctx, emit) => {
6732
+ function* (ctx) {
6722
6733
  CadenzaService.debounce("meta.sync_controller.synced_resource", {
6723
6734
  delayMs: 3e3
6724
6735
  });
6725
6736
  const tasks = ctx.tasks;
6726
6737
  const serviceName2 = resolveSyncServiceName();
6727
6738
  if (!serviceName2) {
6728
- return false;
6739
+ return;
6729
6740
  }
6730
- let emittedCount = 0;
6731
6741
  for (const task of tasks) {
6732
6742
  if (task.registered) continue;
6733
6743
  const { __functionString, __getTagCallback } = task.export();
6734
- emit("meta.sync_controller.task_registration_split", {
6744
+ yield {
6735
6745
  __syncing: ctx.__syncing,
6736
6746
  data: {
6737
6747
  name: task.name,
@@ -6765,47 +6775,46 @@ var GraphSyncController = class _GraphSyncController {
6765
6775
  }
6766
6776
  },
6767
6777
  __taskName: task.name
6768
- });
6769
- emittedCount += 1;
6778
+ };
6770
6779
  }
6771
- return emittedCount > 0;
6772
6780
  }
6773
6781
  );
6774
- CadenzaService.createMetaTask("Process split task registration", (ctx) => ctx).doOn("meta.sync_controller.task_registration_split").then(
6775
- resolveSyncInsertTask(
6776
- this.isCadenzaDBReady,
6777
- "task",
6778
- {
6779
- onConflict: {
6780
- target: ["name", "service_name", "version"],
6781
- action: {
6782
- do: "nothing"
6783
- }
6784
- }
6785
- },
6786
- { concurrency: 30 }
6787
- )?.then(
6788
- CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
6789
- if (!didSyncInsertSucceed(ctx)) {
6790
- return;
6782
+ const registerTaskTask = resolveSyncInsertTask(
6783
+ this.isCadenzaDBReady,
6784
+ "task",
6785
+ {
6786
+ onConflict: {
6787
+ target: ["name", "service_name", "version"],
6788
+ action: {
6789
+ do: "nothing"
6791
6790
  }
6792
- CadenzaService.debounce("meta.sync_controller.synced_resource", {
6793
- delayMs: 3e3
6794
- });
6795
- CadenzaService.get(ctx.__taskName).registered = true;
6796
- emit("meta.sync_controller.task_registered", {
6797
- ...ctx,
6798
- task: CadenzaService.get(ctx.__taskName)
6799
- });
6800
- CadenzaService.debounce(
6801
- "meta.sync_controller.task_registration_settled",
6802
- { __syncing: true },
6803
- 300
6804
- );
6805
- return true;
6806
- })
6807
- )
6791
+ }
6792
+ },
6793
+ { concurrency: 30 }
6794
+ )?.then(
6795
+ CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
6796
+ if (!didSyncInsertSucceed(ctx)) {
6797
+ return;
6798
+ }
6799
+ CadenzaService.debounce("meta.sync_controller.synced_resource", {
6800
+ delayMs: 3e3
6801
+ });
6802
+ CadenzaService.get(ctx.__taskName).registered = true;
6803
+ emit("meta.sync_controller.task_registered", {
6804
+ ...ctx,
6805
+ task: CadenzaService.get(ctx.__taskName)
6806
+ });
6807
+ CadenzaService.debounce(
6808
+ "meta.sync_controller.task_registration_settled",
6809
+ { __syncing: true },
6810
+ 300
6811
+ );
6812
+ return true;
6813
+ })
6808
6814
  );
6815
+ if (registerTaskTask) {
6816
+ this.splitTasksForRegistration.then(registerTaskTask);
6817
+ }
6809
6818
  CadenzaService.createUniqueMetaTask(
6810
6819
  "Gather task registration",
6811
6820
  () => {
@@ -8922,7 +8931,7 @@ var CadenzaService = class {
8922
8931
  this.ensureFrontendSyncLoop();
8923
8932
  } else {
8924
8933
  GraphMetadataController.instance;
8925
- GraphSyncController.instance.isCadenzaDBReady = !!options.cadenzaDB?.connect;
8934
+ GraphSyncController.instance.isCadenzaDBReady = serviceName === "CadenzaDB" || !!options.cadenzaDB?.connect;
8926
8935
  GraphSyncController.instance.init();
8927
8936
  }
8928
8937
  this.log("Service created.");