@cadenza.io/service 2.17.46 → 2.17.48

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
@@ -8710,10 +8710,21 @@ function buildSyncInsertQueryData(ctx, queryData = {}) {
8710
8710
  function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, options = {}) {
8711
8711
  const localInsertTask = CadenzaService.getLocalCadenzaDBInsertTask(tableName);
8712
8712
  const remoteInsertTask = isCadenzaDBReady ? CadenzaService.createCadenzaDBInsertTask(tableName, queryData, options) : void 0;
8713
+ const debugTable = shouldDebugSyncTable(tableName);
8713
8714
  if (!localInsertTask && !remoteInsertTask) {
8714
8715
  return void 0;
8715
8716
  }
8716
8717
  const targetTask = localInsertTask ?? remoteInsertTask;
8718
+ if (debugTable) {
8719
+ logSyncDebug("insert_task_resolved", {
8720
+ tableName,
8721
+ localInsertTaskName: localInsertTask?.name ?? null,
8722
+ remoteInsertTaskName: remoteInsertTask?.name ?? null,
8723
+ targetTaskName: targetTask.name,
8724
+ queryData,
8725
+ options
8726
+ });
8727
+ }
8717
8728
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
8718
8729
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
8719
8730
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
@@ -8747,6 +8758,26 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8747
8758
  isHidden: true
8748
8759
  }
8749
8760
  ).doOn(executionRequestedSignal).emitsOnFail(executionFailedSignal);
8761
+ if (debugTable) {
8762
+ prepareExecutionTask.then(
8763
+ CadenzaService.createMetaTask(
8764
+ `Log prepared graph sync insert execution for ${tableName}`,
8765
+ (ctx) => {
8766
+ logSyncDebug("insert_prepare", {
8767
+ tableName,
8768
+ targetTaskName: targetTask.name,
8769
+ ctx
8770
+ });
8771
+ return ctx;
8772
+ },
8773
+ `Logs prepared ${tableName} sync insert payloads.`,
8774
+ {
8775
+ register: false,
8776
+ isHidden: true
8777
+ }
8778
+ )
8779
+ );
8780
+ }
8750
8781
  const finalizeExecutionTask = CadenzaService.createMetaTask(
8751
8782
  `Finalize graph sync insert execution for ${tableName}`,
8752
8783
  (ctx, emit) => {
@@ -8763,6 +8794,14 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8763
8794
  ...ctx,
8764
8795
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
8765
8796
  };
8797
+ if (debugTable) {
8798
+ logSyncDebug("insert_finalize", {
8799
+ tableName,
8800
+ targetTaskName: targetTask.name,
8801
+ success: didSyncInsertSucceed(normalizedContext),
8802
+ ctx: normalizedContext
8803
+ });
8804
+ }
8766
8805
  pendingResolverContexts.delete(ctx.__resolverRequestId);
8767
8806
  emit(executionResolvedSignal, normalizedContext);
8768
8807
  return normalizedContext;
@@ -8775,6 +8814,27 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8775
8814
  );
8776
8815
  targetTask.then(finalizeExecutionTask).emitsOnFail(executionFailedSignal);
8777
8816
  prepareExecutionTask.then(targetTask);
8817
+ if (debugTable) {
8818
+ CadenzaService.createMetaTask(
8819
+ `Log failed graph sync insert execution for ${tableName}`,
8820
+ (ctx) => {
8821
+ logSyncDebug("insert_failed", {
8822
+ tableName,
8823
+ targetTaskName: targetTask.name,
8824
+ ctx
8825
+ });
8826
+ if (typeof ctx.__resolverRequestId === "string") {
8827
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
8828
+ }
8829
+ return false;
8830
+ },
8831
+ `Logs failed ${tableName} sync insert executions.`,
8832
+ {
8833
+ register: false,
8834
+ isHidden: true
8835
+ }
8836
+ ).doOn(executionFailedSignal);
8837
+ }
8778
8838
  return CadenzaService.createMetaTask(
8779
8839
  `Resolve graph sync insert for ${tableName}`,
8780
8840
  (ctx, emit) => new Promise((resolve) => {
@@ -8829,6 +8889,105 @@ var AUTHORITY_QUERY_RESULT_KEYS = {
8829
8889
  signal_registry: "signalRegistrys",
8830
8890
  intent_registry: "intentRegistrys"
8831
8891
  };
8892
+ var EARLY_SYNC_REQUEST_DELAYS_MS = [2e3, 1e4, 3e4];
8893
+ var SYNC_DEBUG_PREFIX = "[CADENZA_SYNC_DEBUG]";
8894
+ var SYNC_DEBUG_TABLES = /* @__PURE__ */ new Set([
8895
+ "task",
8896
+ "routine",
8897
+ "task_to_routine_map",
8898
+ "signal_registry",
8899
+ "intent_registry",
8900
+ "signal_to_task_map",
8901
+ "intent_to_task_map"
8902
+ ]);
8903
+ var SYNC_DEBUG_TASK_NAMES = /* @__PURE__ */ new Set([
8904
+ "Query service_instance",
8905
+ "Query service_instance_transport",
8906
+ "Query intent_to_task_map",
8907
+ "Query signal_to_task_map",
8908
+ "Prepare for signal sync",
8909
+ "Compile sync data and broadcast",
8910
+ "Forward service instance sync",
8911
+ "Forward service transport sync",
8912
+ "Forward intent to task map sync",
8913
+ "Forward signal to task map sync"
8914
+ ]);
8915
+ var SYNC_DEBUG_ROUTINE_NAMES = /* @__PURE__ */ new Set(["Sync services"]);
8916
+ var SYNC_DEBUG_INTENT_NAMES = /* @__PURE__ */ new Set([
8917
+ "meta-service-registry-full-sync",
8918
+ "runner-traffic-runtime-get",
8919
+ "iot-telemetry-ingest",
8920
+ "query-pg-CadenzaDBPostgresActor-service_instance",
8921
+ "query-pg-CadenzaDBPostgresActor-service_instance_transport",
8922
+ "query-pg-CadenzaDBPostgresActor-intent_to_task_map",
8923
+ "query-pg-CadenzaDBPostgresActor-signal_to_task_map"
8924
+ ]);
8925
+ function shouldDebugSyncTable(tableName) {
8926
+ return SYNC_DEBUG_TABLES.has(tableName);
8927
+ }
8928
+ function shouldDebugSyncTaskName(taskName) {
8929
+ return typeof taskName === "string" && SYNC_DEBUG_TASK_NAMES.has(taskName);
8930
+ }
8931
+ function shouldDebugSyncRoutineName(routineName) {
8932
+ return typeof routineName === "string" && SYNC_DEBUG_ROUTINE_NAMES.has(routineName);
8933
+ }
8934
+ function shouldDebugSyncIntentName(intentName) {
8935
+ return typeof intentName === "string" && SYNC_DEBUG_INTENT_NAMES.has(intentName);
8936
+ }
8937
+ function summarizeSyncDebugValue(value, depth = 0) {
8938
+ if (value === null || value === void 0) {
8939
+ return value;
8940
+ }
8941
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
8942
+ return value;
8943
+ }
8944
+ if (value instanceof Set) {
8945
+ return {
8946
+ __type: "Set",
8947
+ size: value.size,
8948
+ values: Array.from(value).slice(0, 8).map((item) => summarizeSyncDebugValue(item, depth + 1))
8949
+ };
8950
+ }
8951
+ if (value instanceof Map) {
8952
+ return {
8953
+ __type: "Map",
8954
+ size: value.size
8955
+ };
8956
+ }
8957
+ if (Array.isArray(value)) {
8958
+ return {
8959
+ __type: "Array",
8960
+ length: value.length,
8961
+ items: value.slice(0, 5).map((item) => summarizeSyncDebugValue(item, depth + 1))
8962
+ };
8963
+ }
8964
+ if (typeof value === "object") {
8965
+ if (depth >= 2) {
8966
+ return "[object]";
8967
+ }
8968
+ const output = {};
8969
+ const entries = Object.entries(value).filter(
8970
+ ([key]) => ![
8971
+ "functionString",
8972
+ "tagIdGetter",
8973
+ "__functionString",
8974
+ "__getTagCallback",
8975
+ "joinedContexts",
8976
+ "task",
8977
+ "taskInstance",
8978
+ "tasks"
8979
+ ].includes(key)
8980
+ ).slice(0, 12);
8981
+ for (const [key, nestedValue] of entries) {
8982
+ output[key] = summarizeSyncDebugValue(nestedValue, depth + 1);
8983
+ }
8984
+ return output;
8985
+ }
8986
+ return String(value);
8987
+ }
8988
+ function logSyncDebug(event, payload) {
8989
+ console.log(`${SYNC_DEBUG_PREFIX} ${event}`, summarizeSyncDebugValue(payload));
8990
+ }
8832
8991
  function resolveSyncQueryRows(ctx, tableName) {
8833
8992
  const resultKey = AUTHORITY_QUERY_RESULT_KEYS[tableName];
8834
8993
  const rows = ctx?.[resultKey];
@@ -9075,6 +9234,16 @@ var GraphSyncController = class _GraphSyncController {
9075
9234
  if (!nextTask?.registered) {
9076
9235
  continue;
9077
9236
  }
9237
+ if (shouldDebugSyncRoutineName(routine.name) || shouldDebugSyncTaskName(nextTask.name)) {
9238
+ logSyncDebug("task_to_routine_split", {
9239
+ routineName: routine.name,
9240
+ routineVersion: routine.version,
9241
+ taskName: nextTask.name,
9242
+ taskVersion: nextTask.version,
9243
+ serviceName: serviceName2,
9244
+ registered: nextTask.registered
9245
+ });
9246
+ }
9078
9247
  yield {
9079
9248
  __syncing: ctx.__syncing,
9080
9249
  data: {
@@ -9205,6 +9374,18 @@ var GraphSyncController = class _GraphSyncController {
9205
9374
  for (const task of tasks) {
9206
9375
  if (task.registered) continue;
9207
9376
  const { __functionString, __getTagCallback } = task.export();
9377
+ if (shouldDebugSyncTaskName(task.name)) {
9378
+ logSyncDebug("task_registration_split", {
9379
+ taskName: task.name,
9380
+ taskVersion: task.version,
9381
+ serviceName: serviceName2,
9382
+ register: task.register,
9383
+ registered: task.registered,
9384
+ hidden: task.hidden,
9385
+ observedSignals: Array.from(task.observedSignals),
9386
+ handledIntents: Array.from(task.handlesIntents)
9387
+ });
9388
+ }
9208
9389
  yield {
9209
9390
  __syncing: ctx.__syncing,
9210
9391
  data: {
@@ -9257,6 +9438,13 @@ var GraphSyncController = class _GraphSyncController {
9257
9438
  { concurrency: 30 }
9258
9439
  )?.then(
9259
9440
  CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9441
+ if (shouldDebugSyncTaskName(ctx.__taskName)) {
9442
+ logSyncDebug("task_registration_result", {
9443
+ taskName: ctx.__taskName,
9444
+ success: didSyncInsertSucceed(ctx),
9445
+ ctx
9446
+ });
9447
+ }
9260
9448
  if (!didSyncInsertSucceed(ctx)) {
9261
9449
  return;
9262
9450
  }
@@ -9283,6 +9471,16 @@ var GraphSyncController = class _GraphSyncController {
9283
9471
  "Prepare created task for immediate sync",
9284
9472
  (ctx) => {
9285
9473
  const task = ctx.taskInstance ?? (ctx.data?.name ? CadenzaService.get(String(ctx.data.name)) : void 0);
9474
+ if (shouldDebugSyncTaskName(task?.name ?? ctx?.data?.name)) {
9475
+ logSyncDebug("task_created_for_immediate_sync", {
9476
+ incomingTaskName: ctx?.data?.name ?? null,
9477
+ resolvedTaskName: task?.name ?? null,
9478
+ exists: Boolean(task),
9479
+ hidden: task?.hidden ?? null,
9480
+ register: task?.register ?? null,
9481
+ registered: task?.registered ?? null
9482
+ });
9483
+ }
9286
9484
  if (!task || task.hidden || !task.register || task.registered) {
9287
9485
  return false;
9288
9486
  }
@@ -9467,6 +9665,17 @@ var GraphSyncController = class _GraphSyncController {
9467
9665
  continue;
9468
9666
  }
9469
9667
  const { isGlobal } = decomposeSignalName(_signal);
9668
+ if (shouldDebugSyncTaskName(task.name)) {
9669
+ logSyncDebug("signal_to_task_map_split", {
9670
+ taskName: task.name,
9671
+ signalName: _signal,
9672
+ rawSignal: signal,
9673
+ serviceName: serviceName2,
9674
+ observerRegistered: CadenzaService.signalBroker.signalObservers?.get(
9675
+ _signal
9676
+ )?.registered
9677
+ });
9678
+ }
9470
9679
  emit("meta.sync_controller.signal_task_map_split", {
9471
9680
  __syncing: ctx.__syncing,
9472
9681
  data: {
@@ -9605,6 +9814,15 @@ var GraphSyncController = class _GraphSyncController {
9605
9814
  if (!intentDefinition) {
9606
9815
  continue;
9607
9816
  }
9817
+ if (shouldDebugSyncTaskName(task.name) || shouldDebugSyncIntentName(intent)) {
9818
+ logSyncDebug("intent_to_task_map_split", {
9819
+ taskName: task.name,
9820
+ taskVersion: task.version,
9821
+ intentName: intent,
9822
+ serviceName: serviceName2,
9823
+ intentDefinition
9824
+ });
9825
+ }
9608
9826
  emit("meta.sync_controller.intent_task_map_split", {
9609
9827
  __syncing: ctx.__syncing,
9610
9828
  data: {
@@ -9634,6 +9852,13 @@ var GraphSyncController = class _GraphSyncController {
9634
9852
  if (!ctx.__intentDefinition || !ctx.__intentMapData) {
9635
9853
  return false;
9636
9854
  }
9855
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
9856
+ logSyncDebug("intent_definition_prepare", {
9857
+ taskName: ctx.__taskName,
9858
+ intentName: ctx.__intent,
9859
+ intentDefinition: ctx.__intentDefinition
9860
+ });
9861
+ }
9637
9862
  return {
9638
9863
  ...ctx,
9639
9864
  data: ctx.__intentDefinition
@@ -9647,6 +9872,13 @@ var GraphSyncController = class _GraphSyncController {
9647
9872
  if (!ctx.__intentMapData) {
9648
9873
  return false;
9649
9874
  }
9875
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
9876
+ logSyncDebug("intent_map_payload_restore", {
9877
+ taskName: ctx.__taskName,
9878
+ intentName: ctx.__intent,
9879
+ intentMapData: ctx.__intentMapData
9880
+ });
9881
+ }
9650
9882
  return {
9651
9883
  ...ctx,
9652
9884
  data: ctx.__intentMapData
@@ -10085,11 +10317,13 @@ var GraphSyncController = class _GraphSyncController {
10085
10317
  ).doOn(...authoritativeRegistrationTriggers).then(authoritativeIntentReconciliationGraph);
10086
10318
  CadenzaService.signalBroker.getSignalsTask.clone().doOn(
10087
10319
  "meta.sync_controller.sync_tick",
10088
- "meta.service_registry.initial_sync_complete"
10320
+ "meta.service_registry.initial_sync_complete",
10321
+ "meta.sync_requested"
10089
10322
  ).then(this.splitSignalsTask);
10090
10323
  CadenzaService.registry.getAllTasks.clone().doOn(
10091
10324
  "meta.sync_controller.sync_tick",
10092
- "meta.sync_controller.synced_signals"
10325
+ "meta.sync_controller.synced_signals",
10326
+ "meta.sync_requested"
10093
10327
  ).then(this.splitTasksForRegistration);
10094
10328
  CadenzaService.createMetaTask("Get all intents", (ctx) => {
10095
10329
  return {
@@ -10098,11 +10332,13 @@ var GraphSyncController = class _GraphSyncController {
10098
10332
  };
10099
10333
  }).doOn(
10100
10334
  "meta.sync_controller.sync_tick",
10101
- "meta.service_registry.initial_sync_complete"
10335
+ "meta.service_registry.initial_sync_complete",
10336
+ "meta.sync_requested"
10102
10337
  ).then(this.splitIntentsTask);
10103
10338
  CadenzaService.registry.getAllRoutines.clone().doOn(
10104
10339
  "meta.sync_controller.sync_tick",
10105
- "meta.service_registry.initial_sync_complete"
10340
+ "meta.service_registry.initial_sync_complete",
10341
+ "meta.sync_requested"
10106
10342
  ).then(this.splitRoutinesTask);
10107
10343
  CadenzaService.createMetaTask("Get all actors", (ctx) => {
10108
10344
  return {
@@ -10111,7 +10347,8 @@ var GraphSyncController = class _GraphSyncController {
10111
10347
  };
10112
10348
  }).doOn(
10113
10349
  "meta.sync_controller.sync_tick",
10114
- "meta.service_registry.initial_sync_complete"
10350
+ "meta.service_registry.initial_sync_complete",
10351
+ "meta.sync_requested"
10115
10352
  ).then(this.splitActorsForRegistration);
10116
10353
  CadenzaService.createMetaTask("Get registered task for task graph sync", (ctx) => {
10117
10354
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -10128,7 +10365,8 @@ var GraphSyncController = class _GraphSyncController {
10128
10365
  );
10129
10366
  CadenzaService.registry.doForEachTask.clone().doOn(
10130
10367
  "meta.sync_controller.synced_signals",
10131
- "meta.sync_controller.synced_tasks"
10368
+ "meta.sync_controller.synced_tasks",
10369
+ "meta.sync_requested"
10132
10370
  ).then(
10133
10371
  CadenzaService.createMetaTask(
10134
10372
  "Ensure signal and task sync ready",
@@ -10162,7 +10400,8 @@ var GraphSyncController = class _GraphSyncController {
10162
10400
  );
10163
10401
  CadenzaService.registry.doForEachTask.clone().doOn(
10164
10402
  "meta.sync_controller.synced_intents",
10165
- "meta.sync_controller.synced_tasks"
10403
+ "meta.sync_controller.synced_tasks",
10404
+ "meta.sync_requested"
10166
10405
  ).then(
10167
10406
  CadenzaService.createMetaTask(
10168
10407
  "Ensure intent and task sync ready",
@@ -10196,7 +10435,8 @@ var GraphSyncController = class _GraphSyncController {
10196
10435
  );
10197
10436
  CadenzaService.registry.doForEachTask.clone().doOn(
10198
10437
  "meta.sync_controller.synced_actors",
10199
- "meta.sync_controller.synced_tasks"
10438
+ "meta.sync_controller.synced_tasks",
10439
+ "meta.sync_requested"
10200
10440
  ).then(this.registerActorTaskMapTask);
10201
10441
  CadenzaService.createMetaTask("Get registered task for actor sync", (ctx) => {
10202
10442
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -10221,7 +10461,7 @@ var GraphSyncController = class _GraphSyncController {
10221
10461
  CadenzaService.registry.getAllRoutines.clone().doOn(
10222
10462
  "meta.sync_controller.synced_routines",
10223
10463
  "meta.sync_controller.synced_tasks",
10224
- "meta.sync_controller.task_registered"
10464
+ "meta.sync_requested"
10225
10465
  ).then(
10226
10466
  CadenzaService.createMetaTask(
10227
10467
  "Ensure routine and task sync ready",
@@ -10265,7 +10505,9 @@ var GraphSyncController = class _GraphSyncController {
10265
10505
  { __syncing: true },
10266
10506
  250
10267
10507
  );
10268
- CadenzaService.schedule("meta.sync_requested", { __syncing: true }, 2e3);
10508
+ for (const delayMs of EARLY_SYNC_REQUEST_DELAYS_MS) {
10509
+ CadenzaService.schedule("meta.sync_requested", { __syncing: true }, delayMs);
10510
+ }
10269
10511
  }
10270
10512
  }
10271
10513
  };