@cadenza.io/core 1.9.0 → 1.10.0
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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +57 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +57 -43
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -228,7 +228,7 @@ declare class GraphNode extends SignalEmitter implements Graph {
|
|
|
228
228
|
private workAsync;
|
|
229
229
|
private executeAsync;
|
|
230
230
|
private work;
|
|
231
|
-
protected emitWithMetadata(signal: string,
|
|
231
|
+
protected emitWithMetadata(signal: string, ctx: AnyObject): void;
|
|
232
232
|
private onProgress;
|
|
233
233
|
private postProcess;
|
|
234
234
|
private onError;
|
package/dist/index.d.ts
CHANGED
|
@@ -228,7 +228,7 @@ declare class GraphNode extends SignalEmitter implements Graph {
|
|
|
228
228
|
private workAsync;
|
|
229
229
|
private executeAsync;
|
|
230
230
|
private work;
|
|
231
|
-
protected emitWithMetadata(signal: string,
|
|
231
|
+
protected emitWithMetadata(signal: string, ctx: AnyObject): void;
|
|
232
232
|
private onProgress;
|
|
233
233
|
private postProcess;
|
|
234
234
|
private onError;
|
package/dist/index.js
CHANGED
|
@@ -157,16 +157,27 @@ var SignalBroker = class _SignalBroker {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
execute(signal, context) {
|
|
160
|
+
const isMeta = signal.startsWith("meta");
|
|
161
|
+
const emittedAt = Date.now();
|
|
162
|
+
const data = {
|
|
163
|
+
...context,
|
|
164
|
+
__signalEmission: {
|
|
165
|
+
...context.__signalEmission,
|
|
166
|
+
signalName: signal,
|
|
167
|
+
emittedAt,
|
|
168
|
+
isMeta
|
|
169
|
+
}
|
|
170
|
+
};
|
|
160
171
|
let executed;
|
|
161
|
-
executed = this.executeListener(signal,
|
|
172
|
+
executed = this.executeListener(signal, data);
|
|
162
173
|
const parts = signal.slice(0, Math.max(signal.lastIndexOf(":"), signal.lastIndexOf("."))).split(".");
|
|
163
174
|
for (let i = parts.length; i > 0; i--) {
|
|
164
175
|
const parent = parts.slice(0, i).join(".");
|
|
165
|
-
executed = executed || this.executeListener(parent + ".*",
|
|
176
|
+
executed = executed || this.executeListener(parent + ".*", data);
|
|
166
177
|
}
|
|
167
178
|
if (this.debug) {
|
|
168
179
|
console.log(
|
|
169
|
-
`Emitted signal ${signal} with context ${JSON.stringify(
|
|
180
|
+
`Emitted signal ${signal} with context ${JSON.stringify(data)}`,
|
|
170
181
|
executed ? "\u2705" : "\u274C"
|
|
171
182
|
);
|
|
172
183
|
}
|
|
@@ -174,7 +185,8 @@ var SignalBroker = class _SignalBroker {
|
|
|
174
185
|
}
|
|
175
186
|
executeListener(signal, context) {
|
|
176
187
|
const obs = this.signalObservers.get(signal);
|
|
177
|
-
const
|
|
188
|
+
const isMeta = signal.startsWith("meta");
|
|
189
|
+
const runner = isMeta ? this.metaRunner : this.runner;
|
|
178
190
|
if (obs && obs.tasks.size && runner) {
|
|
179
191
|
obs.fn(runner, Array.from(obs.tasks), context);
|
|
180
192
|
return true;
|
|
@@ -182,13 +194,26 @@ var SignalBroker = class _SignalBroker {
|
|
|
182
194
|
return false;
|
|
183
195
|
}
|
|
184
196
|
addSignal(signal) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
this.
|
|
197
|
+
let _signal = signal;
|
|
198
|
+
if (!this.signalObservers.has(_signal)) {
|
|
199
|
+
this.validateSignalName(_signal);
|
|
200
|
+
this.signalObservers.set(_signal, {
|
|
188
201
|
fn: (runner, tasks, context) => runner.run(tasks, context),
|
|
189
202
|
tasks: /* @__PURE__ */ new Set()
|
|
190
203
|
});
|
|
191
|
-
|
|
204
|
+
const sections = _signal.split(":");
|
|
205
|
+
if (sections.length === 2) {
|
|
206
|
+
_signal = sections[0];
|
|
207
|
+
if (!this.signalObservers.has(sections[0])) {
|
|
208
|
+
this.signalObservers.set(_signal, {
|
|
209
|
+
fn: (runner, tasks, context) => runner.run(tasks, context),
|
|
210
|
+
tasks: /* @__PURE__ */ new Set()
|
|
211
|
+
});
|
|
212
|
+
} else {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
this.emit("meta.signal_broker.added", { __signalName: _signal });
|
|
192
217
|
}
|
|
193
218
|
}
|
|
194
219
|
// TODO schedule signals
|
|
@@ -741,23 +766,23 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
741
766
|
if (shouldSchedule) {
|
|
742
767
|
this.layer = layer;
|
|
743
768
|
layer.add(this);
|
|
744
|
-
|
|
769
|
+
const scheduledAt = Date.now();
|
|
770
|
+
this.emitWithMetadata("meta.node.scheduled", {
|
|
745
771
|
...this.lightExport(),
|
|
746
|
-
__scheduled:
|
|
772
|
+
__scheduled: scheduledAt
|
|
747
773
|
});
|
|
748
774
|
const context = this.context.getFullContext();
|
|
749
|
-
if (context.
|
|
750
|
-
this.
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
relation_type: "listener",
|
|
757
|
-
metadata: {},
|
|
758
|
-
is_meta: false
|
|
775
|
+
if (context.__signalEmission !== void 0 && (!this.isMeta() || this.debug)) {
|
|
776
|
+
this.emitWithMetadata("meta.node.consumed_signal", {
|
|
777
|
+
__signalConsumption: {
|
|
778
|
+
signalName: context.__signalEmission.signalName,
|
|
779
|
+
taskId: this.task.id,
|
|
780
|
+
taskExecutionId: this.id,
|
|
781
|
+
consumedAt: scheduledAt
|
|
759
782
|
}
|
|
760
783
|
});
|
|
784
|
+
delete context.__signalEmission;
|
|
785
|
+
this.migrate(context);
|
|
761
786
|
}
|
|
762
787
|
}
|
|
763
788
|
}
|
|
@@ -767,12 +792,12 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
767
792
|
}
|
|
768
793
|
const memento = this.lightExport();
|
|
769
794
|
if (this.previousNodes.length === 0) {
|
|
770
|
-
this.
|
|
795
|
+
this.emitWithMetadata("meta.node.started_routine_execution", memento);
|
|
771
796
|
}
|
|
772
797
|
if (this.debug) {
|
|
773
798
|
this.log();
|
|
774
799
|
}
|
|
775
|
-
this.
|
|
800
|
+
this.emitWithMetadata("meta.node.started", memento);
|
|
776
801
|
return this.executionStart;
|
|
777
802
|
}
|
|
778
803
|
end() {
|
|
@@ -784,11 +809,11 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
784
809
|
this.executionTime = end - this.executionStart;
|
|
785
810
|
const memento = this.lightExport();
|
|
786
811
|
if (this.errored || this.failed) {
|
|
787
|
-
this.
|
|
812
|
+
this.emitWithMetadata("meta.node.errored", memento);
|
|
788
813
|
}
|
|
789
|
-
this.
|
|
814
|
+
this.emitWithMetadata("meta.node.ended", memento);
|
|
790
815
|
if (this.graphDone()) {
|
|
791
|
-
this.
|
|
816
|
+
this.emitWithMetadata(
|
|
792
817
|
`meta.node.ended_routine_execution:${this.routineExecId}`,
|
|
793
818
|
memento
|
|
794
819
|
);
|
|
@@ -851,30 +876,19 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
851
876
|
});
|
|
852
877
|
}
|
|
853
878
|
}
|
|
854
|
-
emitWithMetadata(signal,
|
|
879
|
+
emitWithMetadata(signal, ctx) {
|
|
855
880
|
this.emit(signal, {
|
|
856
|
-
...
|
|
857
|
-
|
|
858
|
-
|
|
881
|
+
...ctx,
|
|
882
|
+
__signalEmission: {
|
|
883
|
+
taskId: this.task.id,
|
|
884
|
+
taskExecutionId: this.id
|
|
885
|
+
}
|
|
859
886
|
});
|
|
860
|
-
if (!signal.includes(".meta")) {
|
|
861
|
-
this.emit("meta.node.emitted_signal", {
|
|
862
|
-
__signal_log: {
|
|
863
|
-
signal_name: signal,
|
|
864
|
-
log_type: "emit",
|
|
865
|
-
emitted_by_task_id: this.task.id,
|
|
866
|
-
task_execution_id: this.id,
|
|
867
|
-
relation_type: "emitter",
|
|
868
|
-
metadata: {},
|
|
869
|
-
is_meta: false
|
|
870
|
-
}
|
|
871
|
-
});
|
|
872
|
-
}
|
|
873
887
|
}
|
|
874
888
|
onProgress(progress) {
|
|
875
889
|
var _a, _b, _c;
|
|
876
890
|
progress = Math.min(Math.max(0, progress), 1);
|
|
877
|
-
this.
|
|
891
|
+
this.emitWithMetadata(`meta.node.progress:${this.routineExecId}`, {
|
|
878
892
|
__nodeId: this.id,
|
|
879
893
|
__routineExecId: this.routineExecId,
|
|
880
894
|
__progress: progress,
|