@m4trix/core 0.13.0 → 0.15.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.
@@ -502,6 +502,7 @@ var AgentNetwork = class _AgentNetwork {
502
502
  createChannel: (name) => network.addChannel(name),
503
503
  sink: Sink,
504
504
  registerAgent: (agent) => network.registerAgentInternal(agent),
505
+ registerAggregator: (aggregator) => network.registerAggregatorInternal(aggregator),
505
506
  spawner: (factory) => network.createSpawnerInternal(factory)
506
507
  };
507
508
  callback(ctx);
@@ -536,6 +537,9 @@ var AgentNetwork = class _AgentNetwork {
536
537
  };
537
538
  return binding;
538
539
  }
540
+ registerAggregatorInternal(aggregator) {
541
+ return this.registerAgentInternal(aggregator);
542
+ }
539
543
  createSpawnerInternal(factoryClass) {
540
544
  const reg = {
541
545
  factoryClass,
@@ -657,20 +661,110 @@ var AgentNetworkEvent = {
657
661
  };
658
662
  }
659
663
  };
660
- var _params, _logic, _id, _listensTo;
664
+ var EventAggregator = class _EventAggregator {
665
+ constructor({
666
+ listensTo = [],
667
+ emits = [],
668
+ emitWhen
669
+ }) {
670
+ this._listensTo = listensTo;
671
+ this._emits = emits;
672
+ this._emitWhen = emitWhen;
673
+ }
674
+ static listensTo(events) {
675
+ return new _EventAggregator({ listensTo: [...events] });
676
+ }
677
+ emits(events) {
678
+ return new _EventAggregator({
679
+ listensTo: this._listensTo,
680
+ emits: [...this._emits, ...events],
681
+ emitWhen: this._emitWhen
682
+ });
683
+ }
684
+ emitWhen(fn) {
685
+ return new _EventAggregator({
686
+ listensTo: this._listensTo,
687
+ emits: this._emits,
688
+ emitWhen: fn
689
+ });
690
+ }
691
+ mapToEmit(fn) {
692
+ return new EventAggregatorInstance({
693
+ listensTo: this._listensTo.map((eventDef) => eventDef.name),
694
+ emitWhen: this._emitWhen ?? (() => true),
695
+ mapToEmit: fn
696
+ });
697
+ }
698
+ };
699
+ var _id, _listensTo, _emitWhen, _mapToEmit;
700
+ var EventAggregatorInstance = class {
701
+ constructor({
702
+ listensTo,
703
+ emitWhen,
704
+ mapToEmit
705
+ }) {
706
+ __privateAdd(this, _id, void 0);
707
+ __privateAdd(this, _listensTo, void 0);
708
+ __privateAdd(this, _emitWhen, void 0);
709
+ __privateAdd(this, _mapToEmit, void 0);
710
+ __privateSet(this, _id, `event-aggregator-${crypto$1.randomUUID()}`);
711
+ __privateSet(this, _listensTo, listensTo);
712
+ __privateSet(this, _emitWhen, emitWhen);
713
+ __privateSet(this, _mapToEmit, mapToEmit);
714
+ }
715
+ getId() {
716
+ return __privateGet(this, _id);
717
+ }
718
+ getListensTo() {
719
+ return __privateGet(this, _listensTo);
720
+ }
721
+ async invoke(options) {
722
+ const { triggerEvent, emit, runEvents, contextEvents } = options ?? {};
723
+ if (triggerEvent == null) {
724
+ return;
725
+ }
726
+ const emitFn = emit ?? ((_event) => {
727
+ });
728
+ const runEventsValue = runEvents ?? [];
729
+ const contextEventsValue = contextEvents ?? {
730
+ all: [],
731
+ byRun: () => [],
732
+ map: /* @__PURE__ */ new Map()
733
+ };
734
+ const shouldEmit = await __privateGet(this, _emitWhen).call(this, {
735
+ triggerEvent,
736
+ runEvents: runEventsValue,
737
+ contextEvents: contextEventsValue
738
+ });
739
+ if (!shouldEmit) {
740
+ return;
741
+ }
742
+ await __privateGet(this, _mapToEmit).call(this, {
743
+ triggerEvent,
744
+ emit: emitFn,
745
+ runEvents: runEventsValue,
746
+ contextEvents: contextEventsValue
747
+ });
748
+ }
749
+ };
750
+ _id = new WeakMap();
751
+ _listensTo = new WeakMap();
752
+ _emitWhen = new WeakMap();
753
+ _mapToEmit = new WeakMap();
754
+ var _params, _logic, _id2, _listensTo2;
661
755
  var Agent = class {
662
756
  constructor(logic, params, listensTo) {
663
757
  __privateAdd(this, _params, void 0);
664
758
  __privateAdd(this, _logic, void 0);
665
- __privateAdd(this, _id, void 0);
666
- __privateAdd(this, _listensTo, void 0);
759
+ __privateAdd(this, _id2, void 0);
760
+ __privateAdd(this, _listensTo2, void 0);
667
761
  __privateSet(this, _logic, logic);
668
762
  __privateSet(this, _params, params);
669
- __privateSet(this, _id, `agent-${crypto$1.randomUUID()}`);
670
- __privateSet(this, _listensTo, listensTo ?? []);
763
+ __privateSet(this, _id2, `agent-${crypto$1.randomUUID()}`);
764
+ __privateSet(this, _listensTo2, listensTo ?? []);
671
765
  }
672
766
  getListensTo() {
673
- return __privateGet(this, _listensTo);
767
+ return __privateGet(this, _listensTo2);
674
768
  }
675
769
  async invoke(options) {
676
770
  const { triggerEvent, emit, runEvents, contextEvents } = options ?? {};
@@ -689,13 +783,13 @@ var Agent = class {
689
783
  });
690
784
  }
691
785
  getId() {
692
- return __privateGet(this, _id);
786
+ return __privateGet(this, _id2);
693
787
  }
694
788
  };
695
789
  _params = new WeakMap();
696
790
  _logic = new WeakMap();
697
- _id = new WeakMap();
698
- _listensTo = new WeakMap();
791
+ _id2 = new WeakMap();
792
+ _listensTo2 = new WeakMap();
699
793
 
700
794
  // src/matrix/agent-factory.ts
701
795
  var AgentFactory = class _AgentFactory {
@@ -781,12 +875,11 @@ var DepedencyLayer = {
781
875
  name,
782
876
  _name: def.name,
783
877
  config: def.config,
784
- decodeConfig,
785
- define() {
786
- return dep;
787
- }
878
+ decodeConfig
788
879
  };
789
- return dep;
880
+ return Object.assign(dep, {
881
+ define: () => dep
882
+ });
790
883
  }
791
884
  };
792
885
  function toLayerArray(layers) {
@@ -805,6 +898,15 @@ function assertUniqueLayerNames(layers) {
805
898
  seen.add(key);
806
899
  }
807
900
  }
901
+ var DoneTypeId = Symbol.for("sunken-trove/Done");
902
+ var Done = {
903
+ of(value) {
904
+ return { [DoneTypeId]: DoneTypeId, _tag: "Done", done: value };
905
+ },
906
+ is(u) {
907
+ return typeof u === "object" && u !== null && DoneTypeId in u && u[DoneTypeId] === DoneTypeId;
908
+ }
909
+ };
808
910
  var Skill = class _Skill {
809
911
  constructor(params) {
810
912
  this._inputSchema = params.inputSchema;
@@ -911,7 +1013,7 @@ var Skill = class _Skill {
911
1013
  for (const c of chunks) {
912
1014
  yield c;
913
1015
  }
914
- yield { _tag: "Done", done: decodedDone };
1016
+ yield Done.of(decodedDone);
915
1017
  },
916
1018
  invoke: async (input, runtime) => {
917
1019
  const decodedInput = effect.Effect.runSync(
@@ -1144,6 +1246,9 @@ exports.Channel = Channel;
1144
1246
  exports.ChannelName = ChannelName;
1145
1247
  exports.ConfiguredChannel = ConfiguredChannel;
1146
1248
  exports.DepedencyLayer = DepedencyLayer;
1249
+ exports.Done = Done;
1250
+ exports.EventAggregator = EventAggregator;
1251
+ exports.EventAggregatorInstance = EventAggregatorInstance;
1147
1252
  exports.EventMetaSchema = EventMetaSchema;
1148
1253
  exports.ExposeAuthError = ExposeAuthError;
1149
1254
  exports.ExpressEndpoint = ExpressEndpoint;