@cadenza.io/service 2.17.70 → 2.17.72

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.
@@ -5645,6 +5645,14 @@ function decomposeSignalName(signalName) {
5645
5645
  }
5646
5646
 
5647
5647
  // src/signals/SignalController.ts
5648
+ function buildSignalDatabaseTriggerContext(data) {
5649
+ return {
5650
+ data: { ...data },
5651
+ queryData: {
5652
+ data: { ...data }
5653
+ }
5654
+ };
5655
+ }
5648
5656
  var SignalController = class _SignalController {
5649
5657
  static get instance() {
5650
5658
  if (!this._instance) this._instance = new _SignalController();
@@ -5670,15 +5678,16 @@ var SignalController = class _SignalController {
5670
5678
  (ctx, emit) => {
5671
5679
  const { signalName } = ctx;
5672
5680
  const { isMeta, isGlobal, domain, action } = decomposeSignalName(signalName);
5673
- emit("global.meta.signal_controller.signal_added", {
5674
- data: {
5681
+ emit(
5682
+ "global.meta.signal_controller.signal_added",
5683
+ buildSignalDatabaseTriggerContext({
5675
5684
  name: signalName,
5676
5685
  isGlobal,
5677
5686
  domain,
5678
5687
  action,
5679
5688
  isMeta
5680
- }
5681
- });
5689
+ })
5690
+ );
5682
5691
  return ctx;
5683
5692
  },
5684
5693
  "Handles signal registration from a service instance"
@@ -5842,6 +5851,23 @@ function registerActorSessionPersistenceTasks() {
5842
5851
  }
5843
5852
 
5844
5853
  // src/graph/controllers/GraphMetadataController.ts
5854
+ function buildDatabaseTriggerContext(data, filter, extra = {}) {
5855
+ const nextData = data && typeof data === "object" ? { ...data } : void 0;
5856
+ const nextFilter = filter && typeof filter === "object" ? { ...filter } : void 0;
5857
+ const queryData = {};
5858
+ if (nextData !== void 0) {
5859
+ queryData.data = nextData;
5860
+ }
5861
+ if (nextFilter !== void 0) {
5862
+ queryData.filter = nextFilter;
5863
+ }
5864
+ return {
5865
+ ...extra,
5866
+ ...nextData !== void 0 ? { data: nextData } : {},
5867
+ ...nextFilter !== void 0 ? { filter: nextFilter } : {},
5868
+ ...Object.keys(queryData).length > 0 ? { queryData } : {}
5869
+ };
5870
+ }
5845
5871
  var GraphMetadataController = class _GraphMetadataController {
5846
5872
  static get instance() {
5847
5873
  if (!this._instance) this._instance = new _GraphMetadataController();
@@ -5849,21 +5875,19 @@ var GraphMetadataController = class _GraphMetadataController {
5849
5875
  }
5850
5876
  constructor() {
5851
5877
  CadenzaService.createMetaTask("Handle task creation", (ctx) => {
5852
- return {
5853
- data: {
5854
- ...ctx.data,
5855
- serviceName: CadenzaService.serviceRegistry.serviceName
5856
- }
5857
- };
5878
+ return buildDatabaseTriggerContext({
5879
+ ...ctx.data,
5880
+ serviceName: CadenzaService.serviceRegistry.serviceName
5881
+ });
5858
5882
  }).doOn("meta.task.created").emits("global.meta.graph_metadata.task_created");
5859
5883
  CadenzaService.createMetaTask("Handle task update", (ctx) => {
5860
- return {
5861
- ...ctx,
5862
- filter: {
5884
+ return buildDatabaseTriggerContext(
5885
+ ctx.data ?? void 0,
5886
+ {
5863
5887
  ...ctx.filter,
5864
5888
  serviceName: CadenzaService.serviceRegistry.serviceName
5865
5889
  }
5866
- };
5890
+ );
5867
5891
  }).doOn("meta.task.layer_index_changed", "meta.task.destroyed").emits("global.meta.graph_metadata.task_updated");
5868
5892
  CadenzaService.createMetaTask("Handle task relationship creation", (ctx) => {
5869
5893
  const taskName = ctx.data?.taskName ?? ctx.data?.task_name;
@@ -5873,114 +5897,101 @@ var GraphMetadataController = class _GraphMetadataController {
5873
5897
  if (!task?.registered || !predecessorTask?.registered) {
5874
5898
  return false;
5875
5899
  }
5876
- return {
5877
- data: {
5878
- ...ctx.data,
5879
- serviceName: CadenzaService.serviceRegistry.serviceName,
5880
- predecessorServiceName: CadenzaService.serviceRegistry.serviceName
5881
- }
5882
- };
5900
+ return buildDatabaseTriggerContext({
5901
+ ...ctx.data,
5902
+ serviceName: CadenzaService.serviceRegistry.serviceName,
5903
+ predecessorServiceName: CadenzaService.serviceRegistry.serviceName
5904
+ });
5883
5905
  }).doOn("meta.task.relationship_added").emits("global.meta.graph_metadata.task_relationship_created");
5884
5906
  CadenzaService.createMetaTask("Handle task error", (ctx) => {
5885
5907
  CadenzaService.log(`Error in task ${ctx.data.taskName}`, ctx.data, "error");
5886
5908
  }).doOn("meta.node.errored");
5887
5909
  CadenzaService.createMetaTask("Handle task signal observation", (ctx) => {
5888
5910
  const isGlobal = ctx.signalName.startsWith("global.");
5889
- return {
5890
- data: {
5891
- ...ctx.data,
5892
- isGlobal,
5893
- serviceName: CadenzaService.serviceRegistry.serviceName
5894
- }
5895
- };
5911
+ return buildDatabaseTriggerContext({
5912
+ ...ctx.data,
5913
+ isGlobal,
5914
+ serviceName: CadenzaService.serviceRegistry.serviceName
5915
+ });
5896
5916
  }).doOn("meta.task.observed_signal").emits("global.meta.graph_metadata.task_signal_observed");
5897
5917
  CadenzaService.createMetaTask("Handle task signal attachment", (ctx) => {
5898
- return {
5899
- data: {
5900
- ...ctx.data
5901
- },
5902
- filter: {
5918
+ return buildDatabaseTriggerContext(
5919
+ ctx.data ?? void 0,
5920
+ {
5903
5921
  ...ctx.filter,
5904
5922
  serviceName: CadenzaService.serviceRegistry.serviceName
5905
5923
  }
5906
- };
5924
+ );
5907
5925
  }).doOn("meta.task.attached_signal").emits("global.meta.graph_metadata.task_attached_signal");
5908
5926
  CadenzaService.createMetaTask("Handle task unsubscribing signal", (ctx) => {
5909
- return {
5910
- data: {
5927
+ return buildDatabaseTriggerContext(
5928
+ {
5911
5929
  deleted: true
5912
5930
  },
5913
- filter: {
5931
+ {
5914
5932
  ...ctx.filter,
5915
5933
  serviceName: CadenzaService.serviceRegistry.serviceName
5916
5934
  }
5917
- };
5935
+ );
5918
5936
  }).doOn("meta.task.unsubscribed_signal").emits("meta.graph_metadata.task_unsubscribed_signal");
5919
5937
  CadenzaService.createMetaTask("Handle task detaching signal", (ctx) => {
5920
- return {
5921
- data: {
5938
+ return buildDatabaseTriggerContext(
5939
+ {
5922
5940
  deleted: true
5923
5941
  },
5924
- filter: {
5942
+ {
5925
5943
  ...ctx.filter,
5926
5944
  serviceName: CadenzaService.serviceRegistry.serviceName
5927
5945
  }
5928
- };
5946
+ );
5929
5947
  }).doOn("meta.task.detached_signal").emits("global.meta.graph_metadata.task_detached_signal");
5930
5948
  CadenzaService.createMetaTask("Handle routine creation", (ctx) => {
5931
- return {
5932
- data: {
5933
- ...ctx.data,
5934
- serviceName: CadenzaService.serviceRegistry.serviceName
5935
- }
5936
- };
5949
+ return buildDatabaseTriggerContext({
5950
+ ...ctx.data,
5951
+ serviceName: CadenzaService.serviceRegistry.serviceName
5952
+ });
5937
5953
  }).doAfter(CadenzaService.registry.registerRoutine).emits("global.meta.graph_metadata.routine_created");
5938
5954
  CadenzaService.createMetaTask("Handle routine update", (ctx) => {
5939
- return {
5940
- ...ctx,
5941
- filter: {
5955
+ return buildDatabaseTriggerContext(
5956
+ ctx.data ?? void 0,
5957
+ {
5942
5958
  ...ctx.filter,
5943
5959
  serviceName: CadenzaService.serviceRegistry.serviceName
5944
5960
  }
5945
- };
5961
+ );
5946
5962
  }).doOn("meta.routine.destroyed").emits("global.meta.graph_metadata.routine_updated");
5947
5963
  CadenzaService.createMetaTask("Handle adding task to routine", (ctx) => {
5948
- return {
5949
- data: {
5950
- ...ctx.data,
5951
- serviceName: CadenzaService.serviceRegistry.serviceName
5952
- }
5953
- };
5964
+ return buildDatabaseTriggerContext({
5965
+ ...ctx.data,
5966
+ serviceName: CadenzaService.serviceRegistry.serviceName
5967
+ });
5954
5968
  }).doOn("meta.routine.task_added").emits("global.meta.graph_metadata.task_added_to_routine");
5955
5969
  CadenzaService.createMetaTask("Handle new trace", (ctx) => {
5956
- return {
5957
- data: {
5958
- ...ctx.data,
5959
- service_name: CadenzaService.serviceRegistry.serviceName,
5960
- service_instance_id: CadenzaService.serviceRegistry.serviceInstanceId
5961
- }
5962
- };
5970
+ return buildDatabaseTriggerContext({
5971
+ ...ctx.data,
5972
+ service_name: CadenzaService.serviceRegistry.serviceName,
5973
+ service_instance_id: CadenzaService.serviceRegistry.serviceInstanceId
5974
+ });
5963
5975
  }).doOn("meta.runner.new_trace", "sub_meta.signal_broker.new_trace").emits("global.meta.graph_metadata.execution_trace_created");
5964
5976
  CadenzaService.createMetaTask(
5965
5977
  "Handle routine execution creation",
5966
5978
  (ctx) => {
5967
- return {
5968
- queryData: {
5969
- data: {
5970
- ...ctx.data,
5971
- serviceName: CadenzaService.serviceRegistry.serviceName,
5972
- serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
5973
- }
5974
- }
5975
- };
5979
+ return buildDatabaseTriggerContext({
5980
+ ...ctx.data,
5981
+ serviceName: CadenzaService.serviceRegistry.serviceName,
5982
+ serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
5983
+ });
5976
5984
  },
5977
5985
  "Handles routine execution creation",
5978
5986
  { concurrency: 100, isSubMeta: true }
5979
5987
  ).doOn("meta.runner.added_tasks").emits("global.meta.graph_metadata.routine_execution_created");
5980
5988
  CadenzaService.createMetaTask(
5981
5989
  "Handle routine execution started",
5982
- () => {
5983
- return true;
5990
+ (ctx) => {
5991
+ return buildDatabaseTriggerContext(
5992
+ ctx.data ?? void 0,
5993
+ ctx.filter ?? void 0
5994
+ );
5984
5995
  },
5985
5996
  "Handles routine execution started",
5986
5997
  { concurrency: 100, isSubMeta: true }
@@ -5988,16 +5999,14 @@ var GraphMetadataController = class _GraphMetadataController {
5988
5999
  CadenzaService.createMetaTask(
5989
6000
  "Handle routine execution ended",
5990
6001
  (ctx) => {
5991
- return {
5992
- data: {
6002
+ return buildDatabaseTriggerContext(
6003
+ {
5993
6004
  ...ctx.data,
5994
6005
  serviceName: CadenzaService.serviceRegistry.serviceName,
5995
6006
  serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
5996
6007
  },
5997
- filter: {
5998
- ...ctx.filter
5999
- }
6000
- };
6008
+ ctx.filter ?? void 0
6009
+ );
6001
6010
  },
6002
6011
  "Handles routine execution ended",
6003
6012
  { concurrency: 100, isSubMeta: true }
@@ -6005,29 +6014,33 @@ var GraphMetadataController = class _GraphMetadataController {
6005
6014
  CadenzaService.createMetaTask(
6006
6015
  "Handle task execution creation",
6007
6016
  (ctx) => {
6008
- return {
6009
- data: {
6010
- ...ctx.data,
6011
- serviceName: CadenzaService.serviceRegistry.serviceName,
6012
- serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
6013
- }
6014
- };
6017
+ return buildDatabaseTriggerContext({
6018
+ ...ctx.data,
6019
+ serviceName: CadenzaService.serviceRegistry.serviceName,
6020
+ serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
6021
+ });
6015
6022
  },
6016
6023
  "Handles task execution creation",
6017
6024
  { concurrency: 100, isSubMeta: true }
6018
6025
  ).doOn("meta.node.scheduled").emits("global.meta.graph_metadata.task_execution_created");
6019
6026
  CadenzaService.createMetaTask(
6020
6027
  "Handle task execution mapped",
6021
- () => {
6022
- return true;
6028
+ (ctx) => {
6029
+ return buildDatabaseTriggerContext(
6030
+ ctx.data ?? void 0,
6031
+ ctx.filter ?? void 0
6032
+ );
6023
6033
  },
6024
6034
  "Handles task execution mapping",
6025
6035
  { concurrency: 100, isSubMeta: true }
6026
6036
  ).doOn("meta.node.mapped", "meta.node.detected_previous_task_execution").emits("global.meta.graph_metadata.task_execution_mapped");
6027
6037
  CadenzaService.createMetaTask(
6028
6038
  "Handle task execution started",
6029
- () => {
6030
- return true;
6039
+ (ctx) => {
6040
+ return buildDatabaseTriggerContext(
6041
+ ctx.data ?? void 0,
6042
+ ctx.filter ?? void 0
6043
+ );
6031
6044
  },
6032
6045
  "Handles task execution started",
6033
6046
  { concurrency: 100, isSubMeta: true }
@@ -6035,16 +6048,14 @@ var GraphMetadataController = class _GraphMetadataController {
6035
6048
  CadenzaService.createMetaTask(
6036
6049
  "Handle task execution ended",
6037
6050
  (ctx) => {
6038
- return {
6039
- data: {
6051
+ return buildDatabaseTriggerContext(
6052
+ {
6040
6053
  ...ctx.data,
6041
6054
  serviceName: CadenzaService.serviceRegistry.serviceName,
6042
6055
  serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
6043
6056
  },
6044
- filter: {
6045
- ...ctx.filter
6046
- }
6047
- };
6057
+ ctx.filter ?? void 0
6058
+ );
6048
6059
  },
6049
6060
  "Handles task execution ended",
6050
6061
  { concurrency: 100, isSubMeta: true }
@@ -6052,45 +6063,39 @@ var GraphMetadataController = class _GraphMetadataController {
6052
6063
  CadenzaService.createMetaTask(
6053
6064
  "Handle task execution relationship creation",
6054
6065
  (ctx) => {
6055
- return {
6056
- data: {
6066
+ return buildDatabaseTriggerContext(
6067
+ {
6057
6068
  executionCount: "increment",
6058
6069
  lastExecuted: formatTimestamp(Date.now())
6059
6070
  },
6060
- filter: {
6071
+ {
6061
6072
  ...ctx.filter,
6062
6073
  serviceName: CadenzaService.serviceRegistry.serviceName
6063
6074
  }
6064
- };
6075
+ );
6065
6076
  },
6066
6077
  "Handles task execution relationship creation",
6067
6078
  { concurrency: 100, isSubMeta: true }
6068
6079
  ).doOn("meta.node.mapped", "meta.node.detected_previous_task_execution").emits("global.meta.graph_metadata.relationship_executed");
6069
6080
  CadenzaService.createMetaTask("Handle actor creation", (ctx) => {
6070
- return {
6071
- data: {
6072
- ...ctx.data,
6073
- service_name: CadenzaService.serviceRegistry.serviceName
6074
- }
6075
- };
6081
+ return buildDatabaseTriggerContext({
6082
+ ...ctx.data,
6083
+ service_name: CadenzaService.serviceRegistry.serviceName
6084
+ });
6076
6085
  }).doOn("meta.actor.created").emits("global.meta.graph_metadata.actor_created");
6077
6086
  CadenzaService.createMetaTask("Handle actor task association", (ctx) => {
6078
- return {
6079
- data: {
6080
- ...ctx.data,
6081
- service_name: CadenzaService.serviceRegistry.serviceName
6082
- }
6083
- };
6087
+ return buildDatabaseTriggerContext({
6088
+ ...ctx.data,
6089
+ service_name: CadenzaService.serviceRegistry.serviceName
6090
+ });
6084
6091
  }).doOn("meta.actor.task_associated").emits("global.meta.graph_metadata.actor_task_associated");
6085
6092
  registerActorSessionPersistenceTasks();
6086
6093
  CadenzaService.createMetaTask("Handle Intent Creation", (ctx) => {
6087
6094
  const intentName = ctx.data?.name;
6088
- return {
6089
- data: {
6090
- ...ctx.data,
6091
- isMeta: intentName ? isMetaIntentName(intentName) : false
6092
- }
6093
- };
6095
+ return buildDatabaseTriggerContext({
6096
+ ...ctx.data,
6097
+ isMeta: intentName ? isMetaIntentName(intentName) : false
6098
+ });
6094
6099
  }).doOn("meta.inquiry_broker.added").emits("global.meta.graph_metadata.intent_created");
6095
6100
  }
6096
6101
  };
@@ -6249,24 +6254,63 @@ function buildMinimalSyncSignalContext(ctx, extra = {}) {
6249
6254
  return nextContext;
6250
6255
  }
6251
6256
  function buildSyncInsertQueryData(ctx, queryData = {}) {
6257
+ const pickQueryData = (source, allowedKeys) => {
6258
+ const next = {};
6259
+ for (const key of allowedKeys) {
6260
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
6261
+ next[key] = source[key];
6262
+ }
6263
+ }
6264
+ return next;
6265
+ };
6252
6266
  const joinedQueryData = getJoinedContextValue(ctx, "queryData");
6253
6267
  const existingQueryData = ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : joinedQueryData && typeof joinedQueryData === "object" ? joinedQueryData : {};
6254
6268
  const nextQueryData = {
6255
- ...existingQueryData,
6269
+ ...pickQueryData(existingQueryData, ["transaction"]),
6256
6270
  ...queryData
6257
6271
  };
6258
6272
  const resolvedData = Object.prototype.hasOwnProperty.call(ctx, "data") || ctx.data !== void 0 ? ctx.data : getJoinedContextValue(ctx, "data");
6259
6273
  const resolvedBatch = Object.prototype.hasOwnProperty.call(ctx, "batch") || ctx.batch !== void 0 ? ctx.batch : getJoinedContextValue(ctx, "batch");
6260
6274
  if (resolvedData !== void 0) {
6261
6275
  nextQueryData.data = resolvedData && typeof resolvedData === "object" && !Array.isArray(resolvedData) ? { ...resolvedData } : resolvedData;
6276
+ } else {
6277
+ delete nextQueryData.data;
6262
6278
  }
6263
6279
  if (resolvedBatch !== void 0) {
6264
6280
  nextQueryData.batch = Array.isArray(resolvedBatch) ? resolvedBatch.map(
6265
6281
  (row) => row && typeof row === "object" ? { ...row } : row
6266
6282
  ) : resolvedBatch;
6283
+ } else {
6284
+ delete nextQueryData.batch;
6267
6285
  }
6268
6286
  return nextQueryData;
6269
6287
  }
6288
+ function buildSyncQueryQueryData(ctx, queryData = {}) {
6289
+ const joinedQueryData = getJoinedContextValue(ctx, "queryData");
6290
+ const existingQueryData = ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : joinedQueryData && typeof joinedQueryData === "object" ? joinedQueryData : {};
6291
+ const nextQueryData = {};
6292
+ const allowedKeys = [
6293
+ "transaction",
6294
+ "filter",
6295
+ "fields",
6296
+ "joins",
6297
+ "sort",
6298
+ "limit",
6299
+ "offset",
6300
+ "queryMode",
6301
+ "aggregates",
6302
+ "groupBy"
6303
+ ];
6304
+ for (const key of allowedKeys) {
6305
+ if (Object.prototype.hasOwnProperty.call(existingQueryData, key)) {
6306
+ nextQueryData[key] = existingQueryData[key];
6307
+ }
6308
+ }
6309
+ return {
6310
+ ...nextQueryData,
6311
+ ...queryData
6312
+ };
6313
+ }
6270
6314
  var REMOTE_AUTHORITY_SYNC_INSERT_CONCURRENCY = 5;
6271
6315
  var REMOTE_AUTHORITY_SYNC_QUERY_CONCURRENCY = 3;
6272
6316
  function wireSyncTaskGraph(predecessorTask, graph, ...completionTasks) {
@@ -6584,10 +6628,10 @@ function resolveSyncQueryTask(isCadenzaDBReady, tableName, queryData = {}, optio
6584
6628
  });
6585
6629
  const prepareQueryTask = CadenzaService.createMetaTask(
6586
6630
  `Prepare graph sync query for ${tableName}`,
6587
- (ctx) => buildSyncExecutionEnvelope(ctx, {
6588
- ...ctx.queryData && typeof ctx.queryData === "object" ? ctx.queryData : {},
6589
- ...queryData
6590
- }),
6631
+ (ctx) => buildSyncExecutionEnvelope(
6632
+ ctx,
6633
+ buildSyncQueryQueryData(ctx, queryData)
6634
+ ),
6591
6635
  `Prepares ${tableName} graph-sync query payloads.`,
6592
6636
  {
6593
6637
  register: false,