@reventlessdev/reventless-infra 3.0.0-alpha.97 → 3.0.0-alpha.99

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/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.99 (2026-07-14)
7
+
8
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
9
+
10
+
11
+
12
+
13
+
14
+ # 3.0.0-alpha.98 (2026-07-12)
15
+
16
+ ### Features
17
+
18
+ * **admin:** event-source the UI fragment registry as admin DCB slices ([711581e](https://github.com/ReventlessDev/reventless-core/commit/711581e77c626e7d0fc35db8ec351f62a70bd8f2))
19
+ * **admin:** make the API fragment registry per-target (Domain | Platform) ([30491a9](https://github.com/ReventlessDev/reventless-core/commit/30491a9e14b4236c98cc756efb6de68ede1e77d7))
20
+
21
+
6
22
  # 3.0.0-alpha.97 (2026-07-11)
7
23
 
8
24
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-infra",
3
- "version": "3.0.0-alpha.97",
3
+ "version": "3.0.0-alpha.99",
4
4
  "description": "Infrastructure types for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -17,9 +17,9 @@
17
17
  "sury-ppx": "11.0.0-alpha.2",
18
18
  "uuid": "^13.0.0",
19
19
  "@reventlessdev/rescript-effect": "0.1.0-alpha.27",
20
+ "@reventlessdev/rescript-uuid": "1.1.0-alpha.15",
20
21
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.15",
21
- "@reventlessdev/reventless-spec": "3.0.0-alpha.75",
22
- "@reventlessdev/rescript-uuid": "1.1.0-alpha.15"
22
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.76"
23
23
  },
24
24
  "devDependencies": {
25
25
  "rescript": "^12.3.0",
@@ -112,28 +112,9 @@ type eventLogSchemaEntry = {
112
112
  eventSchema: S.t<unknown>,
113
113
  }
114
114
 
115
- /**
116
- Deploy-time outputs produced when an `Api` component is provisioned.
117
- - `apiId` the cloud API resource identifier (e.g. AppSync API ID)
118
- */
119
- type outputs = {
120
- apiId: Pulumi.Output.t<string>,
121
- }
122
-
123
- /**
124
- Runtime operations for the `Api` component.
125
- - `updateSchema` — rebuild the stitched schema from the current plugin fragments
126
- */
127
- type operations = {
128
- updateSchema: array<Reventless.Plugin.apiSchemaFragment> => promise<unit>,
129
- }
130
-
131
- type t
132
- type component = Component.t<t, outputs, operations>
133
-
134
- /**
135
- Module type produced by `Platform.Api.Make(Config)`.
136
- */
137
- module type T = {
138
- let make: (~name: string, ~opts: Pulumi.ComponentResource.options=?) => component
139
- }
115
+ // (The Api component contract — outputs/operations/`module type T` and the
116
+ // whole `updateSchema` push chain was retired with the merged-API cutover:
117
+ // AWS composes source APIs via SourceApiAssociation and the local platform
118
+ // composes in-process; nothing rebuilds a stitched schema at runtime. The
119
+ // schema-entry types above remain the live surface, consumed by
120
+ // `Api_Adapter.Provider.generateFragment` and the MCP/AutoUI generators.)
@@ -26,14 +26,4 @@ module type Provider = {
26
26
  ~mutationEntries: array<Api.mutationSchemaEntry>,
27
27
  ~queryEntries: array<Api.querySchemaEntry>,
28
28
  ) => Reventless.Plugin.apiSchemaFragment
29
-
30
- /**
31
- Rebuild and publish the full stitched schema whenever the set of plugin
32
- fragments changes (e.g. on `Connected` / `Disconnected` Plugin events).
33
- */
34
- let updateSchema: (
35
- ~api: Pulumi.Output.t<api>,
36
- ~baseFragment: Reventless.Plugin.apiSchemaFragment,
37
- ~pluginFragments: array<Reventless.Plugin.apiSchemaFragment>,
38
- ) => promise<unit>
39
29
  }
@@ -45,9 +45,6 @@ module App = CatalogPlugin.Make(Platform)
45
45
  ```
46
46
  */
47
47
 
48
- // Type alias to avoid shadowing by the nested `module Api` inside Platform.T.
49
- type apiComponent = Api.component
50
-
51
48
  // Type alias so `deployPlugin` can reference `Plugin.outputs` inside module type T,
52
49
  // where `module Plugin: Plugin.T` shadows the package-level Plugin module.
53
50
  type pluginOutputs = Plugin.outputs
@@ -210,13 +207,6 @@ module type T = {
210
207
  ) => InboundTranslationSlice.T with module Spec = Spec
211
208
  }
212
209
 
213
- /** Factory for the API (GraphQL) component. */
214
- module Api: {
215
- module Make: (Config: {
216
- let baseFragment: Api.schemaFragment
217
- }) => Api.T
218
- }
219
-
220
210
  /** Whether this platform supports MCP (Model Context Protocol) for AI agent access.
221
211
  In-memory: starts an MCP server alongside GraphQL in makePlatform.
222
212
  AWS: deploys a Lambda Function URL with Streamable HTTP transport. */
@@ -18,6 +18,12 @@ type command =
18
18
  | ConnectPlugin(pluginDefinition)
19
19
  | DisconnectPlugin
20
20
  | ForwardCommand(forwardCommand)
21
+ // Registers this plugin's UI-fragment manifest with the admin UiFragmentRegistry slice.
22
+ // Sent by the plugin's connect extension alongside ConnectPlugin (see
23
+ // docs/plans/event-sourced-fragment-registries.md). Routed by the admin EP's UI-fragment
24
+ // mapping to UiFragmentRegistry.RegisterUiFragment; DisconnectPlugin drives the matching
25
+ // DeregisterUiFragment. Decoupling the manifest from the Plugin aggregate's lifecycle.
26
+ | RegisterUiFragment(uiFragmentManifest)
21
27
  // Deploy-time re-detect: fired once by `deployPlugin` on every (re)deploy. Unlike
22
28
  // a keep-alive `Heartbeat`, this forces the connect handshake to run again for an
23
29
  // already-connected version so its current definition (e.g. a newly added `kind`,
@@ -23,6 +23,10 @@ let commandSchema = S.union([
23
23
  TAG: "ForwardCommand",
24
24
  _0: s.m(forwardCommandSchema)
25
25
  })),
26
+ S.schema(s => ({
27
+ TAG: "RegisterUiFragment",
28
+ _0: s.m(Plugin$Reventless.uiFragmentManifestSchema)
29
+ })),
26
30
  S.schema(s => ({
27
31
  TAG: "RedetectPlugin",
28
32
  _0: s.m(S.int)
@@ -105,6 +109,8 @@ let extensionProtocolSchema = Plugin$Reventless.extensionProtocolSchema;
105
109
 
106
110
  let apiSchemaFragmentSchema = Plugin$Reventless.apiSchemaFragmentSchema;
107
111
 
112
+ let apiTargetSchema = Plugin$Reventless.apiTargetSchema;
113
+
108
114
  let apiSchemaFragmentOptionSchema = Plugin$Reventless.apiSchemaFragmentOptionSchema;
109
115
 
110
116
  let dcbEventLogOptionSchema = Plugin$Reventless.dcbEventLogOptionSchema;
@@ -173,6 +179,7 @@ export {
173
179
  dcbEventLogDefinitionSchema,
174
180
  extensionProtocolSchema,
175
181
  apiSchemaFragmentSchema,
182
+ apiTargetSchema,
176
183
  apiSchemaFragmentOptionSchema,
177
184
  dcbEventLogOptionSchema,
178
185
  stringOptionSchema,