@reventlessdev/reventless-spec 3.0.0-alpha.122 → 3.0.0-alpha.123

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,13 @@
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.123 (2026-08-23)
7
+
8
+ ### Features
9
+
10
+ * **querydb:** serve owner-scoped lists from an index instead of a filtered Scan ([ad26c28](https://github.com/ReventlessDev/reventless-core/commit/ad26c284b4b0650fa3f3b6109ed33bbfe8608f6d))
11
+
12
+
6
13
  # 3.0.0-alpha.122 (2026-08-22)
7
14
 
8
15
  * feat(core)!: a slice that has given up says so ([f5559ab](https://github.com/ReventlessDev/reventless-core/commit/f5559abede3a9cf2c9a48aadc69a666c46cc75bf))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-spec",
3
- "version": "3.0.0-alpha.122",
3
+ "version": "3.0.0-alpha.123",
4
4
  "description": "Specifications for Reventless",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
@@ -90,6 +90,10 @@ Configuration for a DynamoDB Global Secondary Index on a read model table.
90
90
  - `pkSep` / `skSep` — separator for composite pk/sk concatenation (default `"/"`)
91
91
  - `projectionType` — which attributes are projected into the index
92
92
  - `authorization` — optional AppSync authorization rule
93
+ - `derived` — the framework wrote this index, not the author. It keys a read the
94
+ generated resolvers already make (`@owner` scoping); no `<single>By<Index>`
95
+ door is emitted for it, since a door named after a key the author never
96
+ declared is noise on every published schema.
93
97
  */
94
98
  type indexConfig = {
95
99
  index: string,
@@ -102,8 +106,13 @@ type indexConfig = {
102
106
  skSep?: string,
103
107
  projectionType: projectionType,
104
108
  authorization?: authorization,
109
+ derived?: bool,
105
110
  }
106
111
 
112
+ /** Does this index carry an SDL door? Derived indexes serve a read the resolvers
113
+ already make and are provisioned without one. */
114
+ let isDerivedIndex = (ic: indexConfig) => ic.derived->Option.getOr(false)
115
+
107
116
  /**
108
117
  Composite-key configuration for a read model that has both a primary ID and a sub-ID.
109
118
 
@@ -1,5 +1,10 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
4
+
5
+ function isDerivedIndex(ic) {
6
+ return Stdlib_Option.getOr(ic.derived, false);
7
+ }
3
8
 
4
9
  function config(idResolversOpt, idsResolversOpt, indexesOpt) {
5
10
  let idResolvers = idResolversOpt !== undefined ? idResolversOpt : [];
@@ -13,6 +18,7 @@ function config(idResolversOpt, idsResolversOpt, indexesOpt) {
13
18
  }
14
19
 
15
20
  export {
21
+ isDerivedIndex,
16
22
  config,
17
23
  }
18
24
  /* No side effect */