@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.
@@ -6246,10 +6246,21 @@ function buildSyncInsertQueryData(ctx, queryData = {}) {
6246
6246
  function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, options = {}) {
6247
6247
  const localInsertTask = CadenzaService.getLocalCadenzaDBInsertTask(tableName);
6248
6248
  const remoteInsertTask = isCadenzaDBReady ? CadenzaService.createCadenzaDBInsertTask(tableName, queryData, options) : void 0;
6249
+ const debugTable = shouldDebugSyncTable(tableName);
6249
6250
  if (!localInsertTask && !remoteInsertTask) {
6250
6251
  return void 0;
6251
6252
  }
6252
6253
  const targetTask = localInsertTask ?? remoteInsertTask;
6254
+ if (debugTable) {
6255
+ logSyncDebug("insert_task_resolved", {
6256
+ tableName,
6257
+ localInsertTaskName: localInsertTask?.name ?? null,
6258
+ remoteInsertTaskName: remoteInsertTask?.name ?? null,
6259
+ targetTaskName: targetTask.name,
6260
+ queryData,
6261
+ options
6262
+ });
6263
+ }
6253
6264
  const executionRequestedSignal = `meta.sync_controller.insert_execution_requested:${tableName}`;
6254
6265
  const executionResolvedSignal = `meta.sync_controller.insert_execution_resolved:${tableName}`;
6255
6266
  const executionFailedSignal = `meta.sync_controller.insert_execution_failed:${tableName}`;
@@ -6283,6 +6294,26 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6283
6294
  isHidden: true
6284
6295
  }
6285
6296
  ).doOn(executionRequestedSignal).emitsOnFail(executionFailedSignal);
6297
+ if (debugTable) {
6298
+ prepareExecutionTask.then(
6299
+ CadenzaService.createMetaTask(
6300
+ `Log prepared graph sync insert execution for ${tableName}`,
6301
+ (ctx) => {
6302
+ logSyncDebug("insert_prepare", {
6303
+ tableName,
6304
+ targetTaskName: targetTask.name,
6305
+ ctx
6306
+ });
6307
+ return ctx;
6308
+ },
6309
+ `Logs prepared ${tableName} sync insert payloads.`,
6310
+ {
6311
+ register: false,
6312
+ isHidden: true
6313
+ }
6314
+ )
6315
+ );
6316
+ }
6286
6317
  const finalizeExecutionTask = CadenzaService.createMetaTask(
6287
6318
  `Finalize graph sync insert execution for ${tableName}`,
6288
6319
  (ctx, emit) => {
@@ -6299,6 +6330,14 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6299
6330
  ...ctx,
6300
6331
  queryData: ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : originalQueryData
6301
6332
  };
6333
+ if (debugTable) {
6334
+ logSyncDebug("insert_finalize", {
6335
+ tableName,
6336
+ targetTaskName: targetTask.name,
6337
+ success: didSyncInsertSucceed(normalizedContext),
6338
+ ctx: normalizedContext
6339
+ });
6340
+ }
6302
6341
  pendingResolverContexts.delete(ctx.__resolverRequestId);
6303
6342
  emit(executionResolvedSignal, normalizedContext);
6304
6343
  return normalizedContext;
@@ -6311,6 +6350,27 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6311
6350
  );
6312
6351
  targetTask.then(finalizeExecutionTask).emitsOnFail(executionFailedSignal);
6313
6352
  prepareExecutionTask.then(targetTask);
6353
+ if (debugTable) {
6354
+ CadenzaService.createMetaTask(
6355
+ `Log failed graph sync insert execution for ${tableName}`,
6356
+ (ctx) => {
6357
+ logSyncDebug("insert_failed", {
6358
+ tableName,
6359
+ targetTaskName: targetTask.name,
6360
+ ctx
6361
+ });
6362
+ if (typeof ctx.__resolverRequestId === "string") {
6363
+ pendingResolverContexts.delete(ctx.__resolverRequestId);
6364
+ }
6365
+ return false;
6366
+ },
6367
+ `Logs failed ${tableName} sync insert executions.`,
6368
+ {
6369
+ register: false,
6370
+ isHidden: true
6371
+ }
6372
+ ).doOn(executionFailedSignal);
6373
+ }
6314
6374
  return CadenzaService.createMetaTask(
6315
6375
  `Resolve graph sync insert for ${tableName}`,
6316
6376
  (ctx, emit) => new Promise((resolve) => {
@@ -6365,6 +6425,105 @@ var AUTHORITY_QUERY_RESULT_KEYS = {
6365
6425
  signal_registry: "signalRegistrys",
6366
6426
  intent_registry: "intentRegistrys"
6367
6427
  };
6428
+ var EARLY_SYNC_REQUEST_DELAYS_MS = [2e3, 1e4, 3e4];
6429
+ var SYNC_DEBUG_PREFIX = "[CADENZA_SYNC_DEBUG]";
6430
+ var SYNC_DEBUG_TABLES = /* @__PURE__ */ new Set([
6431
+ "task",
6432
+ "routine",
6433
+ "task_to_routine_map",
6434
+ "signal_registry",
6435
+ "intent_registry",
6436
+ "signal_to_task_map",
6437
+ "intent_to_task_map"
6438
+ ]);
6439
+ var SYNC_DEBUG_TASK_NAMES = /* @__PURE__ */ new Set([
6440
+ "Query service_instance",
6441
+ "Query service_instance_transport",
6442
+ "Query intent_to_task_map",
6443
+ "Query signal_to_task_map",
6444
+ "Prepare for signal sync",
6445
+ "Compile sync data and broadcast",
6446
+ "Forward service instance sync",
6447
+ "Forward service transport sync",
6448
+ "Forward intent to task map sync",
6449
+ "Forward signal to task map sync"
6450
+ ]);
6451
+ var SYNC_DEBUG_ROUTINE_NAMES = /* @__PURE__ */ new Set(["Sync services"]);
6452
+ var SYNC_DEBUG_INTENT_NAMES = /* @__PURE__ */ new Set([
6453
+ "meta-service-registry-full-sync",
6454
+ "runner-traffic-runtime-get",
6455
+ "iot-telemetry-ingest",
6456
+ "query-pg-CadenzaDBPostgresActor-service_instance",
6457
+ "query-pg-CadenzaDBPostgresActor-service_instance_transport",
6458
+ "query-pg-CadenzaDBPostgresActor-intent_to_task_map",
6459
+ "query-pg-CadenzaDBPostgresActor-signal_to_task_map"
6460
+ ]);
6461
+ function shouldDebugSyncTable(tableName) {
6462
+ return SYNC_DEBUG_TABLES.has(tableName);
6463
+ }
6464
+ function shouldDebugSyncTaskName(taskName) {
6465
+ return typeof taskName === "string" && SYNC_DEBUG_TASK_NAMES.has(taskName);
6466
+ }
6467
+ function shouldDebugSyncRoutineName(routineName) {
6468
+ return typeof routineName === "string" && SYNC_DEBUG_ROUTINE_NAMES.has(routineName);
6469
+ }
6470
+ function shouldDebugSyncIntentName(intentName) {
6471
+ return typeof intentName === "string" && SYNC_DEBUG_INTENT_NAMES.has(intentName);
6472
+ }
6473
+ function summarizeSyncDebugValue(value, depth = 0) {
6474
+ if (value === null || value === void 0) {
6475
+ return value;
6476
+ }
6477
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
6478
+ return value;
6479
+ }
6480
+ if (value instanceof Set) {
6481
+ return {
6482
+ __type: "Set",
6483
+ size: value.size,
6484
+ values: Array.from(value).slice(0, 8).map((item) => summarizeSyncDebugValue(item, depth + 1))
6485
+ };
6486
+ }
6487
+ if (value instanceof Map) {
6488
+ return {
6489
+ __type: "Map",
6490
+ size: value.size
6491
+ };
6492
+ }
6493
+ if (Array.isArray(value)) {
6494
+ return {
6495
+ __type: "Array",
6496
+ length: value.length,
6497
+ items: value.slice(0, 5).map((item) => summarizeSyncDebugValue(item, depth + 1))
6498
+ };
6499
+ }
6500
+ if (typeof value === "object") {
6501
+ if (depth >= 2) {
6502
+ return "[object]";
6503
+ }
6504
+ const output = {};
6505
+ const entries = Object.entries(value).filter(
6506
+ ([key]) => ![
6507
+ "functionString",
6508
+ "tagIdGetter",
6509
+ "__functionString",
6510
+ "__getTagCallback",
6511
+ "joinedContexts",
6512
+ "task",
6513
+ "taskInstance",
6514
+ "tasks"
6515
+ ].includes(key)
6516
+ ).slice(0, 12);
6517
+ for (const [key, nestedValue] of entries) {
6518
+ output[key] = summarizeSyncDebugValue(nestedValue, depth + 1);
6519
+ }
6520
+ return output;
6521
+ }
6522
+ return String(value);
6523
+ }
6524
+ function logSyncDebug(event, payload) {
6525
+ console.log(`${SYNC_DEBUG_PREFIX} ${event}`, summarizeSyncDebugValue(payload));
6526
+ }
6368
6527
  function resolveSyncQueryRows(ctx, tableName) {
6369
6528
  const resultKey = AUTHORITY_QUERY_RESULT_KEYS[tableName];
6370
6529
  const rows = ctx?.[resultKey];
@@ -6611,6 +6770,16 @@ var GraphSyncController = class _GraphSyncController {
6611
6770
  if (!nextTask?.registered) {
6612
6771
  continue;
6613
6772
  }
6773
+ if (shouldDebugSyncRoutineName(routine.name) || shouldDebugSyncTaskName(nextTask.name)) {
6774
+ logSyncDebug("task_to_routine_split", {
6775
+ routineName: routine.name,
6776
+ routineVersion: routine.version,
6777
+ taskName: nextTask.name,
6778
+ taskVersion: nextTask.version,
6779
+ serviceName: serviceName2,
6780
+ registered: nextTask.registered
6781
+ });
6782
+ }
6614
6783
  yield {
6615
6784
  __syncing: ctx.__syncing,
6616
6785
  data: {
@@ -6741,6 +6910,18 @@ var GraphSyncController = class _GraphSyncController {
6741
6910
  for (const task of tasks) {
6742
6911
  if (task.registered) continue;
6743
6912
  const { __functionString, __getTagCallback } = task.export();
6913
+ if (shouldDebugSyncTaskName(task.name)) {
6914
+ logSyncDebug("task_registration_split", {
6915
+ taskName: task.name,
6916
+ taskVersion: task.version,
6917
+ serviceName: serviceName2,
6918
+ register: task.register,
6919
+ registered: task.registered,
6920
+ hidden: task.hidden,
6921
+ observedSignals: Array.from(task.observedSignals),
6922
+ handledIntents: Array.from(task.handlesIntents)
6923
+ });
6924
+ }
6744
6925
  yield {
6745
6926
  __syncing: ctx.__syncing,
6746
6927
  data: {
@@ -6793,6 +6974,13 @@ var GraphSyncController = class _GraphSyncController {
6793
6974
  { concurrency: 30 }
6794
6975
  )?.then(
6795
6976
  CadenzaService.createMetaTask("Record registration", (ctx, emit) => {
6977
+ if (shouldDebugSyncTaskName(ctx.__taskName)) {
6978
+ logSyncDebug("task_registration_result", {
6979
+ taskName: ctx.__taskName,
6980
+ success: didSyncInsertSucceed(ctx),
6981
+ ctx
6982
+ });
6983
+ }
6796
6984
  if (!didSyncInsertSucceed(ctx)) {
6797
6985
  return;
6798
6986
  }
@@ -6819,6 +7007,16 @@ var GraphSyncController = class _GraphSyncController {
6819
7007
  "Prepare created task for immediate sync",
6820
7008
  (ctx) => {
6821
7009
  const task = ctx.taskInstance ?? (ctx.data?.name ? CadenzaService.get(String(ctx.data.name)) : void 0);
7010
+ if (shouldDebugSyncTaskName(task?.name ?? ctx?.data?.name)) {
7011
+ logSyncDebug("task_created_for_immediate_sync", {
7012
+ incomingTaskName: ctx?.data?.name ?? null,
7013
+ resolvedTaskName: task?.name ?? null,
7014
+ exists: Boolean(task),
7015
+ hidden: task?.hidden ?? null,
7016
+ register: task?.register ?? null,
7017
+ registered: task?.registered ?? null
7018
+ });
7019
+ }
6822
7020
  if (!task || task.hidden || !task.register || task.registered) {
6823
7021
  return false;
6824
7022
  }
@@ -7003,6 +7201,17 @@ var GraphSyncController = class _GraphSyncController {
7003
7201
  continue;
7004
7202
  }
7005
7203
  const { isGlobal } = decomposeSignalName(_signal);
7204
+ if (shouldDebugSyncTaskName(task.name)) {
7205
+ logSyncDebug("signal_to_task_map_split", {
7206
+ taskName: task.name,
7207
+ signalName: _signal,
7208
+ rawSignal: signal,
7209
+ serviceName: serviceName2,
7210
+ observerRegistered: CadenzaService.signalBroker.signalObservers?.get(
7211
+ _signal
7212
+ )?.registered
7213
+ });
7214
+ }
7006
7215
  emit("meta.sync_controller.signal_task_map_split", {
7007
7216
  __syncing: ctx.__syncing,
7008
7217
  data: {
@@ -7141,6 +7350,15 @@ var GraphSyncController = class _GraphSyncController {
7141
7350
  if (!intentDefinition) {
7142
7351
  continue;
7143
7352
  }
7353
+ if (shouldDebugSyncTaskName(task.name) || shouldDebugSyncIntentName(intent)) {
7354
+ logSyncDebug("intent_to_task_map_split", {
7355
+ taskName: task.name,
7356
+ taskVersion: task.version,
7357
+ intentName: intent,
7358
+ serviceName: serviceName2,
7359
+ intentDefinition
7360
+ });
7361
+ }
7144
7362
  emit("meta.sync_controller.intent_task_map_split", {
7145
7363
  __syncing: ctx.__syncing,
7146
7364
  data: {
@@ -7170,6 +7388,13 @@ var GraphSyncController = class _GraphSyncController {
7170
7388
  if (!ctx.__intentDefinition || !ctx.__intentMapData) {
7171
7389
  return false;
7172
7390
  }
7391
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
7392
+ logSyncDebug("intent_definition_prepare", {
7393
+ taskName: ctx.__taskName,
7394
+ intentName: ctx.__intent,
7395
+ intentDefinition: ctx.__intentDefinition
7396
+ });
7397
+ }
7173
7398
  return {
7174
7399
  ...ctx,
7175
7400
  data: ctx.__intentDefinition
@@ -7183,6 +7408,13 @@ var GraphSyncController = class _GraphSyncController {
7183
7408
  if (!ctx.__intentMapData) {
7184
7409
  return false;
7185
7410
  }
7411
+ if (shouldDebugSyncTaskName(ctx.__taskName) || shouldDebugSyncIntentName(ctx.__intent)) {
7412
+ logSyncDebug("intent_map_payload_restore", {
7413
+ taskName: ctx.__taskName,
7414
+ intentName: ctx.__intent,
7415
+ intentMapData: ctx.__intentMapData
7416
+ });
7417
+ }
7186
7418
  return {
7187
7419
  ...ctx,
7188
7420
  data: ctx.__intentMapData
@@ -7621,11 +7853,13 @@ var GraphSyncController = class _GraphSyncController {
7621
7853
  ).doOn(...authoritativeRegistrationTriggers).then(authoritativeIntentReconciliationGraph);
7622
7854
  CadenzaService.signalBroker.getSignalsTask.clone().doOn(
7623
7855
  "meta.sync_controller.sync_tick",
7624
- "meta.service_registry.initial_sync_complete"
7856
+ "meta.service_registry.initial_sync_complete",
7857
+ "meta.sync_requested"
7625
7858
  ).then(this.splitSignalsTask);
7626
7859
  CadenzaService.registry.getAllTasks.clone().doOn(
7627
7860
  "meta.sync_controller.sync_tick",
7628
- "meta.sync_controller.synced_signals"
7861
+ "meta.sync_controller.synced_signals",
7862
+ "meta.sync_requested"
7629
7863
  ).then(this.splitTasksForRegistration);
7630
7864
  CadenzaService.createMetaTask("Get all intents", (ctx) => {
7631
7865
  return {
@@ -7634,11 +7868,13 @@ var GraphSyncController = class _GraphSyncController {
7634
7868
  };
7635
7869
  }).doOn(
7636
7870
  "meta.sync_controller.sync_tick",
7637
- "meta.service_registry.initial_sync_complete"
7871
+ "meta.service_registry.initial_sync_complete",
7872
+ "meta.sync_requested"
7638
7873
  ).then(this.splitIntentsTask);
7639
7874
  CadenzaService.registry.getAllRoutines.clone().doOn(
7640
7875
  "meta.sync_controller.sync_tick",
7641
- "meta.service_registry.initial_sync_complete"
7876
+ "meta.service_registry.initial_sync_complete",
7877
+ "meta.sync_requested"
7642
7878
  ).then(this.splitRoutinesTask);
7643
7879
  CadenzaService.createMetaTask("Get all actors", (ctx) => {
7644
7880
  return {
@@ -7647,7 +7883,8 @@ var GraphSyncController = class _GraphSyncController {
7647
7883
  };
7648
7884
  }).doOn(
7649
7885
  "meta.sync_controller.sync_tick",
7650
- "meta.service_registry.initial_sync_complete"
7886
+ "meta.service_registry.initial_sync_complete",
7887
+ "meta.sync_requested"
7651
7888
  ).then(this.splitActorsForRegistration);
7652
7889
  CadenzaService.createMetaTask("Get registered task for task graph sync", (ctx) => {
7653
7890
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -7664,7 +7901,8 @@ var GraphSyncController = class _GraphSyncController {
7664
7901
  );
7665
7902
  CadenzaService.registry.doForEachTask.clone().doOn(
7666
7903
  "meta.sync_controller.synced_signals",
7667
- "meta.sync_controller.synced_tasks"
7904
+ "meta.sync_controller.synced_tasks",
7905
+ "meta.sync_requested"
7668
7906
  ).then(
7669
7907
  CadenzaService.createMetaTask(
7670
7908
  "Ensure signal and task sync ready",
@@ -7698,7 +7936,8 @@ var GraphSyncController = class _GraphSyncController {
7698
7936
  );
7699
7937
  CadenzaService.registry.doForEachTask.clone().doOn(
7700
7938
  "meta.sync_controller.synced_intents",
7701
- "meta.sync_controller.synced_tasks"
7939
+ "meta.sync_controller.synced_tasks",
7940
+ "meta.sync_requested"
7702
7941
  ).then(
7703
7942
  CadenzaService.createMetaTask(
7704
7943
  "Ensure intent and task sync ready",
@@ -7732,7 +7971,8 @@ var GraphSyncController = class _GraphSyncController {
7732
7971
  );
7733
7972
  CadenzaService.registry.doForEachTask.clone().doOn(
7734
7973
  "meta.sync_controller.synced_actors",
7735
- "meta.sync_controller.synced_tasks"
7974
+ "meta.sync_controller.synced_tasks",
7975
+ "meta.sync_requested"
7736
7976
  ).then(this.registerActorTaskMapTask);
7737
7977
  CadenzaService.createMetaTask("Get registered task for actor sync", (ctx) => {
7738
7978
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
@@ -7757,7 +7997,7 @@ var GraphSyncController = class _GraphSyncController {
7757
7997
  CadenzaService.registry.getAllRoutines.clone().doOn(
7758
7998
  "meta.sync_controller.synced_routines",
7759
7999
  "meta.sync_controller.synced_tasks",
7760
- "meta.sync_controller.task_registered"
8000
+ "meta.sync_requested"
7761
8001
  ).then(
7762
8002
  CadenzaService.createMetaTask(
7763
8003
  "Ensure routine and task sync ready",
@@ -7801,7 +8041,9 @@ var GraphSyncController = class _GraphSyncController {
7801
8041
  { __syncing: true },
7802
8042
  250
7803
8043
  );
7804
- CadenzaService.schedule("meta.sync_requested", { __syncing: true }, 2e3);
8044
+ for (const delayMs of EARLY_SYNC_REQUEST_DELAYS_MS) {
8045
+ CadenzaService.schedule("meta.sync_requested", { __syncing: true }, delayMs);
8046
+ }
7805
8047
  }
7806
8048
  }
7807
8049
  };