@reventlessdev/reventless-local 3.0.0-alpha.146 → 3.0.0-alpha.147

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.
@@ -26,7 +26,6 @@ import * as UserStore$ReventlessLocal from "./adapter/Auth/UserStore.res.mjs";
26
26
  import * as Api_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/Api/Api_Builder.res.mjs";
27
27
  import * as TestRunner$ReventlessLocal from "./test/TestRunner.res.mjs";
28
28
  import * as UiFragments$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateViewSlice/UiFragments.res.mjs";
29
- import * as ApiFragments$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/StateViewSlice/ApiFragments.res.mjs";
30
29
  import * as CommandTopic$ReventlessCore from "@reventlessdev/reventless-core/src/components/CommandTopic/CommandTopic.res.mjs";
31
30
  import * as EffectLogger$ReventlessCore from "@reventlessdev/reventless-core/src/util/EffectLogger.res.mjs";
32
31
  import * as BackendState$ReventlessLocal from "./adapter/BackendState.res.mjs";
@@ -52,7 +51,6 @@ import * as PluginBaseFragment$ReventlessCore from "@reventlessdev/reventless-co
52
51
  import * as ProjectionPending$ReventlessLocal from "./adapter/ProjectionPending.res.mjs";
53
52
  import * as ReadModel_Builder$ReventlessLocal from "./components/ReadModel_Builder.res.mjs";
54
53
  import * as UiFragmentRegistry$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry.res.mjs";
55
- import * as ApiFragmentRegistry$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/StateChangeSlice/ApiFragmentRegistry.res.mjs";
56
54
  import * as PlatformMCP_Server$ReventlessLocal from "./adapter/PlatformMCP_Server.res.mjs";
57
55
  import * as Auth_GraphqlContext$ReventlessLocal from "./adapter/Auth/Auth_GraphqlContext.res.mjs";
58
56
  import * as PgProjectionCatchup$ReventlessLocal from "./adapter/PgProjectionCatchup.res.mjs";
@@ -61,9 +59,10 @@ import * as DomainGraphQL_Server$ReventlessLocal from "./adapter/DomainGraphQL_S
61
59
  import * as EventPublish_Callback$ReventlessCore from "@reventlessdev/reventless-core/src/components/EventLog/EventPublish_Callback.res.mjs";
62
60
  import * as LocalGraphQL_Adapter$ReventlessLocal from "./adapter/Api/LocalGraphQL_Adapter.res.mjs";
63
61
  import * as ProjectionCheckpoint$ReventlessLocal from "./adapter/ProjectionCheckpoint.res.mjs";
62
+ import * as ApiFragmentsProjection$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/ApiFragmentsProjection.res.mjs";
64
63
  import * as ExtensionPointMapping$ReventlessInfra from "@reventlessdev/reventless-infra/src/types/ExtensionPointMapping.res.mjs";
65
64
  import * as UiFragments_Projection$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateViewSlice/UiFragments_Projection.res.mjs";
66
- import * as ApiFragments_Projection$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/StateViewSlice/ApiFragments_Projection.res.mjs";
65
+ import * as ApiFragmentRegistrySpec$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/ApiFragmentRegistrySpec.res.mjs";
67
66
  import * as EventLogStorage_Sqlite$ReventlessLocal from "./adapter/EventLog/EventLogStorage_Sqlite.res.mjs";
68
67
  import * as ExtensionPoint_Builder$ReventlessLocal from "./components/ExtensionPoint_Builder.res.mjs";
69
68
  import * as PlatformGraphQL_Server$ReventlessLocal from "./adapter/PlatformGraphQL_Server.res.mjs";
@@ -75,14 +74,15 @@ import * as LocalRuntimeEnvironment$ReventlessLocal from "./adapter/Runtime/Loca
75
74
  import * as LocalScheduledPublisher$ReventlessLocal from "./adapter/Scheduler/LocalScheduledPublisher.res.mjs";
76
75
  import * as Platform_Admin_Structure$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_Admin_Structure.res.mjs";
77
76
  import * as Platform_ApiFragmentsApi$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_ApiFragmentsApi.res.mjs";
77
+ import * as ApiFragmentsReadModelSpec$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/ApiFragmentsReadModelSpec.res.mjs";
78
78
  import * as LocalCommandTopicChannel$ReventlessLocal from "./adapter/CommandTopic/LocalCommandTopicChannel.res.mjs";
79
79
  import * as LocalEventTopicPublisher$ReventlessLocal from "./adapter/EventTopic/LocalEventTopicPublisher.res.mjs";
80
80
  import * as StateChangeSlice_Builder$ReventlessLocal from "./components/StateChangeSlice_Builder.res.mjs";
81
81
  import * as DcbEventLogStorage_Sqlite$ReventlessLocal from "./adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res.mjs";
82
+ import * as ApiFragmentRegistryBehavior$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/ApiFragmentRegistryBehavior.res.mjs";
82
83
  import * as LocalEventCollectorChannel$ReventlessLocal from "./adapter/EventCollector/LocalEventCollectorChannel.res.mjs";
83
84
  import * as PluginRuntime_Builder_Micro$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/Runtime/PluginRuntime_Builder_Micro.res.mjs";
84
85
  import * as UiFragmentRegistry_Behavior$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry_Behavior.res.mjs";
85
- import * as ApiFragmentRegistry_Behavior$ReventlessCore from "@reventlessdev/reventless-core/src/admin/ApiFragmentRegistry/StateChangeSlice/ApiFragmentRegistry_Behavior.res.mjs";
86
86
  import * as InboundTranslationSlice_Builder$ReventlessLocal from "./components/InboundTranslationSlice_Builder.res.mjs";
87
87
  import * as Platform_ComponentDefinitionsApi$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_ComponentDefinitionsApi.res.mjs";
88
88
  import * as OutboundTranslationSlice_Builder$ReventlessLocal from "./components/OutboundTranslationSlice_Builder.res.mjs";
@@ -124,7 +124,7 @@ function decodeUiFragmentRegistryEventEnvelope(eventJson) {
124
124
 
125
125
  function decodeApiFragmentRegistryEventEnvelope(eventJson) {
126
126
  try {
127
- return Stdlib_Option.map(Stdlib_Option.flatMap(Stdlib_JSON.Decode.object(eventJson), d => d["event"]), payload => S.parseJsonOrThrow(payload, ApiFragmentRegistry$ReventlessCore.eventSchema));
127
+ return Stdlib_Option.map(Stdlib_Option.flatMap(Stdlib_JSON.Decode.object(eventJson), d => d["event"]), payload => S.parseJsonOrThrow(payload, ApiFragmentRegistrySpec$ReventlessCore.eventSchema));
128
128
  } catch (exn) {
129
129
  return;
130
130
  }
@@ -657,57 +657,6 @@ function MakeWithConfig(Config) {
657
657
  Projection: UiFragmentsViewSlice_Projection,
658
658
  make: UiFragmentsViewSlice_make
659
659
  };
660
- let Spec$2 = {
661
- name: ApiFragmentRegistry$ReventlessCore.name,
662
- moduleUrl: ApiFragmentRegistry$ReventlessCore.moduleUrl,
663
- Id: Id$Reventless.$$String,
664
- consumedEventSchema: ApiFragmentRegistry$ReventlessCore.consumedEventSchema,
665
- errorSchema: ApiFragmentRegistry$ReventlessCore.errorSchema,
666
- eventSchema: ApiFragmentRegistry$ReventlessCore.eventSchema,
667
- commandSchema: ApiFragmentRegistry$ReventlessCore.commandSchema,
668
- commandAuthorization: ApiFragmentRegistry$ReventlessCore.commandAuthorization,
669
- readConsistency: ApiFragmentRegistry$ReventlessCore.readConsistency
670
- };
671
- let Behavior$1 = {
672
- initialState: undefined,
673
- evolve: ApiFragmentRegistry_Behavior$ReventlessCore.evolve,
674
- decide: ApiFragmentRegistry_Behavior$ReventlessCore.decide,
675
- moduleUrl: ApiFragmentRegistry_Behavior$ReventlessCore.moduleUrl
676
- };
677
- let $$let$2 = StateChangeSlice_Builder$ReventlessLocal.Make(Spec$2)(Behavior$1);
678
- let ApiFragmentRegistrySlice_Spec = $$let$2.Spec;
679
- let ApiFragmentRegistrySlice_Behavior = $$let$2.Behavior;
680
- let ApiFragmentRegistrySlice_isAsync = $$let$2.isAsync;
681
- let ApiFragmentRegistrySlice_make = $$let$2.make;
682
- let ApiFragmentRegistrySlice = {
683
- Spec: ApiFragmentRegistrySlice_Spec,
684
- Behavior: ApiFragmentRegistrySlice_Behavior,
685
- isAsync: ApiFragmentRegistrySlice_isAsync,
686
- make: ApiFragmentRegistrySlice_make
687
- };
688
- let Spec$3 = {
689
- name: ApiFragments$ReventlessCore.name,
690
- moduleUrl: ApiFragments$ReventlessCore.moduleUrl,
691
- stateSchema: ApiFragments$ReventlessCore.stateSchema,
692
- consumedEventSchema: ApiFragments$ReventlessCore.consumedEventSchema,
693
- config: ApiFragments$ReventlessCore.config,
694
- subIdConfig: undefined,
695
- authorization: ApiFragments$ReventlessCore.authorization,
696
- visibility: ApiFragments$ReventlessCore.visibility
697
- };
698
- let Projection$1 = {
699
- project: ApiFragments_Projection$ReventlessCore.project,
700
- moduleUrl: ApiFragments_Projection$ReventlessCore.moduleUrl
701
- };
702
- let $$let$3 = StateViewSliceMaker.Make(Spec$3)(Projection$1);
703
- let ApiFragmentsViewSlice_Spec = $$let$3.Spec;
704
- let ApiFragmentsViewSlice_Projection = $$let$3.Projection;
705
- let ApiFragmentsViewSlice_make = $$let$3.make;
706
- let ApiFragmentsViewSlice = {
707
- Spec: ApiFragmentsViewSlice_Spec,
708
- Projection: ApiFragmentsViewSlice_Projection,
709
- make: ApiFragmentsViewSlice_make
710
- };
711
660
  let Make$8 = Spec => (Projection => {
712
661
  let $$let = StateViewSliceMaker.Make(Spec)(Projection);
713
662
  return {
@@ -778,7 +727,7 @@ function MakeWithConfig(Config) {
778
727
  };
779
728
  let EventCollectorChannel = LocalEventCollectorChannel$ReventlessLocal.Make(Bus);
780
729
  let QE = LocalQueryEngine$ReventlessLocal.Make(Bus);
781
- let $$let$4 = AggregateMaker.Make({
730
+ let $$let$2 = AggregateMaker.Make({
782
731
  Id: Id$Reventless.$$String,
783
732
  name: PluginSpec$ReventlessCore.name,
784
733
  eventSchema: PluginSpec$ReventlessCore.eventSchema,
@@ -797,11 +746,11 @@ function MakeWithConfig(Config) {
797
746
  Id: Id$Reventless.$$String,
798
747
  commandSchema: PluginSpec$ReventlessCore.commandSchema
799
748
  }));
800
- let LocalPluginAggregate_Spec = $$let$4.Spec;
801
- let LocalPluginAggregate_make = $$let$4.make;
802
- let LocalPluginAggregate_outputs = $$let$4.outputs;
803
- let LocalPluginAggregate_operations = $$let$4.operations;
804
- let LocalPluginAggregate_finish = $$let$4.finish;
749
+ let LocalPluginAggregate_Spec = $$let$2.Spec;
750
+ let LocalPluginAggregate_make = $$let$2.make;
751
+ let LocalPluginAggregate_outputs = $$let$2.outputs;
752
+ let LocalPluginAggregate_operations = $$let$2.operations;
753
+ let LocalPluginAggregate_finish = $$let$2.finish;
805
754
  let LocalPluginAggregate = {
806
755
  Spec: LocalPluginAggregate_Spec,
807
756
  make: LocalPluginAggregate_make,
@@ -823,8 +772,53 @@ function MakeWithConfig(Config) {
823
772
  authorization: PluginsReadModelSpec$ReventlessCore.authorization,
824
773
  visibility: PluginsReadModelSpec$ReventlessCore.visibility
825
774
  })(PluginsReadModelMappings);
775
+ let $$let$3 = AggregateMaker.Make({
776
+ Id: Id$Reventless.$$String,
777
+ name: ApiFragmentRegistrySpec$ReventlessCore.name,
778
+ eventSchema: ApiFragmentRegistrySpec$ReventlessCore.eventSchema,
779
+ errorSchema: ApiFragmentRegistrySpec$ReventlessCore.errorSchema,
780
+ commandSchema: ApiFragmentRegistrySpec$ReventlessCore.commandSchema,
781
+ moduleUrl: ApiFragmentRegistrySpec$ReventlessCore.moduleUrl,
782
+ commandAuthorization: ApiFragmentRegistrySpec$ReventlessCore.commandAuthorization
783
+ })({
784
+ initialState: ApiFragmentRegistryBehavior$ReventlessCore.initialState,
785
+ evolve: ApiFragmentRegistryBehavior$ReventlessCore.evolve,
786
+ decide: ApiFragmentRegistryBehavior$ReventlessCore.decide,
787
+ snapshot: undefined,
788
+ moduleUrl: ApiFragmentRegistryBehavior$ReventlessCore.moduleUrl
789
+ })(NoEventMappings$ReventlessInfra.Make({
790
+ name: ApiFragmentRegistrySpec$ReventlessCore.name,
791
+ Id: Id$Reventless.$$String,
792
+ commandSchema: ApiFragmentRegistrySpec$ReventlessCore.commandSchema
793
+ }));
794
+ let LocalApiFragmentRegistryAggregate_Spec = $$let$3.Spec;
795
+ let LocalApiFragmentRegistryAggregate_make = $$let$3.make;
796
+ let LocalApiFragmentRegistryAggregate_outputs = $$let$3.outputs;
797
+ let LocalApiFragmentRegistryAggregate_operations = $$let$3.operations;
798
+ let LocalApiFragmentRegistryAggregate_finish = $$let$3.finish;
799
+ let LocalApiFragmentRegistryAggregate = {
800
+ Spec: LocalApiFragmentRegistryAggregate_Spec,
801
+ make: LocalApiFragmentRegistryAggregate_make,
802
+ outputs: LocalApiFragmentRegistryAggregate_outputs,
803
+ operations: LocalApiFragmentRegistryAggregate_operations,
804
+ finish: LocalApiFragmentRegistryAggregate_finish
805
+ };
806
+ let ApiFragmentsReadModelMappings = {
807
+ moduleUrl: ApiFragmentsProjection$ReventlessCore.moduleUrl,
808
+ mappings: ApiFragmentsProjection$ReventlessCore.mappings
809
+ };
810
+ let ApiFragmentsReadModel = ReadModelMaker.MakeNoResolver({
811
+ Id: Id$Reventless.$$String,
812
+ name: ApiFragmentsReadModelSpec$ReventlessCore.name,
813
+ moduleUrl: ApiFragmentsReadModelSpec$ReventlessCore.moduleUrl,
814
+ stateSchema: ApiFragmentsReadModelSpec$ReventlessCore.stateSchema,
815
+ config: ApiFragmentsReadModelSpec$ReventlessCore.config,
816
+ subIdConfig: undefined,
817
+ authorization: ApiFragmentsReadModelSpec$ReventlessCore.authorization,
818
+ visibility: ApiFragmentsReadModelSpec$ReventlessCore.visibility
819
+ })(ApiFragmentsReadModelMappings);
820
+ let $$let$4 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
826
821
  let $$let$5 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
827
- let $$let$6 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
828
822
  let Admin = Platform_Admin$ReventlessCore.Make({
829
823
  make: LocalRuntimeEnvironment$ReventlessLocal.make,
830
824
  groupBySource: LocalRuntimeEnvironment$ReventlessLocal.groupBySource,
@@ -840,9 +834,9 @@ function MakeWithConfig(Config) {
840
834
  asEventHandler: prim => prim,
841
835
  asEffectHandler: prim => prim
842
836
  })(EventCollectorChannel))(LocalDcbEventLogStorage$ReventlessLocal.Make(Bus))(LocalEventTopicPublisher$ReventlessLocal.Make(Bus))({
843
- make: $$let$5.make
837
+ make: $$let$4.make
844
838
  })({
845
- make: $$let$6.make
839
+ make: $$let$5.make
846
840
  })({
847
841
  silent: Config.silent,
848
842
  splitApi: Config.splitApi,
@@ -903,23 +897,25 @@ function MakeWithConfig(Config) {
903
897
  };
904
898
  return Bus.dispatchCommand(adminDcbCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
905
899
  };
906
- let dispatchApiFragmentCommand = (pluginName, command) => {
907
- let cmdJson_meta = Message$ReventlessCore.generateMeta(ApiFragmentRegistry$ReventlessCore.name, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
908
- let cmdJson_commandJson = S.reverseConvertToJsonOrThrow(command, ApiFragmentRegistry$ReventlessCore.commandSchema);
900
+ let apiFragmentRegistryCmdTopicKey = ApiFragmentRegistrySpec$ReventlessCore.name + "AggrCmdTopic";
901
+ let apiFragmentRegistryEventTopicKey = ApiFragmentRegistrySpec$ReventlessCore.name + "AggrEventTopic";
902
+ let dispatchApiFragmentCommand = command => {
903
+ let cmdJson_meta = Message$ReventlessCore.generateMeta(ApiFragmentRegistrySpec$ReventlessCore.name, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
904
+ let cmdJson_commandJson = S.reverseConvertToJsonOrThrow(command, ApiFragmentRegistrySpec$ReventlessCore.commandSchema);
909
905
  let cmdJson = {
910
- id: pluginName,
906
+ id: "registry",
911
907
  meta: cmdJson_meta,
912
908
  commandJson: cmdJson_commandJson
913
909
  };
914
- return Bus.dispatchCommand(adminDcbCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
910
+ return Bus.dispatchCommand(apiFragmentRegistryCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
915
911
  };
916
912
  let apiFragmentsQueryResolver = async (_root, _args, _ctx) => {
917
- let scanAll = Bus.getQueryDbScan(ApiFragments$ReventlessCore.name);
913
+ let scanAll = Bus.getQueryDbScan(ApiFragmentsReadModelSpec$ReventlessCore.name);
918
914
  let items = scanAll !== undefined ? scanAll() : [];
919
915
  return Stdlib_Array.filterMap(items, item => {
920
916
  let state;
921
917
  try {
922
- state = S.parseOrThrow(item, ApiFragments$ReventlessCore.stateSchema);
918
+ state = S.parseOrThrow(item, ApiFragmentsReadModelSpec$ReventlessCore.stateSchema);
923
919
  } catch (exn) {
924
920
  return;
925
921
  }
@@ -986,35 +982,33 @@ function MakeWithConfig(Config) {
986
982
  return;
987
983
  }
988
984
  let match = decodeUiFragmentRegistryEventEnvelope(eventJson);
989
- if (match !== undefined) {
990
- switch (match.TAG) {
991
- case "UiFragmentRegistered" :
992
- publishUIFragment(match.pluginId, "Registered", S.reverseConvertToJsonOrThrow(match.manifest, Plugin$Reventless.uiFragmentManifestSchema));
993
- break;
994
- case "UiFragmentUpdated" :
995
- publishUIFragment(match.pluginId, "Updated", S.reverseConvertToJsonOrThrow(match.newManifest, Plugin$Reventless.uiFragmentManifestSchema));
996
- break;
997
- case "UiFragmentDeregistered" :
998
- publishUIFragment(match.pluginId, "Deregistered", null);
999
- break;
1000
- }
985
+ if (match === undefined) {
986
+ return;
1001
987
  }
1002
- let match$1 = decodeApiFragmentRegistryEventEnvelope(eventJson);
1003
- if (match$1 === undefined) {
988
+ switch (match.TAG) {
989
+ case "UiFragmentRegistered" :
990
+ return publishUIFragment(match.pluginId, "Registered", S.reverseConvertToJsonOrThrow(match.manifest, Plugin$Reventless.uiFragmentManifestSchema));
991
+ case "UiFragmentUpdated" :
992
+ return publishUIFragment(match.pluginId, "Updated", S.reverseConvertToJsonOrThrow(match.newManifest, Plugin$Reventless.uiFragmentManifestSchema));
993
+ case "UiFragmentDeregistered" :
994
+ return publishUIFragment(match.pluginId, "Deregistered", null);
995
+ }
996
+ });
997
+ Bus.subscribeToEvents(apiFragmentRegistryEventTopicKey, async (_service, _meta, eventJson) => {
998
+ let match = decodeApiFragmentRegistryEventEnvelope(eventJson);
999
+ if (match === undefined) {
1004
1000
  return;
1005
1001
  }
1006
- switch (match$1.TAG) {
1002
+ switch (match.TAG) {
1007
1003
  case "ApiFragmentRegistered" :
1008
1004
  case "ApiFragmentUpdated" :
1009
1005
  break;
1010
- case "ApiFragmentDeregistered" :
1011
- case "ApiFragmentPushRecorded" :
1006
+ default:
1012
1007
  return;
1013
1008
  }
1014
- let pluginId = match$1.pluginId;
1015
- dispatchApiFragmentCommand(pluginId, {
1009
+ dispatchApiFragmentCommand({
1016
1010
  TAG: "RecordApiFragmentPush",
1017
- pluginId: pluginId,
1011
+ pluginId: match.pluginId,
1018
1012
  ok: true,
1019
1013
  message: "",
1020
1014
  at: new Date().toISOString()
@@ -1079,7 +1073,7 @@ function MakeWithConfig(Config) {
1079
1073
  });
1080
1074
  }
1081
1075
  if (apiSchemaFragment !== undefined) {
1082
- dispatchApiFragmentCommand(pluginName, {
1076
+ dispatchApiFragmentCommand({
1083
1077
  TAG: "RegisterApiFragment",
1084
1078
  pluginId: pluginName,
1085
1079
  fragment: apiSchemaFragment,
@@ -1293,7 +1287,11 @@ function MakeWithConfig(Config) {
1293
1287
  hooks_apiRole.contents = {
1294
1288
  val: undefined
1295
1289
  };
1296
- let admin = Admin.construct(version, [], [LocalPluginAggregate], [{
1290
+ let admin = Admin.construct(version, [], [
1291
+ LocalPluginAggregate,
1292
+ LocalApiFragmentRegistryAggregate
1293
+ ], [
1294
+ {
1297
1295
  Spec: PluginsReadModel.Spec,
1298
1296
  sourceNames: PluginsReadModel.sourceNames,
1299
1297
  consumedEventNames: PluginsReadModel.consumedEventNames,
@@ -1301,13 +1299,17 @@ function MakeWithConfig(Config) {
1301
1299
  outputs: PluginsReadModel.outputs,
1302
1300
  operations: PluginsReadModel.operations,
1303
1301
  finish: PluginsReadModel.finish
1304
- }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
1305
- UiFragmentRegistrySlice,
1306
- ApiFragmentRegistrySlice
1307
- ], [
1308
- UiFragmentsViewSlice,
1309
- ApiFragmentsViewSlice
1310
- ], [], [], []);
1302
+ },
1303
+ {
1304
+ Spec: ApiFragmentsReadModel.Spec,
1305
+ sourceNames: ApiFragmentsReadModel.sourceNames,
1306
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
1307
+ make: ApiFragmentsReadModel.make,
1308
+ outputs: ApiFragmentsReadModel.outputs,
1309
+ operations: ApiFragmentsReadModel.operations,
1310
+ finish: ApiFragmentsReadModel.finish
1311
+ }
1312
+ ], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
1311
1313
  hooks_adminExtensionPoints.contents = admin.extensionPointsOutputs.apply(eps => Object.fromEntries(eps.map(ep => [
1312
1314
  ep.name,
1313
1315
  ep
@@ -1679,13 +1681,15 @@ function MakeWithConfig(Config) {
1679
1681
  hooks_apiRole.contents = {
1680
1682
  val: undefined
1681
1683
  };
1682
- Admin.construct(version, [], [], [], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
1683
- UiFragmentRegistrySlice,
1684
- ApiFragmentRegistrySlice
1685
- ], [
1686
- UiFragmentsViewSlice,
1687
- ApiFragmentsViewSlice
1688
- ], [], [], []);
1684
+ Admin.construct(version, [], [LocalApiFragmentRegistryAggregate], [{
1685
+ Spec: ApiFragmentsReadModel.Spec,
1686
+ sourceNames: ApiFragmentsReadModel.sourceNames,
1687
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
1688
+ make: ApiFragmentsReadModel.make,
1689
+ outputs: ApiFragmentsReadModel.outputs,
1690
+ operations: ApiFragmentsReadModel.operations,
1691
+ finish: ApiFragmentsReadModel.finish
1692
+ }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
1689
1693
  currentDeployTarget.contents = "Platform";
1690
1694
  let adminGraphQL = resolveTargetGraphQL();
1691
1695
  let adminMCP = resolveTargetMCP();
@@ -1784,7 +1788,11 @@ function MakeWithConfig(Config) {
1784
1788
  hooks_apiRole.contents = {
1785
1789
  val: undefined
1786
1790
  };
1787
- let admin = Admin.construct("", [], [LocalPluginAggregate], [{
1791
+ let admin = Admin.construct("", [], [
1792
+ LocalPluginAggregate,
1793
+ LocalApiFragmentRegistryAggregate
1794
+ ], [
1795
+ {
1788
1796
  Spec: PluginsReadModel.Spec,
1789
1797
  sourceNames: PluginsReadModel.sourceNames,
1790
1798
  consumedEventNames: PluginsReadModel.consumedEventNames,
@@ -1792,13 +1800,17 @@ function MakeWithConfig(Config) {
1792
1800
  outputs: PluginsReadModel.outputs,
1793
1801
  operations: PluginsReadModel.operations,
1794
1802
  finish: PluginsReadModel.finish
1795
- }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
1796
- UiFragmentRegistrySlice,
1797
- ApiFragmentRegistrySlice
1798
- ], [
1799
- UiFragmentsViewSlice,
1800
- ApiFragmentsViewSlice
1801
- ], [], [], []);
1803
+ },
1804
+ {
1805
+ Spec: ApiFragmentsReadModel.Spec,
1806
+ sourceNames: ApiFragmentsReadModel.sourceNames,
1807
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
1808
+ make: ApiFragmentsReadModel.make,
1809
+ outputs: ApiFragmentsReadModel.outputs,
1810
+ operations: ApiFragmentsReadModel.operations,
1811
+ finish: ApiFragmentsReadModel.finish
1812
+ }
1813
+ ], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
1802
1814
  hooks_adminExtensionPoints.contents = admin.extensionPointsOutputs.apply(eps => Object.fromEntries(eps.map(ep => [
1803
1815
  ep.name,
1804
1816
  ep
@@ -2450,57 +2462,6 @@ function Make($star) {
2450
2462
  Projection: UiFragmentsViewSlice_Projection,
2451
2463
  make: UiFragmentsViewSlice_make
2452
2464
  };
2453
- let Spec$2 = {
2454
- name: ApiFragmentRegistry$ReventlessCore.name,
2455
- moduleUrl: ApiFragmentRegistry$ReventlessCore.moduleUrl,
2456
- Id: Id$Reventless.$$String,
2457
- consumedEventSchema: ApiFragmentRegistry$ReventlessCore.consumedEventSchema,
2458
- errorSchema: ApiFragmentRegistry$ReventlessCore.errorSchema,
2459
- eventSchema: ApiFragmentRegistry$ReventlessCore.eventSchema,
2460
- commandSchema: ApiFragmentRegistry$ReventlessCore.commandSchema,
2461
- commandAuthorization: ApiFragmentRegistry$ReventlessCore.commandAuthorization,
2462
- readConsistency: ApiFragmentRegistry$ReventlessCore.readConsistency
2463
- };
2464
- let Behavior$1 = {
2465
- initialState: undefined,
2466
- evolve: ApiFragmentRegistry_Behavior$ReventlessCore.evolve,
2467
- decide: ApiFragmentRegistry_Behavior$ReventlessCore.decide,
2468
- moduleUrl: ApiFragmentRegistry_Behavior$ReventlessCore.moduleUrl
2469
- };
2470
- let $$let$2 = StateChangeSlice_Builder$ReventlessLocal.Make(Spec$2)(Behavior$1);
2471
- let ApiFragmentRegistrySlice_Spec = $$let$2.Spec;
2472
- let ApiFragmentRegistrySlice_Behavior = $$let$2.Behavior;
2473
- let ApiFragmentRegistrySlice_isAsync = $$let$2.isAsync;
2474
- let ApiFragmentRegistrySlice_make = $$let$2.make;
2475
- let ApiFragmentRegistrySlice = {
2476
- Spec: ApiFragmentRegistrySlice_Spec,
2477
- Behavior: ApiFragmentRegistrySlice_Behavior,
2478
- isAsync: ApiFragmentRegistrySlice_isAsync,
2479
- make: ApiFragmentRegistrySlice_make
2480
- };
2481
- let Spec$3 = {
2482
- name: ApiFragments$ReventlessCore.name,
2483
- moduleUrl: ApiFragments$ReventlessCore.moduleUrl,
2484
- stateSchema: ApiFragments$ReventlessCore.stateSchema,
2485
- consumedEventSchema: ApiFragments$ReventlessCore.consumedEventSchema,
2486
- config: ApiFragments$ReventlessCore.config,
2487
- subIdConfig: undefined,
2488
- authorization: ApiFragments$ReventlessCore.authorization,
2489
- visibility: ApiFragments$ReventlessCore.visibility
2490
- };
2491
- let Projection$1 = {
2492
- project: ApiFragments_Projection$ReventlessCore.project,
2493
- moduleUrl: ApiFragments_Projection$ReventlessCore.moduleUrl
2494
- };
2495
- let $$let$3 = StateViewSliceMaker.Make(Spec$3)(Projection$1);
2496
- let ApiFragmentsViewSlice_Spec = $$let$3.Spec;
2497
- let ApiFragmentsViewSlice_Projection = $$let$3.Projection;
2498
- let ApiFragmentsViewSlice_make = $$let$3.make;
2499
- let ApiFragmentsViewSlice = {
2500
- Spec: ApiFragmentsViewSlice_Spec,
2501
- Projection: ApiFragmentsViewSlice_Projection,
2502
- make: ApiFragmentsViewSlice_make
2503
- };
2504
2465
  let Make$9 = Spec => (Projection => {
2505
2466
  let $$let = StateViewSliceMaker.Make(Spec)(Projection);
2506
2467
  return {
@@ -2570,7 +2531,7 @@ function Make($star) {
2570
2531
  };
2571
2532
  let EventCollectorChannel = LocalEventCollectorChannel$ReventlessLocal.Make(Bus);
2572
2533
  let QE = LocalQueryEngine$ReventlessLocal.Make(Bus);
2573
- let $$let$4 = AggregateMaker.Make({
2534
+ let $$let$2 = AggregateMaker.Make({
2574
2535
  Id: Id$Reventless.$$String,
2575
2536
  name: PluginSpec$ReventlessCore.name,
2576
2537
  eventSchema: PluginSpec$ReventlessCore.eventSchema,
@@ -2589,11 +2550,11 @@ function Make($star) {
2589
2550
  Id: Id$Reventless.$$String,
2590
2551
  commandSchema: PluginSpec$ReventlessCore.commandSchema
2591
2552
  }));
2592
- let LocalPluginAggregate_Spec = $$let$4.Spec;
2593
- let LocalPluginAggregate_make = $$let$4.make;
2594
- let LocalPluginAggregate_outputs = $$let$4.outputs;
2595
- let LocalPluginAggregate_operations = $$let$4.operations;
2596
- let LocalPluginAggregate_finish = $$let$4.finish;
2553
+ let LocalPluginAggregate_Spec = $$let$2.Spec;
2554
+ let LocalPluginAggregate_make = $$let$2.make;
2555
+ let LocalPluginAggregate_outputs = $$let$2.outputs;
2556
+ let LocalPluginAggregate_operations = $$let$2.operations;
2557
+ let LocalPluginAggregate_finish = $$let$2.finish;
2597
2558
  let LocalPluginAggregate = {
2598
2559
  Spec: LocalPluginAggregate_Spec,
2599
2560
  make: LocalPluginAggregate_make,
@@ -2615,8 +2576,53 @@ function Make($star) {
2615
2576
  authorization: PluginsReadModelSpec$ReventlessCore.authorization,
2616
2577
  visibility: PluginsReadModelSpec$ReventlessCore.visibility
2617
2578
  })(PluginsReadModelMappings);
2579
+ let $$let$3 = AggregateMaker.Make({
2580
+ Id: Id$Reventless.$$String,
2581
+ name: ApiFragmentRegistrySpec$ReventlessCore.name,
2582
+ eventSchema: ApiFragmentRegistrySpec$ReventlessCore.eventSchema,
2583
+ errorSchema: ApiFragmentRegistrySpec$ReventlessCore.errorSchema,
2584
+ commandSchema: ApiFragmentRegistrySpec$ReventlessCore.commandSchema,
2585
+ moduleUrl: ApiFragmentRegistrySpec$ReventlessCore.moduleUrl,
2586
+ commandAuthorization: ApiFragmentRegistrySpec$ReventlessCore.commandAuthorization
2587
+ })({
2588
+ initialState: ApiFragmentRegistryBehavior$ReventlessCore.initialState,
2589
+ evolve: ApiFragmentRegistryBehavior$ReventlessCore.evolve,
2590
+ decide: ApiFragmentRegistryBehavior$ReventlessCore.decide,
2591
+ snapshot: undefined,
2592
+ moduleUrl: ApiFragmentRegistryBehavior$ReventlessCore.moduleUrl
2593
+ })(NoEventMappings$ReventlessInfra.Make({
2594
+ name: ApiFragmentRegistrySpec$ReventlessCore.name,
2595
+ Id: Id$Reventless.$$String,
2596
+ commandSchema: ApiFragmentRegistrySpec$ReventlessCore.commandSchema
2597
+ }));
2598
+ let LocalApiFragmentRegistryAggregate_Spec = $$let$3.Spec;
2599
+ let LocalApiFragmentRegistryAggregate_make = $$let$3.make;
2600
+ let LocalApiFragmentRegistryAggregate_outputs = $$let$3.outputs;
2601
+ let LocalApiFragmentRegistryAggregate_operations = $$let$3.operations;
2602
+ let LocalApiFragmentRegistryAggregate_finish = $$let$3.finish;
2603
+ let LocalApiFragmentRegistryAggregate = {
2604
+ Spec: LocalApiFragmentRegistryAggregate_Spec,
2605
+ make: LocalApiFragmentRegistryAggregate_make,
2606
+ outputs: LocalApiFragmentRegistryAggregate_outputs,
2607
+ operations: LocalApiFragmentRegistryAggregate_operations,
2608
+ finish: LocalApiFragmentRegistryAggregate_finish
2609
+ };
2610
+ let ApiFragmentsReadModelMappings = {
2611
+ moduleUrl: ApiFragmentsProjection$ReventlessCore.moduleUrl,
2612
+ mappings: ApiFragmentsProjection$ReventlessCore.mappings
2613
+ };
2614
+ let ApiFragmentsReadModel = ReadModelMaker.MakeNoResolver({
2615
+ Id: Id$Reventless.$$String,
2616
+ name: ApiFragmentsReadModelSpec$ReventlessCore.name,
2617
+ moduleUrl: ApiFragmentsReadModelSpec$ReventlessCore.moduleUrl,
2618
+ stateSchema: ApiFragmentsReadModelSpec$ReventlessCore.stateSchema,
2619
+ config: ApiFragmentsReadModelSpec$ReventlessCore.config,
2620
+ subIdConfig: undefined,
2621
+ authorization: ApiFragmentsReadModelSpec$ReventlessCore.authorization,
2622
+ visibility: ApiFragmentsReadModelSpec$ReventlessCore.visibility
2623
+ })(ApiFragmentsReadModelMappings);
2624
+ let $$let$4 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
2618
2625
  let $$let$5 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
2619
- let $$let$6 = LocalCommandTopicChannel$ReventlessLocal.Make(Bus);
2620
2626
  let Admin = Platform_Admin$ReventlessCore.Make({
2621
2627
  make: LocalRuntimeEnvironment$ReventlessLocal.make,
2622
2628
  groupBySource: LocalRuntimeEnvironment$ReventlessLocal.groupBySource,
@@ -2632,9 +2638,9 @@ function Make($star) {
2632
2638
  asEventHandler: prim => prim,
2633
2639
  asEffectHandler: prim => prim
2634
2640
  })(EventCollectorChannel))(LocalDcbEventLogStorage$ReventlessLocal.Make(Bus))(LocalEventTopicPublisher$ReventlessLocal.Make(Bus))({
2635
- make: $$let$5.make
2641
+ make: $$let$4.make
2636
2642
  })({
2637
- make: $$let$6.make
2643
+ make: $$let$5.make
2638
2644
  })({
2639
2645
  silent: false,
2640
2646
  splitApi: true,
@@ -2695,23 +2701,25 @@ function Make($star) {
2695
2701
  };
2696
2702
  return Bus.dispatchCommand(adminDcbCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
2697
2703
  };
2698
- let dispatchApiFragmentCommand = (pluginName, command) => {
2699
- let cmdJson_meta = Message$ReventlessCore.generateMeta(ApiFragmentRegistry$ReventlessCore.name, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
2700
- let cmdJson_commandJson = S.reverseConvertToJsonOrThrow(command, ApiFragmentRegistry$ReventlessCore.commandSchema);
2704
+ let apiFragmentRegistryCmdTopicKey = ApiFragmentRegistrySpec$ReventlessCore.name + "AggrCmdTopic";
2705
+ let apiFragmentRegistryEventTopicKey = ApiFragmentRegistrySpec$ReventlessCore.name + "AggrEventTopic";
2706
+ let dispatchApiFragmentCommand = command => {
2707
+ let cmdJson_meta = Message$ReventlessCore.generateMeta(ApiFragmentRegistrySpec$ReventlessCore.name, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
2708
+ let cmdJson_commandJson = S.reverseConvertToJsonOrThrow(command, ApiFragmentRegistrySpec$ReventlessCore.commandSchema);
2701
2709
  let cmdJson = {
2702
- id: pluginName,
2710
+ id: "registry",
2703
2711
  meta: cmdJson_meta,
2704
2712
  commandJson: cmdJson_commandJson
2705
2713
  };
2706
- return Bus.dispatchCommand(adminDcbCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
2714
+ return Bus.dispatchCommand(apiFragmentRegistryCmdTopicKey, CommandTopic$ReventlessCore.encodeCommandJson(cmdJson));
2707
2715
  };
2708
2716
  let apiFragmentsQueryResolver = async (_root, _args, _ctx) => {
2709
- let scanAll = Bus.getQueryDbScan(ApiFragments$ReventlessCore.name);
2717
+ let scanAll = Bus.getQueryDbScan(ApiFragmentsReadModelSpec$ReventlessCore.name);
2710
2718
  let items = scanAll !== undefined ? scanAll() : [];
2711
2719
  return Stdlib_Array.filterMap(items, item => {
2712
2720
  let state;
2713
2721
  try {
2714
- state = S.parseOrThrow(item, ApiFragments$ReventlessCore.stateSchema);
2722
+ state = S.parseOrThrow(item, ApiFragmentsReadModelSpec$ReventlessCore.stateSchema);
2715
2723
  } catch (exn) {
2716
2724
  return;
2717
2725
  }
@@ -2778,35 +2786,33 @@ function Make($star) {
2778
2786
  return;
2779
2787
  }
2780
2788
  let match = decodeUiFragmentRegistryEventEnvelope(eventJson);
2781
- if (match !== undefined) {
2782
- switch (match.TAG) {
2783
- case "UiFragmentRegistered" :
2784
- publishUIFragment(match.pluginId, "Registered", S.reverseConvertToJsonOrThrow(match.manifest, Plugin$Reventless.uiFragmentManifestSchema));
2785
- break;
2786
- case "UiFragmentUpdated" :
2787
- publishUIFragment(match.pluginId, "Updated", S.reverseConvertToJsonOrThrow(match.newManifest, Plugin$Reventless.uiFragmentManifestSchema));
2788
- break;
2789
- case "UiFragmentDeregistered" :
2790
- publishUIFragment(match.pluginId, "Deregistered", null);
2791
- break;
2792
- }
2789
+ if (match === undefined) {
2790
+ return;
2793
2791
  }
2794
- let match$1 = decodeApiFragmentRegistryEventEnvelope(eventJson);
2795
- if (match$1 === undefined) {
2792
+ switch (match.TAG) {
2793
+ case "UiFragmentRegistered" :
2794
+ return publishUIFragment(match.pluginId, "Registered", S.reverseConvertToJsonOrThrow(match.manifest, Plugin$Reventless.uiFragmentManifestSchema));
2795
+ case "UiFragmentUpdated" :
2796
+ return publishUIFragment(match.pluginId, "Updated", S.reverseConvertToJsonOrThrow(match.newManifest, Plugin$Reventless.uiFragmentManifestSchema));
2797
+ case "UiFragmentDeregistered" :
2798
+ return publishUIFragment(match.pluginId, "Deregistered", null);
2799
+ }
2800
+ });
2801
+ Bus.subscribeToEvents(apiFragmentRegistryEventTopicKey, async (_service, _meta, eventJson) => {
2802
+ let match = decodeApiFragmentRegistryEventEnvelope(eventJson);
2803
+ if (match === undefined) {
2796
2804
  return;
2797
2805
  }
2798
- switch (match$1.TAG) {
2806
+ switch (match.TAG) {
2799
2807
  case "ApiFragmentRegistered" :
2800
2808
  case "ApiFragmentUpdated" :
2801
2809
  break;
2802
- case "ApiFragmentDeregistered" :
2803
- case "ApiFragmentPushRecorded" :
2810
+ default:
2804
2811
  return;
2805
2812
  }
2806
- let pluginId = match$1.pluginId;
2807
- dispatchApiFragmentCommand(pluginId, {
2813
+ dispatchApiFragmentCommand({
2808
2814
  TAG: "RecordApiFragmentPush",
2809
- pluginId: pluginId,
2815
+ pluginId: match.pluginId,
2810
2816
  ok: true,
2811
2817
  message: "",
2812
2818
  at: new Date().toISOString()
@@ -2871,7 +2877,7 @@ function Make($star) {
2871
2877
  });
2872
2878
  }
2873
2879
  if (apiSchemaFragment !== undefined) {
2874
- dispatchApiFragmentCommand(pluginName, {
2880
+ dispatchApiFragmentCommand({
2875
2881
  TAG: "RegisterApiFragment",
2876
2882
  pluginId: pluginName,
2877
2883
  fragment: apiSchemaFragment,
@@ -3080,7 +3086,11 @@ function Make($star) {
3080
3086
  hooks_apiRole.contents = {
3081
3087
  val: undefined
3082
3088
  };
3083
- let admin = Admin.construct(version, [], [LocalPluginAggregate], [{
3089
+ let admin = Admin.construct(version, [], [
3090
+ LocalPluginAggregate,
3091
+ LocalApiFragmentRegistryAggregate
3092
+ ], [
3093
+ {
3084
3094
  Spec: PluginsReadModel.Spec,
3085
3095
  sourceNames: PluginsReadModel.sourceNames,
3086
3096
  consumedEventNames: PluginsReadModel.consumedEventNames,
@@ -3088,13 +3098,17 @@ function Make($star) {
3088
3098
  outputs: PluginsReadModel.outputs,
3089
3099
  operations: PluginsReadModel.operations,
3090
3100
  finish: PluginsReadModel.finish
3091
- }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
3092
- UiFragmentRegistrySlice,
3093
- ApiFragmentRegistrySlice
3094
- ], [
3095
- UiFragmentsViewSlice,
3096
- ApiFragmentsViewSlice
3097
- ], [], [], []);
3101
+ },
3102
+ {
3103
+ Spec: ApiFragmentsReadModel.Spec,
3104
+ sourceNames: ApiFragmentsReadModel.sourceNames,
3105
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
3106
+ make: ApiFragmentsReadModel.make,
3107
+ outputs: ApiFragmentsReadModel.outputs,
3108
+ operations: ApiFragmentsReadModel.operations,
3109
+ finish: ApiFragmentsReadModel.finish
3110
+ }
3111
+ ], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
3098
3112
  hooks_adminExtensionPoints.contents = admin.extensionPointsOutputs.apply(eps => Object.fromEntries(eps.map(ep => [
3099
3113
  ep.name,
3100
3114
  ep
@@ -3459,13 +3473,15 @@ function Make($star) {
3459
3473
  hooks_apiRole.contents = {
3460
3474
  val: undefined
3461
3475
  };
3462
- Admin.construct(version, [], [], [], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
3463
- UiFragmentRegistrySlice,
3464
- ApiFragmentRegistrySlice
3465
- ], [
3466
- UiFragmentsViewSlice,
3467
- ApiFragmentsViewSlice
3468
- ], [], [], []);
3476
+ Admin.construct(version, [], [LocalApiFragmentRegistryAggregate], [{
3477
+ Spec: ApiFragmentsReadModel.Spec,
3478
+ sourceNames: ApiFragmentsReadModel.sourceNames,
3479
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
3480
+ make: ApiFragmentsReadModel.make,
3481
+ outputs: ApiFragmentsReadModel.outputs,
3482
+ operations: ApiFragmentsReadModel.operations,
3483
+ finish: ApiFragmentsReadModel.finish
3484
+ }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
3469
3485
  currentDeployTarget.contents = "Platform";
3470
3486
  let adminGraphQL = resolveTargetGraphQL();
3471
3487
  let adminMCP = resolveTargetMCP();
@@ -3562,7 +3578,11 @@ function Make($star) {
3562
3578
  hooks_apiRole.contents = {
3563
3579
  val: undefined
3564
3580
  };
3565
- let admin = Admin.construct("", [], [LocalPluginAggregate], [{
3581
+ let admin = Admin.construct("", [], [
3582
+ LocalPluginAggregate,
3583
+ LocalApiFragmentRegistryAggregate
3584
+ ], [
3585
+ {
3566
3586
  Spec: PluginsReadModel.Spec,
3567
3587
  sourceNames: PluginsReadModel.sourceNames,
3568
3588
  consumedEventNames: PluginsReadModel.consumedEventNames,
@@ -3570,13 +3590,17 @@ function Make($star) {
3570
3590
  outputs: PluginsReadModel.outputs,
3571
3591
  operations: PluginsReadModel.operations,
3572
3592
  finish: PluginsReadModel.finish
3573
- }], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [
3574
- UiFragmentRegistrySlice,
3575
- ApiFragmentRegistrySlice
3576
- ], [
3577
- UiFragmentsViewSlice,
3578
- ApiFragmentsViewSlice
3579
- ], [], [], []);
3593
+ },
3594
+ {
3595
+ Spec: ApiFragmentsReadModel.Spec,
3596
+ sourceNames: ApiFragmentsReadModel.sourceNames,
3597
+ consumedEventNames: ApiFragmentsReadModel.consumedEventNames,
3598
+ make: ApiFragmentsReadModel.make,
3599
+ outputs: ApiFragmentsReadModel.outputs,
3600
+ operations: ApiFragmentsReadModel.operations,
3601
+ finish: ApiFragmentsReadModel.finish
3602
+ }
3603
+ ], scheduler, LocalPluginSpec$ReventlessLocal.resourceNaming, undefined, undefined, [UiFragmentRegistrySlice], [UiFragmentsViewSlice], [], [], []);
3580
3604
  hooks_adminExtensionPoints.contents = admin.extensionPointsOutputs.apply(eps => Object.fromEntries(eps.map(ep => [
3581
3605
  ep.name,
3582
3606
  ep