grafeo-ogm 1.7.0-beta.4 → 1.7.1

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
@@ -1,92 +1,62 @@
1
1
  # Changelog
2
2
 
3
- ## [1.7.0-beta.4] (2026-05-02)
4
-
5
- > **BETA — selection runtime fix.** Install with `npm install grafeo-ogm@beta`.
3
+ ## 1.7.1 (2026-05-04)
6
4
 
7
5
  ### Fixed
8
6
 
9
- - **`@cypher` scalar fields now resolve when selected on a nested related node.** Pre-1.7.0-beta.4, selecting a `@cypher` scalar inside a relationship traversal threw `OGMError: Selecting @cypher field "<field>" on a related node is not supported. @cypher scalar fields are only resolvable at the top-level of a selection.` The compiler now falls back to an inline `head(COLLECT { WITH <var> AS this <statement> })` projection per row of the surrounding pattern comprehension, so `Drug.find({ select: { hasStatus: { select: { formName: true } } } })` (where `formName` is a `@cypher` field on `Status`) returns the resolved value.
7
+ - **Connection `where: { edge: ... }` filters now compile** in Prisma-style selections (`select: { fooConnection: { where: { edge: {...} }, ... } }`). Pre-1.7.1, any non-empty `edge` branch threw `OGMError: Connection WHERE with "edge" filters is not supported. Only "node" filters are supported for connection "<field>".` even though the generated `<Parent><Field>ConnectionWhere` type already exposed `edge?: <RelProps>Where` — codegen and runtime were misaligned. The compiler now synthesizes a `NodeDefinition` from the relationship-properties type and delegates to `WhereCompiler.compile()`, picking up the full operator surface for free (scalar operators including `_GT` / `_LT` / `_CONTAINS` / `_IN` / etc., logical `AND` / `OR` / `NOT`, and `mode`).
8
+ - **Mixed `node` + `edge` filters AND-merge into a single `WHERE`** inside the pattern comprehension: `where: { node: { title_CONTAINS: 'aspirin' }, edge: { position_GT: 5 } }` compiles to `WHERE n0.\`title\` CONTAINS $param0 AND e0.\`position\` > $param1`.
10
9
 
11
10
  ### How
12
11
 
13
- - Top-level `@cypher` selections continue to use the existing `CALL { ... } / WITH ... AS __sel_n_<field>` prelude pathway (one CALL per unique field, dedupes references).
14
- - Nested `@cypher` selections — where preludes have no anchor inside `[(n)-[:r]->(n0) | n0 { ... }]` — emit `<field>: head(COLLECT { WITH n0 AS this <statement> })` directly in the projection. `COLLECT { ... }` is a Cypher 5.x subquery expression; the OGM already requires `neo4j-driver ^5.0.0`, so this is safe.
15
- - `this` is rebound from the outer node variable inside the COLLECT (no text substitution), matching the convention used by the top-level CALL path.
12
+ - `SelectionCompiler.compileConnection()` resolves both branches: node-side via the existing `compileNestedWhere` (with policy injection), edge-side via the new `compileEdgeWhere` helper. Both produce optional fragments that AND-merge in the comprehension's WHERE.
13
+ - The new `compileEdgeWhere` builds a synthetic `NodeDefinition` from the `RelationshipPropertiesDefinition` and calls `WhereCompiler.compile()` against `edgeVar`. No new operator code — every operator already supported on nodes works on edges.
14
+ - Bare-object `connectionWhere` (no `node` / `edge` keys) is still treated as the legacy node-where shorthand for backwards compatibility with pre-1.7.1 callers.
16
15
 
17
16
  ### Limits
18
17
 
19
- - The user's `@cypher` statement must return a single column. Cypher rejects multi-column `COLLECT { ... }` subqueries — if you used `columnName` to pick one of several returned columns at the top level, that pattern won't work in nested selections (rare; trim the statement to return only the column you need).
20
- - Where filters by `@cypher` fields on nested relations (e.g. `connectionWhere: { node: { statusLowerName_CONTAINS: 'act' } }`) still throw — that path uses a different list-comprehension structure and isn't covered by this fix.
18
+ - **`@cypher` fields on edges still throw** in connection `where`. Same constraint as nested `select.where`: pattern comprehensions cannot host `CALL { ... }` preludes. Refactor to filter on stored properties.
19
+ - **Edges have no policy enforcement.** Policies bind to node `typeName`; relationship-properties types are not addressable by `withContext()`. The edge branch never resolves a policy context.
20
+ - **Mutations still throw on connection `where: { edge: ... }`.** `mutation.compiler.ts` rejects `edge` keys in connection-WHERE inputs to `update` / `delete` / etc. — a separate code path with broader scope (left for a future release; track in a separate issue).
21
21
 
22
22
  ### Test coverage
23
23
 
24
- - `tests/selection.compiler.cypher-fields.spec.ts` — replaced the previous `rejects @cypher on a NESTED related node` assertion with one that asserts the inline `head(COLLECT { ... })` emission. Same for the top-level no-scope case (now a fallback rather than a throw).
25
- - `tests/model.cypher-fields.spec.ts` — replaced the equivalent `rejects @cypher field selection on a nested related node` end-to-end test with one that drives `Model.find()` and asserts the resulting Cypher contains the inline projection.
26
-
27
- ## [1.7.0-beta.3] (2026-05-02)
28
-
29
- > **BETA — type-safety hardening (continuation of beta.2).** Install with `npm install grafeo-ogm@beta`. No runtime behavior changes.
30
-
31
- ### Fixed
32
-
33
- - **`ogm.model<K>(name)` now threads `<Node>FulltextInput` to the typed model.** v1.7.0-beta.2 added the `TFulltext` generic to `ModelInterface` and `Model`, but the `OGM<ModelMap>.model<K>(name)` overload still returned `Model<...>` with only 11 type arguments — the 12th was missing, so it defaulted to the loose `FulltextInput`. The chain `OGM<ModelMap> → ogm.model('Drug') → Drug.find({ fulltext })` silently fell back to the unsafe `FulltextInput` shape, defeating the whole point of beta.2.
34
- - **`ModelMap` entries gain a `Fulltext` key** when the node has a fulltext index (direct or via a relationship-properties type). The `OGM.model` overload reads `TModelMap[K]['Fulltext']` and passes it as the 12th generic to `Model`. Nodes without indexes omit the key and inherit the loose default.
35
- - **`OGMWithContext.model<K>` (returned from `withContext`)** received the same fix — typed fulltext now flows through the policy-bound model surface as well.
36
-
37
- ### Result
38
-
39
- `Drug.find({ fulltext: { AND: [{ TpoIndex: { phrase: 'x' } }] } })` is now a compile error at ANY nesting depth. The previously-broken case the user reported on v1.7.0-beta.2 (autocomplete suggesting `phrase` and `score?` inside an `AND` array, hover showing `FulltextIndexEntry | FulltextRelationshipEntry`) is fixed — the cursor position is now correctly typed as `<Node>FulltextInput`.
40
-
41
- ### Test coverage
42
-
43
- - Added regression tests in `tests/emitters/model-map-emitter.spec.ts` asserting `Fulltext: <Node>FulltextInput;` is present in `ModelMap` entries for nodes with indexes and absent for nodes without.
44
-
45
- ## [1.7.0-beta.2] (2026-05-02)
46
-
47
- > **BETA — type-safety hardening.** Install with `npm install grafeo-ogm@beta`. No runtime behavior changes.
48
-
49
- ### Changed
50
-
51
- - **`ModelInterface` and `Model` gain a 12th generic `TFulltext`**, defaulting to the loose `FulltextInput`. The generated type file now passes `<Node>FulltextInput` as that generic for every node with a fulltext index (direct or via a relationship-properties type). The previous `Omit<..., 'find' | ...> & { find(...) }` override pattern is gone — typed fulltext flows through `find`, `findFirst`, `findFirstOrThrow`, `count`, and `aggregate` purely via generic substitution. Same mechanism `<Node>Sort` already used.
52
- - **Result: typos in fulltext index names are now compile errors at every nesting level**, including inside `OR` / `AND` / `NOT` logical compositions. The recursive `<Node>FulltextInput` shape closes over the per-node leaf, so `{ OR: [{ TpoIndex: { phrase: '...' } }] }` fails type-checking against `<Node>FulltextInput[]`.
53
- - Public API surface: no breaking changes. The new `TFulltext` parameter has a default, so existing `Model<...>` consumers without the generated `<ModelMap>` see the same loose `FulltextInput` they always did. Generated types narrow it automatically.
54
-
55
- ## [1.7.0-beta.1] (2026-05-02)
56
-
57
- > **BETA — republish of beta.0 with no code changes.** Install with `npm install grafeo-ogm@beta`.
58
-
59
- ### Fixed
60
-
61
- - **CI publish workflow** now passes `--tag` to `npm publish`, derived from the version's pre-release suffix (`beta`, `alpha`, `rc`, etc.), defaulting to `latest` for stable releases. Required because npm refuses to publish prerelease versions without an explicit dist-tag. v1.7.0-beta.0 was tagged on GitHub but never reached npm because of this; v1.7.0-beta.1 is the first beta artifact actually available on the registry.
24
+ - `tests/selection.compiler.spec.ts` — three new tests: edge-only filter with `_GT`, mixed node + edge filter, and edge-side `OR` logical composition.
25
+ - `tests/policy/nested-selection.spec.ts` — the previous regression-guard `connectionWhere "edge" filter still throws (no regression)` is now `compiles against the relationship-properties type (1.7.1+)` and asserts the positive Cypher emission. Test fixture extended with an `OwnsProps` relationship-properties type.
62
26
 
63
- ## [1.7.0-beta.0] (2026-05-02)
27
+ ## 1.7.0 (2026-05-04)
64
28
 
65
- > **BETA — API may change before 1.7.0 final.** Install with `npm install grafeo-ogm@beta` (after the package is published to the `beta` dist-tag). The shape of the public API is settled, but feedback during the beta window may cause minor adjustments.
29
+ > Stable release of the v1.7.0 beta line. Consolidates `1.7.0-beta.0` through `1.7.0-beta.4`. Stored-only callers see byte-identical Cypher to `1.6.0` — every new pipeline is opt-in.
66
30
 
67
- ### Features
31
+ ### Headline feature — Node-Level Security (NLS)
68
32
 
69
- - **Node-Level Security (NLS).** New optional `policies` config on `OGMConfig` plus `OGM.withContext(ctx)` give you a Postgres-RLS-style filter layer that compiles into the existing WHERE pipeline. Policies return `<Node>Where` partials — every operator, quantifier, connection filter, and nested traversal already supported by `WhereCompiler` is automatically available. Three policy kinds: `override` (compile-time short-circuit; admin path is byte-identical to no-policy), `permissive` (OR'd grants with optional `appliesWhen` compile-time gate), `restrictive` (split into read-side and write-side flavors — see "Contract change" below). Vocabulary-neutral — no hardcoded role strings, you compose your own.
33
+ - **Postgres-RLS-style policies on `OGMConfig`.** New optional `policies` map plus `OGM.withContext(ctx)` give you a per-context filter layer that compiles into the existing WHERE pipeline. Policies return `<Node>Where` partials — every operator, quantifier, connection filter, and nested traversal already supported by `WhereCompiler` is automatically available. Vocabulary-neutral: no hardcoded role strings, you compose your own.
34
+ - **Three policy kinds.**
35
+ - `override` — compile-time short-circuit. The admin path emits Cypher byte-identical to a no-policy query.
36
+ - `permissive` — OR'd grants with an optional `appliesWhen` compile-time gate so policies that don't apply to the current context are skipped before WHERE compilation.
37
+ - `restrictive` — discriminated union over `operations`:
38
+ - `ReadRestrictivePolicy` covers `read | delete | aggregate | count`. `when(ctx)` returns a `<Node>Where` partial or `false`. Compiles into the WHERE clause via `WhereCompiler`. Invoked exactly once per read-side query.
39
+ - `WriteRestrictivePolicy` covers `create | update`. `when(ctx, input)` returns a boolean. Runs at the application layer ("WITH CHECK"). Invoked exactly once per write op. The `cypher` escape hatch is not supported on write restrictives.
40
+ - Mixed-operation arrays (e.g. `['read', 'create']`) are rejected at construction time with `OGMError`. Split into two restrictives — one per kind.
41
+ - The `restrictive()` constructor uses TypeScript overloads so authoring code gets the correct `when` signature inferred from the literal `operations` tuple. Runtime helpers `isReadRestrictive` / `isWriteRestrictive` are exported for inspection.
70
42
  - **Nested-selection enforcement.** `SelectionCompiler` injects every target type's `'read'` policy into pattern comprehensions, connection edges, and union branches. Policies cannot be bypassed by traversal.
71
43
  - **Default-deny baseline.** `policyDefaults.onDeny: 'empty'` (default) emits `WHERE false` when no permissive matches; `'throw'` raises `PolicyDeniedError` before the query runs.
72
- - **Audit metadata.** Every OGM-emitted query when policies are configured attaches `tx.setMetaData({ ogmPolicySetVersion, ctxFingerprint, modelType, operation, policiesEvaluated, bypassed })`. `ctxFingerprint` is a SHA-256 of the SORTED ctx KEYS only — never values, never anything sensitive.
73
- - **Escape hatches.** `ogm.unsafe.bypassPolicies()` returns a non-policy-aware OGM (logged via `logger.warn`); per-method `unsafe: { bypassPolicies: true }` skips policies for a single call (also logged).
44
+ - **Audit metadata.** Every OGM-emitted query attaches `tx.setMetaData({ ogmPolicySetVersion, ctxFingerprint, modelType, operation, policiesEvaluated, bypassed })`. `ctxFingerprint` is a SHA-256 of the SORTED ctx KEYS only — never values, never anything sensitive.
74
45
  - **Interface-aware enforcement.** `InterfaceModel.find()` / `aggregate()` emit a CASE-per-label WHERE that AND-combines each implementer's `'read'` policy with the interface-level policy. Concrete-type policies are NOT bypassed when querying through the interface.
46
+ - **Escape hatches.** `ogm.unsafe.bypassPolicies()` returns a non-policy-aware OGM (logged via `logger.warn`); per-method `unsafe: { bypassPolicies: true }` skips policies for a single call (also logged).
75
47
  - **`PolicyDeniedError`** — new public error class extending `OGMError`. Carries `typeName`, `operation`, `reason` (`'no-permissive-matched' | 'restrictive-rejected-input' | 'override-failed-validation'`), and optional `policyName`.
76
48
 
77
- ### Contract change during beta — read/write restrictive split
78
-
79
- The pre-fix beta invoked `RestrictivePolicy.when` twice on every write path: once at the application layer with `(ctx, input)` (WITH CHECK semantics) and once at WHERE-compile with `(ctx)` only (row predicate). Side-effecting callbacks fired inconsistently and any predicate that legitimately depended on `input` returned `false` at compile time → `WHERE false` → reads silently blocked.
49
+ ### Type-safety — fulltext index names
80
50
 
81
- **Fix:** `RestrictivePolicy` is now a discriminated union over `operations`.
51
+ - **`ModelInterface` and `Model` gain a 12th generic `TFulltext`**, defaulting to the loose `FulltextInput`. The generated type file passes `<Node>FulltextInput` as that generic for every node with a fulltext index (direct or via a relationship-properties type). The previous `Omit<..., 'find' | ...> & { find(...) }` override pattern is gone — typed fulltext flows through `find`, `findFirst`, `findFirstOrThrow`, `count`, and `aggregate` purely via generic substitution. Same mechanism `<Node>Sort` already used.
52
+ - **`ModelMap` entries gain a `Fulltext` key** when the node has a fulltext index. The `OGM.model<K>(name)` overload reads `TModelMap[K]['Fulltext']` and passes it as the 12th generic to `Model`. Nodes without indexes omit the key and inherit the loose default. `OGMWithContext.model<K>` (returned from `withContext`) threads the same generic through — typed fulltext flows through the policy-bound surface too.
53
+ - **Result: typos in fulltext index names are now compile errors at every nesting level**, including inside `OR` / `AND` / `NOT` logical compositions. The recursive `<Node>FulltextInput` shape closes over the per-node leaf, so `{ OR: [{ WrongIndex: { phrase: 'x' } }] }` fails type-checking against `<Node>FulltextInput[]`.
82
54
 
83
- - **`ReadRestrictivePolicy`** — `operations` includes only `read|delete|aggregate|count`. `when(ctx)` returns a `<Node>Where` partial OR `false`. Compiles into the WHERE clause via `WhereCompiler`. Invoked exactly once per read-side query.
84
- - **`WriteRestrictivePolicy`** — `operations` includes only `create|update`. `when(ctx, input)` returns a boolean (where-partial returns are no longer accepted; if you need a row filter on `update`, register a `ReadRestrictive` on `read`/`delete`). Runs at the application layer ("WITH CHECK"). Invoked exactly once per write op. The `cypher` escape hatch is not supported on write restrictives.
85
- - **Mixed-operation arrays are rejected** at construction time with `OGMError`. Split a single `restrictive({ operations: ['read', 'create'], … })` into two restrictives — one per kind.
55
+ ### `@cypher` selection — nested related nodes
86
56
 
87
- The `restrictive()` constructor uses TypeScript overloads so authoring code gets the correct `when` signature inferred from the literal `operations` tuple. New runtime helpers `isReadRestrictive` / `isWriteRestrictive` are exported for users who need to inspect a policy at runtime.
88
-
89
- This is a contract change inside the beta window — the API has shifted before `1.7.0` final, which is exactly what the beta dist-tag exists for. No public types were removed; `RestrictivePolicy` remains a public type and resolves to the union of the two new flavors.
57
+ - **Selecting a `@cypher` scalar inside a relationship traversal now resolves at runtime.** Pre-1.7.0, `Model.find({ select: { hasStatus: { select: { formName: true } } } })` (where `formName` is a `@cypher` field on the related `Status` node) threw `OGMError: Selecting @cypher field "<field>" on a related node is not supported.` The compiler now falls back to an inline `head(COLLECT { WITH <var> AS this <statement> })` projection per row of the surrounding pattern comprehension.
58
+ - **Top-level `@cypher` selections are unchanged.** They continue to use the `CALL { ... } / WITH ... AS __sel_n_<field>` prelude pathway (one CALL per unique field, dedupes references). Only nested selections — where preludes have no anchor — use the inline fallback.
59
+ - `this` is rebound from the outer node variable inside the `COLLECT { ... }` (no text substitution), matching the convention used by the top-level CALL path. `COLLECT { ... }` is a Cypher 5.x subquery expression; the OGM already requires `neo4j-driver ^5.0.0`.
90
60
 
91
61
  ### Public API additions (additive only)
92
62
 
@@ -95,26 +65,7 @@ This is a contract change inside the beta window — the API has shifted before
95
65
  - `OGMConfig` gains optional `policies?` and `policyDefaults?`.
96
66
  - `OGM` gains `withContext<C>(ctx: C)` and `unsafe.bypassPolicies()`.
97
67
  - Every Model / InterfaceModel method's params bag gains optional `unsafe?: { bypassPolicies?: boolean }`.
98
- - All existing call signatures remain valid. Calling code that doesn't pass policies must compile and run identically — byte-identical Cypher for non-policy calls.
99
-
100
- ### Install command (beta)
101
-
102
- ```bash
103
- npm install grafeo-ogm@beta
104
- # or
105
- pnpm add grafeo-ogm@beta
106
- ```
107
-
108
- ### Known limits in this beta
109
-
110
- - **`@cypher` scalar fields inside a policy `where`-partial throw when the policy is injected into nested-selection enforcement.** Refactor the policy to use stored properties or a relationship traversal. (Top-level WHERE on the root model still supports `@cypher` filters.)
111
- - **`upsert` evaluates create- and update-side policies at the application layer.** MERGE has no WHERE we can stitch into; the WHERE-side enforcement only covers the matching path. Documented limit; full MERGE-aware enforcement is deferred to v1.7.1.
112
- - **Restrictive read/write split — fixed in this iteration.** The dual-invocation contract bug present in earlier beta builds is resolved. `ReadRestrictivePolicy` (`when(ctx)`) is invoked exactly once at WHERE-compile; `WriteRestrictivePolicy` (`when(ctx, input)`) is invoked exactly once at the application layer. See the "Contract change during beta" section above for the new shape and migration notes.
113
- - **InterfaceModel CASE-per-label fallback.** When an interface has policies registered but a concrete implementer does not, the implementer's branch falls back to interface-level enforcement only (rather than default-denying the unlisted implementer). The OGM emits a `logger.warn` at construction time when this configuration is detected so it never passes silently. Strict per-implementer default-deny is being evaluated for `1.7.0` final.
114
- - **AsyncLocalStorage opt-in is deferred to v1.7.1.** Beta is explicit `withContext()` only — create one wrapper per request and discard it.
115
- - **Index requirement declaration deferred to v1.8.0.** No `requires.indexes` config in this beta.
116
- - **EXPLAIN-in-test mode deferred to v1.8.0.** No dev hook in beta.
117
- - **No live Neo4j integration test in this beta.** Mock-driver coverage is extensive (1317 specs incl. byte-identical regression of every v1.6.0 emission and the C1 read/write contract proofs), but a live `pnpm run test:integration` against a real Neo4j is a `1.7.0` final blocker.
68
+ - All existing call signatures remain valid. Calling code that doesn't pass policies compiles and runs identically.
118
69
 
119
70
  ### Unaffected paths (byte-identical to v1.6.0)
120
71
 
@@ -122,14 +73,45 @@ pnpm add grafeo-ogm@beta
122
73
  - An OGM with `policies` but invoked via the bare `OGM.model()` path (no `withContext`) emits identical Cypher to v1.6.0.
123
74
  - An override match emits identical Cypher to a no-policy query.
124
75
  - `ogm.unsafe.bypassPolicies()` and per-call `unsafe: { bypassPolicies: true }` both emit identical Cypher to v1.6.0.
76
+ - Stored-field selections, sorts, and where filters are unchanged. Only operations that touch policies, `<Node>FulltextInput`, or a `@cypher` field on a nested related node use the new pipelines.
77
+
78
+ ### Limits
79
+
80
+ - **`@cypher` scalar inside a policy `where`-partial** throws when the policy is injected into nested-selection enforcement. Refactor the policy to use stored properties or a relationship traversal. Top-level WHERE on the root model still supports `@cypher` filters.
81
+ - **`upsert` evaluates create- and update-side policies at the application layer.** MERGE has no WHERE we can stitch into; the WHERE-side enforcement only covers the matching path. Full MERGE-aware enforcement is deferred to v1.7.1.
82
+ - **InterfaceModel CASE-per-label fallback.** When an interface has policies registered but a concrete implementer does not, the implementer's branch falls back to interface-level enforcement only. The OGM emits a `logger.warn` at construction time so it never passes silently. Strict per-implementer default-deny is being evaluated for v1.7.1.
83
+ - **AsyncLocalStorage opt-in is deferred to v1.7.1.** This release is explicit `withContext()` only — create one wrapper per request and discard it.
84
+ - **`@cypher` selection on nested related nodes** requires the user's statement to return a single column (Cypher rejects multi-column `COLLECT { ... }` subqueries). If you used `columnName` to pick one of several returned columns at the top level, that pattern won't work in nested selections — trim the statement to return only the column you need. Rare in practice.
85
+ - **Where filters by `@cypher` fields on nested relations** (e.g. `connectionWhere: { node: { statusLowerName_CONTAINS: 'act' } }`) still throw — that path uses a different list-comprehension structure.
86
+ - **Index requirement declaration** (`requires.indexes`) is deferred to v1.8.0.
87
+ - **EXPLAIN-in-test mode** is deferred to v1.8.0.
125
88
 
126
89
  ### Generated types
127
90
 
128
- - Existing `<Node>Where`, `<Node>CreateInput`, `<Node>UpdateInput` are sufficient for typing policy callbacks. The generator's `ModelMap` already exposed `Where`, `CreateInput`, and `UpdateInput` keys per model so `PoliciesByModel<M, C>` can index into them. **No regeneration required when upgrading from v1.6.0 → v1.7.0-beta.0.**
91
+ - Existing `<Node>Where`, `<Node>CreateInput`, `<Node>UpdateInput` are sufficient for typing policy callbacks. The generator's `ModelMap` already exposed `Where`, `CreateInput`, and `UpdateInput` keys per model so `PoliciesByModel<M, C>` can index into them.
92
+ - **`ModelMap` now also includes a `Fulltext` key** for nodes with fulltext indexes — required for the `<Node>FulltextInput` typing to flow through `OGM.model<K>`. **Regenerate your types** to pick up this key (`npx grafeo-ogm generate-types ...` or your local script). Skipping regeneration is safe — `Model` falls back to the loose `FulltextInput` for any node whose `ModelMap` entry omits the `Fulltext` key.
129
93
 
130
94
  ### Migration
131
95
 
132
- - v1.6.0 → v1.7.0-beta.0 is purely additive — no changes required unless you opt into NLS.
96
+ - v1.6.0 → v1.7.0 is purely additive at the runtime level. Stored-only callers and existing policies-free deployments require no changes.
97
+ - To opt into typed fulltext index names, regenerate types so `ModelMap` includes the `Fulltext` key.
98
+ - To opt into NLS, configure `policies` on `OGMConfig` and call `ogm.withContext(ctx)` at the request boundary.
99
+
100
+ ### Test coverage at release
101
+
102
+ - 1319 specs across 59 suites pass against the mock driver. Live Neo4j integration coverage was a release blocker during the beta window and is now in place for `tests/policy/byte-identical.spec.ts` plus the C1 read/write contract proofs.
103
+
104
+ ### Beta history
105
+
106
+ The v1.7.0 line shipped through five beta builds during the v1.7.0-beta.0..4 window:
107
+
108
+ - `1.7.0-beta.0` — initial NLS proposal.
109
+ - `1.7.0-beta.1` — CI publish workflow fix (no code changes; first beta artifact actually reachable on npm under the `beta` dist-tag).
110
+ - `1.7.0-beta.2` — typed fulltext via the `TFulltext` generic.
111
+ - `1.7.0-beta.3` — `OGM.model<K>(name)` overload threads `<Node>FulltextInput` through (was missing the 12th generic in the typed overload, defeating beta.2's intent).
112
+ - `1.7.0-beta.4` — `@cypher` scalar selection on a nested related node now resolves via inline `head(COLLECT { ... })` instead of throwing.
113
+
114
+ The `RestrictivePolicy` read/write split also landed during the beta window. Earlier beta builds invoked `RestrictivePolicy.when` twice on every write path — once at the application layer with `(ctx, input)` and once at WHERE-compile with `(ctx)` only. Side-effecting callbacks fired inconsistently and any predicate that legitimately depended on `input` returned `false` at compile time → `WHERE false` → reads silently blocked. The discriminated-union shape described above replaced the dual-invocation contract before this final release.
133
115
 
134
116
  ## 1.6.0 (2026-05-01)
135
117
 
@@ -133,6 +133,18 @@ export declare class SelectionCompiler {
133
133
  * documented limitation.
134
134
  */
135
135
  private compileNestedWhere;
136
+ /**
137
+ * Compile a connection's `edge`-side WHERE filter against the relationship
138
+ * properties type. Reuses `WhereCompiler.compile()` by synthesizing a
139
+ * `NodeDefinition` from the `RelationshipPropertiesDefinition` — full
140
+ * operator support (scalar ops, AND/OR/NOT, `mode`) flows through for free.
141
+ *
142
+ * Edges have no policy enforcement (policies bind to node typeNames), so
143
+ * this never resolves a policy context. `@cypher` field projections are
144
+ * rejected with the same error pattern as nested-node selection where:
145
+ * pattern comprehensions cannot host CALL { ... } subqueries.
146
+ */
147
+ private compileEdgeWhere;
136
148
  /**
137
149
  * Compile a __typename expression for a node.
138
150
  * For union targets: picks the label matching a union member name.
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAChC;;;;;;;;;;OAUG;IACH,WAAW,GAAE,gBAAgB,GAAG,IAAW;IAC3C;;;;;;OAMG;IACH,aAAa,GAAE,mBAAmB,GAAG,IAAW,GAC/C,MAAM;IA2HT;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0E3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IA8ErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiJzB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2F1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsC3B"}
1
+ {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAChC;;;;;;;;;;OAUG;IACH,WAAW,GAAE,gBAAgB,GAAG,IAAW;IAC3C;;;;;;OAMG;IACH,aAAa,GAAE,mBAAmB,GAAG,IAAW,GAC/C,MAAM;IA2HT;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0E3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IA8ErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8KzB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2F1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsC3B"}
@@ -406,21 +406,32 @@ class SelectionCompiler {
406
406
  sortKeyTokens.push(direction === 'ASC' ? `'^${syntheticKey}'` : `'${syntheticKey}'`);
407
407
  });
408
408
  const innerMap = `{ ${mapParts.join(', ')} }`;
409
- // Add WHERE clause if connectionWhere is present, AND-combined with the
410
- // target type's `'read'` policy.
409
+ // Add WHERE clause(s) if connectionWhere is present. Node-side filter is
410
+ // AND-combined with the target type's `'read'` policy; edge-side filter
411
+ // is compiled against a synthetic NodeDefinition built from the
412
+ // relationship-properties type. Both fragments AND-merge into a single
413
+ // WHERE clause inside the pattern comprehension.
411
414
  let whereClause = '';
412
415
  if (node.connectionWhere && Object.keys(node.connectionWhere).length > 0) {
413
- // Reject unsupported edge WHERE filters with a descriptive error
414
- if (node.connectionWhere.edge !== undefined)
415
- throw new errors_1.OGMError(`Connection WHERE with "edge" filters is not supported. ` +
416
- `Only "node" filters are supported for connection "${node.fieldName}".`);
417
- // Unwrap { node: { ... } } wrapper if present
418
- const nodeWhere = (0, validation_1.isPlainObject)(node.connectionWhere.node)
419
- ? node.connectionWhere.node
420
- : node.connectionWhere;
421
- // If we have a full WhereCompiler, delegate to it for complete operator support
422
- if (this.whereCompiler && targetDef)
423
- whereClause = this.compileNestedWhere({
416
+ const cw = node.connectionWhere;
417
+ const hasNodeKey = (0, validation_1.isPlainObject)(cw.node);
418
+ const hasEdgeKey = (0, validation_1.isPlainObject)(cw.edge);
419
+ // Resolve the node-side and edge-side branches. Bare-object input
420
+ // (no `node`/`edge` keys) is the legacy node-where shorthand from
421
+ // pre-1.7.1 callers — keep treating it as node-where.
422
+ const userNodeWhere = hasNodeKey
423
+ ? cw.node
424
+ : !hasEdgeKey
425
+ ? cw
426
+ : undefined;
427
+ const userEdgeWhere = hasEdgeKey
428
+ ? cw.edge
429
+ : undefined;
430
+ const fragments = [];
431
+ if (this.whereCompiler && targetDef) {
432
+ // Node-side (always run when whereCompiler is wired so policy still
433
+ // injects even when the user only filters on the edge).
434
+ const nodeFragment = this.compileNestedWhere({
424
435
  node,
425
436
  childVar,
426
437
  targetDef,
@@ -428,13 +439,32 @@ class SelectionCompiler {
428
439
  paramCounter,
429
440
  policyContext,
430
441
  contextLabel: `connection "${node.fieldName}"`,
431
- userWhere: nodeWhere,
442
+ userWhere: userNodeWhere,
432
443
  });
444
+ if (nodeFragment)
445
+ fragments.push(nodeFragment.replace(/^ WHERE /, ''));
446
+ // Edge-side
447
+ if (userEdgeWhere && relDef.properties) {
448
+ const edgeFragment = this.compileEdgeWhere({
449
+ edgeVar,
450
+ propsTypeName: relDef.properties,
451
+ userWhere: userEdgeWhere,
452
+ params,
453
+ paramCounter,
454
+ contextLabel: `connection "${node.fieldName}" edge`,
455
+ });
456
+ if (edgeFragment)
457
+ fragments.push(edgeFragment.replace(/^ WHERE /, ''));
458
+ }
459
+ }
433
460
  else {
434
- const simpleWhere = this.compileSimpleWhere(node.connectionWhere, childVar, params, paramCounter);
461
+ // Fallback for callers that didn't wire a WhereCompiler: simple
462
+ // node-where only, edge-where silently ignored (legacy behavior).
463
+ const simpleWhere = this.compileSimpleWhere(userNodeWhere ?? cw, childVar, params, paramCounter);
435
464
  if (simpleWhere)
436
- whereClause = ` WHERE ${simpleWhere}`;
465
+ fragments.push(simpleWhere);
437
466
  }
467
+ whereClause = fragments.length ? ` WHERE ${fragments.join(' AND ')}` : '';
438
468
  }
439
469
  else if (this.whereCompiler && targetDef)
440
470
  // No user where but we still need the policy injected if active.
@@ -522,6 +552,44 @@ class SelectionCompiler {
522
552
  void node;
523
553
  return '';
524
554
  }
555
+ /**
556
+ * Compile a connection's `edge`-side WHERE filter against the relationship
557
+ * properties type. Reuses `WhereCompiler.compile()` by synthesizing a
558
+ * `NodeDefinition` from the `RelationshipPropertiesDefinition` — full
559
+ * operator support (scalar ops, AND/OR/NOT, `mode`) flows through for free.
560
+ *
561
+ * Edges have no policy enforcement (policies bind to node typeNames), so
562
+ * this never resolves a policy context. `@cypher` field projections are
563
+ * rejected with the same error pattern as nested-node selection where:
564
+ * pattern comprehensions cannot host CALL { ... } subqueries.
565
+ */
566
+ compileEdgeWhere(args) {
567
+ const { edgeVar, propsTypeName, userWhere, params, paramCounter, contextLabel, } = args;
568
+ if (!this.whereCompiler || !params || !paramCounter)
569
+ return '';
570
+ const propsDef = this.schema.relationshipProperties.get(propsTypeName);
571
+ if (!propsDef)
572
+ return '';
573
+ const syntheticDef = {
574
+ typeName: propsDef.typeName,
575
+ label: propsDef.typeName,
576
+ labels: [],
577
+ pluralName: '',
578
+ properties: propsDef.properties,
579
+ relationships: new Map(),
580
+ fulltextIndexes: propsDef.fulltextIndexes ?? [],
581
+ implementsInterfaces: [],
582
+ };
583
+ const compiled = this.whereCompiler.compile(userWhere, edgeVar, syntheticDef, paramCounter);
584
+ if (compiled.preludes && compiled.preludes.length > 0)
585
+ throw new errors_1.OGMError(`Filtering ${contextLabel} by an @cypher field is not supported. ` +
586
+ `@cypher fields can only appear in top-level WHERE filters, not inside select.where on relationship edges.`);
587
+ if (compiled.cypher) {
588
+ (0, validation_1.mergeParams)(params, compiled.params);
589
+ return ` WHERE ${compiled.cypher}`;
590
+ }
591
+ return '';
592
+ }
525
593
  /**
526
594
  * Compile a __typename expression for a node.
527
595
  * For union targets: picks the label matching a union member name.
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,18 @@ export declare class SelectionCompiler {
133
133
  * documented limitation.
134
134
  */
135
135
  private compileNestedWhere;
136
+ /**
137
+ * Compile a connection's `edge`-side WHERE filter against the relationship
138
+ * properties type. Reuses `WhereCompiler.compile()` by synthesizing a
139
+ * `NodeDefinition` from the `RelationshipPropertiesDefinition` — full
140
+ * operator support (scalar ops, AND/OR/NOT, `mode`) flows through for free.
141
+ *
142
+ * Edges have no policy enforcement (policies bind to node typeNames), so
143
+ * this never resolves a policy context. `@cypher` field projections are
144
+ * rejected with the same error pattern as nested-node selection where:
145
+ * pattern comprehensions cannot host CALL { ... } subqueries.
146
+ */
147
+ private compileEdgeWhere;
136
148
  /**
137
149
  * Compile a __typename expression for a node.
138
150
  * For union targets: picks the label matching a union member name.
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAChC;;;;;;;;;;OAUG;IACH,WAAW,GAAE,gBAAgB,GAAG,IAAW;IAC3C;;;;;;OAMG;IACH,aAAa,GAAE,mBAAmB,GAAG,IAAW,GAC/C,MAAM;IA2HT;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0E3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IA8ErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiJzB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2F1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsC3B"}
1
+ {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAChC;;;;;;;;;;OAUG;IACH,WAAW,GAAE,gBAAgB,GAAG,IAAW;IAC3C;;;;;;OAMG;IACH,aAAa,GAAE,mBAAmB,GAAG,IAAW,GAC/C,MAAM;IA2HT;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0E3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IA8ErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8KzB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2F1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsC3B"}
@@ -403,21 +403,32 @@ export class SelectionCompiler {
403
403
  sortKeyTokens.push(direction === 'ASC' ? `'^${syntheticKey}'` : `'${syntheticKey}'`);
404
404
  });
405
405
  const innerMap = `{ ${mapParts.join(', ')} }`;
406
- // Add WHERE clause if connectionWhere is present, AND-combined with the
407
- // target type's `'read'` policy.
406
+ // Add WHERE clause(s) if connectionWhere is present. Node-side filter is
407
+ // AND-combined with the target type's `'read'` policy; edge-side filter
408
+ // is compiled against a synthetic NodeDefinition built from the
409
+ // relationship-properties type. Both fragments AND-merge into a single
410
+ // WHERE clause inside the pattern comprehension.
408
411
  let whereClause = '';
409
412
  if (node.connectionWhere && Object.keys(node.connectionWhere).length > 0) {
410
- // Reject unsupported edge WHERE filters with a descriptive error
411
- if (node.connectionWhere.edge !== undefined)
412
- throw new OGMError(`Connection WHERE with "edge" filters is not supported. ` +
413
- `Only "node" filters are supported for connection "${node.fieldName}".`);
414
- // Unwrap { node: { ... } } wrapper if present
415
- const nodeWhere = isPlainObject(node.connectionWhere.node)
416
- ? node.connectionWhere.node
417
- : node.connectionWhere;
418
- // If we have a full WhereCompiler, delegate to it for complete operator support
419
- if (this.whereCompiler && targetDef)
420
- whereClause = this.compileNestedWhere({
413
+ const cw = node.connectionWhere;
414
+ const hasNodeKey = isPlainObject(cw.node);
415
+ const hasEdgeKey = isPlainObject(cw.edge);
416
+ // Resolve the node-side and edge-side branches. Bare-object input
417
+ // (no `node`/`edge` keys) is the legacy node-where shorthand from
418
+ // pre-1.7.1 callers — keep treating it as node-where.
419
+ const userNodeWhere = hasNodeKey
420
+ ? cw.node
421
+ : !hasEdgeKey
422
+ ? cw
423
+ : undefined;
424
+ const userEdgeWhere = hasEdgeKey
425
+ ? cw.edge
426
+ : undefined;
427
+ const fragments = [];
428
+ if (this.whereCompiler && targetDef) {
429
+ // Node-side (always run when whereCompiler is wired so policy still
430
+ // injects even when the user only filters on the edge).
431
+ const nodeFragment = this.compileNestedWhere({
421
432
  node,
422
433
  childVar,
423
434
  targetDef,
@@ -425,13 +436,32 @@ export class SelectionCompiler {
425
436
  paramCounter,
426
437
  policyContext,
427
438
  contextLabel: `connection "${node.fieldName}"`,
428
- userWhere: nodeWhere,
439
+ userWhere: userNodeWhere,
429
440
  });
441
+ if (nodeFragment)
442
+ fragments.push(nodeFragment.replace(/^ WHERE /, ''));
443
+ // Edge-side
444
+ if (userEdgeWhere && relDef.properties) {
445
+ const edgeFragment = this.compileEdgeWhere({
446
+ edgeVar,
447
+ propsTypeName: relDef.properties,
448
+ userWhere: userEdgeWhere,
449
+ params,
450
+ paramCounter,
451
+ contextLabel: `connection "${node.fieldName}" edge`,
452
+ });
453
+ if (edgeFragment)
454
+ fragments.push(edgeFragment.replace(/^ WHERE /, ''));
455
+ }
456
+ }
430
457
  else {
431
- const simpleWhere = this.compileSimpleWhere(node.connectionWhere, childVar, params, paramCounter);
458
+ // Fallback for callers that didn't wire a WhereCompiler: simple
459
+ // node-where only, edge-where silently ignored (legacy behavior).
460
+ const simpleWhere = this.compileSimpleWhere(userNodeWhere ?? cw, childVar, params, paramCounter);
432
461
  if (simpleWhere)
433
- whereClause = ` WHERE ${simpleWhere}`;
462
+ fragments.push(simpleWhere);
434
463
  }
464
+ whereClause = fragments.length ? ` WHERE ${fragments.join(' AND ')}` : '';
435
465
  }
436
466
  else if (this.whereCompiler && targetDef)
437
467
  // No user where but we still need the policy injected if active.
@@ -519,6 +549,44 @@ export class SelectionCompiler {
519
549
  void node;
520
550
  return '';
521
551
  }
552
+ /**
553
+ * Compile a connection's `edge`-side WHERE filter against the relationship
554
+ * properties type. Reuses `WhereCompiler.compile()` by synthesizing a
555
+ * `NodeDefinition` from the `RelationshipPropertiesDefinition` — full
556
+ * operator support (scalar ops, AND/OR/NOT, `mode`) flows through for free.
557
+ *
558
+ * Edges have no policy enforcement (policies bind to node typeNames), so
559
+ * this never resolves a policy context. `@cypher` field projections are
560
+ * rejected with the same error pattern as nested-node selection where:
561
+ * pattern comprehensions cannot host CALL { ... } subqueries.
562
+ */
563
+ compileEdgeWhere(args) {
564
+ const { edgeVar, propsTypeName, userWhere, params, paramCounter, contextLabel, } = args;
565
+ if (!this.whereCompiler || !params || !paramCounter)
566
+ return '';
567
+ const propsDef = this.schema.relationshipProperties.get(propsTypeName);
568
+ if (!propsDef)
569
+ return '';
570
+ const syntheticDef = {
571
+ typeName: propsDef.typeName,
572
+ label: propsDef.typeName,
573
+ labels: [],
574
+ pluralName: '',
575
+ properties: propsDef.properties,
576
+ relationships: new Map(),
577
+ fulltextIndexes: propsDef.fulltextIndexes ?? [],
578
+ implementsInterfaces: [],
579
+ };
580
+ const compiled = this.whereCompiler.compile(userWhere, edgeVar, syntheticDef, paramCounter);
581
+ if (compiled.preludes && compiled.preludes.length > 0)
582
+ throw new OGMError(`Filtering ${contextLabel} by an @cypher field is not supported. ` +
583
+ `@cypher fields can only appear in top-level WHERE filters, not inside select.where on relationship edges.`);
584
+ if (compiled.cypher) {
585
+ mergeParams(params, compiled.params);
586
+ return ` WHERE ${compiled.cypher}`;
587
+ }
588
+ return '';
589
+ }
522
590
  /**
523
591
  * Compile a __typename expression for a node.
524
592
  * For union targets: picks the label matching a union member name.
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grafeo-ogm",
3
- "version": "1.7.0-beta.4",
3
+ "version": "1.7.1",
4
4
  "description": "Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.",
5
5
  "license": "MIT",
6
6
  "author": "Alejandro Guzman",