@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.mjs CHANGED
@@ -8661,10 +8661,21 @@ function buildSyncInsertQueryData(ctx, queryData = {}) {
8661
8661
  function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, options = {}) {
8662
8662
  const localInsertTask = CadenzaService.getLocalCadenzaDBInsertTask(tableName);
8663
8663
  const remoteInsertTask = isCadenzaDBReady ? CadenzaService.createCadenzaDBInsertTask(tableName, queryData, options) : void 0;
8664
+ const debugTable = shouldDebugSyncTable(tableName);
8664
8665
  if (!localInsertTask && !remoteInsertTask) {
8665
8666
  return void 0;
8666
8667
  }
8667
8668
  const targetTask = localInsertTask ?? remoteInsertTask;
8669
+ if (debugTable) {
8670
+ logSyncDebug("insert_task_resolved", {
8671
+ tableName,
8672
+ localInsertTaskName: localInsertTask?.name ?? null,
8673
+ remoteInsertTaskName: remoteInsertTask?.name ?? null,
8674
+ targetTaskName: targetTask.name,
8675
+ queryData,
8676
+ options
8677
+ });
8678
+ }
8668
8679
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
8669
8680
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
8670
8681
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
@@ -8698,6 +8709,26 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8698
8709
  isHidden: true
8699
8710
  }
8700
8711
  ).doOn(executionRequestedSignal).emitsOnFail(executionFailedSignal);
8712
+ if (debugTable) {
8713
+ prepareExecutionTask.then(
8714
+ CadenzaService.createMetaTask(
8715
+ `Log prepared graph sync insert execution for ${tableName}`,
8716
+ (ctx) => {
8717
+ logSyncDebug("insert_prepare", {
8718
+ tableName,
8719
+ targetTaskName: targetTask.name,
8720
+ ctx
8721
+ });
8722
+ return ctx;
8723
+ },
8724
+ `Logs prepared ${tableName} sync insert payloads.`,
8725
+ {
8726
+ register: false,
8727
+ isHidden: true
8728
+ }
8729
+ )
8730
+ );
8731
+ }
8701
8732
  const finalizeExecutionTask = CadenzaService.createMetaTask(
8702
8733
  `Finalize graph sync insert execution for ${tableName}`,
8703
8734
  (ctx, emit) => {
@@ -8714,6 +8745,14 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8714
8745
  ...ctx,
8715
8746
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
8716
8747
  };
8748
+ if (debugTable) {
8749
+ logSyncDebug("insert_finalize", {
8750
+ tableName,
8751
+ targetTaskName: targetTask.name,
8752
+ success: didSyncInsertSucceed(normalizedContext),
8753
+ ctx: normalizedContext
8754
+ });
8755
+ }
8717
8756
  pendingResolverContexts.delete(ctx.__resolverRequestId);
8718
8757
  emit(executionResolvedSignal, normalizedContext);
8719
8758
  return normalizedContext;
@@ -8726,6 +8765,27 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
8726
8765
  );
8727
8766
  targetTask.then(finalizeExecutionTask).emitsOnFail(executionFailedSignal);
8728
8767
  prepareExecutionTask.then(targetTask);
8768
+ if (debugTable) {
8769
+ CadenzaService.createMetaTask(
8770
+ `Log failed graph sync insert execution for ${tableName}`,
8771
+ (ctx) => {
8772
+ logSyncDebug("insert_failed", {
8773
+ tableName,
8774
+ targetTaskName: targetTask.name,
8775
+ ctx
8776
+ });
8777
+ if (typeof ctx.__resolverRequestId === "string") {
8778
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
8779
+ }
8780
+ return false;
8781
+ },
8782
+ `Logs failed ${tableName} sync insert executions.`,
8783
+ {
8784
+ register: false,
8785
+ isHidden: true
8786
+ }
8787
+ ).doOn(executionFailedSignal);
8788
+ }
8729
8789
  return CadenzaService.createMetaTask(
8730
8790
  `Resolve graph sync insert for ${tableName}`,
8731
8791
  (ctx, emit) => new Promise((resolve) => {
@@ -8780,6 +8840,105 @@ var AUTHORITY_QUERY_RESULT_KEYS = {
8780
8840
  signal_registry: "signalRegistrys",
8781
8841
  intent_registry: "intentRegistrys"
8782
8842
  };
8843
+ var EARLY_SYNC_REQUEST_DELAYS_MS = [2e3, 1e4, 3e4];
8844
+ var SYNC_DEBUG_PREFIX = "[CADENZA_SYNC_DEBUG]";
8845
+ var SYNC_DEBUG_TABLES = /* @__PURE__ */ new Set([
8846
+ "task",
8847
+ "routine",
8848
+ "task_to_routine_map",
8849
+ "signal_registry",
8850
+ "intent_registry",
8851
+ "signal_to_task_map",
8852
+ "intent_to_task_map"
8853
+ ]);
8854
+ var SYNC_DEBUG_TASK_NAMES = /* @__PURE__ */ new Set([
8855
+ "Query service_instance",
8856
+ "Query service_instance_transport",
8857
+ "Query intent_to_task_map",
8858
+ "Query signal_to_task_map",
8859
+ "Prepare for signal sync",
8860
+ "Compile sync data and broadcast",
8861
+ "Forward service instance sync",
8862
+ "Forward service transport sync",
8863
+ "Forward intent to task map sync",
8864
+ "Forward signal to task map sync"
8865
+ ]);
8866
+ var SYNC_DEBUG_ROUTINE_NAMES = /* @__PURE__ */ new Set(["Sync services"]);
8867
+ var SYNC_DEBUG_INTENT_NAMES = /* @__PURE__ */ new Set([
8868
+ "meta-service-registry-full-sync",
8869
+ "runner-traffic-runtime-get",
8870
+ "iot-telemetry-ingest",
8871
+ "query-pg-CadenzaDBPostgresActor-service_instance",
8872
+ "query-pg-CadenzaDBPostgresActor-service_instance_transport",
8873
+ "query-pg-CadenzaDBPostgresActor-intent_to_task_map",
8874
+ "query-pg-CadenzaDBPostgresActor-signal_to_task_map"
8875
+ ]);
8876
+ function shouldDebugSyncTable(tableName) {
8877
+ return SYNC_DEBUG_TABLES.has(tableName);
8878
+ }
8879
+ function shouldDebugSyncTaskName(taskName) {
8880
+ return typeof taskName === "string" && SYNC_DEBUG_TASK_NAMES.has(taskName);
8881
+ }
8882
+ function shouldDebugSyncRoutineName(routineName) {
8883
+ return typeof routineName === "string" && SYNC_DEBUG_ROUTINE_NAMES.has(routineName);
8884
+ }
8885
+ function shouldDebugSyncIntentName(intentName) {
8886
+ return typeof intentName === "string" && SYNC_DEBUG_INTENT_NAMES.has(intentName);
8887
+ }
8888
+ function summarizeSyncDebugValue(value, depth = 0) {
8889
+ if (value === null || value === void 0) {
8890
+ return value;
8891
+ }
8892
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
8893
+ return value;
8894
+ }
8895
+ if (value instanceof Set) {
8896
+ return {
8897
+ __type: "Set",
8898
+ size: value.size,
8899
+ values: Array.from(value).slice(0, 8).map((item) => summarizeSyncDebugValue(item, depth + 1))
8900
+ };
8901
+ }
8902
+ if (value instanceof Map) {
8903
+ return {
8904
+ __type: "Map",
8905
+ size: value.size
8906
+ };
8907
+ }
8908
+ if (Array.isArray(value)) {
8909
+ return {
8910
+ __type: "Array",
8911
+ length: value.length,
8912
+ items: value.slice(0, 5).map((item) => summarizeSyncDebugValue(item, depth + 1))
8913
+ };
8914
+ }
8915
+ if (typeof value === "object") {
8916
+ if (depth >= 2) {
8917
+ return "[object]";
8918
+ }
8919
+ const output = {};
8920
+ const entries = Object.entries(value).filter(
8921
+ ([key]) => ![
8922
+ "functionString",
8923
+ "tagIdGetter",
8924
+ "__functionString",
8925
+ "__getTagCallback",
8926
+ "joinedContexts",
8927
+ "task",
8928
+ "taskInstance",
8929
+ "tasks"
8930
+ ].includes(key)
8931
+ ).slice(0, 12);
8932
+ for (const [key, nestedValue] of entries) {
8933
+ output[key] = summarizeSyncDebugValue(nestedValue, depth + 1);
8934
+ }
8935
+ return output;
8936
+ }
8937
+ return String(value);
8938
+ }
8939
+ function logSyncDebug(event, payload) {
8940
+ console.log(`${SYNC_DEBUG_PREFIX} ${event}`, summarizeSyncDebugValue(payload));
8941
+ }
8783
8942
  function resolveSyncQueryRows(ctx, tableName) {
8784
8943
  const resultKey = AUTHORITY_QUERY_RESULT_KEYS[tableName];
8785
8944
  const rows = ctx?.[resultKey];
@@ -9026,6 +9185,16 @@ var GraphSyncController = class _GraphSyncController {
9026
9185
  if (!nextTask?.registered) {
9027
9186
  continue;
9028
9187
  }
9188
+ if (shouldDebugSyncRoutineName(routine.name) || shouldDebugSyncTaskName(nextTask.name)) {
9189
+ logSyncDebug("task_to_routine_split", {
9190
+ routineName: routine.name,
9191
+ routineVersion: routine.version,
9192
+ taskName: nextTask.name,
9193
+ taskVersion: nextTask.version,
9194
+ serviceName: serviceName2,
9195
+ registered: nextTask.registered
9196
+ });
9197
+ }
9029
9198
  yield {
9030
9199
  __syncing: ctx.__syncing,
9031
9200
  data: {
@@ -9156,6 +9325,18 @@ var GraphSyncController = class _GraphSyncController {
9156
9325
  for (const task of tasks) {
9157
9326
  if (task.registered) continue;
9158
9327
  const { __functionString, __getTagCallback } = task.export();
9328
+ if (shouldDebugSyncTaskName(task.name)) {
9329
+ logSyncDebug("task_registration_split", {
9330
+ taskName: task.name,
9331
+ taskVersion: task.version,
9332
+ serviceName: serviceName2,
9333
+ register: task.register,
9334
+ registered: task.registered,
9335
+ hidden: task.hidden,
9336
+ observedSignals: Array.from(task.observedSignals),
9337
+ handledIntents: Array.from(task.handlesIntents)
9338
+ });
9339
+ }
9159
9340
  yield {
9160
9341
  __syncing: ctx.__syncing,
9161
9342
  data: {
@@ -9208,6 +9389,13 @@ var GraphSyncController = class _GraphSyncController {
9208
9389
  { concurrency: 30 }
9209
9390
  )?.then(
9210
9391
  CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
9392
+ if (shouldDebugSyncTaskName(ctx.__taskName)) {
9393
+ logSyncDebug("task_registration_result", {
9394
+ taskName: ctx.__taskName,
9395
+ success: didSyncInsertSucceed(ctx),
9396
+ ctx
9397
+ });
9398
+ }
9211
9399
  if (!didSyncInsertSucceed(ctx)) {
9212
9400
  return;
9213
9401
  }
@@ -9234,6 +9422,16 @@ var GraphSyncController = class _GraphSyncController {
9234
9422
  "Prepare created task for immediate sync",
9235
9423
  (ctx) => {
9236
9424
  const task = ctx.taskInstance ?? (ctx.data?.name ? CadenzaService.get(String(ctx.data.name)) : void 0);
9425
+ if (shouldDebugSyncTaskName(task?.name ?? ctx?.data?.name)) {
9426
+ logSyncDebug("task_created_for_immediate_sync", {
9427
+ incomingTaskName: ctx?.data?.name ?? null,
9428
+ resolvedTaskName: task?.name ?? null,
9429
+ exists: Boolean(task),
9430
+ hidden: task?.hidden ?? null,
9431
+ register: task?.register ?? null,
9432
+ registered: task?.registered ?? null
9433
+ });
9434
+ }
9237
9435
  if (!task || task.hidden || !task.register || task.registered) {
9238
9436
  return false;
9239
9437
  }
@@ -9418,6 +9616,17 @@ var GraphSyncController = class _GraphSyncController {
9418
9616
  continue;
9419
9617
  }
9420
9618
  const { isGlobal } = decomposeSignalName(_signal);
9619
+ if (shouldDebugSyncTaskName(task.name)) {
9620
+ logSyncDebug("signal_to_task_map_split", {
9621
+ taskName: task.name,
9622
+ signalName: _signal,
9623
+ rawSignal: signal,
9624
+ serviceName: serviceName2,
9625
+ observerRegistered: CadenzaService.signalBroker.signalObservers?.get(
9626
+ _signal
9627
+ )?.registered
9628
+ });
9629
+ }
9421
9630
  emit("meta.sync_controller.signal_task_map_split", {
9422
9631
  __syncing: ctx.__syncing,
9423
9632
  data: {
@@ -9556,6 +9765,15 @@ var GraphSyncController = class _GraphSyncController {
9556
9765
  if (!intentDefinition) {
9557
9766
  continue;
9558
9767
  }
9768
+ if (shouldDebugSyncTaskName(task.name) || shouldDebugSyncIntentName(intent)) {
9769
+ logSyncDebug("intent_to_task_map_split", {
9770
+ taskName: task.name,
9771
+ taskVersion: task.version,
9772
+ intentName: intent,
9773
+ serviceName: serviceName2,
9774
+ intentDefinition
9775
+ });
9776
+ }
9559
9777
  emit("meta.sync_controller.intent_task_map_split", {
9560
9778
  __syncing: ctx.__syncing,
9561
9779
  data: {
@@ -9585,6 +9803,13 @@ var GraphSyncController = class _GraphSyncController {
9585
9803
  if (!ctx.__intentDefinition || !ctx.__intentMapData) {
9586
9804
  return false;
9587
9805
  }
9806
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
9807
+ logSyncDebug("intent_definition_prepare", {
9808
+ taskName: ctx.__taskName,
9809
+ intentName: ctx.__intent,
9810
+ intentDefinition: ctx.__intentDefinition
9811
+ });
9812
+ }
9588
9813
  return {
9589
9814
  ...ctx,
9590
9815
  data: ctx.__intentDefinition
@@ -9598,6 +9823,13 @@ var GraphSyncController = class _GraphSyncController {
9598
9823
  if (!ctx.__intentMapData) {
9599
9824
  return false;
9600
9825
  }
9826
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
9827
+ logSyncDebug("intent_map_payload_restore", {
9828
+ taskName: ctx.__taskName,
9829
+ intentName: ctx.__intent,
9830
+ intentMapData: ctx.__intentMapData
9831
+ });
9832
+ }
9601
9833
  return {
9602
9834
  ...ctx,
9603
9835
  data: ctx.__intentMapData
@@ -10036,11 +10268,13 @@ var GraphSyncController = class _GraphSyncController {
10036
10268
  ).doOn(...authoritativeRegistrationTriggers).then(authoritativeIntentReconciliationGraph);
10037
10269
  CadenzaService.signalBroker.getSignalsTask.clone().doOn(
10038
10270
  "meta.sync_controller.sync_tick",
10039
- "meta.service_registry.initial_sync_complete"
10271
+ "meta.service_registry.initial_sync_complete",
10272
+ "meta.sync_requested"
10040
10273
  ).then(this.splitSignalsTask);
10041
10274
  CadenzaService.registry.getAllTasks.clone().doOn(
10042
10275
  "meta.sync_controller.sync_tick",
10043
- "meta.sync_controller.synced_signals"
10276
+ "meta.sync_controller.synced_signals",
10277
+ "meta.sync_requested"
10044
10278
  ).then(this.splitTasksForRegistration);
10045
10279
  CadenzaService.createMetaTask("Get all intents", (ctx) => {
10046
10280
  return {
@@ -10049,11 +10283,13 @@ var GraphSyncController = class _GraphSyncController {
10049
10283
  };
10050
10284
  }).doOn(
10051
10285
  "meta.sync_controller.sync_tick",
10052
- "meta.service_registry.initial_sync_complete"
10286
+ "meta.service_registry.initial_sync_complete",
10287
+ "meta.sync_requested"
10053
10288
  ).then(this.splitIntentsTask);
10054
10289
  CadenzaService.registry.getAllRoutines.clone().doOn(
10055
10290
  "meta.sync_controller.sync_tick",
10056
- "meta.service_registry.initial_sync_complete"
10291
+ "meta.service_registry.initial_sync_complete",
10292
+ "meta.sync_requested"
10057
10293
  ).then(this.splitRoutinesTask);
10058
10294
  CadenzaService.createMetaTask("Get all actors", (ctx) => {
10059
10295
  return {
@@ -10062,7 +10298,8 @@ var GraphSyncController = class _GraphSyncController {
10062
10298
  };
10063
10299
  }).doOn(
10064
10300
  "meta.sync_controller.sync_tick",
10065
- "meta.service_registry.initial_sync_complete"
10301
+ "meta.service_registry.initial_sync_complete",
10302
+ "meta.sync_requested"
10066
10303
  ).then(this.splitActorsForRegistration);
10067
10304
  CadenzaService.createMetaTask("Get registered task for task graph sync", (ctx) => {
10068
10305
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -10079,7 +10316,8 @@ var GraphSyncController = class _GraphSyncController {
10079
10316
  );
10080
10317
  CadenzaService.registry.doForEachTask.clone().doOn(
10081
10318
  "meta.sync_controller.synced_signals",
10082
- "meta.sync_controller.synced_tasks"
10319
+ "meta.sync_controller.synced_tasks",
10320
+ "meta.sync_requested"
10083
10321
  ).then(
10084
10322
  CadenzaService.createMetaTask(
10085
10323
  "Ensure signal and task sync ready",
@@ -10113,7 +10351,8 @@ var GraphSyncController = class _GraphSyncController {
10113
10351
  );
10114
10352
  CadenzaService.registry.doForEachTask.clone().doOn(
10115
10353
  "meta.sync_controller.synced_intents",
10116
- "meta.sync_controller.synced_tasks"
10354
+ "meta.sync_controller.synced_tasks",
10355
+ "meta.sync_requested"
10117
10356
  ).then(
10118
10357
  CadenzaService.createMetaTask(
10119
10358
  "Ensure intent and task sync ready",
@@ -10147,7 +10386,8 @@ var GraphSyncController = class _GraphSyncController {
10147
10386
  );
10148
10387
  CadenzaService.registry.doForEachTask.clone().doOn(
10149
10388
  "meta.sync_controller.synced_actors",
10150
- "meta.sync_controller.synced_tasks"
10389
+ "meta.sync_controller.synced_tasks",
10390
+ "meta.sync_requested"
10151
10391
  ).then(this.registerActorTaskMapTask);
10152
10392
  CadenzaService.createMetaTask("Get registered task for actor sync", (ctx) => {
10153
10393
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -10172,7 +10412,7 @@ var GraphSyncController = class _GraphSyncController {
10172
10412
  CadenzaService.registry.getAllRoutines.clone().doOn(
10173
10413
  "meta.sync_controller.synced_routines",
10174
10414
  "meta.sync_controller.synced_tasks",
10175
- "meta.sync_controller.task_registered"
10415
+ "meta.sync_requested"
10176
10416
  ).then(
10177
10417
  CadenzaService.createMetaTask(
10178
10418
  "Ensure routine and task sync ready",
@@ -10216,7 +10456,9 @@ var GraphSyncController = class _GraphSyncController {
10216
10456
  { __syncing: true },
10217
10457
  250
10218
10458
  );
10219
- CadenzaService.schedule("meta.sync_requested", { __syncing: true }, 2e3);
10459
+ for (const delayMs of EARLY_SYNC_REQUEST_DELAYS_MS) {
10460
+ CadenzaService.schedule("meta.sync_requested", { __syncing: true }, delayMs);
10461
+ }
10220
10462
  }
10221
10463
  }
10222
10464
  };