@cadenza.io/core 1.11.6 → 1.11.8

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
@@ -38,6 +38,7 @@ var SignalBroker = class _SignalBroker {
38
38
  // execId -> emitted signals
39
39
  constructor() {
40
40
  this.debug = false;
41
+ this.verbose = false;
41
42
  this.signalObservers = /* @__PURE__ */ new Map();
42
43
  this.emitStacks = /* @__PURE__ */ new Map();
43
44
  this.addSignal("meta.signal_broker.added");
@@ -55,6 +56,9 @@ var SignalBroker = class _SignalBroker {
55
56
  setDebug(value) {
56
57
  this.debug = value;
57
58
  }
59
+ setVerbose(value) {
60
+ this.verbose = value;
61
+ }
58
62
  validateSignalName(signalName) {
59
63
  if (signalName.length > 100) {
60
64
  throw new Error(
@@ -158,8 +162,10 @@ var SignalBroker = class _SignalBroker {
158
162
  }
159
163
  }
160
164
  execute(signal, context) {
165
+ var _a;
161
166
  const isMeta = signal.startsWith("meta.");
162
167
  const isSubMeta = signal.startsWith("sub_meta.");
168
+ const isMetric = (_a = context.__signalEmission) == null ? void 0 : _a.isMetric;
163
169
  if (!isSubMeta && (!isMeta || this.debug)) {
164
170
  const emittedAt = Date.now();
165
171
  context.__signalEmission = {
@@ -176,7 +182,7 @@ var SignalBroker = class _SignalBroker {
176
182
  } else {
177
183
  delete context.__signalEmission;
178
184
  }
179
- if (this.debug) {
185
+ if (this.debug && (!isMetric || this.verbose)) {
180
186
  console.log(
181
187
  `Emitting signal ${signal} with context ${JSON.stringify(context)}`
182
188
  );
@@ -625,23 +631,22 @@ var SignalEmitter = class {
625
631
  this.silent = silent;
626
632
  }
627
633
  /**
628
- * Emits a signal via the broker if not silent.
634
+ * Emits a signal via the broker.
629
635
  * @param signal The signal name.
630
636
  * @param data Optional payload (defaults to empty object).
631
- * @edge No emission if silent; for metrics in silent mode, consider override or separate method.
632
637
  */
633
638
  emit(signal, data = {}) {
634
- if (this.silent) {
635
- return;
636
- }
637
639
  Cadenza.broker.emit(signal, data);
638
640
  }
639
641
  /**
640
- * Emits a signal via the broker even if silent.
642
+ * Emits a signal via the broker if not silent.
641
643
  * @param signal The signal name.
642
644
  * @param data Optional payload (defaults to empty object).
643
645
  */
644
- emitMetric(signal, data = {}) {
646
+ emitMetrics(signal, data = {}) {
647
+ if (this.silent) {
648
+ return;
649
+ }
645
650
  Cadenza.broker.emit(signal, data);
646
651
  }
647
652
  };
@@ -747,7 +752,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
747
752
  layer.add(this);
748
753
  const context = this.context.getFullContext();
749
754
  const scheduledAt = Date.now();
750
- this.emitWithMetadata("meta.node.scheduled", {
755
+ this.emitMetricsWithMetadata("meta.node.scheduled", {
751
756
  data: {
752
757
  uuid: this.id,
753
758
  routineExecutionId: this.routineExecId,
@@ -762,7 +767,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
762
767
  }
763
768
  });
764
769
  this.previousNodes.forEach((node) => {
765
- this.emitWithMetadata("meta.node.mapped", {
770
+ this.emitMetricsWithMetadata("meta.node.mapped", {
766
771
  data: {
767
772
  taskExecutionId: this.id,
768
773
  previousTaskExecutionId: node.id,
@@ -774,7 +779,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
774
779
  }
775
780
  });
776
781
  if (node.failed || node.errored) {
777
- this.emitWithMetadata("meta.node.failed_mapped", {
782
+ this.emitMetricsWithMetadata("meta.node.failed_mapped", {
778
783
  data: {
779
784
  executionCount: "increment"
780
785
  },
@@ -786,7 +791,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
786
791
  }
787
792
  });
788
793
  if (((_a = context.__signalEmission) == null ? void 0 : _a.consumed) === false && (!this.isMeta() || this.debug)) {
789
- this.emitWithMetadata("meta.node.consumed_signal", {
794
+ this.emitMetricsWithMetadata("meta.node.consumed_signal", {
790
795
  data: {
791
796
  signalName: context.__signalEmission.signalName,
792
797
  taskId: this.task.id,
@@ -804,7 +809,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
804
809
  this.executionStart = Date.now();
805
810
  }
806
811
  if (this.previousNodes.length === 0) {
807
- this.emitWithMetadata("meta.node.started_routine_execution", {
812
+ this.emitMetricsWithMetadata("meta.node.started_routine_execution", {
808
813
  data: {
809
814
  isRunning: true,
810
815
  started: formatTimestamp(this.executionStart)
@@ -815,7 +820,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
815
820
  if (this.debug) {
816
821
  this.log();
817
822
  }
818
- this.emitWithMetadata("meta.node.started", {
823
+ this.emitMetricsWithMetadata("meta.node.started", {
819
824
  data: {
820
825
  isRunning: true,
821
826
  started: formatTimestamp(this.executionStart)
@@ -833,7 +838,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
833
838
  this.executionTime = end - this.executionStart;
834
839
  const context = this.context.getFullContext();
835
840
  if (this.errored || this.failed) {
836
- this.emitWithMetadata("meta.node.errored", {
841
+ this.emitMetricsWithMetadata("meta.node.errored", {
837
842
  data: {
838
843
  isRunning: false,
839
844
  errored: this.errored,
@@ -843,7 +848,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
843
848
  filter: { uuid: this.id }
844
849
  });
845
850
  }
846
- this.emitWithMetadata("meta.node.ended", {
851
+ this.emitMetricsWithMetadata("meta.node.ended", {
847
852
  data: {
848
853
  isRunning: false,
849
854
  isComplete: true,
@@ -857,7 +862,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
857
862
  filter: { uuid: this.id }
858
863
  });
859
864
  if (this.graphDone()) {
860
- this.emitWithMetadata(
865
+ this.emitMetricsWithMetadata(
861
866
  `meta.node.ended_routine_execution:${this.routineExecId}`,
862
867
  {
863
868
  data: {
@@ -930,7 +935,6 @@ var GraphNode = class _GraphNode extends SignalEmitter {
930
935
  }
931
936
  }
932
937
  emitWithMetadata(signal, ctx) {
933
- if (this.silent) return;
934
938
  const data = { ...ctx };
935
939
  if (!this.task.isHidden) {
936
940
  data.__signalEmission = {
@@ -943,10 +947,24 @@ var GraphNode = class _GraphNode extends SignalEmitter {
943
947
  }
944
948
  this.emit(signal, data);
945
949
  }
950
+ emitMetricsWithMetadata(signal, ctx) {
951
+ const data = { ...ctx };
952
+ if (!this.task.isHidden) {
953
+ data.__signalEmission = {
954
+ taskId: this.task.id,
955
+ taskExecutionId: this.id,
956
+ isMetric: true
957
+ };
958
+ data.__metadata = {
959
+ __routineExecId: this.routineExecId
960
+ };
961
+ }
962
+ this.emitMetrics(signal, data);
963
+ }
946
964
  onProgress(progress) {
947
965
  var _a, _b;
948
966
  progress = Math.min(Math.max(0, progress), 1);
949
- this.emitWithMetadata("meta.node.progress", {
967
+ this.emitMetricsWithMetadata("meta.node.progress", {
950
968
  data: {
951
969
  progress
952
970
  },
@@ -954,7 +972,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
954
972
  uuid: this.id
955
973
  }
956
974
  });
957
- this.emitWithMetadata(
975
+ this.emitMetricsWithMetadata(
958
976
  `meta.node.routine_execution_progress:${this.routineExecId}`,
959
977
  {
960
978
  data: {
@@ -1235,8 +1253,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
1235
1253
  console.log(
1236
1254
  "Node execution:",
1237
1255
  this.task.name,
1238
- JSON.stringify(this.context.getFullContext()),
1239
- this.routineExecId
1256
+ JSON.stringify(this.context.getFullContext())
1240
1257
  );
1241
1258
  }
1242
1259
  };
@@ -2217,7 +2234,7 @@ var GraphRunner = class extends SignalEmitter {
2217
2234
  const routineExecId = (_a = context.__routineExecId) != null ? _a : uuid6();
2218
2235
  context.__routineExecId = routineExecId;
2219
2236
  if (!isSubMeta) {
2220
- this.emit("meta.runner.added_tasks", {
2237
+ this.emitMetrics("meta.runner.added_tasks", {
2221
2238
  data: {
2222
2239
  uuid: routineExecId,
2223
2240
  name: routineName,
@@ -3008,6 +3025,11 @@ var Cadenza = class {
3008
3025
  this.broker.setDebug(true);
3009
3026
  this.runner.setDebug(true);
3010
3027
  }
3028
+ if (mode === "verbose") {
3029
+ this.broker.setDebug(true);
3030
+ this.broker.setVerbose(true);
3031
+ this.runner.setDebug(true);
3032
+ }
3011
3033
  }
3012
3034
  /**
3013
3035
  * Validates a name for uniqueness and non-emptiness.