@cadenza.io/core 3.1.1 → 3.1.3

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.d.mts CHANGED
@@ -493,6 +493,7 @@ declare class Task extends SignalEmitter implements Graph {
493
493
  detachAllSignals(): this;
494
494
  mapSignals(callback: (signal: string) => void): void[];
495
495
  mapOnFailSignals(callback: (signal: string) => void): void[];
496
+ mapObservedSignals(callback: (signal: string) => void): void[];
496
497
  /**
497
498
  * Emits attached signals.
498
499
  * @param context The context for emission.
@@ -669,6 +670,7 @@ declare class SignalBroker {
669
670
  validateSignalName(signalName: string): void;
670
671
  runner: GraphRunner | undefined;
671
672
  metaRunner: GraphRunner | undefined;
673
+ clearSignalsTask: Task | undefined;
672
674
  getSignalsTask: Task | undefined;
673
675
  signalObservers: Map<string, {
674
676
  fn: (runner: GraphRunner, tasks: (Task | GraphRoutine)[], context: AnyObject) => void;
package/dist/index.d.ts CHANGED
@@ -493,6 +493,7 @@ declare class Task extends SignalEmitter implements Graph {
493
493
  detachAllSignals(): this;
494
494
  mapSignals(callback: (signal: string) => void): void[];
495
495
  mapOnFailSignals(callback: (signal: string) => void): void[];
496
+ mapObservedSignals(callback: (signal: string) => void): void[];
496
497
  /**
497
498
  * Emits attached signals.
498
499
  * @param context The context for emission.
@@ -669,6 +670,7 @@ declare class SignalBroker {
669
670
  validateSignalName(signalName: string): void;
670
671
  runner: GraphRunner | undefined;
671
672
  metaRunner: GraphRunner | undefined;
673
+ clearSignalsTask: Task | undefined;
672
674
  getSignalsTask: Task | undefined;
673
675
  signalObservers: Map<string, {
674
676
  fn: (runner: GraphRunner, tasks: (Task | GraphRoutine)[], context: AnyObject) => void;
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ function deepCloneFilter(input, filterOut = () => false) {
50
50
  const currentTarget = key !== void 0 ? target[key] : target;
51
51
  if (
52
52
  // TODO Should probably not be done like this...
53
- key === "__taskInstance" || key === "__routineInstance" || key === "__task" || key === "__routine" || key === "__httpServer" || key === "__httpsServer" || key === "__socketServer"
53
+ key === "__taskInstance" || key === "__routineInstance" || key === "__task" || key === "__routine" || key === "__tasks" || key === "__routines" || key === "__httpServer" || key === "__httpsServer" || key === "__socketServer"
54
54
  ) {
55
55
  target[key] = source;
56
56
  continue;
@@ -133,7 +133,7 @@ var SignalBroker = class _SignalBroker {
133
133
  this.metaRunner = metaRunner;
134
134
  }
135
135
  init() {
136
- Cadenza.createMetaTask(
136
+ this.clearSignalsTask = Cadenza.createDebounceMetaTask(
137
137
  "Execute and clear queued signals",
138
138
  () => {
139
139
  for (const [id, signals] of this.emitStacks.entries()) {
@@ -201,14 +201,14 @@ var SignalBroker = class _SignalBroker {
201
201
  }
202
202
  }
203
203
  execute(signal, context) {
204
- var _a, _b, _c;
205
- const isMeta = signal.startsWith("meta.");
206
- const isSubMeta = signal.startsWith("sub_meta.") || context.__isSubMeta;
204
+ var _a, _b, _c, _d;
205
+ const isMeta = signal.includes("meta.");
206
+ const isSubMeta = signal.includes("sub_meta.") || context.__isSubMeta;
207
207
  const isMetric = (_a = context.__signalEmission) == null ? void 0 : _a.isMetric;
208
208
  if (!isSubMeta && (!isMeta || this.debug)) {
209
209
  const emittedAt = Date.now();
210
210
  context.__signalEmission = {
211
- ...context.__signalEmission,
211
+ ...(_b = context.__signalEmission) != null ? _b : {},
212
212
  signalName: signal,
213
213
  emittedAt: formatTimestamp(emittedAt),
214
214
  consumed: false,
@@ -223,7 +223,7 @@ var SignalBroker = class _SignalBroker {
223
223
  }
224
224
  if (this.debug && (!isMetric && !isSubMeta || this.verbose)) {
225
225
  console.log(
226
- `EMITTING ${signal} to listeners ${(_c = (_b = this.signalObservers.get(signal)) == null ? void 0 : _b.tasks.size) != null ? _c : 0} with context ${this.verbose ? JSON.stringify(context) : JSON.stringify(context).slice(0, 100)}`
226
+ `EMITTING ${signal} to listeners ${(_d = (_c = this.signalObservers.get(signal)) == null ? void 0 : _c.tasks.size) != null ? _d : 0} with context ${this.verbose ? JSON.stringify(context) : JSON.stringify(context).slice(0, 100)}`
227
227
  );
228
228
  }
229
229
  let executed;
@@ -1389,14 +1389,19 @@ var GraphRoutine = class extends SignalEmitter {
1389
1389
  });
1390
1390
  tasks.forEach((t) => {
1391
1391
  this.tasks.add(t);
1392
- this.emit("meta.routine.task_added", {
1393
- data: {
1394
- taskName: t.name,
1395
- taskVersion: t.version,
1396
- routineName: this.name,
1397
- routineVersion: this.version
1398
- }
1399
- });
1392
+ const tasks2 = t.getIterator();
1393
+ while (tasks2.hasNext()) {
1394
+ const task = tasks2.next();
1395
+ if (!task) break;
1396
+ this.emit("meta.routine.task_added", {
1397
+ data: {
1398
+ taskName: task.name,
1399
+ taskVersion: task.version,
1400
+ routineName: this.name,
1401
+ routineVersion: this.version
1402
+ }
1403
+ });
1404
+ }
1400
1405
  });
1401
1406
  }
1402
1407
  /**
@@ -1604,6 +1609,7 @@ var Task = class extends SignalEmitter {
1604
1609
  isDebounce: this.isDebounce,
1605
1610
  isEphemeral: this.isEphemeral,
1606
1611
  isMeta: this.isMeta,
1612
+ isSubMeta: this.isSubMeta,
1607
1613
  validateInputContext: this.validateInputContext,
1608
1614
  validateOutputContext: this.validateOutputContext
1609
1615
  // inputContextSchemaId: this.inputContextSchema,
@@ -2092,6 +2098,9 @@ var Task = class extends SignalEmitter {
2092
2098
  mapOnFailSignals(callback) {
2093
2099
  return Array.from(this.signalsToEmitOnFail).map(callback);
2094
2100
  }
2101
+ mapObservedSignals(callback) {
2102
+ return Array.from(this.observedSignals).map(callback);
2103
+ }
2095
2104
  /**
2096
2105
  * Emits attached signals.
2097
2106
  * @param context The context for emission.