@cadenza.io/service 2.17.27 → 2.17.29

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.
@@ -30,27 +30,27 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
- Actor: () => import_core5.Actor,
33
+ Actor: () => import_core6.Actor,
34
34
  DatabaseController: () => DatabaseController,
35
35
  DatabaseTask: () => DatabaseTask,
36
- DebounceTask: () => import_core5.DebounceTask,
36
+ DebounceTask: () => import_core6.DebounceTask,
37
37
  DeputyTask: () => DeputyTask,
38
- EphemeralTask: () => import_core5.EphemeralTask,
38
+ EphemeralTask: () => import_core6.EphemeralTask,
39
39
  GraphMetadataController: () => GraphMetadataController,
40
- GraphRoutine: () => import_core5.GraphRoutine,
40
+ GraphRoutine: () => import_core6.GraphRoutine,
41
41
  RestController: () => RestController,
42
42
  ServiceRegistry: () => ServiceRegistry,
43
43
  SignalController: () => SignalController,
44
44
  SignalTransmissionTask: () => SignalTransmissionTask,
45
45
  SocketController: () => SocketController,
46
- Task: () => import_core5.Task,
46
+ Task: () => import_core6.Task,
47
47
  createSSRInquiryBridge: () => createSSRInquiryBridge,
48
48
  default: () => index_default
49
49
  });
50
50
  module.exports = __toCommonJS(index_exports);
51
51
 
52
52
  // src/Cadenza.ts
53
- var import_core4 = __toESM(require("@cadenza.io/core"));
53
+ var import_core5 = __toESM(require("@cadenza.io/core"));
54
54
 
55
55
  // src/graph/definition/DeputyTask.ts
56
56
  var import_uuid = require("uuid");
@@ -5882,6 +5882,7 @@ var DatabaseController = class _DatabaseController {
5882
5882
  var import_uuid4 = require("uuid");
5883
5883
 
5884
5884
  // src/graph/controllers/GraphSyncController.ts
5885
+ var import_core4 = require("@cadenza.io/core");
5885
5886
  var ACTOR_TASK_METADATA = /* @__PURE__ */ Symbol.for("@cadenza.io/core/actor-task-meta");
5886
5887
  function getActorTaskRuntimeMetadata(taskFunction) {
5887
5888
  if (typeof taskFunction !== "function") {
@@ -6019,17 +6020,21 @@ function resolveSyncInsertTask(isCadenzaDBReady, tableName, queryData = {}, opti
6019
6020
  if (!targetTask) {
6020
6021
  return false;
6021
6022
  }
6022
- return targetTask.taskFunction(
6023
- {
6023
+ return targetTask.execute(
6024
+ new import_core4.GraphContext({
6024
6025
  ...ctx,
6025
6026
  queryData: buildSyncInsertQueryData(
6026
6027
  ctx,
6027
6028
  queryData
6028
6029
  )
6029
- },
6030
+ }),
6030
6031
  emit,
6031
6032
  inquire,
6032
- progressCallback
6033
+ progressCallback,
6034
+ {
6035
+ nodeId: ctx.__previousTaskExecutionId ?? ctx.__metadata?.__previousTaskExecutionId ?? `graph-sync-${tableName}`,
6036
+ routineExecId: ctx.__routineExecId ?? ctx.__metadata?.__routineExecId ?? ctx.__metadata?.__localRoutineExecId ?? "graph-sync"
6037
+ }
6033
6038
  );
6034
6039
  },
6035
6040
  `Routes graph sync inserts for ${tableName} through the local authority task when available.`,
@@ -6058,6 +6063,7 @@ var GraphSyncController = class _GraphSyncController {
6058
6063
  this.registeredActorTaskMaps = /* @__PURE__ */ new Set();
6059
6064
  this.registeredIntentDefinitions = /* @__PURE__ */ new Set();
6060
6065
  this.tasksSynced = false;
6066
+ this.actorsSynced = false;
6061
6067
  this.signalsSynced = false;
6062
6068
  this.intentsSynced = false;
6063
6069
  this.routinesSynced = false;
@@ -6522,13 +6528,19 @@ var GraphSyncController = class _GraphSyncController {
6522
6528
  );
6523
6529
  CadenzaService.createUniqueMetaTask(
6524
6530
  "Gather actor registration",
6525
- () => true
6531
+ () => {
6532
+ this.actorsSynced = true;
6533
+ return true;
6534
+ }
6526
6535
  ).doOn("meta.sync_controller.actor_registration_settled").emits("meta.sync_controller.synced_actors");
6527
6536
  this.registerActorTaskMapTask = CadenzaService.createMetaTask(
6528
6537
  "Split actor task maps",
6529
6538
  function* (ctx) {
6530
6539
  const task = ctx.task;
6531
- if (task.hidden || !task.register) {
6540
+ if (!this.tasksSynced || !this.actorsSynced) {
6541
+ return;
6542
+ }
6543
+ if (task.hidden || !task.register || !task.registered) {
6532
6544
  return;
6533
6545
  }
6534
6546
  const metadata = getActorTaskRuntimeMetadata(task.taskFunction);
@@ -6604,7 +6616,7 @@ var GraphSyncController = class _GraphSyncController {
6604
6616
  "Split observed signals of task",
6605
6617
  (ctx, emit) => {
6606
6618
  const task = ctx.task;
6607
- if (task.hidden || !task.register) return false;
6619
+ if (task.hidden || !task.register || !task.registered) return false;
6608
6620
  const serviceName2 = resolveSyncServiceName(task);
6609
6621
  if (!serviceName2) {
6610
6622
  return false;
@@ -6724,7 +6736,7 @@ var GraphSyncController = class _GraphSyncController {
6724
6736
  "Split intents of task",
6725
6737
  function(ctx, emit) {
6726
6738
  const task = ctx.task;
6727
- if (task.hidden || !task.register) return false;
6739
+ if (task.hidden || !task.register || !task.registered) return false;
6728
6740
  const serviceName2 = resolveSyncServiceName(task);
6729
6741
  if (!serviceName2) {
6730
6742
  return false;
@@ -6994,7 +7006,8 @@ var GraphSyncController = class _GraphSyncController {
6994
7006
  this.registerDeputyRelationshipTask
6995
7007
  );
6996
7008
  CadenzaService.registry.doForEachTask.clone().doOn(
6997
- "meta.sync_controller.synced_signals"
7009
+ "meta.sync_controller.synced_signals",
7010
+ "meta.sync_controller.synced_tasks"
6998
7011
  ).then(
6999
7012
  CadenzaService.createMetaTask(
7000
7013
  "Ensure signal and task sync ready",
@@ -7026,7 +7039,10 @@ var GraphSyncController = class _GraphSyncController {
7026
7039
  }
7027
7040
  ).then(this.registerSignalToTaskMapTask)
7028
7041
  );
7029
- CadenzaService.registry.doForEachTask.clone().doOn("meta.sync_controller.synced_intents").then(
7042
+ CadenzaService.registry.doForEachTask.clone().doOn(
7043
+ "meta.sync_controller.synced_intents",
7044
+ "meta.sync_controller.synced_tasks"
7045
+ ).then(
7030
7046
  CadenzaService.createMetaTask(
7031
7047
  "Ensure intent and task sync ready",
7032
7048
  (ctx) => {
@@ -7057,7 +7073,10 @@ var GraphSyncController = class _GraphSyncController {
7057
7073
  }
7058
7074
  ).then(this.registerIntentToTaskMapTask)
7059
7075
  );
7060
- CadenzaService.registry.doForEachTask.clone().doOn("meta.sync_controller.synced_actors").then(this.registerActorTaskMapTask);
7076
+ CadenzaService.registry.doForEachTask.clone().doOn(
7077
+ "meta.sync_controller.synced_actors",
7078
+ "meta.sync_controller.synced_tasks"
7079
+ ).then(this.registerActorTaskMapTask);
7061
7080
  CadenzaService.createMetaTask("Get registered task for actor sync", (ctx) => {
7062
7081
  const task = ctx.task ?? (ctx.__taskName ? CadenzaService.get(ctx.__taskName) : void 0);
7063
7082
  if (!task) {
@@ -7067,9 +7086,20 @@ var GraphSyncController = class _GraphSyncController {
7067
7086
  ...ctx,
7068
7087
  task
7069
7088
  };
7070
- }).doOn("meta.sync_controller.task_registered").then(this.registerActorTaskMapTask);
7089
+ }).doOn("meta.sync_controller.task_registered").then(
7090
+ CadenzaService.createMetaTask(
7091
+ "Ensure actor and task sync ready from task registration",
7092
+ (ctx) => {
7093
+ if (!this.tasksSynced || !this.actorsSynced) {
7094
+ return false;
7095
+ }
7096
+ return ctx;
7097
+ }
7098
+ ).then(this.registerActorTaskMapTask)
7099
+ );
7071
7100
  CadenzaService.registry.getAllRoutines.clone().doOn(
7072
7101
  "meta.sync_controller.synced_routines",
7102
+ "meta.sync_controller.synced_tasks",
7073
7103
  "meta.sync_controller.task_registered"
7074
7104
  ).then(
7075
7105
  CadenzaService.createMetaTask(
@@ -7308,12 +7338,12 @@ var CadenzaService = class {
7308
7338
  static bootstrap() {
7309
7339
  if (this.isBootstrapped) return;
7310
7340
  this.isBootstrapped = true;
7311
- import_core4.default.bootstrap();
7312
- this.signalBroker = import_core4.default.signalBroker;
7313
- this.inquiryBroker = import_core4.default.inquiryBroker;
7314
- this.runner = import_core4.default.runner;
7315
- this.metaRunner = import_core4.default.metaRunner;
7316
- this.registry = import_core4.default.registry;
7341
+ import_core5.default.bootstrap();
7342
+ this.signalBroker = import_core5.default.signalBroker;
7343
+ this.inquiryBroker = import_core5.default.inquiryBroker;
7344
+ this.runner = import_core5.default.runner;
7345
+ this.metaRunner = import_core5.default.metaRunner;
7346
+ this.registry = import_core5.default.registry;
7317
7347
  this.serviceRegistry = ServiceRegistry.instance;
7318
7348
  RestController.instance;
7319
7349
  SocketController.instance;
@@ -7347,8 +7377,8 @@ var CadenzaService = class {
7347
7377
  return;
7348
7378
  }
7349
7379
  this.frontendSyncScheduled = true;
7350
- import_core4.default.interval("meta.sync_requested", { __syncing: false }, 18e4);
7351
- import_core4.default.schedule("meta.sync_requested", { __syncing: false }, 250);
7380
+ import_core5.default.interval("meta.sync_requested", { __syncing: false }, 18e4);
7381
+ import_core5.default.schedule("meta.sync_requested", { __syncing: false }, 250);
7352
7382
  }
7353
7383
  static normalizeDeclaredTransports(transports, serviceId) {
7354
7384
  return (transports ?? []).map((transport) => normalizeServiceTransportConfig(transport)).filter(
@@ -7405,7 +7435,7 @@ var CadenzaService = class {
7405
7435
  * @return {void} Does not return any value.
7406
7436
  */
7407
7437
  static validateName(name) {
7408
- import_core4.default.validateName(name);
7438
+ import_core5.default.validateName(name);
7409
7439
  }
7410
7440
  /**
7411
7441
  * Gets the current run strategy from the Cadenza configuration.
@@ -7413,7 +7443,7 @@ var CadenzaService = class {
7413
7443
  * @return {Function} The run strategy function defined in the Cadenza configuration.
7414
7444
  */
7415
7445
  static get runStrategy() {
7416
- return import_core4.default.runStrategy;
7446
+ return import_core5.default.runStrategy;
7417
7447
  }
7418
7448
  /**
7419
7449
  * Sets the mode for the Cadenza application.
@@ -7422,7 +7452,7 @@ var CadenzaService = class {
7422
7452
  * @return {void} This method does not return a value.
7423
7453
  */
7424
7454
  static setMode(mode) {
7425
- import_core4.default.setMode(mode);
7455
+ import_core5.default.setMode(mode);
7426
7456
  }
7427
7457
  /**
7428
7458
  * Emits a signal with the specified data using the associated broker.
@@ -7440,16 +7470,16 @@ var CadenzaService = class {
7440
7470
  * ```
7441
7471
  */
7442
7472
  static emit(signal, data = {}, options = {}) {
7443
- import_core4.default.emit(signal, data, options);
7473
+ import_core5.default.emit(signal, data, options);
7444
7474
  }
7445
7475
  static debounce(signal, context = {}, delayMs = 500) {
7446
- import_core4.default.debounce(signal, context, delayMs);
7476
+ import_core5.default.debounce(signal, context, delayMs);
7447
7477
  }
7448
7478
  static schedule(signal, context, timeoutMs, exactDateTime) {
7449
- import_core4.default.schedule(signal, context, timeoutMs, exactDateTime);
7479
+ import_core5.default.schedule(signal, context, timeoutMs, exactDateTime);
7450
7480
  }
7451
7481
  static interval(signal, context, intervalMs, leading = false, startDateTime) {
7452
- import_core4.default.interval(signal, context, intervalMs, leading, startDateTime);
7482
+ import_core5.default.interval(signal, context, intervalMs, leading, startDateTime);
7453
7483
  }
7454
7484
  static defineIntent(intent) {
7455
7485
  this.inquiryBroker?.addIntent(intent);
@@ -7711,7 +7741,7 @@ var CadenzaService = class {
7711
7741
  });
7712
7742
  }
7713
7743
  static get(taskName) {
7714
- return import_core4.default.get(taskName);
7744
+ return import_core5.default.get(taskName);
7715
7745
  }
7716
7746
  static getLocalCadenzaDBTask(tableName, operation) {
7717
7747
  const generatedTaskName = this.buildGeneratedLocalCadenzaDBTaskName(
@@ -7722,7 +7752,7 @@ var CadenzaService = class {
7722
7752
  tableName,
7723
7753
  operation
7724
7754
  );
7725
- return import_core4.default.get(generatedTaskName) ?? import_core4.default.get(legacyTaskName);
7755
+ return import_core5.default.get(generatedTaskName) ?? import_core5.default.get(legacyTaskName);
7726
7756
  }
7727
7757
  static getLocalCadenzaDBInsertTask(tableName) {
7728
7758
  return this.getLocalCadenzaDBTask(tableName, "insert");
@@ -7731,15 +7761,15 @@ var CadenzaService = class {
7731
7761
  return this.getLocalCadenzaDBTask(tableName, "query");
7732
7762
  }
7733
7763
  static getActor(actorName) {
7734
- const cadenzaWithActors = import_core4.default;
7764
+ const cadenzaWithActors = import_core5.default;
7735
7765
  return cadenzaWithActors.getActor?.(actorName);
7736
7766
  }
7737
7767
  static getAllActors() {
7738
- const cadenzaWithActors = import_core4.default;
7768
+ const cadenzaWithActors = import_core5.default;
7739
7769
  return cadenzaWithActors.getAllActors?.() ?? [];
7740
7770
  }
7741
7771
  static getRoutine(routineName) {
7742
- return import_core4.default.getRoutine(routineName);
7772
+ return import_core5.default.getRoutine(routineName);
7743
7773
  }
7744
7774
  /**
7745
7775
  * Creates a new DeputyTask instance based on the provided routine name, service name, and options.
@@ -8267,7 +8297,7 @@ var CadenzaService = class {
8267
8297
  return true;
8268
8298
  }).doOn("meta.service_registry.instance_inserted");
8269
8299
  if (!options.cadenzaDB?.connect && isFrontend) {
8270
- import_core4.default.schedule(
8300
+ import_core5.default.schedule(
8271
8301
  "meta.service_registry.instance_registration_requested",
8272
8302
  {
8273
8303
  data: {
@@ -8528,11 +8558,11 @@ var CadenzaService = class {
8528
8558
  }
8529
8559
  static createActor(spec, options = {}) {
8530
8560
  this.bootstrap();
8531
- return import_core4.default.createActor(spec, options);
8561
+ return import_core5.default.createActor(spec, options);
8532
8562
  }
8533
8563
  static createActorFromDefinition(definition, options = {}) {
8534
8564
  this.bootstrap();
8535
- return import_core4.default.createActorFromDefinition(definition, options);
8565
+ return import_core5.default.createActorFromDefinition(definition, options);
8536
8566
  }
8537
8567
  /**
8538
8568
  * Creates and registers a new task with the provided name, function, and optional details.
@@ -8606,7 +8636,7 @@ var CadenzaService = class {
8606
8636
  */
8607
8637
  static createTask(name, func, description, options = {}) {
8608
8638
  this.bootstrap();
8609
- return import_core4.default.createTask(name, func, description, options);
8639
+ return import_core5.default.createTask(name, func, description, options);
8610
8640
  }
8611
8641
  /**
8612
8642
  * Creates a meta task with the specified name, functionality, description, and options.
@@ -8622,7 +8652,7 @@ var CadenzaService = class {
8622
8652
  */
8623
8653
  static createMetaTask(name, func, description, options = {}) {
8624
8654
  this.bootstrap();
8625
- return import_core4.default.createMetaTask(name, func, description, options);
8655
+ return import_core5.default.createMetaTask(name, func, description, options);
8626
8656
  }
8627
8657
  /**
8628
8658
  * Creates a unique task by wrapping the provided task function with a uniqueness constraint.
@@ -8672,7 +8702,7 @@ var CadenzaService = class {
8672
8702
  */
8673
8703
  static createUniqueTask(name, func, description, options = {}) {
8674
8704
  this.bootstrap();
8675
- return import_core4.default.createUniqueTask(name, func, description, options);
8705
+ return import_core5.default.createUniqueTask(name, func, description, options);
8676
8706
  }
8677
8707
  /**
8678
8708
  * Creates a unique meta task with the specified name, function, description, and options.
@@ -8686,7 +8716,7 @@ var CadenzaService = class {
8686
8716
  */
8687
8717
  static createUniqueMetaTask(name, func, description, options = {}) {
8688
8718
  this.bootstrap();
8689
- return import_core4.default.createUniqueMetaTask(name, func, description, options);
8719
+ return import_core5.default.createUniqueMetaTask(name, func, description, options);
8690
8720
  }
8691
8721
  /**
8692
8722
  * Creates a throttled task with a concurrency limit of 1, ensuring that only one instance of the task can run at a time for a specific throttle tag.
@@ -8719,7 +8749,7 @@ var CadenzaService = class {
8719
8749
  */
8720
8750
  static createThrottledTask(name, func, throttledIdGetter = () => "default", description, options = {}) {
8721
8751
  this.bootstrap();
8722
- return import_core4.default.createThrottledTask(
8752
+ return import_core5.default.createThrottledTask(
8723
8753
  name,
8724
8754
  func,
8725
8755
  throttledIdGetter,
@@ -8740,7 +8770,7 @@ var CadenzaService = class {
8740
8770
  */
8741
8771
  static createThrottledMetaTask(name, func, throttledIdGetter = () => "default", description, options = {}) {
8742
8772
  this.bootstrap();
8743
- return import_core4.default.createThrottledMetaTask(
8773
+ return import_core5.default.createThrottledMetaTask(
8744
8774
  name,
8745
8775
  func,
8746
8776
  throttledIdGetter,
@@ -8783,7 +8813,7 @@ var CadenzaService = class {
8783
8813
  */
8784
8814
  static createDebounceTask(name, func, description, debounceTime = 1e3, options = {}) {
8785
8815
  this.bootstrap();
8786
- return import_core4.default.createDebounceTask(
8816
+ return import_core5.default.createDebounceTask(
8787
8817
  name,
8788
8818
  func,
8789
8819
  description,
@@ -8804,7 +8834,7 @@ var CadenzaService = class {
8804
8834
  */
8805
8835
  static createDebounceMetaTask(name, func, description, debounceTime = 1e3, options = {}) {
8806
8836
  this.bootstrap();
8807
- return import_core4.default.createDebounceMetaTask(
8837
+ return import_core5.default.createDebounceMetaTask(
8808
8838
  name,
8809
8839
  func,
8810
8840
  description,
@@ -8874,7 +8904,7 @@ var CadenzaService = class {
8874
8904
  */
8875
8905
  static createEphemeralTask(name, func, description, options = {}) {
8876
8906
  this.bootstrap();
8877
- return import_core4.default.createEphemeralTask(name, func, description, options);
8907
+ return import_core5.default.createEphemeralTask(name, func, description, options);
8878
8908
  }
8879
8909
  /**
8880
8910
  * Creates an ephemeral meta-task with the specified name, function, description, and options.
@@ -8888,7 +8918,7 @@ var CadenzaService = class {
8888
8918
  */
8889
8919
  static createEphemeralMetaTask(name, func, description, options = {}) {
8890
8920
  this.bootstrap();
8891
- return import_core4.default.createEphemeralMetaTask(name, func, description, options);
8921
+ return import_core5.default.createEphemeralMetaTask(name, func, description, options);
8892
8922
  }
8893
8923
  /**
8894
8924
  * Creates a new routine with the specified name, tasks, and an optional description.
@@ -8920,7 +8950,7 @@ var CadenzaService = class {
8920
8950
  */
8921
8951
  static createRoutine(name, tasks, description = "") {
8922
8952
  this.bootstrap();
8923
- return import_core4.default.createRoutine(name, tasks, description);
8953
+ return import_core5.default.createRoutine(name, tasks, description);
8924
8954
  }
8925
8955
  /**
8926
8956
  * Creates a meta routine with a given name, tasks, and optional description.
@@ -8935,10 +8965,10 @@ var CadenzaService = class {
8935
8965
  */
8936
8966
  static createMetaRoutine(name, tasks, description = "") {
8937
8967
  this.bootstrap();
8938
- return import_core4.default.createMetaRoutine(name, tasks, description);
8968
+ return import_core5.default.createMetaRoutine(name, tasks, description);
8939
8969
  }
8940
8970
  static reset() {
8941
- import_core4.default.reset();
8971
+ import_core5.default.reset();
8942
8972
  this.serviceRegistry?.reset();
8943
8973
  this.isBootstrapped = false;
8944
8974
  this.serviceCreated = false;
@@ -8956,7 +8986,7 @@ CadenzaService.hydratedInquiryResults = /* @__PURE__ */ new Map();
8956
8986
  CadenzaService.frontendSyncScheduled = false;
8957
8987
 
8958
8988
  // src/index.ts
8959
- var import_core5 = require("@cadenza.io/core");
8989
+ var import_core6 = require("@cadenza.io/core");
8960
8990
 
8961
8991
  // src/ssr/createSSRInquiryBridge.ts
8962
8992
  var import_uuid5 = require("uuid");