@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.
@@ -6197,10 +6197,21 @@ function buildSyncInsertQueryData(ctx, queryData = {}) {
6197
6197
  function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, options = {}) {
6198
6198
  const localInsertTask = CadenzaService.getLocalCadenzaDBInsertTask(tableName);
6199
6199
  const remoteInsertTask = isCadenzaDBReady ? CadenzaService.createCadenzaDBInsertTask(tableName, queryData, options) : void 0;
6200
+ const debugTable = shouldDebugSyncTable(tableName);
6200
6201
  if (!localInsertTask && !remoteInsertTask) {
6201
6202
  return void 0;
6202
6203
  }
6203
6204
  const targetTask = localInsertTask ?? remoteInsertTask;
6205
+ if (debugTable) {
6206
+ logSyncDebug("insert_task_resolved", {
6207
+ tableName,
6208
+ localInsertTaskName: localInsertTask?.name ?? null,
6209
+ remoteInsertTaskName: remoteInsertTask?.name ?? null,
6210
+ targetTaskName: targetTask.name,
6211
+ queryData,
6212
+ options
6213
+ });
6214
+ }
6204
6215
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
6205
6216
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
6206
6217
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
@@ -6234,6 +6245,26 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6234
6245
  isHidden: true
6235
6246
  }
6236
6247
  ).doOn(executionRequestedSignal).emitsOnFail(executionFailedSignal);
6248
+ if (debugTable) {
6249
+ prepareExecutionTask.then(
6250
+ CadenzaService.createMetaTask(
6251
+ `Log prepared graph sync insert execution for ${tableName}`,
6252
+ (ctx) => {
6253
+ logSyncDebug("insert_prepare", {
6254
+ tableName,
6255
+ targetTaskName: targetTask.name,
6256
+ ctx
6257
+ });
6258
+ return ctx;
6259
+ },
6260
+ `Logs prepared ${tableName} sync insert payloads.`,
6261
+ {
6262
+ register: false,
6263
+ isHidden: true
6264
+ }
6265
+ )
6266
+ );
6267
+ }
6237
6268
  const finalizeExecutionTask = CadenzaService.createMetaTask(
6238
6269
  `Finalize graph sync insert execution for ${tableName}`,
6239
6270
  (ctx, emit) => {
@@ -6250,6 +6281,14 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6250
6281
  ...ctx,
6251
6282
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
6252
6283
  };
6284
+ if (debugTable) {
6285
+ logSyncDebug("insert_finalize", {
6286
+ tableName,
6287
+ targetTaskName: targetTask.name,
6288
+ success: didSyncInsertSucceed(normalizedContext),
6289
+ ctx: normalizedContext
6290
+ });
6291
+ }
6253
6292
  pendingResolverContexts.delete(ctx.__resolverRequestId);
6254
6293
  emit(executionResolvedSignal, normalizedContext);
6255
6294
  return normalizedContext;
@@ -6262,6 +6301,27 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6262
6301
  );
6263
6302
  targetTask.then(finalizeExecutionTask).emitsOnFail(executionFailedSignal);
6264
6303
  prepareExecutionTask.then(targetTask);
6304
+ if (debugTable) {
6305
+ CadenzaService.createMetaTask(
6306
+ `Log failed graph sync insert execution for ${tableName}`,
6307
+ (ctx) => {
6308
+ logSyncDebug("insert_failed", {
6309
+ tableName,
6310
+ targetTaskName: targetTask.name,
6311
+ ctx
6312
+ });
6313
+ if (typeof ctx.__resolverRequestId === "string") {
6314
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
6315
+ }
6316
+ return false;
6317
+ },
6318
+ `Logs failed ${tableName} sync insert executions.`,
6319
+ {
6320
+ register: false,
6321
+ isHidden: true
6322
+ }
6323
+ ).doOn(executionFailedSignal);
6324
+ }
6265
6325
  return CadenzaService.createMetaTask(
6266
6326
  `Resolve graph sync insert for ${tableName}`,
6267
6327
  (ctx, emit) => new Promise((resolve) => {
@@ -6316,6 +6376,105 @@ var AUTHORITY_QUERY_RESULT_KEYS = {
6316
6376
  signal_registry: "signalRegistrys",
6317
6377
  intent_registry: "intentRegistrys"
6318
6378
  };
6379
+ var EARLY_SYNC_REQUEST_DELAYS_MS = [2e3, 1e4, 3e4];
6380
+ var SYNC_DEBUG_PREFIX = "[CADENZA_SYNC_DEBUG]";
6381
+ var SYNC_DEBUG_TABLES = /* @__PURE__ */ new Set([
6382
+ "task",
6383
+ "routine",
6384
+ "task_to_routine_map",
6385
+ "signal_registry",
6386
+ "intent_registry",
6387
+ "signal_to_task_map",
6388
+ "intent_to_task_map"
6389
+ ]);
6390
+ var SYNC_DEBUG_TASK_NAMES = /* @__PURE__ */ new Set([
6391
+ "Query service_instance",
6392
+ "Query service_instance_transport",
6393
+ "Query intent_to_task_map",
6394
+ "Query signal_to_task_map",
6395
+ "Prepare for signal sync",
6396
+ "Compile sync data and broadcast",
6397
+ "Forward service instance sync",
6398
+ "Forward service transport sync",
6399
+ "Forward intent to task map sync",
6400
+ "Forward signal to task map sync"
6401
+ ]);
6402
+ var SYNC_DEBUG_ROUTINE_NAMES = /* @__PURE__ */ new Set(["Sync services"]);
6403
+ var SYNC_DEBUG_INTENT_NAMES = /* @__PURE__ */ new Set([
6404
+ "meta-service-registry-full-sync",
6405
+ "runner-traffic-runtime-get",
6406
+ "iot-telemetry-ingest",
6407
+ "query-pg-CadenzaDBPostgresActor-service_instance",
6408
+ "query-pg-CadenzaDBPostgresActor-service_instance_transport",
6409
+ "query-pg-CadenzaDBPostgresActor-intent_to_task_map",
6410
+ "query-pg-CadenzaDBPostgresActor-signal_to_task_map"
6411
+ ]);
6412
+ function shouldDebugSyncTable(tableName) {
6413
+ return SYNC_DEBUG_TABLES.has(tableName);
6414
+ }
6415
+ function shouldDebugSyncTaskName(taskName) {
6416
+ return typeof taskName === "string" && SYNC_DEBUG_TASK_NAMES.has(taskName);
6417
+ }
6418
+ function shouldDebugSyncRoutineName(routineName) {
6419
+ return typeof routineName === "string" && SYNC_DEBUG_ROUTINE_NAMES.has(routineName);
6420
+ }
6421
+ function shouldDebugSyncIntentName(intentName) {
6422
+ return typeof intentName === "string" && SYNC_DEBUG_INTENT_NAMES.has(intentName);
6423
+ }
6424
+ function summarizeSyncDebugValue(value, depth = 0) {
6425
+ if (value === null || value === void 0) {
6426
+ return value;
6427
+ }
6428
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
6429
+ return value;
6430
+ }
6431
+ if (value instanceof Set) {
6432
+ return {
6433
+ __type: "Set",
6434
+ size: value.size,
6435
+ values: Array.from(value).slice(0, 8).map((item) => summarizeSyncDebugValue(item, depth + 1))
6436
+ };
6437
+ }
6438
+ if (value instanceof Map) {
6439
+ return {
6440
+ __type: "Map",
6441
+ size: value.size
6442
+ };
6443
+ }
6444
+ if (Array.isArray(value)) {
6445
+ return {
6446
+ __type: "Array",
6447
+ length: value.length,
6448
+ items: value.slice(0, 5).map((item) => summarizeSyncDebugValue(item, depth + 1))
6449
+ };
6450
+ }
6451
+ if (typeof value === "object") {
6452
+ if (depth >= 2) {
6453
+ return "[object]";
6454
+ }
6455
+ const output = {};
6456
+ const entries = Object.entries(value).filter(
6457
+ ([key]) => ![
6458
+ "functionString",
6459
+ "tagIdGetter",
6460
+ "__functionString",
6461
+ "__getTagCallback",
6462
+ "joinedContexts",
6463
+ "task",
6464
+ "taskInstance",
6465
+ "tasks"
6466
+ ].includes(key)
6467
+ ).slice(0, 12);
6468
+ for (const [key, nestedValue] of entries) {
6469
+ output[key] = summarizeSyncDebugValue(nestedValue, depth + 1);
6470
+ }
6471
+ return output;
6472
+ }
6473
+ return String(value);
6474
+ }
6475
+ function logSyncDebug(event, payload) {
6476
+ console.log(`${SYNC_DEBUG_PREFIX} ${event}`, summarizeSyncDebugValue(payload));
6477
+ }
6319
6478
  function resolveSyncQueryRows(ctx, tableName) {
6320
6479
  const resultKey = AUTHORITY_QUERY_RESULT_KEYS[tableName];
6321
6480
  const rows = ctx?.[resultKey];
@@ -6562,6 +6721,16 @@ var GraphSyncController = class _GraphSyncController {
6562
6721
  if (!nextTask?.registered) {
6563
6722
  continue;
6564
6723
  }
6724
+ if (shouldDebugSyncRoutineName(routine.name) || shouldDebugSyncTaskName(nextTask.name)) {
6725
+ logSyncDebug("task_to_routine_split", {
6726
+ routineName: routine.name,
6727
+ routineVersion: routine.version,
6728
+ taskName: nextTask.name,
6729
+ taskVersion: nextTask.version,
6730
+ serviceName: serviceName2,
6731
+ registered: nextTask.registered
6732
+ });
6733
+ }
6565
6734
  yield {
6566
6735
  __syncing: ctx.__syncing,
6567
6736
  data: {
@@ -6692,6 +6861,18 @@ var GraphSyncController = class _GraphSyncController {
6692
6861
  for (const task of tasks) {
6693
6862
  if (task.registered) continue;
6694
6863
  const { __functionString, __getTagCallback } = task.export();
6864
+ if (shouldDebugSyncTaskName(task.name)) {
6865
+ logSyncDebug("task_registration_split", {
6866
+ taskName: task.name,
6867
+ taskVersion: task.version,
6868
+ serviceName: serviceName2,
6869
+ register: task.register,
6870
+ registered: task.registered,
6871
+ hidden: task.hidden,
6872
+ observedSignals: Array.from(task.observedSignals),
6873
+ handledIntents: Array.from(task.handlesIntents)
6874
+ });
6875
+ }
6695
6876
  yield {
6696
6877
  __syncing: ctx.__syncing,
6697
6878
  data: {
@@ -6744,6 +6925,13 @@ var GraphSyncController = class _GraphSyncController {
6744
6925
  { concurrency: 30 }
6745
6926
  )?.then(
6746
6927
  CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
6928
+ if (shouldDebugSyncTaskName(ctx.__taskName)) {
6929
+ logSyncDebug("task_registration_result", {
6930
+ taskName: ctx.__taskName,
6931
+ success: didSyncInsertSucceed(ctx),
6932
+ ctx
6933
+ });
6934
+ }
6747
6935
  if (!didSyncInsertSucceed(ctx)) {
6748
6936
  return;
6749
6937
  }
@@ -6770,6 +6958,16 @@ var GraphSyncController = class _GraphSyncController {
6770
6958
  "Prepare created task for immediate sync",
6771
6959
  (ctx) => {
6772
6960
  const task = ctx.taskInstance ?? (ctx.data?.name ? CadenzaService.get(String(ctx.data.name)) : void 0);
6961
+ if (shouldDebugSyncTaskName(task?.name ?? ctx?.data?.name)) {
6962
+ logSyncDebug("task_created_for_immediate_sync", {
6963
+ incomingTaskName: ctx?.data?.name ?? null,
6964
+ resolvedTaskName: task?.name ?? null,
6965
+ exists: Boolean(task),
6966
+ hidden: task?.hidden ?? null,
6967
+ register: task?.register ?? null,
6968
+ registered: task?.registered ?? null
6969
+ });
6970
+ }
6773
6971
  if (!task || task.hidden || !task.register || task.registered) {
6774
6972
  return false;
6775
6973
  }
@@ -6954,6 +7152,17 @@ var GraphSyncController = class _GraphSyncController {
6954
7152
  continue;
6955
7153
  }
6956
7154
  const { isGlobal } = decomposeSignalName(_signal);
7155
+ if (shouldDebugSyncTaskName(task.name)) {
7156
+ logSyncDebug("signal_to_task_map_split", {
7157
+ taskName: task.name,
7158
+ signalName: _signal,
7159
+ rawSignal: signal,
7160
+ serviceName: serviceName2,
7161
+ observerRegistered: CadenzaService.signalBroker.signalObservers?.get(
7162
+ _signal
7163
+ )?.registered
7164
+ });
7165
+ }
6957
7166
  emit("meta.sync_controller.signal_task_map_split", {
6958
7167
  __syncing: ctx.__syncing,
6959
7168
  data: {
@@ -7092,6 +7301,15 @@ var GraphSyncController = class _GraphSyncController {
7092
7301
  if (!intentDefinition) {
7093
7302
  continue;
7094
7303
  }
7304
+ if (shouldDebugSyncTaskName(task.name) || shouldDebugSyncIntentName(intent)) {
7305
+ logSyncDebug("intent_to_task_map_split", {
7306
+ taskName: task.name,
7307
+ taskVersion: task.version,
7308
+ intentName: intent,
7309
+ serviceName: serviceName2,
7310
+ intentDefinition
7311
+ });
7312
+ }
7095
7313
  emit("meta.sync_controller.intent_task_map_split", {
7096
7314
  __syncing: ctx.__syncing,
7097
7315
  data: {
@@ -7121,6 +7339,13 @@ var GraphSyncController = class _GraphSyncController {
7121
7339
  if (!ctx.__intentDefinition || !ctx.__intentMapData) {
7122
7340
  return false;
7123
7341
  }
7342
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
7343
+ logSyncDebug("intent_definition_prepare", {
7344
+ taskName: ctx.__taskName,
7345
+ intentName: ctx.__intent,
7346
+ intentDefinition: ctx.__intentDefinition
7347
+ });
7348
+ }
7124
7349
  return {
7125
7350
  ...ctx,
7126
7351
  data: ctx.__intentDefinition
@@ -7134,6 +7359,13 @@ var GraphSyncController = class _GraphSyncController {
7134
7359
  if (!ctx.__intentMapData) {
7135
7360
  return false;
7136
7361
  }
7362
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
7363
+ logSyncDebug("intent_map_payload_restore", {
7364
+ taskName: ctx.__taskName,
7365
+ intentName: ctx.__intent,
7366
+ intentMapData: ctx.__intentMapData
7367
+ });
7368
+ }
7137
7369
  return {
7138
7370
  ...ctx,
7139
7371
  data: ctx.__intentMapData
@@ -7572,11 +7804,13 @@ var GraphSyncController = class _GraphSyncController {
7572
7804
  ).doOn(...authoritativeRegistrationTriggers).then(authoritativeIntentReconciliationGraph);
7573
7805
  CadenzaService.signalBroker.getSignalsTask.clone().doOn(
7574
7806
  "meta.sync_controller.sync_tick",
7575
- "meta.service_registry.initial_sync_complete"
7807
+ "meta.service_registry.initial_sync_complete",
7808
+ "meta.sync_requested"
7576
7809
  ).then(this.splitSignalsTask);
7577
7810
  CadenzaService.registry.getAllTasks.clone().doOn(
7578
7811
  "meta.sync_controller.sync_tick",
7579
- "meta.sync_controller.synced_signals"
7812
+ "meta.sync_controller.synced_signals",
7813
+ "meta.sync_requested"
7580
7814
  ).then(this.splitTasksForRegistration);
7581
7815
  CadenzaService.createMetaTask("Get all intents", (ctx) => {
7582
7816
  return {
@@ -7585,11 +7819,13 @@ var GraphSyncController = class _GraphSyncController {
7585
7819
  };
7586
7820
  }).doOn(
7587
7821
  "meta.sync_controller.sync_tick",
7588
- "meta.service_registry.initial_sync_complete"
7822
+ "meta.service_registry.initial_sync_complete",
7823
+ "meta.sync_requested"
7589
7824
  ).then(this.splitIntentsTask);
7590
7825
  CadenzaService.registry.getAllRoutines.clone().doOn(
7591
7826
  "meta.sync_controller.sync_tick",
7592
- "meta.service_registry.initial_sync_complete"
7827
+ "meta.service_registry.initial_sync_complete",
7828
+ "meta.sync_requested"
7593
7829
  ).then(this.splitRoutinesTask);
7594
7830
  CadenzaService.createMetaTask("Get all actors", (ctx) => {
7595
7831
  return {
@@ -7598,7 +7834,8 @@ var GraphSyncController = class _GraphSyncController {
7598
7834
  };
7599
7835
  }).doOn(
7600
7836
  "meta.sync_controller.sync_tick",
7601
- "meta.service_registry.initial_sync_complete"
7837
+ "meta.service_registry.initial_sync_complete",
7838
+ "meta.sync_requested"
7602
7839
  ).then(this.splitActorsForRegistration);
7603
7840
  CadenzaService.createMetaTask("Get registered task for task graph sync", (ctx) => {
7604
7841
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -7615,7 +7852,8 @@ var GraphSyncController = class _GraphSyncController {
7615
7852
  );
7616
7853
  CadenzaService.registry.doForEachTask.clone().doOn(
7617
7854
  "meta.sync_controller.synced_signals",
7618
- "meta.sync_controller.synced_tasks"
7855
+ "meta.sync_controller.synced_tasks",
7856
+ "meta.sync_requested"
7619
7857
  ).then(
7620
7858
  CadenzaService.createMetaTask(
7621
7859
  "Ensure signal and task sync ready",
@@ -7649,7 +7887,8 @@ var GraphSyncController = class _GraphSyncController {
7649
7887
  );
7650
7888
  CadenzaService.registry.doForEachTask.clone().doOn(
7651
7889
  "meta.sync_controller.synced_intents",
7652
- "meta.sync_controller.synced_tasks"
7890
+ "meta.sync_controller.synced_tasks",
7891
+ "meta.sync_requested"
7653
7892
  ).then(
7654
7893
  CadenzaService.createMetaTask(
7655
7894
  "Ensure intent and task sync ready",
@@ -7683,7 +7922,8 @@ var GraphSyncController = class _GraphSyncController {
7683
7922
  );
7684
7923
  CadenzaService.registry.doForEachTask.clone().doOn(
7685
7924
  "meta.sync_controller.synced_actors",
7686
- "meta.sync_controller.synced_tasks"
7925
+ "meta.sync_controller.synced_tasks",
7926
+ "meta.sync_requested"
7687
7927
  ).then(this.registerActorTaskMapTask);
7688
7928
  CadenzaService.createMetaTask("Get registered task for actor sync", (ctx) => {
7689
7929
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -7708,7 +7948,7 @@ var GraphSyncController = class _GraphSyncController {
7708
7948
  CadenzaService.registry.getAllRoutines.clone().doOn(
7709
7949
  "meta.sync_controller.synced_routines",
7710
7950
  "meta.sync_controller.synced_tasks",
7711
- "meta.sync_controller.task_registered"
7951
+ "meta.sync_requested"
7712
7952
  ).then(
7713
7953
  CadenzaService.createMetaTask(
7714
7954
  "Ensure routine and task sync ready",
@@ -7752,7 +7992,9 @@ var GraphSyncController = class _GraphSyncController {
7752
7992
  { __syncing: true },
7753
7993
  250
7754
7994
  );
7755
- CadenzaService.schedule("meta.sync_requested", { __syncing: true }, 2e3);
7995
+ for (const delayMs of EARLY_SYNC_REQUEST_DELAYS_MS) {
7996
+ CadenzaService.schedule("meta.sync_requested", { __syncing: true }, delayMs);
7997
+ }
7756
7998
  }
7757
7999
  }
7758
8000
  };