@opensaas/stack-core 0.34.0 → 0.36.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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +82 -0
- package/CLAUDE.md +48 -0
- package/dist/access/declared-dependencies.d.ts +68 -0
- package/dist/access/declared-dependencies.d.ts.map +1 -0
- package/dist/access/declared-dependencies.js +79 -0
- package/dist/access/declared-dependencies.js.map +1 -0
- package/dist/access/field-visibility.d.ts +2 -1
- package/dist/access/field-visibility.d.ts.map +1 -1
- package/dist/access/field-visibility.js +23 -3
- package/dist/access/field-visibility.js.map +1 -1
- package/dist/access/index.d.ts +2 -0
- package/dist/access/index.d.ts.map +1 -1
- package/dist/access/index.js +3 -0
- package/dist/access/index.js.map +1 -1
- package/dist/config/types.d.ts +65 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +65 -72
- package/dist/context/index.js.map +1 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +12 -12
- package/dist/fields/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/validation/needs-closure.d.ts +49 -0
- package/dist/validation/needs-closure.d.ts.map +1 -0
- package/dist/validation/needs-closure.js +139 -0
- package/dist/validation/needs-closure.js.map +1 -0
- package/package.json +1 -1
- package/src/access/declared-dependencies.ts +140 -0
- package/src/access/field-visibility.ts +24 -0
- package/src/access/index.ts +8 -0
- package/src/config/types.ts +65 -1
- package/src/context/index.ts +117 -90
- package/src/fields/index.ts +12 -9
- package/src/index.ts +8 -0
- package/src/validation/needs-closure.ts +188 -0
- package/tests/bare-read-scalars.test.ts +147 -0
- package/tests/field-types.test.ts +6 -2
- package/tests/needs-declared-dependencies.test.ts +500 -0
- package/tests/nested-access-and-hooks.test.ts +10 -0
- package/tests/resolve-chain.test.ts +40 -23
- package/tests/singleton.test.ts +83 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/fields/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export { AccessScopeDepthExceededError } from './access/index.js';
|
|
|
11
11
|
export { ResolveOutputCycleError } from './access/index.js';
|
|
12
12
|
export { validateFieldConfig, validateConfigFields } from './validation/field-config.js';
|
|
13
13
|
export type { FieldConfigValidationError } from './validation/field-config.js';
|
|
14
|
+
export { validateNeedsDeclarations, validateNeedsClosureDepth } from './validation/needs-closure.js';
|
|
15
|
+
export type { NeedsClosureError } from './validation/needs-closure.js';
|
|
14
16
|
export { defineFragment, runQuery, runQueryOne } from './query/index.js';
|
|
15
17
|
export type { ResultOf, RelationSelector, QueryArgs } from './query/index.js';
|
|
16
18
|
export { getRelationshipOptions } from './query/relationship-options.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,EAIf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAInE,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAMlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,EAIf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAInE,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAMlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAO9E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACpG,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAQtE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAOlG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAMvC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uCAAuC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,12 @@ export { ResolveOutputCycleError } from './access/index.js';
|
|
|
36
36
|
// getPrismaRelation for relationships) so a misimplemented field fails early
|
|
37
37
|
// with a clear per-field message instead of deep inside generation.
|
|
38
38
|
export { validateFieldConfig, validateConfigFields } from './validation/field-config.js';
|
|
39
|
+
// Declared-dependency validation (`needs`, ADR-0025) — checks every `needs`
|
|
40
|
+
// entry names an immediate relationship field on the same list, and that no
|
|
41
|
+
// field's declaration closure (the recursive fold of its dependencies, and
|
|
42
|
+
// theirs) exceeds the read-include depth cap from any starting point. A
|
|
43
|
+
// config that fails either must not generate.
|
|
44
|
+
export { validateNeedsDeclarations, validateNeedsClosureDepth } from './validation/needs-closure.js';
|
|
39
45
|
// Fragment-based query API — composable, type-safe reads that mirror
|
|
40
46
|
// Keystone's GraphQL fragments without a GraphQL runtime. The migration
|
|
41
47
|
// guide, CHANGELOG, and migrate-context-calls skill all advertise importing
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,kEAAkE;AAClE,gEAAgE;AAChE,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AACzE,kEAAkE;AAElE,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AA8BhD,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,0EAA0E;AAC1E,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEnE,yEAAyE;AACzE,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAErF,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,4EAA4E;AAC5E,wEAAwE;AACxE,+EAA+E;AAC/E,mCAAmC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAEjE,qEAAqE;AACrE,6EAA6E;AAC7E,iFAAiF;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxF,qEAAqE;AACrE,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,gEAAgE;AAChE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGxE,qEAAqE;AACrE,6EAA6E;AAC7E,yEAAyE;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,0EAA0E;AAC1E,0EAA0E;AAC1E,6EAA6E;AAC7E,4EAA4E;AAC5E,0DAA0D;AAC1D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAW1B,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAEvC,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uCAAuC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,kEAAkE;AAClE,gEAAgE;AAChE,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AACzE,kEAAkE;AAElE,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AA8BhD,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,0EAA0E;AAC1E,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEnE,yEAAyE;AACzE,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAErF,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,4EAA4E;AAC5E,wEAAwE;AACxE,+EAA+E;AAC/E,mCAAmC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAEjE,qEAAqE;AACrE,6EAA6E;AAC7E,iFAAiF;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxF,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,8CAA8C;AAC9C,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAGpG,qEAAqE;AACrE,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,gEAAgE;AAChE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGxE,qEAAqE;AACrE,6EAA6E;AAC7E,yEAAyE;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,0EAA0E;AAC1E,0EAA0E;AAC1E,6EAA6E;AAC7E,4EAA4E;AAC5E,0DAA0D;AAC1D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAW1B,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAEvC,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uCAAuC,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { OpenSaasConfig } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A field's `needs` declaration (ADR-0025) whose closure — the recursive
|
|
4
|
+
* fold of its own dependencies, and THEIR dependencies, and so on — cannot
|
|
5
|
+
* be satisfied by the read pipeline, independent of where any caller starts
|
|
6
|
+
* a read.
|
|
7
|
+
*
|
|
8
|
+
* Two distinct refusals, both fail-closed rather than silently truncated
|
|
9
|
+
* (ADR-0022): `'cycle'` means the chain never terminates (e.g. `Order.total`
|
|
10
|
+
* needs `lineItems`, `LineItem.orderRef` needs `order`); `'depth'` means it
|
|
11
|
+
* terminates but reaches deeper than `READ_INCLUDE_MAX_DEPTH` even when
|
|
12
|
+
* evaluated starting AT the declaring field's own list — the most
|
|
13
|
+
* favourable starting point available, so no caller could ever do better.
|
|
14
|
+
*/
|
|
15
|
+
export interface NeedsClosureError {
|
|
16
|
+
/** The list whose field declares the (transitively) unsatisfiable `needs`. */
|
|
17
|
+
listKey: string;
|
|
18
|
+
/** The field key within that list. */
|
|
19
|
+
fieldKey: string;
|
|
20
|
+
/** The list keys on the offending chain, starting at `listKey`. */
|
|
21
|
+
chain: string[];
|
|
22
|
+
reason: 'cycle' | 'depth' | 'invalid-relation';
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Validate that every `needs` entry names an immediate relationship field
|
|
27
|
+
* declared on the SAME list. The generated `Lists.<List>.TypeInfo` already
|
|
28
|
+
* makes a misspelled or non-relation entry a compile error for a config
|
|
29
|
+
* annotated with it (`list<Lists.X.TypeInfo>({...})`, the documented
|
|
30
|
+
* pattern) — this is the runtime backstop for configs that aren't, or that
|
|
31
|
+
* are authored in plain JS.
|
|
32
|
+
*
|
|
33
|
+
* @param config - The fully resolved OpenSaas config.
|
|
34
|
+
* @returns All invalid `needs` entries, flattened across lists and fields.
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateNeedsDeclarations(config: OpenSaasConfig): NeedsClosureError[];
|
|
37
|
+
/**
|
|
38
|
+
* Validate that every field's `needs` closure fits within
|
|
39
|
+
* `READ_INCLUDE_MAX_DEPTH` when evaluated starting at the declaring field's
|
|
40
|
+
* own list — the most favourable starting point a caller could ever give it.
|
|
41
|
+
* Intended to run once, before generation, exactly like
|
|
42
|
+
* {@link validateConfigFields} — a config whose closure cannot fit must not
|
|
43
|
+
* generate, per ADR-0025's "Depth" section.
|
|
44
|
+
*
|
|
45
|
+
* @param config - The fully resolved OpenSaas config.
|
|
46
|
+
* @returns All unsatisfiable-closure violations, flattened across lists and fields.
|
|
47
|
+
*/
|
|
48
|
+
export declare function validateNeedsClosureDepth(config: OpenSaasConfig): NeedsClosureError[];
|
|
49
|
+
//# sourceMappingURL=needs-closure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"needs-closure.d.ts","sourceRoot":"","sources":["../../src/validation/needs-closure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIrE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,kBAAkB,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAA;CAChB;AAiED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,EAAE,CA4BrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,EAAE,CA4CrF"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { getRelatedListConfig } from '../access/engine.js';
|
|
2
|
+
import { READ_INCLUDE_MAX_DEPTH } from '../access/depth-limits.js';
|
|
3
|
+
function isRelationshipFieldConfig(fieldConfig) {
|
|
4
|
+
return (!!fieldConfig &&
|
|
5
|
+
fieldConfig.type === 'relationship' &&
|
|
6
|
+
'ref' in fieldConfig &&
|
|
7
|
+
!!fieldConfig.ref);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The deepest needs-chain reachable from `listKey`, considering EVERY field
|
|
11
|
+
* on every list along the way that declares `needs` — not only the field
|
|
12
|
+
* that triggered the walk. A computed field runs wherever its list's rows
|
|
13
|
+
* are fetched, so once a list is reached, ALL of its own declared
|
|
14
|
+
* dependencies must be satisfiable too (ADR-0025's "at every level a field
|
|
15
|
+
* is computed").
|
|
16
|
+
*
|
|
17
|
+
* `path` is the list keys already on this DFS branch, root-first, used to
|
|
18
|
+
* detect a cycle (a chain that can never terminate).
|
|
19
|
+
*/
|
|
20
|
+
function listClosureDepth(listKey, config, path) {
|
|
21
|
+
const listConfig = config.lists[listKey];
|
|
22
|
+
if (!listConfig?.fields)
|
|
23
|
+
return { depth: 0, chain: [listKey] };
|
|
24
|
+
let maxDepth = 0;
|
|
25
|
+
let maxChain = [listKey];
|
|
26
|
+
for (const fieldConfig of Object.values(listConfig.fields)) {
|
|
27
|
+
if (!fieldConfig?.hooks?.resolveOutput)
|
|
28
|
+
continue;
|
|
29
|
+
for (const relationName of fieldConfig.needs ?? []) {
|
|
30
|
+
const relatedField = listConfig.fields[relationName];
|
|
31
|
+
if (!isRelationshipFieldConfig(relatedField))
|
|
32
|
+
continue;
|
|
33
|
+
const relatedConfig = getRelatedListConfig(relatedField.ref, config);
|
|
34
|
+
if (!relatedConfig)
|
|
35
|
+
continue;
|
|
36
|
+
const relatedListKey = relatedConfig.listName;
|
|
37
|
+
if (path.includes(relatedListKey)) {
|
|
38
|
+
return { cycle: [...path, relatedListKey] };
|
|
39
|
+
}
|
|
40
|
+
const sub = listClosureDepth(relatedListKey, config, [...path, relatedListKey]);
|
|
41
|
+
if ('cycle' in sub)
|
|
42
|
+
return sub;
|
|
43
|
+
if (1 + sub.depth > maxDepth) {
|
|
44
|
+
maxDepth = 1 + sub.depth;
|
|
45
|
+
maxChain = [listKey, ...sub.chain];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return { depth: maxDepth, chain: maxChain };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Validate that every `needs` entry names an immediate relationship field
|
|
53
|
+
* declared on the SAME list. The generated `Lists.<List>.TypeInfo` already
|
|
54
|
+
* makes a misspelled or non-relation entry a compile error for a config
|
|
55
|
+
* annotated with it (`list<Lists.X.TypeInfo>({...})`, the documented
|
|
56
|
+
* pattern) — this is the runtime backstop for configs that aren't, or that
|
|
57
|
+
* are authored in plain JS.
|
|
58
|
+
*
|
|
59
|
+
* @param config - The fully resolved OpenSaas config.
|
|
60
|
+
* @returns All invalid `needs` entries, flattened across lists and fields.
|
|
61
|
+
*/
|
|
62
|
+
export function validateNeedsDeclarations(config) {
|
|
63
|
+
const errors = [];
|
|
64
|
+
for (const [listKey, listConfig] of Object.entries(config.lists)) {
|
|
65
|
+
if (!listConfig?.fields)
|
|
66
|
+
continue;
|
|
67
|
+
for (const [fieldKey, fieldConfig] of Object.entries(listConfig.fields)) {
|
|
68
|
+
for (const relationName of fieldConfig?.needs ?? []) {
|
|
69
|
+
if (isRelationshipFieldConfig(listConfig.fields[relationName]))
|
|
70
|
+
continue;
|
|
71
|
+
const exists = relationName in listConfig.fields;
|
|
72
|
+
errors.push({
|
|
73
|
+
listKey,
|
|
74
|
+
fieldKey,
|
|
75
|
+
chain: [listKey],
|
|
76
|
+
reason: 'invalid-relation',
|
|
77
|
+
message: exists
|
|
78
|
+
? `"${listKey}.${fieldKey}" declares needs: ['${relationName}'], but "${relationName}" ` +
|
|
79
|
+
`is not a relationship field on "${listKey}". \`needs\` may only name immediate ` +
|
|
80
|
+
`relationship fields declared on the same list.`
|
|
81
|
+
: `"${listKey}.${fieldKey}" declares needs: ['${relationName}'], but "${listKey}" has ` +
|
|
82
|
+
`no field named "${relationName}".`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return errors;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Validate that every field's `needs` closure fits within
|
|
91
|
+
* `READ_INCLUDE_MAX_DEPTH` when evaluated starting at the declaring field's
|
|
92
|
+
* own list — the most favourable starting point a caller could ever give it.
|
|
93
|
+
* Intended to run once, before generation, exactly like
|
|
94
|
+
* {@link validateConfigFields} — a config whose closure cannot fit must not
|
|
95
|
+
* generate, per ADR-0025's "Depth" section.
|
|
96
|
+
*
|
|
97
|
+
* @param config - The fully resolved OpenSaas config.
|
|
98
|
+
* @returns All unsatisfiable-closure violations, flattened across lists and fields.
|
|
99
|
+
*/
|
|
100
|
+
export function validateNeedsClosureDepth(config) {
|
|
101
|
+
const errors = [];
|
|
102
|
+
for (const [listKey, listConfig] of Object.entries(config.lists)) {
|
|
103
|
+
if (!listConfig?.fields)
|
|
104
|
+
continue;
|
|
105
|
+
for (const [fieldKey, fieldConfig] of Object.entries(listConfig.fields)) {
|
|
106
|
+
if (!fieldConfig?.hooks?.resolveOutput || !fieldConfig.needs?.length)
|
|
107
|
+
continue;
|
|
108
|
+
const result = listClosureDepth(listKey, config, [listKey]);
|
|
109
|
+
if ('cycle' in result) {
|
|
110
|
+
errors.push({
|
|
111
|
+
listKey,
|
|
112
|
+
fieldKey,
|
|
113
|
+
chain: result.cycle,
|
|
114
|
+
reason: 'cycle',
|
|
115
|
+
message: `"${listKey}.${fieldKey}"'s needs declaration never terminates: ` +
|
|
116
|
+
`${result.cycle.join(' → ')} → … . A chain of \`needs\` across these lists cycles back ` +
|
|
117
|
+
`on itself, so no read could ever satisfy it. Break the cycle by removing one of the ` +
|
|
118
|
+
`\`needs\` entries on this chain, or compute the value without it.`,
|
|
119
|
+
});
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (result.depth >= READ_INCLUDE_MAX_DEPTH) {
|
|
123
|
+
errors.push({
|
|
124
|
+
listKey,
|
|
125
|
+
fieldKey,
|
|
126
|
+
chain: result.chain,
|
|
127
|
+
reason: 'depth',
|
|
128
|
+
message: `"${listKey}.${fieldKey}"'s needs declaration requires a closure ${result.depth} ` +
|
|
129
|
+
`relations deep even starting at "${listKey}" itself: ${result.chain.join(' → ')}. ` +
|
|
130
|
+
`This exceeds the Access Filter's maximum read-include depth ` +
|
|
131
|
+
`(${READ_INCLUDE_MAX_DEPTH}), so no caller — however they start the read — could ever ` +
|
|
132
|
+
`have this closure satisfied. Shorten the \`needs\` chain across these lists.`,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return errors;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=needs-closure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"needs-closure.js","sourceRoot":"","sources":["../../src/validation/needs-closure.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { FieldConfig, OpenSaasConfig } from '../config/types.js'
|
|
2
|
+
import { getRelatedListConfig } from './engine.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Declared Dependencies — folding a computed field's `needs` into a read's
|
|
6
|
+
* `include` without widening what the caller receives (ADR-0025).
|
|
7
|
+
*
|
|
8
|
+
* A field's `needs` declares immediate sibling relations its `resolveOutput`
|
|
9
|
+
* hook cannot compute without. This module folds those relations into
|
|
10
|
+
* whatever `include` a read is already building (caller-supplied, fragment-
|
|
11
|
+
* derived, or none at all) BEFORE it reaches the existing access-scoping
|
|
12
|
+
* pipeline (`buildIncludeWithAccessControl` / `mergeIncludeWithAccessControl`
|
|
13
|
+
* in `access-filter.ts`) — a declared relation is scoped exactly like a
|
|
14
|
+
* caller-named one, never a bypass.
|
|
15
|
+
*
|
|
16
|
+
* The fold also tracks provenance: which relation keys, at which nesting
|
|
17
|
+
* level, were added ONLY to satisfy a declaration (as opposed to being named
|
|
18
|
+
* by the caller). `field-visibility.ts` uses that tree to strip those keys
|
|
19
|
+
* from the result after `resolveOutput` hooks have had a chance to read them
|
|
20
|
+
* — a declared dependency is private plumbing, not an implicit `include`.
|
|
21
|
+
*
|
|
22
|
+
* Reach beyond one hop: a relation added here to satisfy a declaration is
|
|
23
|
+
* added BARE (`true`), never with an explicit nested include of its own.
|
|
24
|
+
* `buildIncludeWithAccessControl` already auto-expands a bare relation's own
|
|
25
|
+
* readable-relationship subtree to `READ_INCLUDE_MAX_DEPTH` (pre-ADR-0026),
|
|
26
|
+
* so a chain of declarations rides that existing expansion for free — the
|
|
27
|
+
* related list's own declared needs are already present among what gets
|
|
28
|
+
* auto-included beneath it. This is also why a declaration-driven cycle
|
|
29
|
+
* (e.g. `Order.total` needs `lineItems`, `LineItem.orderRef` needs `order`)
|
|
30
|
+
* can't recurse without bound here: it flows through
|
|
31
|
+
* `buildIncludeWithAccessControl`'s existing `visitedLists` cycle guard
|
|
32
|
+
* rather than through any recursion of this module's own (see ADR-0026's
|
|
33
|
+
* note that this guard's remaining job, after that ADR lands, is defending
|
|
34
|
+
* exactly this fold).
|
|
35
|
+
*
|
|
36
|
+
* This module only recurses into EXPLICIT nested includes the caller wrote
|
|
37
|
+
* (narrowing what's fetched below a relation) — those cut off the free
|
|
38
|
+
* auto-expansion, so a nested list's own declared needs must be folded in
|
|
39
|
+
* explicitly. An explicit caller include is always a finite literal, so this
|
|
40
|
+
* recursion terminates on its own without a separate depth/cycle guard.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/** Which relation keys, at which nesting level, exist only to satisfy a `needs` declaration. */
|
|
44
|
+
export type DeclaredOnlyTree = {
|
|
45
|
+
/** Keys at THIS level whose entire branch was added purely by the fold. */
|
|
46
|
+
keys: Set<string>
|
|
47
|
+
/** Per-key trees for relations present in the include for other reasons (caller-named), whose OWN nested include may still contain declaration-only keys. */
|
|
48
|
+
nested: Record<string, DeclaredOnlyTree>
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function emptyDeclaredOnlyTree(): DeclaredOnlyTree {
|
|
52
|
+
return { keys: new Set(), nested: {} }
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function isDeclaredOnlyTreeEmpty(tree: DeclaredOnlyTree): boolean {
|
|
56
|
+
return tree.keys.size === 0 && Object.keys(tree.nested).length === 0
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function isRelationshipFieldConfig(
|
|
60
|
+
fieldConfig: FieldConfig | undefined,
|
|
61
|
+
): fieldConfig is FieldConfig & { type: 'relationship'; ref: string } {
|
|
62
|
+
return (
|
|
63
|
+
!!fieldConfig &&
|
|
64
|
+
fieldConfig.type === 'relationship' &&
|
|
65
|
+
'ref' in fieldConfig &&
|
|
66
|
+
!!fieldConfig.ref
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The deduped set of relation names declared via `needs` by fields on this
|
|
72
|
+
* list that have a `resolveOutput` hook. A `needs` entry on a field without
|
|
73
|
+
* one is inert — there is no hook to feed it to — so it contributes nothing
|
|
74
|
+
* to fetch.
|
|
75
|
+
*/
|
|
76
|
+
export function getDeclaredRelationNames(fieldConfigs: Record<string, FieldConfig>): string[] {
|
|
77
|
+
const names = new Set<string>()
|
|
78
|
+
for (const fieldConfig of Object.values(fieldConfigs)) {
|
|
79
|
+
if (!fieldConfig?.hooks?.resolveOutput) continue
|
|
80
|
+
for (const name of fieldConfig.needs ?? []) {
|
|
81
|
+
names.add(name)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return [...names]
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Fold this list's declared dependencies into `rawInclude`, recursing into
|
|
89
|
+
* any EXPLICIT nested include the caller wrote so a related list's own
|
|
90
|
+
* declared needs are satisfied too (see module doc comment).
|
|
91
|
+
*
|
|
92
|
+
* Returns `rawInclude` itself (same reference) when there is nothing to
|
|
93
|
+
* fold, so a list with no `needs` fields and no caller include stays on the
|
|
94
|
+
* exact bare-read path (ADR-0024) — untouched, not merely equivalent.
|
|
95
|
+
*/
|
|
96
|
+
export function foldDeclaredDependencies(
|
|
97
|
+
rawInclude: Record<string, unknown> | undefined,
|
|
98
|
+
fieldConfigs: Record<string, FieldConfig>,
|
|
99
|
+
config: OpenSaasConfig,
|
|
100
|
+
): { include: Record<string, unknown> | undefined; declaredOnly: DeclaredOnlyTree } {
|
|
101
|
+
const declaredNames = getDeclaredRelationNames(fieldConfigs)
|
|
102
|
+
|
|
103
|
+
if (declaredNames.length === 0 && !rawInclude) {
|
|
104
|
+
return { include: rawInclude, declaredOnly: emptyDeclaredOnlyTree() }
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const declaredOnly = emptyDeclaredOnlyTree()
|
|
108
|
+
const merged: Record<string, unknown> = { ...(rawInclude ?? {}) }
|
|
109
|
+
|
|
110
|
+
for (const name of declaredNames) {
|
|
111
|
+
if (name in merged) continue // caller (or fragment) already asked for it — not declaration-only
|
|
112
|
+
if (!isRelationshipFieldConfig(fieldConfigs[name])) continue // invalid `needs` entry; caught by generate-time validation
|
|
113
|
+
merged[name] = true
|
|
114
|
+
declaredOnly.keys.add(name)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
for (const [key, value] of Object.entries(merged)) {
|
|
118
|
+
const fieldConfig = fieldConfigs[key]
|
|
119
|
+
if (!isRelationshipFieldConfig(fieldConfig)) continue
|
|
120
|
+
// A whole branch we just added is bare `true` — its own subtree auto-expands
|
|
121
|
+
// (see module doc comment), so there is no explicit nested include to recurse into.
|
|
122
|
+
if (declaredOnly.keys.has(key)) continue
|
|
123
|
+
|
|
124
|
+
const entry = value as { include?: Record<string, unknown> } | boolean
|
|
125
|
+
if (!entry || typeof entry !== 'object' || !entry.include) continue
|
|
126
|
+
|
|
127
|
+
const relatedConfig = getRelatedListConfig(fieldConfig.ref, config)
|
|
128
|
+
if (!relatedConfig) continue
|
|
129
|
+
|
|
130
|
+
const nested = foldDeclaredDependencies(entry.include, relatedConfig.listConfig.fields, config)
|
|
131
|
+
if (nested.include !== entry.include) {
|
|
132
|
+
merged[key] = { ...entry, include: nested.include }
|
|
133
|
+
}
|
|
134
|
+
if (!isDeclaredOnlyTreeEmpty(nested.declaredOnly)) {
|
|
135
|
+
declaredOnly.nested[key] = nested.declaredOnly
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return { include: merged, declaredOnly }
|
|
140
|
+
}
|
|
@@ -4,6 +4,8 @@ import { getRelatedListConfig } from './engine.js'
|
|
|
4
4
|
import { checkFieldAccess } from './field-access.js'
|
|
5
5
|
import { RESOLVE_CHAIN_MAX_LENGTH } from './depth-limits.js'
|
|
6
6
|
import { ResolveOutputCycleError } from './errors.js'
|
|
7
|
+
import type { DeclaredOnlyTree } from './declared-dependencies.js'
|
|
8
|
+
import { emptyDeclaredOnlyTree } from './declared-dependencies.js'
|
|
7
9
|
// NOTE: `context/index.ts` imports `filterReadableFields` from this module
|
|
8
10
|
// (via the `access/index.ts` barrel) — this is an intentional cyclic
|
|
9
11
|
// dependency, the same shape and for the same reason as the one documented in
|
|
@@ -181,6 +183,12 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
|
|
|
181
183
|
config?: OpenSaasConfig,
|
|
182
184
|
depth: number = 0,
|
|
183
185
|
listKey?: string,
|
|
186
|
+
// Relation keys added purely to satisfy a field's `needs` (ADR-0025) at
|
|
187
|
+
// THIS level, and the same tree for each nested relation reached via a
|
|
188
|
+
// caller-named branch. Stripped from `filtered` right before it is
|
|
189
|
+
// returned — after resolveOutput has had a chance to read them — so a
|
|
190
|
+
// declared dependency never widens what the caller receives.
|
|
191
|
+
declaredOnly: DeclaredOnlyTree = emptyDeclaredOnlyTree(),
|
|
184
192
|
): Promise<Partial<T>> {
|
|
185
193
|
const filtered: Record<string, unknown> = {}
|
|
186
194
|
|
|
@@ -247,6 +255,11 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
|
|
|
247
255
|
}
|
|
248
256
|
|
|
249
257
|
const relatedConfig = getRelatedListConfig(fieldConfig.ref as string, config)
|
|
258
|
+
// The declared-only tree for whatever THIS relation's own list computes,
|
|
259
|
+
// e.g. a field on the related list that declares its own `needs`. Falls
|
|
260
|
+
// back to an empty tree when this relation isn't declaration-related at
|
|
261
|
+
// all — the common case.
|
|
262
|
+
const nestedDeclaredOnly = declaredOnly.nested[fieldName] ?? emptyDeclaredOnlyTree()
|
|
250
263
|
|
|
251
264
|
if (relatedConfig) {
|
|
252
265
|
// For many relationships (arrays) - recursively filter fields in each item
|
|
@@ -261,6 +274,7 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
|
|
|
261
274
|
config,
|
|
262
275
|
depth + 1,
|
|
263
276
|
relatedConfig.listName,
|
|
277
|
+
nestedDeclaredOnly,
|
|
264
278
|
),
|
|
265
279
|
),
|
|
266
280
|
)
|
|
@@ -275,6 +289,7 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
|
|
|
275
289
|
config,
|
|
276
290
|
depth + 1,
|
|
277
291
|
relatedConfig.listName,
|
|
292
|
+
nestedDeclaredOnly,
|
|
278
293
|
)
|
|
279
294
|
}
|
|
280
295
|
} else {
|
|
@@ -341,5 +356,14 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
|
|
|
341
356
|
}
|
|
342
357
|
}
|
|
343
358
|
|
|
359
|
+
// Strip relations that were fetched ONLY to satisfy a `needs` declaration
|
|
360
|
+
// (ADR-0025), now that every resolveOutput hook at this level — including
|
|
361
|
+
// virtual fields, which read the assembled `filtered` object above — has
|
|
362
|
+
// had the chance to see them. A declared dependency is private plumbing,
|
|
363
|
+
// not an implicit `include`: it never widens what the caller receives.
|
|
364
|
+
for (const key of declaredOnly.keys) {
|
|
365
|
+
delete filtered[key]
|
|
366
|
+
}
|
|
367
|
+
|
|
344
368
|
return filtered as Partial<T>
|
|
345
369
|
}
|