@cadenza.io/core 1.9.1 → 1.10.1
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 +58 -46
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +58 -46
- 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,24 +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
|
});
|
|
761
|
-
context.
|
|
784
|
+
delete context.__signalEmission;
|
|
785
|
+
this.migrate(context);
|
|
762
786
|
}
|
|
763
787
|
}
|
|
764
788
|
}
|
|
@@ -768,12 +792,12 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
768
792
|
}
|
|
769
793
|
const memento = this.lightExport();
|
|
770
794
|
if (this.previousNodes.length === 0) {
|
|
771
|
-
this.
|
|
795
|
+
this.emitWithMetadata("meta.node.started_routine_execution", memento);
|
|
772
796
|
}
|
|
773
797
|
if (this.debug) {
|
|
774
798
|
this.log();
|
|
775
799
|
}
|
|
776
|
-
this.
|
|
800
|
+
this.emitWithMetadata("meta.node.started", memento);
|
|
777
801
|
return this.executionStart;
|
|
778
802
|
}
|
|
779
803
|
end() {
|
|
@@ -785,11 +809,11 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
785
809
|
this.executionTime = end - this.executionStart;
|
|
786
810
|
const memento = this.lightExport();
|
|
787
811
|
if (this.errored || this.failed) {
|
|
788
|
-
this.
|
|
812
|
+
this.emitWithMetadata("meta.node.errored", memento);
|
|
789
813
|
}
|
|
790
|
-
this.
|
|
814
|
+
this.emitWithMetadata("meta.node.ended", memento);
|
|
791
815
|
if (this.graphDone()) {
|
|
792
|
-
this.
|
|
816
|
+
this.emitWithMetadata(
|
|
793
817
|
`meta.node.ended_routine_execution:${this.routineExecId}`,
|
|
794
818
|
memento
|
|
795
819
|
);
|
|
@@ -852,30 +876,19 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
852
876
|
});
|
|
853
877
|
}
|
|
854
878
|
}
|
|
855
|
-
emitWithMetadata(signal,
|
|
879
|
+
emitWithMetadata(signal, ctx) {
|
|
856
880
|
this.emit(signal, {
|
|
857
|
-
...
|
|
858
|
-
|
|
859
|
-
|
|
881
|
+
...ctx,
|
|
882
|
+
__signalEmission: {
|
|
883
|
+
taskId: this.task.id,
|
|
884
|
+
taskExecutionId: this.id
|
|
885
|
+
}
|
|
860
886
|
});
|
|
861
|
-
if (!signal.includes(".meta")) {
|
|
862
|
-
this.emit("meta.node.emitted_signal", {
|
|
863
|
-
__signal_log: {
|
|
864
|
-
signal_name: signal,
|
|
865
|
-
log_type: "emit",
|
|
866
|
-
emitted_by_task_id: this.task.id,
|
|
867
|
-
task_execution_id: this.id,
|
|
868
|
-
relation_type: "emitter",
|
|
869
|
-
metadata: {},
|
|
870
|
-
is_meta: false
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
}
|
|
874
887
|
}
|
|
875
888
|
onProgress(progress) {
|
|
876
889
|
var _a, _b, _c;
|
|
877
890
|
progress = Math.min(Math.max(0, progress), 1);
|
|
878
|
-
this.
|
|
891
|
+
this.emitWithMetadata(`meta.node.progress:${this.routineExecId}`, {
|
|
879
892
|
__nodeId: this.id,
|
|
880
893
|
__routineExecId: this.routineExecId,
|
|
881
894
|
__progress: progress,
|
|
@@ -1795,11 +1808,10 @@ var GraphRegistry = class _GraphRegistry {
|
|
|
1795
1808
|
this.tasks = /* @__PURE__ */ new Map();
|
|
1796
1809
|
this.routines = /* @__PURE__ */ new Map();
|
|
1797
1810
|
this.registerTask = new Task(
|
|
1798
|
-
"
|
|
1811
|
+
"Register task",
|
|
1799
1812
|
(context) => {
|
|
1800
1813
|
const { __task } = context;
|
|
1801
1814
|
if (__task && !this.tasks.has(__task.id)) {
|
|
1802
|
-
console.log("Registering task:", __task.name);
|
|
1803
1815
|
this.tasks.set(__task.id, __task);
|
|
1804
1816
|
}
|
|
1805
1817
|
return true;
|